| Index: src/compiler/code-assembler.cc
|
| diff --git a/src/compiler/code-assembler.cc b/src/compiler/code-assembler.cc
|
| index 0dce4c51212833e6a3b6880f60061e644af1bda4..0e4cea5376e36aa2a43372aa352b680911524069 100644
|
| --- a/src/compiler/code-assembler.cc
|
| +++ b/src/compiler/code-assembler.cc
|
| @@ -409,60 +409,27 @@ Node* CodeAssembler::TailCallN(CallDescriptor* descriptor, Node* code_target,
|
| return raw_assembler()->TailCallN(descriptor, code_target, args);
|
| }
|
|
|
| -Node* CodeAssembler::CallRuntime(Runtime::FunctionId function_id,
|
| - Node* context) {
|
| +template <class... TArgs>
|
| +Node* CodeAssembler::CallRuntime(Runtime::FunctionId function, Node* context,
|
| + TArgs... args) {
|
| CallPrologue();
|
| - Node* return_value = raw_assembler()->CallRuntime0(function_id, context);
|
| + Node* return_value = raw_assembler()->CallRuntime(function, context, args...);
|
| CallEpilogue();
|
| return return_value;
|
| }
|
|
|
| -Node* CodeAssembler::CallRuntime(Runtime::FunctionId function_id, Node* context,
|
| - Node* arg1) {
|
| - CallPrologue();
|
| - Node* return_value =
|
| - raw_assembler()->CallRuntime1(function_id, arg1, context);
|
| - CallEpilogue();
|
| - return return_value;
|
| -}
|
| -
|
| -Node* CodeAssembler::CallRuntime(Runtime::FunctionId function_id, Node* context,
|
| - Node* arg1, Node* arg2) {
|
| - CallPrologue();
|
| - Node* return_value =
|
| - raw_assembler()->CallRuntime2(function_id, arg1, arg2, context);
|
| - CallEpilogue();
|
| - return return_value;
|
| -}
|
| -
|
| -Node* CodeAssembler::CallRuntime(Runtime::FunctionId function_id, Node* context,
|
| - Node* arg1, Node* arg2, Node* arg3) {
|
| - CallPrologue();
|
| - Node* return_value =
|
| - raw_assembler()->CallRuntime3(function_id, arg1, arg2, arg3, context);
|
| - CallEpilogue();
|
| - return return_value;
|
| -}
|
| -
|
| -Node* CodeAssembler::CallRuntime(Runtime::FunctionId function_id, Node* context,
|
| - Node* arg1, Node* arg2, Node* arg3,
|
| - Node* arg4) {
|
| - CallPrologue();
|
| - Node* return_value = raw_assembler()->CallRuntime4(function_id, arg1, arg2,
|
| - arg3, arg4, context);
|
| - CallEpilogue();
|
| - return return_value;
|
| -}
|
| -
|
| -Node* CodeAssembler::CallRuntime(Runtime::FunctionId function_id, Node* context,
|
| - Node* arg1, Node* arg2, Node* arg3, Node* arg4,
|
| - Node* arg5) {
|
| - CallPrologue();
|
| - Node* return_value = raw_assembler()->CallRuntime5(function_id, arg1, arg2,
|
| - arg3, arg4, arg5, context);
|
| - CallEpilogue();
|
| - return return_value;
|
| -}
|
| +// Instantiate CallRuntime template with different number of arguments.
|
| +template Node* CodeAssembler::CallRuntime(Runtime::FunctionId, Node* context);
|
| +template Node* CodeAssembler::CallRuntime(Runtime::FunctionId, Node* context,
|
| + Node*);
|
| +template Node* CodeAssembler::CallRuntime(Runtime::FunctionId, Node* context,
|
| + Node*, Node*);
|
| +template Node* CodeAssembler::CallRuntime(Runtime::FunctionId, Node* context,
|
| + Node*, Node*, Node*);
|
| +template Node* CodeAssembler::CallRuntime(Runtime::FunctionId, Node* context,
|
| + Node*, Node*, Node*, Node*);
|
| +template Node* CodeAssembler::CallRuntime(Runtime::FunctionId, Node* context,
|
| + Node*, Node*, Node*, Node*, Node*);
|
|
|
| Node* CodeAssembler::TailCallRuntime(Runtime::FunctionId function_id,
|
| Node* context) {
|
|
|