| Index: runtime/vm/flow_graph_optimizer.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_optimizer.cc (revision 25039)
|
| +++ runtime/vm/flow_graph_optimizer.cc (working copy)
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "vm/bit_vector.h"
|
| #include "vm/cha.h"
|
| +#include "vm/dart_entry.h"
|
| #include "vm/flow_graph_builder.h"
|
| #include "vm/flow_graph_compiler.h"
|
| #include "vm/hash_map.h"
|
| @@ -102,16 +103,16 @@
|
| return false;
|
| }
|
| if (class_ids[0] != kDynamicCid) {
|
| - const intptr_t num_named_arguments = call->argument_names().IsNull() ?
|
| - 0 : call->argument_names().Length();
|
| + ArgumentsDescriptor args_desc(
|
| + Array::Handle(ArgumentsDescriptor::New(call->ArgumentCount(),
|
| + call->argument_names())));
|
| const Class& receiver_class = Class::Handle(
|
| Isolate::Current()->class_table()->At(class_ids[0]));
|
| - Function& function = Function::Handle();
|
| - function = Resolver::ResolveDynamicForReceiverClass(
|
| - receiver_class,
|
| - call->function_name(),
|
| - call->ArgumentCount(),
|
| - num_named_arguments);
|
| + const Function& function = Function::Handle(
|
| + Resolver::ResolveDynamicForReceiverClass(
|
| + receiver_class,
|
| + call->function_name(),
|
| + args_desc));
|
| if (function.IsNull()) {
|
| return false;
|
| }
|
| @@ -2656,12 +2657,14 @@
|
| Isolate::Current()->class_table()->At(receiver_cid));
|
|
|
| // Resolve equality operator.
|
| + const intptr_t kNumArgs = 2;
|
| + ArgumentsDescriptor args_desc(
|
| + Array::Handle(ArgumentsDescriptor::New(kNumArgs)));
|
| const Function& function = Function::Handle(
|
| Resolver::ResolveDynamicForReceiverClass(
|
| receiver_class,
|
| Symbols::EqualOperator(),
|
| - 2,
|
| - 0));
|
| + args_desc));
|
|
|
| if (function.IsNull()) {
|
| return false;
|
|
|