| Index: runtime/vm/intermediate_language_mips.cc
|
| diff --git a/runtime/vm/intermediate_language_mips.cc b/runtime/vm/intermediate_language_mips.cc
|
| index b7a98924ed8d2a1631e5a8b8237192f2f9203348..fb37ec5631b6938149dce8aff9b1ba89df7ac6ff 100644
|
| --- a/runtime/vm/intermediate_language_mips.cc
|
| +++ b/runtime/vm/intermediate_language_mips.cc
|
| @@ -1606,6 +1606,11 @@ void GuardFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| // list length here, without this check the list length could change
|
| // without triggering a deoptimization.
|
| Label check_array, length_compared, no_fixed_length;
|
| + // If length is negative the length guard is either disabled or
|
| + // has not been initialized, either way it is safe to skip the
|
| + // length check.
|
| + __ lw(CMPRES1, field_length_operand);
|
| + __ BranchSignedLess(CMPRES1, 0, &skip_length_check);
|
| __ BranchEqual(value_cid_reg, kNullCid, &no_fixed_length);
|
| // Check for typed data array.
|
| __ BranchSignedGreater(value_cid_reg, kTypedDataFloat32x4ArrayCid,
|
|
|