| Index: src/ppc/macro-assembler-ppc.cc
|
| diff --git a/src/ppc/macro-assembler-ppc.cc b/src/ppc/macro-assembler-ppc.cc
|
| index 904072897cfeda499460f4631ae603c32e7fa1e9..0b9459fb2d44358f1c279751f7e03c5f316860d6 100644
|
| --- a/src/ppc/macro-assembler-ppc.cc
|
| +++ b/src/ppc/macro-assembler-ppc.cc
|
| @@ -2470,16 +2470,18 @@ void MacroAssembler::LoadContext(Register dst, int context_chain_length) {
|
| void MacroAssembler::LoadTransitionedArrayMapConditional(
|
| ElementsKind expected_kind, ElementsKind transitioned_kind,
|
| 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;
|
| - LoadP(ip, FieldMemOperand(scratch, offset));
|
| + LoadP(scratch, NativeContextMemOperand());
|
| + LoadP(ip, ContextMemOperand(scratch, Context::ArrayMapIndex(expected_kind)));
|
| cmp(map_in_out, ip);
|
| bne(no_map_match);
|
|
|
| // Use the transitioned cached map.
|
| - offset = transitioned_kind * kPointerSize + FixedArrayBase::kHeaderSize;
|
| - LoadP(map_in_out, FieldMemOperand(scratch, offset));
|
| + LoadP(map_in_out,
|
| + ContextMemOperand(scratch, Context::ArrayMapIndex(transitioned_kind)));
|
| }
|
|
|
|
|
|
|