| Index: runtime/vm/intermediate_language.cc
|
| diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc
|
| index 20b876e0257912444917573344e6ea6782e93a80..ab7c878e846a2b9d1be3bdb19ac5608f1ed6a5f1 100644
|
| --- a/runtime/vm/intermediate_language.cc
|
| +++ b/runtime/vm/intermediate_language.cc
|
| @@ -3188,6 +3188,8 @@ void InstanceCallInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
|
|
|
|
| bool PolymorphicInstanceCallInstr::HasSingleRecognizedTarget() const {
|
| + if (FLAG_precompiled_mode && with_checks()) return false;
|
| +
|
| return ic_data().HasOneTarget() &&
|
| (MethodRecognizer::RecognizeKind(
|
| Function::Handle(ic_data().GetTargetAt(0))) !=
|
| @@ -3195,18 +3197,6 @@ bool PolymorphicInstanceCallInstr::HasSingleRecognizedTarget() const {
|
| }
|
|
|
|
|
| -bool PolymorphicInstanceCallInstr::HasOnlyDispatcherTargets() const {
|
| - for (intptr_t i = 0; i < ic_data().NumberOfChecks(); ++i) {
|
| - const Function& target = Function::Handle(ic_data().GetTargetAt(i));
|
| - if (!target.IsNoSuchMethodDispatcher() &&
|
| - !target.IsInvokeFieldDispatcher()) {
|
| - return false;
|
| - }
|
| - }
|
| - return true;
|
| -}
|
| -
|
| -
|
| // DBC does not support optimizing compiler and thus doesn't emit
|
| // PolymorphicInstanceCallInstr.
|
| #if !defined(TARGET_ARCH_DBC)
|
|
|