Index: runtime/vm/object.cc |
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
index b78a45279e14ebc914ea0cd0dbe4f3ee74655282..7858abe9696671e9b7ae1f4a0e18183c1daa07a3 100644 |
--- a/runtime/vm/object.cc |
+++ b/runtime/vm/object.cc |
@@ -13411,6 +13411,20 @@ bool ICData::HasOneTarget() const { |
} |
+bool ICData::HasOnlyDispatcherTargets() const { |
+ const intptr_t len = NumberOfChecks(); |
+ Function& target = Function::Handle(); |
+ for (intptr_t i = 0; i < len; i++) { |
+ target = GetTargetAt(i); |
+ if (!target.IsNoSuchMethodDispatcher() && |
+ !target.IsInvokeFieldDispatcher()) { |
+ return false; |
+ } |
+ } |
+ return true; |
+} |
+ |
+ |
void ICData::GetUsedCidsForTwoArgs(GrowableArray<intptr_t>* first, |
GrowableArray<intptr_t>* second) const { |
ASSERT(NumArgsTested() == 2); |