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 #include "src/builtins/builtins.h"
6 #include "src/globals.h"
7 #include "src/macro-assembler.h"
8 
9 namespace v8 {
10 namespace internal {
11 
Generate_InterpreterPushArgsThenCall(MacroAssembler * masm)12 void Builtins::Generate_InterpreterPushArgsThenCall(MacroAssembler* masm) {
13   return Generate_InterpreterPushArgsThenCallImpl(
14       masm, ConvertReceiverMode::kAny, InterpreterPushArgsMode::kOther);
15 }
16 
Generate_InterpreterPushUndefinedAndArgsThenCall(MacroAssembler * masm)17 void Builtins::Generate_InterpreterPushUndefinedAndArgsThenCall(
18     MacroAssembler* masm) {
19   return Generate_InterpreterPushArgsThenCallImpl(
20       masm, ConvertReceiverMode::kNullOrUndefined,
21       InterpreterPushArgsMode::kOther);
22 }
23 
Generate_InterpreterPushArgsThenCallWithFinalSpread(MacroAssembler * masm)24 void Builtins::Generate_InterpreterPushArgsThenCallWithFinalSpread(
25     MacroAssembler* masm) {
26   return Generate_InterpreterPushArgsThenCallImpl(
27       masm, ConvertReceiverMode::kAny,
28       InterpreterPushArgsMode::kWithFinalSpread);
29 }
30 
Generate_InterpreterPushArgsThenConstruct(MacroAssembler * masm)31 void Builtins::Generate_InterpreterPushArgsThenConstruct(MacroAssembler* masm) {
32   return Generate_InterpreterPushArgsThenConstructImpl(
33       masm, InterpreterPushArgsMode::kOther);
34 }
35 
Generate_InterpreterPushArgsThenConstructWithFinalSpread(MacroAssembler * masm)36 void Builtins::Generate_InterpreterPushArgsThenConstructWithFinalSpread(
37     MacroAssembler* masm) {
38   return Generate_InterpreterPushArgsThenConstructImpl(
39       masm, InterpreterPushArgsMode::kWithFinalSpread);
40 }
41 
Generate_InterpreterPushArgsThenConstructArrayFunction(MacroAssembler * masm)42 void Builtins::Generate_InterpreterPushArgsThenConstructArrayFunction(
43     MacroAssembler* masm) {
44   return Generate_InterpreterPushArgsThenConstructImpl(
45       masm, InterpreterPushArgsMode::kArrayFunction);
46 }
47 
48 }  // namespace internal
49 }  // namespace v8
50