| Index: runtime/vm/flow_graph_compiler_mips.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_compiler_mips.cc (revision 24207)
|
| +++ runtime/vm/flow_graph_compiler_mips.cc (working copy)
|
| @@ -936,7 +936,8 @@
|
| function.IsClosureFunction() ? Symbols::Call().raw() : function.name());
|
| const int kNumArgsChecked = 1;
|
| const ICData& ic_data = ICData::ZoneHandle(
|
| - ICData::New(function, name, Isolate::kNoDeoptId, kNumArgsChecked));
|
| + ICData::New(function, name, Object::null_array(),
|
| + Isolate::kNoDeoptId, kNumArgsChecked));
|
| __ LoadObject(S5, ic_data);
|
| // FP - 4 : saved PP, object pool pointer of caller.
|
| // FP + 0 : previous frame pointer.
|
| @@ -1145,7 +1146,7 @@
|
| // Invoke noSuchMethod function passing "call" as the function name.
|
| const int kNumArgsChecked = 1;
|
| const ICData& ic_data = ICData::ZoneHandle(
|
| - ICData::New(function, Symbols::Call(),
|
| + ICData::New(function, Symbols::Call(), Object::null_array(),
|
| Isolate::kNoDeoptId, kNumArgsChecked));
|
| __ LoadObject(S5, ic_data);
|
| // FP - 4 : saved PP, object pool pointer of caller.
|
| @@ -1290,7 +1291,6 @@
|
| void FlowGraphCompiler::EmitOptimizedInstanceCall(
|
| ExternalLabel* target_label,
|
| const ICData& ic_data,
|
| - const Array& arguments_descriptor,
|
| intptr_t argument_count,
|
| intptr_t deopt_id,
|
| intptr_t token_pos,
|
| @@ -1303,7 +1303,6 @@
|
| // Pass the function explicitly, it is used in IC stub.
|
| __ TraceSimMsg("OptimizedInstanceCall");
|
| __ LoadObject(T0, parsed_function().function());
|
| - __ LoadObject(S4, arguments_descriptor);
|
| __ LoadObject(S5, ic_data);
|
| GenerateDartCall(deopt_id,
|
| token_pos,
|
| @@ -1316,13 +1315,11 @@
|
|
|
| void FlowGraphCompiler::EmitInstanceCall(ExternalLabel* target_label,
|
| const ICData& ic_data,
|
| - const Array& arguments_descriptor,
|
| intptr_t argument_count,
|
| intptr_t deopt_id,
|
| intptr_t token_pos,
|
| LocationSummary* locs) {
|
| __ TraceSimMsg("InstanceCall");
|
| - __ LoadObject(S4, arguments_descriptor);
|
| __ LoadObject(S5, ic_data);
|
| GenerateDartCall(deopt_id,
|
| token_pos,
|
| @@ -1336,13 +1333,15 @@
|
|
|
| void FlowGraphCompiler::EmitMegamorphicInstanceCall(
|
| const ICData& ic_data,
|
| - const Array& arguments_descriptor,
|
| intptr_t argument_count,
|
| intptr_t deopt_id,
|
| intptr_t token_pos,
|
| LocationSummary* locs) {
|
| MegamorphicCacheTable* table = Isolate::Current()->megamorphic_cache_table();
|
| const String& name = String::Handle(ic_data.target_name());
|
| + const Array& arguments_descriptor =
|
| + Array::ZoneHandle(ic_data.arguments_descriptor());
|
| + ASSERT(!arguments_descriptor.IsNull());
|
| const MegamorphicCache& cache =
|
| MegamorphicCache::ZoneHandle(table->Lookup(name, arguments_descriptor));
|
| Label not_smi, load_cache;
|
|
|