| Index: runtime/vm/intermediate_language_mips.cc
|
| ===================================================================
|
| --- runtime/vm/intermediate_language_mips.cc (revision 45502)
|
| +++ runtime/vm/intermediate_language_mips.cc (working copy)
|
| @@ -1617,7 +1617,10 @@
|
| const intptr_t field_cid = field().guarded_cid();
|
| const intptr_t nullability = field().is_nullable() ? kNullCid : kIllegalCid;
|
|
|
| - ASSERT(field_cid != kDynamicCid);
|
| + if (field_cid == kDynamicCid) {
|
| + ASSERT(!compiler->is_optimizing());
|
| + return; // Nothing to emit.
|
| + }
|
|
|
| const bool emit_full_guard =
|
| !compiler->is_optimizing() || (field_cid == kIllegalCid);
|
| @@ -1768,7 +1771,10 @@
|
|
|
|
|
| void GuardFieldLengthInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| - ASSERT(field().guarded_list_length() != Field::kNoFixedLength);
|
| + if (field().guarded_list_length() == Field::kNoFixedLength) {
|
| + ASSERT(!compiler->is_optimizing());
|
| + return; // Nothing to emit.
|
| + }
|
|
|
| Label* deopt = compiler->is_optimizing() ?
|
| compiler->AddDeoptStub(deopt_id(), ICData::kDeoptGuardField) : NULL;
|
|
|