| Index: src/compiler/interpreter-assembler.cc
|
| diff --git a/src/compiler/interpreter-assembler.cc b/src/compiler/interpreter-assembler.cc
|
| index b053952b9596e120b1aac1fa46812b77c45c4d7a..64deea93b3756b7dcec0e20a459ac4dc451b9e90 100644
|
| --- a/src/compiler/interpreter-assembler.cc
|
| +++ b/src/compiler/interpreter-assembler.cc
|
| @@ -111,6 +111,13 @@ Node* InterpreterAssembler::RegisterLocation(Node* reg_index) {
|
| }
|
|
|
|
|
| +Node* InterpreterAssembler::LoadRegister(interpreter::Register reg) {
|
| + return raw_assembler_->Load(
|
| + kMachAnyTagged, RegisterFileRawPointer(),
|
| + RegisterFrameOffset(Int32Constant(reg.ToOperand())));
|
| +}
|
| +
|
| +
|
| Node* InterpreterAssembler::LoadRegister(Node* reg_index) {
|
| return raw_assembler_->Load(kMachAnyTagged, RegisterFileRawPointer(),
|
| RegisterFrameOffset(reg_index));
|
| @@ -354,6 +361,18 @@ Node* InterpreterAssembler::CallIC(CallInterfaceDescriptor descriptor,
|
|
|
| Node* InterpreterAssembler::CallIC(CallInterfaceDescriptor descriptor,
|
| Node* target, Node* arg1, Node* arg2,
|
| + Node* arg3) {
|
| + Node** args = zone()->NewArray<Node*>(4);
|
| + args[0] = arg1;
|
| + args[1] = arg2;
|
| + args[2] = arg3;
|
| + args[3] = GetContext();
|
| + return CallIC(descriptor, target, args);
|
| +}
|
| +
|
| +
|
| +Node* InterpreterAssembler::CallIC(CallInterfaceDescriptor descriptor,
|
| + Node* target, Node* arg1, Node* arg2,
|
| Node* arg3, Node* arg4) {
|
| Node** args = zone()->NewArray<Node*>(5);
|
| args[0] = arg1;
|
| @@ -418,6 +437,14 @@ Node* InterpreterAssembler::CallRuntime(Runtime::FunctionId function_id,
|
| }
|
|
|
|
|
| +Node* InterpreterAssembler::CallRuntime(Runtime::FunctionId function_id,
|
| + Node* arg1, Node* arg2, Node* arg3,
|
| + Node* arg4) {
|
| + return raw_assembler_->CallRuntime4(function_id, arg1, arg2, arg3, arg4,
|
| + GetContext());
|
| +}
|
| +
|
| +
|
| void InterpreterAssembler::Return() {
|
| Node* exit_trampoline_code_object =
|
| HeapConstant(isolate()->builtins()->InterpreterExitTrampoline());
|
|
|