| Index: src/interpreter/interpreter-assembler.cc
|
| diff --git a/src/interpreter/interpreter-assembler.cc b/src/interpreter/interpreter-assembler.cc
|
| index fa67a0c29973ac3c92d009e09b604ebf28cd5515..5f38ea444bc0cbac0897c472b6280ed5c5f2c2ef 100644
|
| --- a/src/interpreter/interpreter-assembler.cc
|
| +++ b/src/interpreter/interpreter-assembler.cc
|
| @@ -27,8 +27,7 @@
|
| OperandScale operand_scale)
|
| : CodeStubAssembler(isolate, zone, InterpreterDispatchDescriptor(isolate),
|
| Code::ComputeFlags(Code::BYTECODE_HANDLER),
|
| - Bytecodes::ToString(bytecode),
|
| - Bytecodes::ReturnCount(bytecode)),
|
| + Bytecodes::ToString(bytecode), 0),
|
| bytecode_(bytecode),
|
| operand_scale_(operand_scale),
|
| accumulator_(this, MachineRepresentation::kTagged),
|
| @@ -601,7 +600,7 @@
|
| DispatchToBytecodeHandlerEntry(target_code_entry, next_bytecode_offset);
|
| }
|
|
|
| -void InterpreterAssembler::UpdateInterruptBudgetOnReturn() {
|
| +compiler::Node* InterpreterAssembler::InterpreterReturn() {
|
| // TODO(rmcilroy): Investigate whether it is worth supporting self
|
| // optimization of primitive functions like FullCodegen.
|
|
|
| @@ -611,6 +610,10 @@
|
| Int32Sub(Int32Constant(kHeapObjectTag + BytecodeArray::kHeaderSize),
|
| BytecodeOffset());
|
| UpdateInterruptBudget(profiling_weight);
|
| +
|
| + Node* exit_trampoline_code_object =
|
| + HeapConstant(isolate()->builtins()->InterpreterExitTrampoline());
|
| + return DispatchToBytecodeHandler(exit_trampoline_code_object);
|
| }
|
|
|
| Node* InterpreterAssembler::StackCheckTriggeredInterrupt() {
|
|
|