Index: src/interpreter/interpreter-assembler.cc |
diff --git a/src/interpreter/interpreter-assembler.cc b/src/interpreter/interpreter-assembler.cc |
index 66af04f5f0509c80888e9d1bcc97e609170ad0db..3d7b222d30ee12123d2625295a65e414731d0c7e 100644 |
--- a/src/interpreter/interpreter-assembler.cc |
+++ b/src/interpreter/interpreter-assembler.cc |
@@ -502,9 +502,9 @@ Node* InterpreterAssembler::Advance(Node* delta) { |
return IntPtrAdd(BytecodeOffset(), delta); |
} |
-void InterpreterAssembler::Jump(Node* delta) { |
+Node* InterpreterAssembler::Jump(Node* delta) { |
UpdateInterruptBudget(delta); |
- DispatchTo(Advance(delta)); |
+ return DispatchTo(Advance(delta)); |
} |
void InterpreterAssembler::JumpConditional(Node* condition, Node* delta) { |
@@ -527,11 +527,11 @@ void InterpreterAssembler::JumpIfWordNotEqual(Node* lhs, Node* rhs, |
JumpConditional(WordNotEqual(lhs, rhs), delta); |
} |
-void InterpreterAssembler::Dispatch() { |
- DispatchTo(Advance(Bytecodes::Size(bytecode_, operand_scale_))); |
+Node* InterpreterAssembler::Dispatch() { |
+ return DispatchTo(Advance(Bytecodes::Size(bytecode_, operand_scale_))); |
} |
-void InterpreterAssembler::DispatchTo(Node* new_bytecode_offset) { |
+Node* InterpreterAssembler::DispatchTo(Node* new_bytecode_offset) { |
Node* target_bytecode = Load( |
MachineType::Uint8(), BytecodeArrayTaggedPointer(), new_bytecode_offset); |
if (kPointerSize == 8) { |
@@ -546,17 +546,17 @@ void InterpreterAssembler::DispatchTo(Node* new_bytecode_offset) { |
Load(MachineType::Pointer(), DispatchTableRawPointer(), |
WordShl(target_bytecode, IntPtrConstant(kPointerSizeLog2))); |
- DispatchToBytecodeHandlerEntry(target_code_entry, new_bytecode_offset); |
+ return DispatchToBytecodeHandlerEntry(target_code_entry, new_bytecode_offset); |
} |
-void InterpreterAssembler::DispatchToBytecodeHandler(Node* handler, |
- Node* bytecode_offset) { |
+Node* InterpreterAssembler::DispatchToBytecodeHandler(Node* handler, |
+ Node* bytecode_offset) { |
Node* handler_entry = |
IntPtrAdd(handler, IntPtrConstant(Code::kHeaderSize - kHeapObjectTag)); |
- DispatchToBytecodeHandlerEntry(handler_entry, bytecode_offset); |
+ return DispatchToBytecodeHandlerEntry(handler_entry, bytecode_offset); |
} |
-void InterpreterAssembler::DispatchToBytecodeHandlerEntry( |
+Node* InterpreterAssembler::DispatchToBytecodeHandlerEntry( |
Node* handler_entry, Node* bytecode_offset) { |
if (FLAG_trace_ignition) { |
TraceBytecode(Runtime::kInterpreterTraceBytecodeExit); |
@@ -565,7 +565,7 @@ void InterpreterAssembler::DispatchToBytecodeHandlerEntry( |
InterpreterDispatchDescriptor descriptor(isolate()); |
Node* args[] = {GetAccumulatorUnchecked(), bytecode_offset, |
BytecodeArrayTaggedPointer(), DispatchTableRawPointer()}; |
- TailCallBytecodeDispatch(descriptor, handler_entry, args); |
+ return TailCallBytecodeDispatch(descriptor, handler_entry, args); |
} |
void InterpreterAssembler::DispatchWide(OperandScale operand_scale) { |
@@ -607,7 +607,7 @@ void InterpreterAssembler::DispatchWide(OperandScale operand_scale) { |
DispatchToBytecodeHandlerEntry(target_code_entry, next_bytecode_offset); |
} |
-void InterpreterAssembler::InterpreterReturn() { |
+compiler::Node* InterpreterAssembler::InterpreterReturn() { |
// TODO(rmcilroy): Investigate whether it is worth supporting self |
// optimization of primitive functions like FullCodegen. |
@@ -620,7 +620,7 @@ void InterpreterAssembler::InterpreterReturn() { |
Node* exit_trampoline_code_object = |
HeapConstant(isolate()->builtins()->InterpreterExitTrampoline()); |
- DispatchToBytecodeHandler(exit_trampoline_code_object); |
+ return DispatchToBytecodeHandler(exit_trampoline_code_object); |
} |
void InterpreterAssembler::StackCheck() { |