Chromium Code Reviews| Index: runtime/vm/flow_graph_inliner.cc |
| =================================================================== |
| --- runtime/vm/flow_graph_inliner.cc (revision 34963) |
| +++ runtime/vm/flow_graph_inliner.cc (working copy) |
| @@ -302,7 +302,7 @@ |
| current->AsPolymorphicInstanceCall(); |
| if (!inline_only_recognized_methods || |
| instance_call->HasSingleRecognizedTarget() || |
| - instance_call->HasSingleDispatcherTarget()) { |
| + instance_call->HasOnlyDispatcherTargets()) { |
|
Ivan Posva
2014/04/11 21:12:01
This is not correct. Only checking for dispatcher
Florian Schneider
2014/04/22 00:09:10
Permissive for what?
Ivan Posva
2014/04/24 07:28:47
There is not necessarily only a single recognized
Florian Schneider
2014/04/24 12:00:44
There is no correctness requirement that the call
|
| instance_calls_.Add(InstanceCallInfo(instance_call, graph)); |
| } else { |
| // Method not inlined because inlining too deep and method |
| @@ -961,7 +961,7 @@ |
| ASSERT(call->ArgumentCount() > 0); |
| Function& target = Function::ZoneHandle(); |
| AllocateObjectInstr* alloc = |
| - call->ArgumentAt(0)->AsAllocateObject(); |
| + call->ArgumentAt(0)->OriginalDefinition()->AsAllocateObject(); |
| if ((alloc != NULL) && !alloc->closure_function().IsNull()) { |
| target ^= alloc->closure_function().raw(); |
| ASSERT(target.signature_class() == alloc->cls().raw()); |