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/isolate.h"
8 : #include "src/macro-assembler.h"
9 :
10 : namespace v8 {
11 : namespace internal {
12 :
13 43 : void Builtins::Generate_CallFunction_ReceiverIsNullOrUndefined(
14 : MacroAssembler* masm) {
15 : Generate_CallFunction(masm, ConvertReceiverMode::kNullOrUndefined,
16 43 : TailCallMode::kDisallow);
17 43 : }
18 :
19 43 : void Builtins::Generate_CallFunction_ReceiverIsNotNullOrUndefined(
20 : MacroAssembler* masm) {
21 : Generate_CallFunction(masm, ConvertReceiverMode::kNotNullOrUndefined,
22 43 : TailCallMode::kDisallow);
23 43 : }
24 :
25 43 : void Builtins::Generate_CallFunction_ReceiverIsAny(MacroAssembler* masm) {
26 : Generate_CallFunction(masm, ConvertReceiverMode::kAny,
27 43 : TailCallMode::kDisallow);
28 43 : }
29 :
30 43 : void Builtins::Generate_TailCallFunction_ReceiverIsNullOrUndefined(
31 : MacroAssembler* masm) {
32 : Generate_CallFunction(masm, ConvertReceiverMode::kNullOrUndefined,
33 43 : TailCallMode::kAllow);
34 43 : }
35 :
36 43 : void Builtins::Generate_TailCallFunction_ReceiverIsNotNullOrUndefined(
37 : MacroAssembler* masm) {
38 : Generate_CallFunction(masm, ConvertReceiverMode::kNotNullOrUndefined,
39 43 : TailCallMode::kAllow);
40 43 : }
41 :
42 43 : void Builtins::Generate_TailCallFunction_ReceiverIsAny(MacroAssembler* masm) {
43 43 : Generate_CallFunction(masm, ConvertReceiverMode::kAny, TailCallMode::kAllow);
44 43 : }
45 :
46 43 : void Builtins::Generate_CallBoundFunction(MacroAssembler* masm) {
47 43 : Generate_CallBoundFunctionImpl(masm, TailCallMode::kDisallow);
48 43 : }
49 :
50 43 : void Builtins::Generate_TailCallBoundFunction(MacroAssembler* masm) {
51 43 : Generate_CallBoundFunctionImpl(masm, TailCallMode::kAllow);
52 43 : }
53 :
54 43 : void Builtins::Generate_Call_ReceiverIsNullOrUndefined(MacroAssembler* masm) {
55 : Generate_Call(masm, ConvertReceiverMode::kNullOrUndefined,
56 43 : TailCallMode::kDisallow);
57 43 : }
58 :
59 43 : void Builtins::Generate_Call_ReceiverIsNotNullOrUndefined(
60 : MacroAssembler* masm) {
61 : Generate_Call(masm, ConvertReceiverMode::kNotNullOrUndefined,
62 43 : TailCallMode::kDisallow);
63 43 : }
64 :
65 43 : void Builtins::Generate_Call_ReceiverIsAny(MacroAssembler* masm) {
66 43 : Generate_Call(masm, ConvertReceiverMode::kAny, TailCallMode::kDisallow);
67 43 : }
68 :
69 43 : void Builtins::Generate_TailCall_ReceiverIsNullOrUndefined(
70 : MacroAssembler* masm) {
71 : Generate_Call(masm, ConvertReceiverMode::kNullOrUndefined,
72 43 : TailCallMode::kAllow);
73 43 : }
74 :
75 43 : void Builtins::Generate_TailCall_ReceiverIsNotNullOrUndefined(
76 : MacroAssembler* masm) {
77 : Generate_Call(masm, ConvertReceiverMode::kNotNullOrUndefined,
78 43 : TailCallMode::kAllow);
79 43 : }
80 :
81 43 : void Builtins::Generate_TailCall_ReceiverIsAny(MacroAssembler* masm) {
82 43 : Generate_Call(masm, ConvertReceiverMode::kAny, TailCallMode::kAllow);
83 43 : }
84 :
85 43 : void Builtins::Generate_CallForwardVarargs(MacroAssembler* masm) {
86 43 : Generate_CallForwardVarargs(masm, masm->isolate()->builtins()->Call());
87 43 : }
88 :
89 43 : void Builtins::Generate_CallFunctionForwardVarargs(MacroAssembler* masm) {
90 : Generate_CallForwardVarargs(masm,
91 43 : masm->isolate()->builtins()->CallFunction());
92 43 : }
93 :
94 : } // namespace internal
95 : } // namespace v8
|