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