Index: src/interpreter/interpreter-assembler.cc |
diff --git a/src/interpreter/interpreter-assembler.cc b/src/interpreter/interpreter-assembler.cc |
index cfadb702ada282e9db45fd96d33c2b970a245031..bedd73195086f36bb28af4c9b6e6eaca23813754 100644 |
--- a/src/interpreter/interpreter-assembler.cc |
+++ b/src/interpreter/interpreter-assembler.cc |
@@ -425,6 +425,18 @@ void InterpreterAssembler::DispatchTo(Node* new_bytecode_offset) { |
TailCall(descriptor, target_code_object, args, 0); |
} |
+void InterpreterAssembler::DispatchToHandler(Node* handler) { |
+ if (FLAG_trace_ignition) { |
+ TraceBytecode(Runtime::kInterpreterTraceBytecodeExit); |
+ } |
+ |
+ InterpreterDispatchDescriptor descriptor(isolate()); |
+ Node* args[] = {GetAccumulator(), RegisterFileRawPointer(), |
+ BytecodeOffset(), BytecodeArrayTaggedPointer(), |
+ DispatchTableRawPointer(), GetContext()}; |
+ TailCall(descriptor, handler, args, 0); |
+} |
+ |
void InterpreterAssembler::InterpreterReturn() { |
if (FLAG_trace_ignition) { |
TraceBytecode(Runtime::kInterpreterTraceBytecodeExit); |