Line data Source code
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 :
12 43 : void Builtins::Generate_InterpreterPushArgsThenCall(MacroAssembler* masm) {
13 : return Generate_InterpreterPushArgsThenCallImpl(
14 : masm, ConvertReceiverMode::kAny, TailCallMode::kDisallow,
15 43 : InterpreterPushArgsMode::kOther);
16 : }
17 :
18 43 : void Builtins::Generate_InterpreterPushArgsThenCallFunction(
19 : MacroAssembler* masm) {
20 : return Generate_InterpreterPushArgsThenCallImpl(
21 : masm, ConvertReceiverMode::kAny, TailCallMode::kDisallow,
22 43 : InterpreterPushArgsMode::kJSFunction);
23 : }
24 :
25 43 : void Builtins::Generate_InterpreterPushUndefinedAndArgsThenCall(
26 : MacroAssembler* masm) {
27 : return Generate_InterpreterPushArgsThenCallImpl(
28 : masm, ConvertReceiverMode::kNullOrUndefined, TailCallMode::kDisallow,
29 43 : InterpreterPushArgsMode::kOther);
30 : }
31 :
32 43 : void Builtins::Generate_InterpreterPushUndefinedAndArgsThenCallFunction(
33 : MacroAssembler* masm) {
34 : return Generate_InterpreterPushArgsThenCallImpl(
35 : masm, ConvertReceiverMode::kNullOrUndefined, TailCallMode::kDisallow,
36 43 : InterpreterPushArgsMode::kJSFunction);
37 : }
38 :
39 43 : void Builtins::Generate_InterpreterPushArgsThenCallWithFinalSpread(
40 : MacroAssembler* masm) {
41 : return Generate_InterpreterPushArgsThenCallImpl(
42 : masm, ConvertReceiverMode::kAny, TailCallMode::kDisallow,
43 43 : InterpreterPushArgsMode::kWithFinalSpread);
44 : }
45 :
46 43 : void Builtins::Generate_InterpreterPushArgsThenTailCall(MacroAssembler* masm) {
47 : return Generate_InterpreterPushArgsThenCallImpl(
48 : masm, ConvertReceiverMode::kAny, TailCallMode::kAllow,
49 43 : InterpreterPushArgsMode::kOther);
50 : }
51 :
52 43 : void Builtins::Generate_InterpreterPushArgsThenTailCallFunction(
53 : MacroAssembler* masm) {
54 : return Generate_InterpreterPushArgsThenCallImpl(
55 : masm, ConvertReceiverMode::kAny, TailCallMode::kAllow,
56 43 : InterpreterPushArgsMode::kJSFunction);
57 : }
58 :
59 43 : void Builtins::Generate_InterpreterPushArgsThenConstruct(MacroAssembler* masm) {
60 : return Generate_InterpreterPushArgsThenConstructImpl(
61 43 : masm, InterpreterPushArgsMode::kOther);
62 : }
63 :
64 43 : void Builtins::Generate_InterpreterPushArgsThenConstructWithFinalSpread(
65 : MacroAssembler* masm) {
66 : return Generate_InterpreterPushArgsThenConstructImpl(
67 43 : masm, InterpreterPushArgsMode::kWithFinalSpread);
68 : }
69 :
70 43 : void Builtins::Generate_InterpreterPushArgsThenConstructFunction(
71 : MacroAssembler* masm) {
72 : return Generate_InterpreterPushArgsThenConstructImpl(
73 43 : masm, InterpreterPushArgsMode::kJSFunction);
74 : }
75 :
76 : } // namespace internal
77 : } // namespace v8
|