Reviewers: Søren Gjesse,

Description:
MIPS: port Fix problem with arguments object ICs not checking for dictionary
mode elements.

Ported r8497 (916120a)

Patch by Daniel Kalmar <[email protected]>

BUG=
TEST=


Please review this at http://codereview.chromium.org/7329013/

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 cbae8e46e6e37a66a10a7bff7bc5633cab5b5e74..64c079d9120080d02d56ab4bab54f55cd1ef97b2 100644
--- a/src/mips/ic-mips.cc
+++ b/src/mips/ic-mips.cc
@@ -963,6 +963,9 @@ static MemOperand GenerateUnmappedArgumentsLookup(MacroAssembler* masm,
   const int kBackingStoreOffset = FixedArray::kHeaderSize + kPointerSize;
   Register backing_store = parameter_map;
__ lw(backing_store, FieldMemOperand(parameter_map, kBackingStoreOffset));
+  Handle<Map> fixed_array_map(masm->isolate()->heap()->fixed_array_map());
+  __ CheckMap(backing_store, scratch, fixed_array_map, slow_case,
+              DONT_DO_SMI_CHECK);
__ lw(scratch, FieldMemOperand(backing_store, FixedArray::kLengthOffset));
   __ Branch(slow_case, Ugreater_equal, key, Operand(scratch));
   __ li(scratch, Operand(kPointerSize >> 1));


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to