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