Index: src/compiler/raw-machine-assembler.cc |
diff --git a/src/compiler/raw-machine-assembler.cc b/src/compiler/raw-machine-assembler.cc |
index 86d644addcc68cd0c071bf7b678ee3f7d4e07dad..2ce9ef20ccdc3122c9319c28d58f6390fad6fa17 100644 |
--- a/src/compiler/raw-machine-assembler.cc |
+++ b/src/compiler/raw-machine-assembler.cc |
@@ -100,6 +100,22 @@ void RawMachineAssembler::Return(Node* value) { |
} |
+Node* RawMachineAssembler::CallN(CallDescriptor* desc, Node* function, |
+ Node** args) { |
+ int param_count = |
+ static_cast<int>(desc->GetMachineSignature()->parameter_count()); |
+ Node** buffer = zone()->NewArray<Node*>(param_count + 1); |
+ int index = 0; |
+ buffer[index++] = function; |
+ for (int i = 0; i < param_count; i++) { |
+ buffer[index++] = args[i]; |
+ } |
+ Node* call = graph()->NewNode(common()->Call(desc), param_count + 1, buffer); |
+ schedule()->AddNode(CurrentBlock(), call); |
+ return call; |
+} |
+ |
+ |
Node* RawMachineAssembler::CallFunctionStub0(Node* function, Node* receiver, |
Node* context, Node* frame_state, |
CallFunctionFlags flags) { |