| Index: runtime/vm/flow_graph_compiler_mips.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_compiler_mips.cc (revision 35593)
|
| +++ runtime/vm/flow_graph_compiler_mips.cc (working copy)
|
| @@ -1225,6 +1225,7 @@
|
| intptr_t deopt_id,
|
| intptr_t token_pos,
|
| LocationSummary* locs) {
|
| + ASSERT(Array::Handle(ic_data.arguments_descriptor()).Length() > 0);
|
| // Each ICData propagated from unoptimized to optimized code contains the
|
| // function that corresponds to the Dart function of that IC call. Due
|
| // to inlining in optimized code, that function may not correspond to the
|
| @@ -1249,6 +1250,7 @@
|
| intptr_t deopt_id,
|
| intptr_t token_pos,
|
| LocationSummary* locs) {
|
| + ASSERT(Array::Handle(ic_data.arguments_descriptor()).Length() > 0);
|
| __ TraceSimMsg("InstanceCall");
|
| __ LoadObject(S5, ic_data);
|
| GenerateDartCall(deopt_id,
|
| @@ -1271,7 +1273,7 @@
|
| const String& name = String::Handle(ic_data.target_name());
|
| const Array& arguments_descriptor =
|
| Array::ZoneHandle(ic_data.arguments_descriptor());
|
| - ASSERT(!arguments_descriptor.IsNull());
|
| + ASSERT(!arguments_descriptor.IsNull() && (arguments_descriptor.Length() > 0));
|
| const MegamorphicCache& cache =
|
| MegamorphicCache::ZoneHandle(table->Lookup(name, arguments_descriptor));
|
| Label not_smi, load_cache;
|
|
|