Chromium Code Reviews| Index: runtime/vm/jit_optimizer.cc |
| diff --git a/runtime/vm/jit_optimizer.cc b/runtime/vm/jit_optimizer.cc |
| index f85d9c46fb3b212ad580ed0ee36a5428469b0e57..d44da83d89a2415e3e01cf19e6b5b906d7537868 100644 |
| --- a/runtime/vm/jit_optimizer.cc |
| +++ b/runtime/vm/jit_optimizer.cc |
| @@ -141,10 +141,10 @@ bool JitOptimizer::TryCreateICData(InstanceCallInstr* call) { |
| Array::Handle(Z, ArgumentsDescriptor::New(call->ArgumentCount(), |
| call->argument_names())); |
| ArgumentsDescriptor args_desc(args_desc_array); |
| - const Function& function = |
| - Function::Handle(Z, Resolver::ResolveDynamicForReceiverClass( |
| - receiver_class, call->function_name(), |
| - args_desc, false /* allow add */)); |
| + bool allow_add = false; |
| + const Function& function = Function::Handle( |
| + Z, Resolver::ResolveDynamicForReceiverClass( |
| + receiver_class, call->function_name(), args_desc, allow_add)); |
| if (function.IsNull()) { |
| return false; |
| } |
| @@ -175,10 +175,10 @@ bool JitOptimizer::TryCreateICData(InstanceCallInstr* call) { |
| Array::Handle(Z, ArgumentsDescriptor::New(call->ArgumentCount(), |
| call->argument_names())); |
| ArgumentsDescriptor args_desc(args_desc_array); |
| - const Function& function = |
| - Function::Handle(Z, Resolver::ResolveDynamicForReceiverClass( |
| - owner_class, call->function_name(), args_desc, |
| - false /* allow_add */)); |
| + bool allow_add = false; |
| + const Function& function = Function::Handle( |
| + Z, Resolver::ResolveDynamicForReceiverClass( |
| + owner_class, call->function_name(), args_desc, allow_add)); |
| if (!function.IsNull()) { |
| const ICData& ic_data = ICData::ZoneHandle( |
| Z, ICData::NewFrom(*call->ic_data(), class_ids.length())); |
| @@ -1458,8 +1458,10 @@ bool JitOptimizer::LookupMethodFor(int class_id, |
| if (!cls.is_finalized()) return false; |
| if (Array::Handle(cls.functions()).IsNull()) return false; |
| - Function& target_function = Function::Handle( |
| - Z, Resolver::ResolveDynamicForReceiverClass(cls, name, args_desc)); |
| + bool allow_add = false; |
| + Function& target_function = |
| + Function::Handle(Z, Resolver::ResolveDynamicForReceiverClass( |
|
Vyacheslav Egorov (Google)
2017/04/07 05:53:00
How about adding an assertion into ResolveDynamicF
rmacnak
2017/04/07 16:42:57
It fails. I created https://github.com/dart-lang/s
|
| + cls, name, args_desc, allow_add)); |
| if (target_function.IsNull()) return false; |
| *fn_return ^= target_function.raw(); |
| return true; |