1 // Copyright 2017 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef V8_BUILTINS_BUILTINS_CALL_GEN_H_ 6 #define V8_BUILTINS_BUILTINS_CALL_GEN_H_ 7 8 #include "src/code-stub-assembler.h" 9 10 namespace v8 { 11 namespace internal { 12 13 class CallOrConstructBuiltinsAssembler : public CodeStubAssembler { 14 public: CallOrConstructBuiltinsAssembler(compiler::CodeAssemblerState * state)15 explicit CallOrConstructBuiltinsAssembler(compiler::CodeAssemblerState* state) 16 : CodeStubAssembler(state) {} 17 18 void CallOrConstructWithArrayLike(Node* target, Node* new_target, 19 Node* arguments_list, Node* context); 20 void CallOrConstructDoubleVarargs(Node* target, Node* new_target, 21 Node* elements, Node* length, 22 Node* args_count, Node* context, 23 Node* kind); 24 void CallOrConstructWithSpread(Node* target, Node* new_target, Node* spread, 25 Node* args_count, Node* context); 26 }; 27 28 } // namespace internal 29 } // namespace v8 30 31 #endif // V8_BUILTINS_BUILTINS_CALL_GEN_H_ 32