• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2016 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-utils-gen.h"
6 #include "src/builtins/builtins.h"
7 #include "src/codegen/code-stub-assembler.h"
8 #include "src/ic/accessor-assembler.h"
9 
10 namespace v8 {
11 namespace internal {
12 
Generate_LoadIC(compiler::CodeAssemblerState * state)13 void Builtins::Generate_LoadIC(compiler::CodeAssemblerState* state) {
14   AccessorAssembler assembler(state);
15   assembler.GenerateLoadIC();
16 }
Generate_LoadIC_Megamorphic(compiler::CodeAssemblerState * state)17 void Builtins::Generate_LoadIC_Megamorphic(
18     compiler::CodeAssemblerState* state) {
19   AccessorAssembler assembler(state);
20   assembler.GenerateLoadIC_Megamorphic();
21 }
Generate_LoadIC_Noninlined(compiler::CodeAssemblerState * state)22 void Builtins::Generate_LoadIC_Noninlined(compiler::CodeAssemblerState* state) {
23   AccessorAssembler assembler(state);
24   assembler.GenerateLoadIC_Noninlined();
25 }
Generate_LoadIC_NoFeedback(compiler::CodeAssemblerState * state)26 void Builtins::Generate_LoadIC_NoFeedback(compiler::CodeAssemblerState* state) {
27   AccessorAssembler assembler(state);
28   assembler.GenerateLoadIC_NoFeedback();
29 }
Generate_LoadICTrampoline(compiler::CodeAssemblerState * state)30 void Builtins::Generate_LoadICTrampoline(compiler::CodeAssemblerState* state) {
31   AccessorAssembler assembler(state);
32   assembler.GenerateLoadICTrampoline();
33 }
Generate_LoadICBaseline(compiler::CodeAssemblerState * state)34 void Builtins::Generate_LoadICBaseline(compiler::CodeAssemblerState* state) {
35   AccessorAssembler assembler(state);
36   assembler.GenerateLoadICBaseline();
37 }
Generate_LoadICTrampoline_Megamorphic(compiler::CodeAssemblerState * state)38 void Builtins::Generate_LoadICTrampoline_Megamorphic(
39     compiler::CodeAssemblerState* state) {
40   AccessorAssembler assembler(state);
41   assembler.GenerateLoadICTrampoline_Megamorphic();
42 }
Generate_LoadSuperIC(compiler::CodeAssemblerState * state)43 void Builtins::Generate_LoadSuperIC(compiler::CodeAssemblerState* state) {
44   AccessorAssembler assembler(state);
45   assembler.GenerateLoadSuperIC();
46 }
Generate_LoadSuperICBaseline(compiler::CodeAssemblerState * state)47 void Builtins::Generate_LoadSuperICBaseline(
48     compiler::CodeAssemblerState* state) {
49   AccessorAssembler assembler(state);
50   assembler.GenerateLoadSuperICBaseline();
51 }
Generate_KeyedLoadIC(compiler::CodeAssemblerState * state)52 void Builtins::Generate_KeyedLoadIC(compiler::CodeAssemblerState* state) {
53   AccessorAssembler assembler(state);
54   assembler.GenerateKeyedLoadIC();
55 }
Generate_KeyedLoadIC_Megamorphic(compiler::CodeAssemblerState * state)56 void Builtins::Generate_KeyedLoadIC_Megamorphic(
57     compiler::CodeAssemblerState* state) {
58   AccessorAssembler assembler(state);
59   assembler.GenerateKeyedLoadIC_Megamorphic();
60 }
Generate_KeyedLoadIC_PolymorphicName(compiler::CodeAssemblerState * state)61 void Builtins::Generate_KeyedLoadIC_PolymorphicName(
62     compiler::CodeAssemblerState* state) {
63   AccessorAssembler assembler(state);
64   assembler.GenerateKeyedLoadIC_PolymorphicName();
65 }
Generate_KeyedLoadICTrampoline(compiler::CodeAssemblerState * state)66 void Builtins::Generate_KeyedLoadICTrampoline(
67     compiler::CodeAssemblerState* state) {
68   AccessorAssembler assembler(state);
69   assembler.GenerateKeyedLoadICTrampoline();
70 }
Generate_KeyedLoadICBaseline(compiler::CodeAssemblerState * state)71 void Builtins::Generate_KeyedLoadICBaseline(
72     compiler::CodeAssemblerState* state) {
73   AccessorAssembler assembler(state);
74   assembler.GenerateKeyedLoadICBaseline();
75 }
Generate_KeyedLoadICTrampoline_Megamorphic(compiler::CodeAssemblerState * state)76 void Builtins::Generate_KeyedLoadICTrampoline_Megamorphic(
77     compiler::CodeAssemblerState* state) {
78   AccessorAssembler assembler(state);
79   assembler.GenerateKeyedLoadICTrampoline_Megamorphic();
80 }
Generate_LoadGlobalIC_NoFeedback(compiler::CodeAssemblerState * state)81 void Builtins::Generate_LoadGlobalIC_NoFeedback(
82     compiler::CodeAssemblerState* state) {
83   AccessorAssembler assembler(state);
84   assembler.GenerateLoadGlobalIC_NoFeedback();
85 }
Generate_StoreGlobalIC(compiler::CodeAssemblerState * state)86 void Builtins::Generate_StoreGlobalIC(compiler::CodeAssemblerState* state) {
87   AccessorAssembler assembler(state);
88   assembler.GenerateStoreGlobalIC();
89 }
Generate_StoreGlobalICTrampoline(compiler::CodeAssemblerState * state)90 void Builtins::Generate_StoreGlobalICTrampoline(
91     compiler::CodeAssemblerState* state) {
92   AccessorAssembler assembler(state);
93   assembler.GenerateStoreGlobalICTrampoline();
94 }
Generate_StoreGlobalICBaseline(compiler::CodeAssemblerState * state)95 void Builtins::Generate_StoreGlobalICBaseline(
96     compiler::CodeAssemblerState* state) {
97   AccessorAssembler assembler(state);
98   assembler.GenerateStoreGlobalICBaseline();
99 }
Generate_StoreIC(compiler::CodeAssemblerState * state)100 void Builtins::Generate_StoreIC(compiler::CodeAssemblerState* state) {
101   AccessorAssembler assembler(state);
102   assembler.GenerateStoreIC();
103 }
Generate_StoreICTrampoline(compiler::CodeAssemblerState * state)104 void Builtins::Generate_StoreICTrampoline(compiler::CodeAssemblerState* state) {
105   AccessorAssembler assembler(state);
106   assembler.GenerateStoreICTrampoline();
107 }
Generate_StoreICBaseline(compiler::CodeAssemblerState * state)108 void Builtins::Generate_StoreICBaseline(compiler::CodeAssemblerState* state) {
109   AccessorAssembler assembler(state);
110   assembler.GenerateStoreICBaseline();
111 }
Generate_DefineNamedOwnIC(compiler::CodeAssemblerState * state)112 void Builtins::Generate_DefineNamedOwnIC(compiler::CodeAssemblerState* state) {
113   AccessorAssembler assembler(state);
114   assembler.GenerateDefineNamedOwnIC();
115 }
Generate_DefineNamedOwnICTrampoline(compiler::CodeAssemblerState * state)116 void Builtins::Generate_DefineNamedOwnICTrampoline(
117     compiler::CodeAssemblerState* state) {
118   AccessorAssembler assembler(state);
119   assembler.GenerateDefineNamedOwnICTrampoline();
120 }
Generate_DefineNamedOwnICBaseline(compiler::CodeAssemblerState * state)121 void Builtins::Generate_DefineNamedOwnICBaseline(
122     compiler::CodeAssemblerState* state) {
123   AccessorAssembler assembler(state);
124   assembler.GenerateDefineNamedOwnICBaseline();
125 }
Generate_KeyedStoreIC(compiler::CodeAssemblerState * state)126 void Builtins::Generate_KeyedStoreIC(compiler::CodeAssemblerState* state) {
127   AccessorAssembler assembler(state);
128   assembler.GenerateKeyedStoreIC();
129 }
Generate_KeyedStoreICTrampoline(compiler::CodeAssemblerState * state)130 void Builtins::Generate_KeyedStoreICTrampoline(
131     compiler::CodeAssemblerState* state) {
132   AccessorAssembler assembler(state);
133   assembler.GenerateKeyedStoreICTrampoline();
134 }
Generate_KeyedStoreICBaseline(compiler::CodeAssemblerState * state)135 void Builtins::Generate_KeyedStoreICBaseline(
136     compiler::CodeAssemblerState* state) {
137   AccessorAssembler assembler(state);
138   assembler.GenerateKeyedStoreICBaseline();
139 }
Generate_DefineKeyedOwnIC(compiler::CodeAssemblerState * state)140 void Builtins::Generate_DefineKeyedOwnIC(compiler::CodeAssemblerState* state) {
141   AccessorAssembler assembler(state);
142   assembler.GenerateDefineKeyedOwnIC();
143 }
Generate_DefineKeyedOwnICTrampoline(compiler::CodeAssemblerState * state)144 void Builtins::Generate_DefineKeyedOwnICTrampoline(
145     compiler::CodeAssemblerState* state) {
146   AccessorAssembler assembler(state);
147   assembler.GenerateDefineKeyedOwnICTrampoline();
148 }
Generate_DefineKeyedOwnICBaseline(compiler::CodeAssemblerState * state)149 void Builtins::Generate_DefineKeyedOwnICBaseline(
150     compiler::CodeAssemblerState* state) {
151   AccessorAssembler assembler(state);
152   assembler.GenerateDefineKeyedOwnICBaseline();
153 }
Generate_StoreInArrayLiteralIC(compiler::CodeAssemblerState * state)154 void Builtins::Generate_StoreInArrayLiteralIC(
155     compiler::CodeAssemblerState* state) {
156   AccessorAssembler assembler(state);
157   assembler.GenerateStoreInArrayLiteralIC();
158 }
Generate_StoreInArrayLiteralICBaseline(compiler::CodeAssemblerState * state)159 void Builtins::Generate_StoreInArrayLiteralICBaseline(
160     compiler::CodeAssemblerState* state) {
161   AccessorAssembler assembler(state);
162   assembler.GenerateStoreInArrayLiteralICBaseline();
163 }
Generate_CloneObjectIC(compiler::CodeAssemblerState * state)164 void Builtins::Generate_CloneObjectIC(compiler::CodeAssemblerState* state) {
165   AccessorAssembler assembler(state);
166   assembler.GenerateCloneObjectIC();
167 }
Generate_CloneObjectICBaseline(compiler::CodeAssemblerState * state)168 void Builtins::Generate_CloneObjectICBaseline(
169     compiler::CodeAssemblerState* state) {
170   AccessorAssembler assembler(state);
171   assembler.GenerateCloneObjectICBaseline();
172 }
Generate_CloneObjectIC_Slow(compiler::CodeAssemblerState * state)173 void Builtins::Generate_CloneObjectIC_Slow(
174     compiler::CodeAssemblerState* state) {
175   AccessorAssembler assembler(state);
176   assembler.GenerateCloneObjectIC_Slow();
177 }
Generate_KeyedHasIC(compiler::CodeAssemblerState * state)178 void Builtins::Generate_KeyedHasIC(compiler::CodeAssemblerState* state) {
179   AccessorAssembler assembler(state);
180   assembler.GenerateKeyedHasIC();
181 }
Generate_KeyedHasICBaseline(compiler::CodeAssemblerState * state)182 void Builtins::Generate_KeyedHasICBaseline(
183     compiler::CodeAssemblerState* state) {
184   AccessorAssembler assembler(state);
185   assembler.GenerateKeyedHasICBaseline();
186 }
Generate_KeyedHasIC_Megamorphic(compiler::CodeAssemblerState * state)187 void Builtins::Generate_KeyedHasIC_Megamorphic(
188     compiler::CodeAssemblerState* state) {
189   AccessorAssembler assembler(state);
190   assembler.GenerateKeyedHasIC_Megamorphic();
191 }
Generate_KeyedHasIC_PolymorphicName(compiler::CodeAssemblerState * state)192 void Builtins::Generate_KeyedHasIC_PolymorphicName(
193     compiler::CodeAssemblerState* state) {
194   AccessorAssembler assembler(state);
195   assembler.GenerateKeyedHasIC_PolymorphicName();
196 }
197 
Generate_LoadGlobalIC(compiler::CodeAssemblerState * state)198 void Builtins::Generate_LoadGlobalIC(compiler::CodeAssemblerState* state) {
199   AccessorAssembler assembler(state);
200   assembler.GenerateLoadGlobalIC(TypeofMode::kNotInside);
201 }
202 
Generate_LoadGlobalICInsideTypeof(compiler::CodeAssemblerState * state)203 void Builtins::Generate_LoadGlobalICInsideTypeof(
204     compiler::CodeAssemblerState* state) {
205   AccessorAssembler assembler(state);
206   assembler.GenerateLoadGlobalIC(TypeofMode::kInside);
207 }
208 
Generate_LoadGlobalICTrampoline(compiler::CodeAssemblerState * state)209 void Builtins::Generate_LoadGlobalICTrampoline(
210     compiler::CodeAssemblerState* state) {
211   AccessorAssembler assembler(state);
212   assembler.GenerateLoadGlobalICTrampoline(TypeofMode::kNotInside);
213 }
214 
Generate_LoadGlobalICInsideTypeofTrampoline(compiler::CodeAssemblerState * state)215 void Builtins::Generate_LoadGlobalICInsideTypeofTrampoline(
216     compiler::CodeAssemblerState* state) {
217   AccessorAssembler assembler(state);
218   assembler.GenerateLoadGlobalICTrampoline(TypeofMode::kInside);
219 }
220 
Generate_LoadGlobalICBaseline(compiler::CodeAssemblerState * state)221 void Builtins::Generate_LoadGlobalICBaseline(
222     compiler::CodeAssemblerState* state) {
223   AccessorAssembler assembler(state);
224   assembler.GenerateLoadGlobalICBaseline(TypeofMode::kNotInside);
225 }
226 
Generate_LoadGlobalICInsideTypeofBaseline(compiler::CodeAssemblerState * state)227 void Builtins::Generate_LoadGlobalICInsideTypeofBaseline(
228     compiler::CodeAssemblerState* state) {
229   AccessorAssembler assembler(state);
230   assembler.GenerateLoadGlobalICBaseline(TypeofMode::kInside);
231 }
232 
Generate_LookupGlobalICBaseline(compiler::CodeAssemblerState * state)233 void Builtins::Generate_LookupGlobalICBaseline(
234     compiler::CodeAssemblerState* state) {
235   AccessorAssembler assembler(state);
236   assembler.GenerateLookupGlobalICBaseline(TypeofMode::kNotInside);
237 }
238 
Generate_LookupGlobalICInsideTypeofBaseline(compiler::CodeAssemblerState * state)239 void Builtins::Generate_LookupGlobalICInsideTypeofBaseline(
240     compiler::CodeAssemblerState* state) {
241   AccessorAssembler assembler(state);
242   assembler.GenerateLookupGlobalICBaseline(TypeofMode::kInside);
243 }
244 
Generate_LookupContextBaseline(compiler::CodeAssemblerState * state)245 void Builtins::Generate_LookupContextBaseline(
246     compiler::CodeAssemblerState* state) {
247   AccessorAssembler assembler(state);
248   assembler.GenerateLookupContextBaseline(TypeofMode::kNotInside);
249 }
250 
Generate_LookupContextInsideTypeofBaseline(compiler::CodeAssemblerState * state)251 void Builtins::Generate_LookupContextInsideTypeofBaseline(
252     compiler::CodeAssemblerState* state) {
253   AccessorAssembler assembler(state);
254   assembler.GenerateLookupContextBaseline(TypeofMode::kInside);
255 }
256 
257 }  // namespace internal
258 }  // namespace v8
259