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

Reply via email to