| Index: runtime/vm/jit_optimizer.cc
|
| diff --git a/runtime/vm/jit_optimizer.cc b/runtime/vm/jit_optimizer.cc
|
| index 719f359c116b6fc679b2f6a9c0a1275ad2fa4b60..0d33e40d61bfcee06b12e2a536a2e6b29b7070d1 100644
|
| --- a/runtime/vm/jit_optimizer.cc
|
| +++ b/runtime/vm/jit_optimizer.cc
|
| @@ -192,33 +192,6 @@ bool JitOptimizer::TryCreateICData(InstanceCallInstr* call) {
|
| }
|
|
|
|
|
| -const ICData& JitOptimizer::TrySpecializeICData(const ICData& ic_data,
|
| - intptr_t cid) {
|
| - ASSERT(ic_data.NumArgsTested() == 1);
|
| -
|
| - if ((ic_data.NumberOfUsedChecks() == 1) && ic_data.HasReceiverClassId(cid)) {
|
| - return ic_data; // Nothing to do
|
| - }
|
| -
|
| - const Function& function =
|
| - Function::Handle(Z, ic_data.GetTargetForReceiverClassId(cid));
|
| - // TODO(fschneider): Try looking up the function on the class if it is
|
| - // not found in the ICData.
|
| - if (!function.IsNull()) {
|
| - const ICData& new_ic_data = ICData::ZoneHandle(
|
| - Z, ICData::New(Function::Handle(Z, ic_data.Owner()),
|
| - String::Handle(Z, ic_data.target_name()),
|
| - Object::empty_array(), // Dummy argument descriptor.
|
| - ic_data.deopt_id(), ic_data.NumArgsTested(), false));
|
| - new_ic_data.SetDeoptReasons(ic_data.DeoptReasons());
|
| - new_ic_data.AddReceiverCheck(cid, function);
|
| - return new_ic_data;
|
| - }
|
| -
|
| - return ic_data;
|
| -}
|
| -
|
| -
|
| void JitOptimizer::SpecializePolymorphicInstanceCall(
|
| PolymorphicInstanceCallInstr* call) {
|
| if (!FLAG_polymorphic_with_deopt) {
|
| @@ -235,7 +208,8 @@ void JitOptimizer::SpecializePolymorphicInstanceCall(
|
| return; // No information about receiver was infered.
|
| }
|
|
|
| - const ICData& ic_data = TrySpecializeICData(call->ic_data(), receiver_cid);
|
| + const ICData& ic_data =
|
| + FlowGraphCompiler::TrySpecializeICData(call->ic_data(), receiver_cid);
|
| if (ic_data.raw() == call->ic_data().raw()) {
|
| // No specialization.
|
| return;
|
|
|