Index: src/ppc/builtins-ppc.cc |
diff --git a/src/ppc/builtins-ppc.cc b/src/ppc/builtins-ppc.cc |
index 912971c5d0a06025282313f57137c4336067a88f..f8e04175523f5ccc50a072d47808d3ae14d6cb9f 100644 |
--- a/src/ppc/builtins-ppc.cc |
+++ b/src/ppc/builtins-ppc.cc |
@@ -1039,10 +1039,9 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { |
Operand(InterpreterFrameConstants::kRegisterFilePointerFromFp)); |
__ mov(kInterpreterBytecodeOffsetRegister, |
Operand(BytecodeArray::kHeaderSize - kHeapObjectTag)); |
- __ LoadRoot(kInterpreterDispatchTableRegister, |
- Heap::kInterpreterTableRootIndex); |
- __ addi(kInterpreterDispatchTableRegister, kInterpreterDispatchTableRegister, |
- Operand(FixedArray::kHeaderSize - kHeapObjectTag)); |
+ __ mov(kInterpreterDispatchTableRegister, |
+ Operand(ExternalReference::interpreter_dispatch_table_address( |
+ masm->isolate()))); |
// Dispatch to the first bytecode handler for the function. |
__ lbzx(r4, MemOperand(kInterpreterBytecodeArrayRegister, |
@@ -1141,10 +1140,9 @@ static void Generate_EnterBytecodeDispatch(MacroAssembler* masm) { |
// Initialize register file register and dispatch table register. |
__ addi(kInterpreterRegisterFileRegister, fp, |
Operand(InterpreterFrameConstants::kRegisterFilePointerFromFp)); |
- __ LoadRoot(kInterpreterDispatchTableRegister, |
- Heap::kInterpreterTableRootIndex); |
- __ addi(kInterpreterDispatchTableRegister, kInterpreterDispatchTableRegister, |
- Operand(FixedArray::kHeaderSize - kHeapObjectTag)); |
+ __ mov(kInterpreterDispatchTableRegister, |
+ Operand(ExternalReference::interpreter_dispatch_table_address( |
+ masm->isolate()))); |
// Get the context from the frame. |
__ LoadP(kContextRegister, |