| Index: src/x87/builtins-x87.cc
|
| diff --git a/src/x87/builtins-x87.cc b/src/x87/builtins-x87.cc
|
| index 4597a502c2e1bcc2415541769917d08a828771a2..a7352ab5bd1fe8136543bd6f6b64ef3afdfa3653 100644
|
| --- a/src/x87/builtins-x87.cc
|
| +++ b/src/x87/builtins-x87.cc
|
| @@ -609,10 +609,8 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
|
| Immediate(InterpreterFrameConstants::kRegisterFilePointerFromFp));
|
| __ mov(kInterpreterBytecodeOffsetRegister,
|
| Immediate(BytecodeArray::kHeaderSize - kHeapObjectTag));
|
| - // Since the dispatch table root might be set after builtins are generated,
|
| - // load directly from the roots table.
|
| - __ LoadRoot(ebx, Heap::kInterpreterTableRootIndex);
|
| - __ add(ebx, Immediate(FixedArray::kHeaderSize - kHeapObjectTag));
|
| + __ mov(ebx, Immediate(ExternalReference::interpreter_dispatch_table_address(
|
| + masm->isolate())));
|
|
|
| // Push dispatch table as a stack located parameter to the bytecode handler.
|
| DCHECK_EQ(-1, kInterpreterDispatchTableSpillSlot);
|
| @@ -774,8 +772,8 @@ static void Generate_EnterBytecodeDispatch(MacroAssembler* masm) {
|
| __ SmiUntag(kInterpreterBytecodeOffsetRegister);
|
|
|
| // Push dispatch table as a stack located parameter to the bytecode handler.
|
| - __ LoadRoot(ebx, Heap::kInterpreterTableRootIndex);
|
| - __ add(ebx, Immediate(FixedArray::kHeaderSize - kHeapObjectTag));
|
| + __ mov(ebx, Immediate(ExternalReference::interpreter_dispatch_table_address(
|
| + masm->isolate())));
|
| DCHECK_EQ(-1, kInterpreterDispatchTableSpillSlot);
|
| __ Pop(esi);
|
| __ Push(ebx);
|
|
|