Reviewers: Michael Starzinger, danno, Paul Lind, kisg,
Description:
MIPS: Properly check fast array property in StoreIC::GenerateArrayLength.
This is the cleanup of an old todo from r10254 (93483b6eb).
BUG=
TEST=
Please review this at http://codereview.chromium.org/9570010/
Affected files:
M src/mips/ic-mips.cc
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);
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev