Index: src/compiler/interpreter-assembler.cc |
diff --git a/src/compiler/interpreter-assembler.cc b/src/compiler/interpreter-assembler.cc |
index 085ce7cdf140c2b5ba335c2c0917157b3e828596..7cc97797dbb8b35980f014686d030016ccbe2480 100644 |
--- a/src/compiler/interpreter-assembler.cc |
+++ b/src/compiler/interpreter-assembler.cc |
@@ -80,6 +80,18 @@ Node* InterpreterAssembler::ContextTaggedPointer() { |
} |
+Node* InterpreterAssembler::EmptyFrameState() { |
+ Node* state_values = raw_assembler_->graph()->NewNode( |
+ raw_assembler_->common()->StateValues(0)); |
+ return raw_assembler_->graph()->NewNode( |
+ raw_assembler_->common()->FrameState( |
+ BailoutId::None(), OutputFrameStateCombine::Ignore(), nullptr), |
+ state_values, state_values, state_values, ContextTaggedPointer(), |
+ HeapConstant(isolate()->factory()->undefined_string()), |
+ raw_assembler_->graph()->start()); |
+} |
+ |
+ |
Node* InterpreterAssembler::RegisterFileRawPointer() { |
return raw_assembler_->Parameter(Linkage::kInterpreterRegisterFileParameter); |
} |
@@ -271,36 +283,10 @@ Node* InterpreterAssembler::CallIC(CallInterfaceDescriptor descriptor, |
} |
-Node* InterpreterAssembler::CallJSBuiltin(int context_index, Node* receiver, |
- Node** js_args, int js_arg_count) { |
- Node* global_object = LoadContextSlot(Context::GLOBAL_OBJECT_INDEX); |
- Node* native_context = |
- LoadObjectField(global_object, GlobalObject::kNativeContextOffset); |
- Node* function = LoadContextSlot(native_context, context_index); |
- Node* context = LoadObjectField(function, JSFunction::kContextOffset); |
- |
- int index = 0; |
- Node** args = zone()->NewArray<Node*>(js_arg_count + 2); |
- args[index++] = receiver; |
- for (int i = 0; i < js_arg_count; i++) { |
- args[index++] = js_args[i]; |
- } |
- args[index++] = context; |
- |
- CallDescriptor* descriptor = Linkage::GetJSCallDescriptor( |
- zone(), false, js_arg_count + 1, CallDescriptor::kNoFlags); |
- return raw_assembler_->CallN(descriptor, function, args); |
-} |
- |
- |
-Node* InterpreterAssembler::CallJSBuiltin(int context_index, Node* receiver) { |
- return CallJSBuiltin(context_index, receiver, nullptr, 0); |
-} |
- |
- |
-Node* InterpreterAssembler::CallJSBuiltin(int context_index, Node* receiver, |
- Node* arg1) { |
- return CallJSBuiltin(context_index, receiver, &arg1, 1); |
+Node* InterpreterAssembler::CallRuntime(Runtime::FunctionId function_id, |
+ Node* arg1, Node* arg2) { |
+ return raw_assembler_->CallRuntime2( |
+ function_id, arg1, arg2, ContextTaggedPointer(), EmptyFrameState()); |
} |