| Index: src/mips/macro-assembler-mips.cc
|
| diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc
|
| index e60c057f1cc823d346ff993d81e6e0dc543f6b6e..92a2419d30ae88ba45e1ff7e5c2dd45864c914b9 100644
|
| --- a/src/mips/macro-assembler-mips.cc
|
| +++ b/src/mips/macro-assembler-mips.cc
|
| @@ -4703,17 +4703,17 @@ void MacroAssembler::LoadTransitionedArrayMapConditional(
|
| Register map_in_out,
|
| Register scratch,
|
| Label* no_map_match) {
|
| + DCHECK(IsFastElementsKind(expected_kind));
|
| + DCHECK(IsFastElementsKind(transitioned_kind));
|
| +
|
| // Check that the function's map is the same as the expected cached map.
|
| - LoadNativeContextSlot(Context::JS_ARRAY_MAPS_INDEX, scratch);
|
| - size_t offset = expected_kind * kPointerSize +
|
| - FixedArrayBase::kHeaderSize;
|
| - lw(at, FieldMemOperand(scratch, offset));
|
| + lw(scratch, NativeContextMemOperand());
|
| + lw(at, ContextMemOperand(scratch, Context::ArrayMapIndex(expected_kind)));
|
| Branch(no_map_match, ne, map_in_out, Operand(at));
|
|
|
| // Use the transitioned cached map.
|
| - offset = transitioned_kind * kPointerSize +
|
| - FixedArrayBase::kHeaderSize;
|
| - lw(map_in_out, FieldMemOperand(scratch, offset));
|
| + lw(map_in_out,
|
| + ContextMemOperand(scratch, Context::ArrayMapIndex(transitioned_kind)));
|
| }
|
|
|
|
|
|
|