Index: src/arm/builtins-arm.cc |
diff --git a/src/arm/builtins-arm.cc b/src/arm/builtins-arm.cc |
index bb9c06cdd56996845de36edf015296592b1a87d0..ca05f81e80691f3d80b6c2c52e274ff20b677ad5 100644 |
--- a/src/arm/builtins-arm.cc |
+++ b/src/arm/builtins-arm.cc |
@@ -1049,10 +1049,9 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { |
Operand(InterpreterFrameConstants::kRegisterFilePointerFromFp)); |
__ mov(kInterpreterBytecodeOffsetRegister, |
Operand(BytecodeArray::kHeaderSize - kHeapObjectTag)); |
- __ LoadRoot(kInterpreterDispatchTableRegister, |
- Heap::kInterpreterTableRootIndex); |
- __ add(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. |
__ ldrb(r1, MemOperand(kInterpreterBytecodeArrayRegister, |
@@ -1154,10 +1153,9 @@ static void Generate_EnterBytecodeDispatch(MacroAssembler* masm) { |
// Initialize register file register and dispatch table register. |
__ add(kInterpreterRegisterFileRegister, fp, |
Operand(InterpreterFrameConstants::kRegisterFilePointerFromFp)); |
- __ LoadRoot(kInterpreterDispatchTableRegister, |
- Heap::kInterpreterTableRootIndex); |
- __ add(kInterpreterDispatchTableRegister, kInterpreterDispatchTableRegister, |
- Operand(FixedArray::kHeaderSize - kHeapObjectTag)); |
+ __ mov(kInterpreterDispatchTableRegister, |
+ Operand(ExternalReference::interpreter_dispatch_table_address( |
+ masm->isolate()))); |
// Get the context from the frame. |
__ ldr(kContextRegister, |