| Index: src/ppc/macro-assembler-ppc.cc
|
| diff --git a/src/ppc/macro-assembler-ppc.cc b/src/ppc/macro-assembler-ppc.cc
|
| index 2c9f7aa7a975b0fbffd59985ec97a8945e53603e..50f9bbc9c0aa239c22e3ce23ce4b52ffc4082d30 100644
|
| --- a/src/ppc/macro-assembler-ppc.cc
|
| +++ b/src/ppc/macro-assembler-ppc.cc
|
| @@ -675,14 +675,15 @@ void MacroAssembler::LoadConstantPoolPointerRegister(
|
| } else {
|
| DCHECK(access_method == CONSTRUCT_INTERNAL_REFERENCE);
|
| base = kConstantPoolRegister;
|
| - ConstantPoolUnavailableScope constant_pool_unavailable(this);
|
| + RecordRelocInfo(RelocInfo::INTERNAL_REFERENCE_ENCODED);
|
|
|
| // CheckBuffer() is called too frequently. This will pre-grow
|
| // the buffer if needed to avoid spliting the relocation and instructions
|
| EnsureSpaceFor(kMovInstructionsNoConstantPool * kInstrSize);
|
|
|
| - uintptr_t code_start = reinterpret_cast<uintptr_t>(pc_) - pc_offset();
|
| - mov(base, Operand(code_start, RelocInfo::INTERNAL_REFERENCE));
|
| + intptr_t code_start = reinterpret_cast<intptr_t>(pc_) - pc_offset();
|
| + AddBoundInternalReferenceLoad(pc_offset());
|
| + bitwise_mov(base, code_start);
|
| }
|
| LoadP(kConstantPoolRegister, MemOperand(base, constant_pool_offset));
|
| }
|
|
|