Index: src/mips/ic-mips.cc |
diff --git a/src/mips/ic-mips.cc b/src/mips/ic-mips.cc |
index 2dd0522247362348deae6fe27e4ab9fc19770636..b6f019f478565c23bb8f9ec2a39ce83bb7eeccd5 100644 |
--- a/src/mips/ic-mips.cc |
+++ b/src/mips/ic-mips.cc |
@@ -1571,7 +1571,10 @@ void StoreIC::GenerateArrayLength(MacroAssembler* masm) { |
// Check that the array has fast properties, otherwise the length |
// property might have been redefined. |
- // TODO(mstarzinger): Port this check to MIPS. |
+ __ lw(scratch, FieldMemOperand(receiver, JSArray::kPropertiesOffset)); |
+ __ lw(scratch, FieldMemOperand(scratch, FixedArray::kMapOffset)); |
+ __ LoadRoot(at, Heap::kHashTableMapRootIndex); |
+ __ Branch(&miss, eq, scratch, Operand(at)); |
// Check that value is a smi. |
__ JumpIfNotSmi(value, &miss); |