Line data Source code
1 : #include "src/builtins/builtins-utils-gen.h"
2 : #include "src/builtins/builtins.h"
3 : #include "src/code-factory.h"
4 : #include "src/elements-kind.h"
5 : #include "src/heap/factory-inl.h"
6 : #include "src/objects.h"
7 : #include "src/objects/arguments.h"
8 : #include "src/objects/bigint.h"
9 : #include "src/builtins/builtins-array-gen.h"
10 : #include "src/builtins/builtins-collections-gen.h"
11 : #include "src/builtins/builtins-data-view-gen.h"
12 : #include "src/builtins/builtins-iterator-gen.h"
13 : #include "src/builtins/builtins-typed-array-gen.h"
14 : #include "torque-generated/builtins-base-from-dsl-gen.h"
15 : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
16 : #include "torque-generated/builtins-array-from-dsl-gen.h"
17 : #include "torque-generated/builtins-collections-from-dsl-gen.h"
18 : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
19 : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
20 : #include "torque-generated/builtins-object-from-dsl-gen.h"
21 : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
22 : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
23 : #include "torque-generated/builtins-test-from-dsl-gen.h"
24 :
25 : namespace v8 {
26 : namespace internal {
27 :
28 5 : compiler::TNode<HeapObject> BaseBuiltinsFromDSLAssembler::_method_HeapObject_constructor(compiler::TNode<HeapObject> p_this, compiler::TNode<Object> p_p0) {
29 5 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
30 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
31 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Object, HeapObject> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
32 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Object, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
33 : ca_.Goto(&block0, p_this, p_p0);
34 :
35 5 : if (block0.is_used()) {
36 : compiler::TNode<HeapObject> tmp0;
37 : compiler::TNode<Object> tmp1;
38 : ca_.Bind(&block0, &tmp0, &tmp1);
39 10 : CodeStubAssembler(state_).StoreMap(tmp0, tmp1);
40 : ca_.Goto(&block1, tmp0, tmp1, tmp0);
41 : }
42 :
43 5 : if (block3.is_used()) {
44 : compiler::TNode<HeapObject> tmp2;
45 : compiler::TNode<Object> tmp3;
46 : ca_.Bind(&block3, &tmp2, &tmp3);
47 0 : CodeStubAssembler(state_).Unreachable();
48 : }
49 :
50 5 : if (block1.is_used()) {
51 : compiler::TNode<HeapObject> tmp4;
52 : compiler::TNode<Object> tmp5;
53 : compiler::TNode<HeapObject> tmp6;
54 : ca_.Bind(&block1, &tmp4, &tmp5, &tmp6);
55 : ca_.Goto(&block4, tmp4, tmp5, tmp6);
56 : }
57 :
58 : compiler::TNode<HeapObject> tmp7;
59 : compiler::TNode<Object> tmp8;
60 : compiler::TNode<HeapObject> tmp9;
61 : ca_.Bind(&block4, &tmp7, &tmp8, &tmp9);
62 10 : return compiler::TNode<HeapObject>{tmp9};
63 : }
64 :
65 0 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadHeapObjectMapUntyped(compiler::TNode<HeapObject> p_o) {
66 0 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
67 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
68 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
69 : ca_.Goto(&block0, p_o);
70 :
71 0 : if (block0.is_used()) {
72 : compiler::TNode<HeapObject> tmp0;
73 : ca_.Bind(&block0, &tmp0);
74 0 : compiler::TNode<Object> tmp1 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadObjectField(tmp0, 0, MachineType::AnyTagged()));
75 : ca_.Goto(&block1, tmp0, tmp1);
76 : }
77 :
78 0 : if (block1.is_used()) {
79 : compiler::TNode<HeapObject> tmp2;
80 : compiler::TNode<Object> tmp3;
81 : ca_.Bind(&block1, &tmp2, &tmp3);
82 : ca_.Goto(&block2, tmp2, tmp3);
83 : }
84 :
85 : compiler::TNode<HeapObject> tmp4;
86 : compiler::TNode<Object> tmp5;
87 : ca_.Bind(&block2, &tmp4, &tmp5);
88 0 : return compiler::TNode<Object>{tmp5};
89 : }
90 :
91 0 : void BaseBuiltinsFromDSLAssembler::StoreHeapObjectMapUntyped(compiler::TNode<HeapObject> p_o, compiler::TNode<Object> p_v) {
92 0 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
93 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
94 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
95 : ca_.Goto(&block0, p_o, p_v);
96 :
97 0 : if (block0.is_used()) {
98 : compiler::TNode<HeapObject> tmp0;
99 : compiler::TNode<Object> tmp1;
100 : ca_.Bind(&block0, &tmp0, &tmp1);
101 0 : CodeStubAssembler(state_).StoreMap(tmp0, tmp1);
102 : ca_.Goto(&block1, tmp0, tmp1);
103 : }
104 :
105 0 : if (block1.is_used()) {
106 : compiler::TNode<HeapObject> tmp2;
107 : compiler::TNode<Object> tmp3;
108 : ca_.Bind(&block1, &tmp2, &tmp3);
109 : ca_.Goto(&block2, tmp2, tmp3);
110 : }
111 :
112 : compiler::TNode<HeapObject> tmp4;
113 : compiler::TNode<Object> tmp5;
114 : ca_.Bind(&block2, &tmp4, &tmp5);
115 0 : }
116 :
117 5 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::_method_JSReceiver_constructor(compiler::TNode<JSReceiver> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1) {
118 5 : compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
119 : compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object, Object, JSReceiver, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
120 : compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
121 : compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
122 : compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object, Object, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
123 : ca_.Goto(&block0, p_this, p_p0, p_p1);
124 :
125 5 : if (block0.is_used()) {
126 : compiler::TNode<JSReceiver> tmp0;
127 : compiler::TNode<Object> tmp1;
128 : compiler::TNode<Object> tmp2;
129 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
130 : compiler::TNode<HeapObject> tmp3;
131 : USE(tmp3);
132 : compiler::CodeAssemblerExceptionHandlerLabel catch4_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
133 5 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch4_label);
134 15 : tmp3 = ca_.UncheckedCast<HeapObject>(BaseBuiltinsFromDSLAssembler(state_)._method_HeapObject_constructor(compiler::TNode<HeapObject>{tmp0}, compiler::TNode<Object>{tmp1}));
135 : }
136 5 : if (catch4_label.is_used()) {
137 : compiler::CodeAssemblerLabel catch4_skip(&ca_);
138 0 : ca_.Goto(&catch4_skip);
139 : compiler::TNode<Object> catch4_exception_object;
140 : ca_.Bind(&catch4_label, &catch4_exception_object);
141 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp0, tmp1, catch4_exception_object);
142 0 : ca_.Bind(&catch4_skip);
143 : }
144 10 : CodeStubAssembler(state_).StoreObjectField(tmp0, 8, tmp2);
145 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp0);
146 : }
147 :
148 5 : if (block4.is_used()) {
149 : compiler::TNode<JSReceiver> tmp5;
150 : compiler::TNode<Object> tmp6;
151 : compiler::TNode<Object> tmp7;
152 : compiler::TNode<JSReceiver> tmp8;
153 : compiler::TNode<Object> tmp9;
154 : compiler::TNode<Object> tmp10;
155 : ca_.Bind(&block4, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
156 : ca_.Goto(&block3, tmp5, tmp6, tmp10);
157 : }
158 :
159 5 : if (block3.is_used()) {
160 : compiler::TNode<JSReceiver> tmp11;
161 : compiler::TNode<Object> tmp12;
162 : compiler::TNode<Object> tmp13;
163 : ca_.Bind(&block3, &tmp11, &tmp12, &tmp13);
164 0 : CodeStubAssembler(state_).Unreachable();
165 : }
166 :
167 5 : if (block1.is_used()) {
168 : compiler::TNode<JSReceiver> tmp14;
169 : compiler::TNode<Object> tmp15;
170 : compiler::TNode<Object> tmp16;
171 : compiler::TNode<JSReceiver> tmp17;
172 : ca_.Bind(&block1, &tmp14, &tmp15, &tmp16, &tmp17);
173 : ca_.Goto(&block5, tmp14, tmp15, tmp16, tmp17);
174 : }
175 :
176 : compiler::TNode<JSReceiver> tmp18;
177 : compiler::TNode<Object> tmp19;
178 : compiler::TNode<Object> tmp20;
179 : compiler::TNode<JSReceiver> tmp21;
180 : ca_.Bind(&block5, &tmp18, &tmp19, &tmp20, &tmp21);
181 10 : return compiler::TNode<JSReceiver>{tmp21};
182 : }
183 :
184 10105 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadJSReceiverPropertiesOrHash(compiler::TNode<JSReceiver> p_o) {
185 10105 : compiler::CodeAssemblerParameterizedLabel<JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
186 : compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
187 : compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
188 : ca_.Goto(&block0, p_o);
189 :
190 10105 : if (block0.is_used()) {
191 : compiler::TNode<JSReceiver> tmp0;
192 : ca_.Bind(&block0, &tmp0);
193 20210 : compiler::TNode<Object> tmp1 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadObjectField(tmp0, 8, MachineType::AnyTagged()));
194 : ca_.Goto(&block1, tmp0, tmp1);
195 : }
196 :
197 10105 : if (block1.is_used()) {
198 : compiler::TNode<JSReceiver> tmp2;
199 : compiler::TNode<Object> tmp3;
200 : ca_.Bind(&block1, &tmp2, &tmp3);
201 : ca_.Goto(&block2, tmp2, tmp3);
202 : }
203 :
204 : compiler::TNode<JSReceiver> tmp4;
205 : compiler::TNode<Object> tmp5;
206 : ca_.Bind(&block2, &tmp4, &tmp5);
207 20210 : return compiler::TNode<Object>{tmp5};
208 : }
209 :
210 0 : void BaseBuiltinsFromDSLAssembler::StoreJSReceiverPropertiesOrHash(compiler::TNode<JSReceiver> p_o, compiler::TNode<Object> p_v) {
211 0 : compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
212 : compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
213 : compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
214 : ca_.Goto(&block0, p_o, p_v);
215 :
216 0 : if (block0.is_used()) {
217 : compiler::TNode<JSReceiver> tmp0;
218 : compiler::TNode<Object> tmp1;
219 : ca_.Bind(&block0, &tmp0, &tmp1);
220 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 8, tmp1);
221 : ca_.Goto(&block1, tmp0, tmp1);
222 : }
223 :
224 0 : if (block1.is_used()) {
225 : compiler::TNode<JSReceiver> tmp2;
226 : compiler::TNode<Object> tmp3;
227 : ca_.Bind(&block1, &tmp2, &tmp3);
228 : ca_.Goto(&block2, tmp2, tmp3);
229 : }
230 :
231 : compiler::TNode<JSReceiver> tmp4;
232 : compiler::TNode<Object> tmp5;
233 : ca_.Bind(&block2, &tmp4, &tmp5);
234 0 : }
235 :
236 5 : compiler::TNode<JSObject> BaseBuiltinsFromDSLAssembler::_method_JSObject_constructor(compiler::TNode<JSObject> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1, compiler::TNode<FixedArrayBase> p_p2) {
237 5 : compiler::CodeAssemblerParameterizedLabel<JSObject, Object, Object, FixedArrayBase> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
238 : compiler::CodeAssemblerParameterizedLabel<JSObject, Object, Object, FixedArrayBase, JSObject, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
239 : compiler::CodeAssemblerParameterizedLabel<JSObject, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
240 : compiler::CodeAssemblerParameterizedLabel<JSObject, Object, Object, FixedArrayBase, JSObject> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
241 : compiler::CodeAssemblerParameterizedLabel<JSObject, Object, Object, FixedArrayBase, JSObject> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
242 : ca_.Goto(&block0, p_this, p_p0, p_p1, p_p2);
243 :
244 5 : if (block0.is_used()) {
245 : compiler::TNode<JSObject> tmp0;
246 : compiler::TNode<Object> tmp1;
247 : compiler::TNode<Object> tmp2;
248 : compiler::TNode<FixedArrayBase> tmp3;
249 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
250 : compiler::TNode<JSReceiver> tmp4;
251 : USE(tmp4);
252 : compiler::CodeAssemblerExceptionHandlerLabel catch5_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
253 5 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch5_label);
254 15 : tmp4 = ca_.UncheckedCast<JSReceiver>(BaseBuiltinsFromDSLAssembler(state_)._method_JSReceiver_constructor(compiler::TNode<JSReceiver>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}));
255 : }
256 5 : if (catch5_label.is_used()) {
257 : compiler::CodeAssemblerLabel catch5_skip(&ca_);
258 0 : ca_.Goto(&catch5_skip);
259 : compiler::TNode<Object> catch5_exception_object;
260 : ca_.Bind(&catch5_label, &catch5_exception_object);
261 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp0, tmp1, tmp2, catch5_exception_object);
262 0 : ca_.Bind(&catch5_skip);
263 : }
264 10 : CodeStubAssembler(state_).StoreObjectField(tmp0, 16, tmp3);
265 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp0);
266 : }
267 :
268 5 : if (block4.is_used()) {
269 : compiler::TNode<JSObject> tmp6;
270 : compiler::TNode<Object> tmp7;
271 : compiler::TNode<Object> tmp8;
272 : compiler::TNode<FixedArrayBase> tmp9;
273 : compiler::TNode<JSObject> tmp10;
274 : compiler::TNode<Object> tmp11;
275 : compiler::TNode<Object> tmp12;
276 : compiler::TNode<Object> tmp13;
277 : ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
278 : ca_.Goto(&block3, tmp6, tmp7, tmp8, tmp13);
279 : }
280 :
281 5 : if (block3.is_used()) {
282 : compiler::TNode<JSObject> tmp14;
283 : compiler::TNode<Object> tmp15;
284 : compiler::TNode<Object> tmp16;
285 : compiler::TNode<Object> tmp17;
286 : ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17);
287 0 : CodeStubAssembler(state_).Unreachable();
288 : }
289 :
290 5 : if (block1.is_used()) {
291 : compiler::TNode<JSObject> tmp18;
292 : compiler::TNode<Object> tmp19;
293 : compiler::TNode<Object> tmp20;
294 : compiler::TNode<FixedArrayBase> tmp21;
295 : compiler::TNode<JSObject> tmp22;
296 : ca_.Bind(&block1, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
297 : ca_.Goto(&block5, tmp18, tmp19, tmp20, tmp21, tmp22);
298 : }
299 :
300 : compiler::TNode<JSObject> tmp23;
301 : compiler::TNode<Object> tmp24;
302 : compiler::TNode<Object> tmp25;
303 : compiler::TNode<FixedArrayBase> tmp26;
304 : compiler::TNode<JSObject> tmp27;
305 : ca_.Bind(&block5, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
306 10 : return compiler::TNode<JSObject>{tmp27};
307 : }
308 :
309 30188 : compiler::TNode<FixedArrayBase> BaseBuiltinsFromDSLAssembler::LoadJSObjectElements(compiler::TNode<JSObject> p_o) {
310 30188 : compiler::CodeAssemblerParameterizedLabel<JSObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
311 : compiler::CodeAssemblerParameterizedLabel<JSObject, FixedArrayBase> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
312 : compiler::CodeAssemblerParameterizedLabel<JSObject, FixedArrayBase> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
313 : ca_.Goto(&block0, p_o);
314 :
315 30188 : if (block0.is_used()) {
316 : compiler::TNode<JSObject> tmp0;
317 : ca_.Bind(&block0, &tmp0);
318 60376 : compiler::TNode<FixedArrayBase> tmp1 = ca_.UncheckedCast<FixedArrayBase>(CodeStubAssembler(state_).LoadObjectField(tmp0, 16, MachineType::AnyTagged()));
319 : ca_.Goto(&block1, tmp0, tmp1);
320 : }
321 :
322 30188 : if (block1.is_used()) {
323 : compiler::TNode<JSObject> tmp2;
324 : compiler::TNode<FixedArrayBase> tmp3;
325 : ca_.Bind(&block1, &tmp2, &tmp3);
326 : ca_.Goto(&block2, tmp2, tmp3);
327 : }
328 :
329 : compiler::TNode<JSObject> tmp4;
330 : compiler::TNode<FixedArrayBase> tmp5;
331 : ca_.Bind(&block2, &tmp4, &tmp5);
332 60376 : return compiler::TNode<FixedArrayBase>{tmp5};
333 : }
334 :
335 448 : void BaseBuiltinsFromDSLAssembler::StoreJSObjectElements(compiler::TNode<JSObject> p_o, compiler::TNode<FixedArrayBase> p_v) {
336 448 : compiler::CodeAssemblerParameterizedLabel<JSObject, FixedArrayBase> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
337 : compiler::CodeAssemblerParameterizedLabel<JSObject, FixedArrayBase> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
338 : compiler::CodeAssemblerParameterizedLabel<JSObject, FixedArrayBase> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
339 : ca_.Goto(&block0, p_o, p_v);
340 :
341 448 : if (block0.is_used()) {
342 : compiler::TNode<JSObject> tmp0;
343 : compiler::TNode<FixedArrayBase> tmp1;
344 : ca_.Bind(&block0, &tmp0, &tmp1);
345 896 : CodeStubAssembler(state_).StoreObjectField(tmp0, 16, tmp1);
346 : ca_.Goto(&block1, tmp0, tmp1);
347 : }
348 :
349 448 : if (block1.is_used()) {
350 : compiler::TNode<JSObject> tmp2;
351 : compiler::TNode<FixedArrayBase> tmp3;
352 : ca_.Bind(&block1, &tmp2, &tmp3);
353 : ca_.Goto(&block2, tmp2, tmp3);
354 : }
355 :
356 : compiler::TNode<JSObject> tmp4;
357 : compiler::TNode<FixedArrayBase> tmp5;
358 : ca_.Bind(&block2, &tmp4, &tmp5);
359 448 : }
360 :
361 0 : compiler::TNode<JSArgumentsObjectWithLength> BaseBuiltinsFromDSLAssembler::_method_JSArgumentsObjectWithLength_constructor(compiler::TNode<JSArgumentsObjectWithLength> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1, compiler::TNode<FixedArrayBase> p_p2, compiler::TNode<Object> p_p3) {
362 0 : compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object, Object, FixedArrayBase, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
363 : compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object, Object, FixedArrayBase, Object, JSArgumentsObjectWithLength, Object, Object, FixedArrayBase, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
364 : compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object, Object, FixedArrayBase, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
365 : compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object, Object, FixedArrayBase, Object, JSArgumentsObjectWithLength> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
366 : compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object, Object, FixedArrayBase, Object, JSArgumentsObjectWithLength> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
367 : ca_.Goto(&block0, p_this, p_p0, p_p1, p_p2, p_p3);
368 :
369 0 : if (block0.is_used()) {
370 : compiler::TNode<JSArgumentsObjectWithLength> tmp0;
371 : compiler::TNode<Object> tmp1;
372 : compiler::TNode<Object> tmp2;
373 : compiler::TNode<FixedArrayBase> tmp3;
374 : compiler::TNode<Object> tmp4;
375 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
376 : compiler::TNode<JSObject> tmp5;
377 : USE(tmp5);
378 : compiler::CodeAssemblerExceptionHandlerLabel catch6_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
379 0 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch6_label);
380 0 : tmp5 = ca_.UncheckedCast<JSObject>(BaseBuiltinsFromDSLAssembler(state_)._method_JSObject_constructor(compiler::TNode<JSObject>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}, compiler::TNode<FixedArrayBase>{tmp3}));
381 : }
382 0 : if (catch6_label.is_used()) {
383 : compiler::CodeAssemblerLabel catch6_skip(&ca_);
384 0 : ca_.Goto(&catch6_skip);
385 : compiler::TNode<Object> catch6_exception_object;
386 : ca_.Bind(&catch6_label, &catch6_exception_object);
387 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp0, tmp1, tmp2, tmp3, catch6_exception_object);
388 0 : ca_.Bind(&catch6_skip);
389 : }
390 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp4);
391 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp4, tmp0);
392 : }
393 :
394 0 : if (block4.is_used()) {
395 : compiler::TNode<JSArgumentsObjectWithLength> tmp7;
396 : compiler::TNode<Object> tmp8;
397 : compiler::TNode<Object> tmp9;
398 : compiler::TNode<FixedArrayBase> tmp10;
399 : compiler::TNode<Object> tmp11;
400 : compiler::TNode<JSArgumentsObjectWithLength> tmp12;
401 : compiler::TNode<Object> tmp13;
402 : compiler::TNode<Object> tmp14;
403 : compiler::TNode<FixedArrayBase> tmp15;
404 : compiler::TNode<Object> tmp16;
405 : ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
406 : ca_.Goto(&block3, tmp7, tmp8, tmp9, tmp10, tmp16);
407 : }
408 :
409 0 : if (block3.is_used()) {
410 : compiler::TNode<JSArgumentsObjectWithLength> tmp17;
411 : compiler::TNode<Object> tmp18;
412 : compiler::TNode<Object> tmp19;
413 : compiler::TNode<FixedArrayBase> tmp20;
414 : compiler::TNode<Object> tmp21;
415 : ca_.Bind(&block3, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
416 0 : CodeStubAssembler(state_).Unreachable();
417 : }
418 :
419 0 : if (block1.is_used()) {
420 : compiler::TNode<JSArgumentsObjectWithLength> tmp22;
421 : compiler::TNode<Object> tmp23;
422 : compiler::TNode<Object> tmp24;
423 : compiler::TNode<FixedArrayBase> tmp25;
424 : compiler::TNode<Object> tmp26;
425 : compiler::TNode<JSArgumentsObjectWithLength> tmp27;
426 : ca_.Bind(&block1, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
427 : ca_.Goto(&block5, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
428 : }
429 :
430 : compiler::TNode<JSArgumentsObjectWithLength> tmp28;
431 : compiler::TNode<Object> tmp29;
432 : compiler::TNode<Object> tmp30;
433 : compiler::TNode<FixedArrayBase> tmp31;
434 : compiler::TNode<Object> tmp32;
435 : compiler::TNode<JSArgumentsObjectWithLength> tmp33;
436 : ca_.Bind(&block5, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
437 0 : return compiler::TNode<JSArgumentsObjectWithLength>{tmp33};
438 : }
439 :
440 616 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadJSArgumentsObjectWithLengthLength(compiler::TNode<JSArgumentsObjectWithLength> p_o) {
441 616 : compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
442 : compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
443 : compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
444 : ca_.Goto(&block0, p_o);
445 :
446 616 : if (block0.is_used()) {
447 : compiler::TNode<JSArgumentsObjectWithLength> tmp0;
448 : ca_.Bind(&block0, &tmp0);
449 616 : compiler::TNode<Object> tmp1 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadObjectField(tmp0, 24, MachineType::AnyTagged()));
450 : ca_.Goto(&block1, tmp0, tmp1);
451 : }
452 :
453 616 : if (block1.is_used()) {
454 : compiler::TNode<JSArgumentsObjectWithLength> tmp2;
455 : compiler::TNode<Object> tmp3;
456 : ca_.Bind(&block1, &tmp2, &tmp3);
457 : ca_.Goto(&block2, tmp2, tmp3);
458 : }
459 :
460 : compiler::TNode<JSArgumentsObjectWithLength> tmp4;
461 : compiler::TNode<Object> tmp5;
462 : ca_.Bind(&block2, &tmp4, &tmp5);
463 1232 : return compiler::TNode<Object>{tmp5};
464 : }
465 :
466 0 : void BaseBuiltinsFromDSLAssembler::StoreJSArgumentsObjectWithLengthLength(compiler::TNode<JSArgumentsObjectWithLength> p_o, compiler::TNode<Object> p_v) {
467 0 : compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
468 : compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
469 : compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
470 : ca_.Goto(&block0, p_o, p_v);
471 :
472 0 : if (block0.is_used()) {
473 : compiler::TNode<JSArgumentsObjectWithLength> tmp0;
474 : compiler::TNode<Object> tmp1;
475 : ca_.Bind(&block0, &tmp0, &tmp1);
476 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp1);
477 : ca_.Goto(&block1, tmp0, tmp1);
478 : }
479 :
480 0 : if (block1.is_used()) {
481 : compiler::TNode<JSArgumentsObjectWithLength> tmp2;
482 : compiler::TNode<Object> tmp3;
483 : ca_.Bind(&block1, &tmp2, &tmp3);
484 : ca_.Goto(&block2, tmp2, tmp3);
485 : }
486 :
487 : compiler::TNode<JSArgumentsObjectWithLength> tmp4;
488 : compiler::TNode<Object> tmp5;
489 : ca_.Bind(&block2, &tmp4, &tmp5);
490 0 : }
491 :
492 5 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::_method_JSArray_constructor(compiler::TNode<JSArray> p_this, compiler::TNode<Context> p_context) {
493 5 : compiler::CodeAssemblerParameterizedLabel<JSArray, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
494 : compiler::CodeAssemblerParameterizedLabel<JSArray, Context, JSArray, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
495 : compiler::CodeAssemblerParameterizedLabel<JSArray, Context, JSArray, Map, FixedArrayBase, FixedArrayBase, Object> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
496 : compiler::CodeAssemblerParameterizedLabel<JSArray, Context, JSArray, JSArray, Object> block6(&ca_, compiler::CodeAssemblerLabel::kDeferred);
497 : compiler::CodeAssemblerParameterizedLabel<JSArray, Context, JSArray, Object> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
498 : compiler::CodeAssemblerParameterizedLabel<JSArray, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
499 : compiler::CodeAssemblerParameterizedLabel<JSArray, Context, JSArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
500 : compiler::CodeAssemblerParameterizedLabel<JSArray, Context, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
501 : ca_.Goto(&block0, p_this, p_context);
502 :
503 5 : if (block0.is_used()) {
504 : compiler::TNode<JSArray> tmp0;
505 : compiler::TNode<Context> tmp1;
506 : ca_.Bind(&block0, &tmp0, &tmp1);
507 : compiler::TNode<Map> tmp2;
508 : USE(tmp2);
509 : compiler::CodeAssemblerExceptionHandlerLabel catch3_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
510 5 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch3_label);
511 15 : tmp2 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).GetFastPackedSmiElementsJSArrayMap(compiler::TNode<Context>{tmp1}));
512 : }
513 5 : if (catch3_label.is_used()) {
514 : compiler::CodeAssemblerLabel catch3_skip(&ca_);
515 0 : ca_.Goto(&catch3_skip);
516 : compiler::TNode<Object> catch3_exception_object;
517 : ca_.Bind(&catch3_label, &catch3_exception_object);
518 : ca_.Goto(&block4, tmp0, tmp1, tmp0, catch3_exception_object);
519 0 : ca_.Bind(&catch3_skip);
520 : }
521 : compiler::TNode<FixedArrayBase> tmp4;
522 : USE(tmp4);
523 15 : tmp4 = BaseBuiltinsFromDSLAssembler(state_).kEmptyFixedArray();
524 : compiler::TNode<FixedArrayBase> tmp5;
525 : USE(tmp5);
526 15 : tmp5 = BaseBuiltinsFromDSLAssembler(state_).kEmptyFixedArray();
527 : compiler::TNode<JSObject> tmp6;
528 : USE(tmp6);
529 : compiler::CodeAssemblerExceptionHandlerLabel catch7_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
530 5 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch7_label);
531 15 : tmp6 = ca_.UncheckedCast<JSObject>(BaseBuiltinsFromDSLAssembler(state_)._method_JSObject_constructor(compiler::TNode<JSObject>{tmp0}, compiler::TNode<Object>{tmp2}, compiler::TNode<Object>{tmp4}, compiler::TNode<FixedArrayBase>{tmp5}));
532 : }
533 5 : if (catch7_label.is_used()) {
534 : compiler::CodeAssemblerLabel catch7_skip(&ca_);
535 0 : ca_.Goto(&catch7_skip);
536 : compiler::TNode<Object> catch7_exception_object;
537 : ca_.Bind(&catch7_label, &catch7_exception_object);
538 : ca_.Goto(&block5, tmp0, tmp1, tmp0, tmp2, tmp4, tmp5, catch7_exception_object);
539 0 : ca_.Bind(&catch7_skip);
540 : }
541 : compiler::TNode<Number> tmp8;
542 : USE(tmp8);
543 : compiler::CodeAssemblerExceptionHandlerLabel catch9_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
544 5 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch9_label);
545 15 : tmp8 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
546 : }
547 5 : if (catch9_label.is_used()) {
548 : compiler::CodeAssemblerLabel catch9_skip(&ca_);
549 0 : ca_.Goto(&catch9_skip);
550 : compiler::TNode<Object> catch9_exception_object;
551 : ca_.Bind(&catch9_label, &catch9_exception_object);
552 : ca_.Goto(&block6, tmp0, tmp1, tmp0, tmp0, catch9_exception_object);
553 0 : ca_.Bind(&catch9_skip);
554 : }
555 : compiler::CodeAssemblerExceptionHandlerLabel catch10_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
556 5 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch10_label);
557 15 : BaseBuiltinsFromDSLAssembler(state_).StoreJSArrayLength(compiler::TNode<JSArray>{tmp0}, compiler::TNode<Number>{tmp8});
558 : }
559 5 : if (catch10_label.is_used()) {
560 : compiler::CodeAssemblerLabel catch10_skip(&ca_);
561 0 : ca_.Goto(&catch10_skip);
562 : compiler::TNode<Object> catch10_exception_object;
563 : ca_.Bind(&catch10_label, &catch10_exception_object);
564 : ca_.Goto(&block7, tmp0, tmp1, tmp0, catch10_exception_object);
565 0 : ca_.Bind(&catch10_skip);
566 : }
567 : ca_.Goto(&block1, tmp0, tmp1, tmp0);
568 : }
569 :
570 5 : if (block4.is_used()) {
571 : compiler::TNode<JSArray> tmp11;
572 : compiler::TNode<Context> tmp12;
573 : compiler::TNode<JSArray> tmp13;
574 : compiler::TNode<Object> tmp14;
575 : ca_.Bind(&block4, &tmp11, &tmp12, &tmp13, &tmp14);
576 : ca_.Goto(&block3, tmp11, tmp14);
577 : }
578 :
579 5 : if (block5.is_used()) {
580 : compiler::TNode<JSArray> tmp15;
581 : compiler::TNode<Context> tmp16;
582 : compiler::TNode<JSArray> tmp17;
583 : compiler::TNode<Map> tmp18;
584 : compiler::TNode<FixedArrayBase> tmp19;
585 : compiler::TNode<FixedArrayBase> tmp20;
586 : compiler::TNode<Object> tmp21;
587 : ca_.Bind(&block5, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
588 : ca_.Goto(&block3, tmp15, tmp21);
589 : }
590 :
591 5 : if (block6.is_used()) {
592 : compiler::TNode<JSArray> tmp22;
593 : compiler::TNode<Context> tmp23;
594 : compiler::TNode<JSArray> tmp24;
595 : compiler::TNode<JSArray> tmp25;
596 : compiler::TNode<Object> tmp26;
597 : ca_.Bind(&block6, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
598 : ca_.Goto(&block3, tmp22, tmp26);
599 : }
600 :
601 5 : if (block7.is_used()) {
602 : compiler::TNode<JSArray> tmp27;
603 : compiler::TNode<Context> tmp28;
604 : compiler::TNode<JSArray> tmp29;
605 : compiler::TNode<Object> tmp30;
606 : ca_.Bind(&block7, &tmp27, &tmp28, &tmp29, &tmp30);
607 : ca_.Goto(&block3, tmp27, tmp30);
608 : }
609 :
610 5 : if (block3.is_used()) {
611 : compiler::TNode<JSArray> tmp31;
612 : compiler::TNode<Object> tmp32;
613 : ca_.Bind(&block3, &tmp31, &tmp32);
614 0 : CodeStubAssembler(state_).Unreachable();
615 : }
616 :
617 5 : if (block1.is_used()) {
618 : compiler::TNode<JSArray> tmp33;
619 : compiler::TNode<Context> tmp34;
620 : compiler::TNode<JSArray> tmp35;
621 : ca_.Bind(&block1, &tmp33, &tmp34, &tmp35);
622 : ca_.Goto(&block8, tmp33, tmp34, tmp35);
623 : }
624 :
625 : compiler::TNode<JSArray> tmp36;
626 : compiler::TNode<Context> tmp37;
627 : compiler::TNode<JSArray> tmp38;
628 : ca_.Bind(&block8, &tmp36, &tmp37, &tmp38);
629 10 : return compiler::TNode<JSArray>{tmp38};
630 : }
631 :
632 0 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::_method_JSArray_IsEmpty(compiler::TNode<JSArray> p_this) {
633 0 : compiler::CodeAssemblerParameterizedLabel<JSArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
634 : compiler::CodeAssemblerParameterizedLabel<JSArray, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
635 : compiler::CodeAssemblerParameterizedLabel<JSArray, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
636 : ca_.Goto(&block0, p_this);
637 :
638 0 : if (block0.is_used()) {
639 : compiler::TNode<JSArray> tmp0;
640 : ca_.Bind(&block0, &tmp0);
641 : compiler::TNode<Number> tmp1;
642 : USE(tmp1);
643 0 : tmp1 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArrayLength(compiler::TNode<JSArray>{tmp0}));
644 : compiler::TNode<Number> tmp2;
645 : USE(tmp2);
646 0 : tmp2 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
647 : compiler::TNode<BoolT> tmp3;
648 : USE(tmp3);
649 0 : tmp3 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberEqual(compiler::TNode<Number>{tmp1}, compiler::TNode<Number>{tmp2}));
650 : ca_.Goto(&block1, tmp0, tmp3);
651 : }
652 :
653 0 : if (block1.is_used()) {
654 : compiler::TNode<JSArray> tmp4;
655 : compiler::TNode<BoolT> tmp5;
656 : ca_.Bind(&block1, &tmp4, &tmp5);
657 : ca_.Goto(&block2, tmp4, tmp5);
658 : }
659 :
660 : compiler::TNode<JSArray> tmp6;
661 : compiler::TNode<BoolT> tmp7;
662 : ca_.Bind(&block2, &tmp6, &tmp7);
663 0 : return compiler::TNode<BoolT>{tmp7};
664 : }
665 :
666 1344 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::LoadJSArrayLength(compiler::TNode<JSArray> p_o) {
667 1344 : compiler::CodeAssemblerParameterizedLabel<JSArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
668 : compiler::CodeAssemblerParameterizedLabel<JSArray, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
669 : compiler::CodeAssemblerParameterizedLabel<JSArray, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
670 : ca_.Goto(&block0, p_o);
671 :
672 1344 : if (block0.is_used()) {
673 : compiler::TNode<JSArray> tmp0;
674 : ca_.Bind(&block0, &tmp0);
675 2688 : compiler::TNode<Number> tmp1 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).LoadObjectField(tmp0, 24, MachineType::AnyTagged()));
676 : ca_.Goto(&block1, tmp0, tmp1);
677 : }
678 :
679 1344 : if (block1.is_used()) {
680 : compiler::TNode<JSArray> tmp2;
681 : compiler::TNode<Number> tmp3;
682 : ca_.Bind(&block1, &tmp2, &tmp3);
683 : ca_.Goto(&block2, tmp2, tmp3);
684 : }
685 :
686 : compiler::TNode<JSArray> tmp4;
687 : compiler::TNode<Number> tmp5;
688 : ca_.Bind(&block2, &tmp4, &tmp5);
689 2688 : return compiler::TNode<Number>{tmp5};
690 : }
691 :
692 178 : void BaseBuiltinsFromDSLAssembler::StoreJSArrayLength(compiler::TNode<JSArray> p_o, compiler::TNode<Number> p_v) {
693 178 : compiler::CodeAssemblerParameterizedLabel<JSArray, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
694 : compiler::CodeAssemblerParameterizedLabel<JSArray, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
695 : compiler::CodeAssemblerParameterizedLabel<JSArray, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
696 : ca_.Goto(&block0, p_o, p_v);
697 :
698 178 : if (block0.is_used()) {
699 : compiler::TNode<JSArray> tmp0;
700 : compiler::TNode<Number> tmp1;
701 : ca_.Bind(&block0, &tmp0, &tmp1);
702 356 : CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp1);
703 : ca_.Goto(&block1, tmp0, tmp1);
704 : }
705 :
706 178 : if (block1.is_used()) {
707 : compiler::TNode<JSArray> tmp2;
708 : compiler::TNode<Number> tmp3;
709 : ca_.Bind(&block1, &tmp2, &tmp3);
710 : ca_.Goto(&block2, tmp2, tmp3);
711 : }
712 :
713 : compiler::TNode<JSArray> tmp4;
714 : compiler::TNode<Number> tmp5;
715 : ca_.Bind(&block2, &tmp4, &tmp5);
716 178 : }
717 :
718 0 : compiler::TNode<JSFunction> BaseBuiltinsFromDSLAssembler::_method_JSFunction_constructor(compiler::TNode<JSFunction> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1, compiler::TNode<FixedArrayBase> p_p2, compiler::TNode<SharedFunctionInfo> p_p3, compiler::TNode<Context> p_p4, compiler::TNode<Smi> p_p5, compiler::TNode<Code> p_p6, compiler::TNode<HeapObject> p_p7) {
719 0 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Object, Object, FixedArrayBase, SharedFunctionInfo, Context, Smi, Code, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
720 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Object, Object, FixedArrayBase, SharedFunctionInfo, Context, Smi, Code, HeapObject, JSFunction, Object, Object, FixedArrayBase, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
721 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Object, Object, FixedArrayBase, SharedFunctionInfo, Context, Smi, Code, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
722 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Object, Object, FixedArrayBase, SharedFunctionInfo, Context, Smi, Code, HeapObject, JSFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
723 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Object, Object, FixedArrayBase, SharedFunctionInfo, Context, Smi, Code, HeapObject, JSFunction> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
724 : ca_.Goto(&block0, p_this, p_p0, p_p1, p_p2, p_p3, p_p4, p_p5, p_p6, p_p7);
725 :
726 0 : if (block0.is_used()) {
727 : compiler::TNode<JSFunction> tmp0;
728 : compiler::TNode<Object> tmp1;
729 : compiler::TNode<Object> tmp2;
730 : compiler::TNode<FixedArrayBase> tmp3;
731 : compiler::TNode<SharedFunctionInfo> tmp4;
732 : compiler::TNode<Context> tmp5;
733 : compiler::TNode<Smi> tmp6;
734 : compiler::TNode<Code> tmp7;
735 : compiler::TNode<HeapObject> tmp8;
736 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
737 : compiler::TNode<JSObject> tmp9;
738 : USE(tmp9);
739 : compiler::CodeAssemblerExceptionHandlerLabel catch10_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
740 0 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch10_label);
741 0 : tmp9 = ca_.UncheckedCast<JSObject>(BaseBuiltinsFromDSLAssembler(state_)._method_JSObject_constructor(compiler::TNode<JSObject>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}, compiler::TNode<FixedArrayBase>{tmp3}));
742 : }
743 0 : if (catch10_label.is_used()) {
744 : compiler::CodeAssemblerLabel catch10_skip(&ca_);
745 0 : ca_.Goto(&catch10_skip);
746 : compiler::TNode<Object> catch10_exception_object;
747 : ca_.Bind(&catch10_label, &catch10_exception_object);
748 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp0, tmp1, tmp2, tmp3, catch10_exception_object);
749 0 : ca_.Bind(&catch10_skip);
750 : }
751 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp4);
752 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 32, tmp5);
753 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 40, tmp6);
754 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 48, tmp7);
755 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 56, tmp8);
756 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp0);
757 : }
758 :
759 0 : if (block4.is_used()) {
760 : compiler::TNode<JSFunction> tmp11;
761 : compiler::TNode<Object> tmp12;
762 : compiler::TNode<Object> tmp13;
763 : compiler::TNode<FixedArrayBase> tmp14;
764 : compiler::TNode<SharedFunctionInfo> tmp15;
765 : compiler::TNode<Context> tmp16;
766 : compiler::TNode<Smi> tmp17;
767 : compiler::TNode<Code> tmp18;
768 : compiler::TNode<HeapObject> tmp19;
769 : compiler::TNode<JSFunction> tmp20;
770 : compiler::TNode<Object> tmp21;
771 : compiler::TNode<Object> tmp22;
772 : compiler::TNode<FixedArrayBase> tmp23;
773 : compiler::TNode<Object> tmp24;
774 : ca_.Bind(&block4, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
775 : ca_.Goto(&block3, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp24);
776 : }
777 :
778 0 : if (block3.is_used()) {
779 : compiler::TNode<JSFunction> tmp25;
780 : compiler::TNode<Object> tmp26;
781 : compiler::TNode<Object> tmp27;
782 : compiler::TNode<FixedArrayBase> tmp28;
783 : compiler::TNode<SharedFunctionInfo> tmp29;
784 : compiler::TNode<Context> tmp30;
785 : compiler::TNode<Smi> tmp31;
786 : compiler::TNode<Code> tmp32;
787 : compiler::TNode<Object> tmp33;
788 : ca_.Bind(&block3, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
789 0 : CodeStubAssembler(state_).Unreachable();
790 : }
791 :
792 0 : if (block1.is_used()) {
793 : compiler::TNode<JSFunction> tmp34;
794 : compiler::TNode<Object> tmp35;
795 : compiler::TNode<Object> tmp36;
796 : compiler::TNode<FixedArrayBase> tmp37;
797 : compiler::TNode<SharedFunctionInfo> tmp38;
798 : compiler::TNode<Context> tmp39;
799 : compiler::TNode<Smi> tmp40;
800 : compiler::TNode<Code> tmp41;
801 : compiler::TNode<HeapObject> tmp42;
802 : compiler::TNode<JSFunction> tmp43;
803 : ca_.Bind(&block1, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
804 : ca_.Goto(&block5, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43);
805 : }
806 :
807 : compiler::TNode<JSFunction> tmp44;
808 : compiler::TNode<Object> tmp45;
809 : compiler::TNode<Object> tmp46;
810 : compiler::TNode<FixedArrayBase> tmp47;
811 : compiler::TNode<SharedFunctionInfo> tmp48;
812 : compiler::TNode<Context> tmp49;
813 : compiler::TNode<Smi> tmp50;
814 : compiler::TNode<Code> tmp51;
815 : compiler::TNode<HeapObject> tmp52;
816 : compiler::TNode<JSFunction> tmp53;
817 : ca_.Bind(&block5, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
818 0 : return compiler::TNode<JSFunction>{tmp53};
819 : }
820 :
821 168 : compiler::TNode<SharedFunctionInfo> BaseBuiltinsFromDSLAssembler::LoadJSFunctionSharedFunctionInfo(compiler::TNode<JSFunction> p_o) {
822 168 : compiler::CodeAssemblerParameterizedLabel<JSFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
823 : compiler::CodeAssemblerParameterizedLabel<JSFunction, SharedFunctionInfo> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
824 : compiler::CodeAssemblerParameterizedLabel<JSFunction, SharedFunctionInfo> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
825 : ca_.Goto(&block0, p_o);
826 :
827 168 : if (block0.is_used()) {
828 : compiler::TNode<JSFunction> tmp0;
829 : ca_.Bind(&block0, &tmp0);
830 336 : compiler::TNode<SharedFunctionInfo> tmp1 = ca_.UncheckedCast<SharedFunctionInfo>(CodeStubAssembler(state_).LoadObjectField(tmp0, 24, MachineType::AnyTagged()));
831 : ca_.Goto(&block1, tmp0, tmp1);
832 : }
833 :
834 168 : if (block1.is_used()) {
835 : compiler::TNode<JSFunction> tmp2;
836 : compiler::TNode<SharedFunctionInfo> tmp3;
837 : ca_.Bind(&block1, &tmp2, &tmp3);
838 : ca_.Goto(&block2, tmp2, tmp3);
839 : }
840 :
841 : compiler::TNode<JSFunction> tmp4;
842 : compiler::TNode<SharedFunctionInfo> tmp5;
843 : ca_.Bind(&block2, &tmp4, &tmp5);
844 336 : return compiler::TNode<SharedFunctionInfo>{tmp5};
845 : }
846 :
847 0 : void BaseBuiltinsFromDSLAssembler::StoreJSFunctionSharedFunctionInfo(compiler::TNode<JSFunction> p_o, compiler::TNode<SharedFunctionInfo> p_v) {
848 0 : compiler::CodeAssemblerParameterizedLabel<JSFunction, SharedFunctionInfo> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
849 : compiler::CodeAssemblerParameterizedLabel<JSFunction, SharedFunctionInfo> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
850 : compiler::CodeAssemblerParameterizedLabel<JSFunction, SharedFunctionInfo> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
851 : ca_.Goto(&block0, p_o, p_v);
852 :
853 0 : if (block0.is_used()) {
854 : compiler::TNode<JSFunction> tmp0;
855 : compiler::TNode<SharedFunctionInfo> tmp1;
856 : ca_.Bind(&block0, &tmp0, &tmp1);
857 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp1);
858 : ca_.Goto(&block1, tmp0, tmp1);
859 : }
860 :
861 0 : if (block1.is_used()) {
862 : compiler::TNode<JSFunction> tmp2;
863 : compiler::TNode<SharedFunctionInfo> tmp3;
864 : ca_.Bind(&block1, &tmp2, &tmp3);
865 : ca_.Goto(&block2, tmp2, tmp3);
866 : }
867 :
868 : compiler::TNode<JSFunction> tmp4;
869 : compiler::TNode<SharedFunctionInfo> tmp5;
870 : ca_.Bind(&block2, &tmp4, &tmp5);
871 0 : }
872 :
873 0 : compiler::TNode<Context> BaseBuiltinsFromDSLAssembler::LoadJSFunctionContext(compiler::TNode<JSFunction> p_o) {
874 0 : compiler::CodeAssemblerParameterizedLabel<JSFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
875 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
876 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
877 : ca_.Goto(&block0, p_o);
878 :
879 0 : if (block0.is_used()) {
880 : compiler::TNode<JSFunction> tmp0;
881 : ca_.Bind(&block0, &tmp0);
882 0 : compiler::TNode<Context> tmp1 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadObjectField(tmp0, 32, MachineType::AnyTagged()));
883 : ca_.Goto(&block1, tmp0, tmp1);
884 : }
885 :
886 0 : if (block1.is_used()) {
887 : compiler::TNode<JSFunction> tmp2;
888 : compiler::TNode<Context> tmp3;
889 : ca_.Bind(&block1, &tmp2, &tmp3);
890 : ca_.Goto(&block2, tmp2, tmp3);
891 : }
892 :
893 : compiler::TNode<JSFunction> tmp4;
894 : compiler::TNode<Context> tmp5;
895 : ca_.Bind(&block2, &tmp4, &tmp5);
896 0 : return compiler::TNode<Context>{tmp5};
897 : }
898 :
899 0 : void BaseBuiltinsFromDSLAssembler::StoreJSFunctionContext(compiler::TNode<JSFunction> p_o, compiler::TNode<Context> p_v) {
900 0 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
901 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
902 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
903 : ca_.Goto(&block0, p_o, p_v);
904 :
905 0 : if (block0.is_used()) {
906 : compiler::TNode<JSFunction> tmp0;
907 : compiler::TNode<Context> tmp1;
908 : ca_.Bind(&block0, &tmp0, &tmp1);
909 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 32, tmp1);
910 : ca_.Goto(&block1, tmp0, tmp1);
911 : }
912 :
913 0 : if (block1.is_used()) {
914 : compiler::TNode<JSFunction> tmp2;
915 : compiler::TNode<Context> tmp3;
916 : ca_.Bind(&block1, &tmp2, &tmp3);
917 : ca_.Goto(&block2, tmp2, tmp3);
918 : }
919 :
920 : compiler::TNode<JSFunction> tmp4;
921 : compiler::TNode<Context> tmp5;
922 : ca_.Bind(&block2, &tmp4, &tmp5);
923 0 : }
924 :
925 0 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::LoadJSFunctionFeedbackCell(compiler::TNode<JSFunction> p_o) {
926 0 : compiler::CodeAssemblerParameterizedLabel<JSFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
927 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
928 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
929 : ca_.Goto(&block0, p_o);
930 :
931 0 : if (block0.is_used()) {
932 : compiler::TNode<JSFunction> tmp0;
933 : ca_.Bind(&block0, &tmp0);
934 0 : compiler::TNode<Smi> tmp1 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadObjectField(tmp0, 40, MachineType::TaggedSigned()));
935 : ca_.Goto(&block1, tmp0, tmp1);
936 : }
937 :
938 0 : if (block1.is_used()) {
939 : compiler::TNode<JSFunction> tmp2;
940 : compiler::TNode<Smi> tmp3;
941 : ca_.Bind(&block1, &tmp2, &tmp3);
942 : ca_.Goto(&block2, tmp2, tmp3);
943 : }
944 :
945 : compiler::TNode<JSFunction> tmp4;
946 : compiler::TNode<Smi> tmp5;
947 : ca_.Bind(&block2, &tmp4, &tmp5);
948 0 : return compiler::TNode<Smi>{tmp5};
949 : }
950 :
951 0 : void BaseBuiltinsFromDSLAssembler::StoreJSFunctionFeedbackCell(compiler::TNode<JSFunction> p_o, compiler::TNode<Smi> p_v) {
952 0 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
953 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
954 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
955 : ca_.Goto(&block0, p_o, p_v);
956 :
957 0 : if (block0.is_used()) {
958 : compiler::TNode<JSFunction> tmp0;
959 : compiler::TNode<Smi> tmp1;
960 : ca_.Bind(&block0, &tmp0, &tmp1);
961 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 40, tmp1);
962 : ca_.Goto(&block1, tmp0, tmp1);
963 : }
964 :
965 0 : if (block1.is_used()) {
966 : compiler::TNode<JSFunction> tmp2;
967 : compiler::TNode<Smi> tmp3;
968 : ca_.Bind(&block1, &tmp2, &tmp3);
969 : ca_.Goto(&block2, tmp2, tmp3);
970 : }
971 :
972 : compiler::TNode<JSFunction> tmp4;
973 : compiler::TNode<Smi> tmp5;
974 : ca_.Bind(&block2, &tmp4, &tmp5);
975 0 : }
976 :
977 0 : compiler::TNode<Code> BaseBuiltinsFromDSLAssembler::LoadJSFunctionCode(compiler::TNode<JSFunction> p_o) {
978 0 : compiler::CodeAssemblerParameterizedLabel<JSFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
979 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Code> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
980 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Code> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
981 : ca_.Goto(&block0, p_o);
982 :
983 0 : if (block0.is_used()) {
984 : compiler::TNode<JSFunction> tmp0;
985 : ca_.Bind(&block0, &tmp0);
986 0 : compiler::TNode<Code> tmp1 = ca_.UncheckedCast<Code>(CodeStubAssembler(state_).LoadObjectField(tmp0, 48, MachineType::AnyTagged()));
987 : ca_.Goto(&block1, tmp0, tmp1);
988 : }
989 :
990 0 : if (block1.is_used()) {
991 : compiler::TNode<JSFunction> tmp2;
992 : compiler::TNode<Code> tmp3;
993 : ca_.Bind(&block1, &tmp2, &tmp3);
994 : ca_.Goto(&block2, tmp2, tmp3);
995 : }
996 :
997 : compiler::TNode<JSFunction> tmp4;
998 : compiler::TNode<Code> tmp5;
999 : ca_.Bind(&block2, &tmp4, &tmp5);
1000 0 : return compiler::TNode<Code>{tmp5};
1001 : }
1002 :
1003 0 : void BaseBuiltinsFromDSLAssembler::StoreJSFunctionCode(compiler::TNode<JSFunction> p_o, compiler::TNode<Code> p_v) {
1004 0 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Code> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1005 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Code> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1006 : compiler::CodeAssemblerParameterizedLabel<JSFunction, Code> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1007 : ca_.Goto(&block0, p_o, p_v);
1008 :
1009 0 : if (block0.is_used()) {
1010 : compiler::TNode<JSFunction> tmp0;
1011 : compiler::TNode<Code> tmp1;
1012 : ca_.Bind(&block0, &tmp0, &tmp1);
1013 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 48, tmp1);
1014 : ca_.Goto(&block1, tmp0, tmp1);
1015 : }
1016 :
1017 0 : if (block1.is_used()) {
1018 : compiler::TNode<JSFunction> tmp2;
1019 : compiler::TNode<Code> tmp3;
1020 : ca_.Bind(&block1, &tmp2, &tmp3);
1021 : ca_.Goto(&block2, tmp2, tmp3);
1022 : }
1023 :
1024 : compiler::TNode<JSFunction> tmp4;
1025 : compiler::TNode<Code> tmp5;
1026 : ca_.Bind(&block2, &tmp4, &tmp5);
1027 0 : }
1028 :
1029 112 : compiler::TNode<HeapObject> BaseBuiltinsFromDSLAssembler::LoadJSFunctionPrototypeOrInitialMap(compiler::TNode<JSFunction> p_o) {
1030 112 : compiler::CodeAssemblerParameterizedLabel<JSFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1031 : compiler::CodeAssemblerParameterizedLabel<JSFunction, HeapObject> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1032 : compiler::CodeAssemblerParameterizedLabel<JSFunction, HeapObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1033 : ca_.Goto(&block0, p_o);
1034 :
1035 112 : if (block0.is_used()) {
1036 : compiler::TNode<JSFunction> tmp0;
1037 : ca_.Bind(&block0, &tmp0);
1038 224 : compiler::TNode<HeapObject> tmp1 = ca_.UncheckedCast<HeapObject>(CodeStubAssembler(state_).LoadObjectField(tmp0, 56, MachineType::AnyTagged()));
1039 : ca_.Goto(&block1, tmp0, tmp1);
1040 : }
1041 :
1042 112 : if (block1.is_used()) {
1043 : compiler::TNode<JSFunction> tmp2;
1044 : compiler::TNode<HeapObject> tmp3;
1045 : ca_.Bind(&block1, &tmp2, &tmp3);
1046 : ca_.Goto(&block2, tmp2, tmp3);
1047 : }
1048 :
1049 : compiler::TNode<JSFunction> tmp4;
1050 : compiler::TNode<HeapObject> tmp5;
1051 : ca_.Bind(&block2, &tmp4, &tmp5);
1052 224 : return compiler::TNode<HeapObject>{tmp5};
1053 : }
1054 :
1055 0 : void BaseBuiltinsFromDSLAssembler::StoreJSFunctionPrototypeOrInitialMap(compiler::TNode<JSFunction> p_o, compiler::TNode<HeapObject> p_v) {
1056 0 : compiler::CodeAssemblerParameterizedLabel<JSFunction, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1057 : compiler::CodeAssemblerParameterizedLabel<JSFunction, HeapObject> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1058 : compiler::CodeAssemblerParameterizedLabel<JSFunction, HeapObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1059 : ca_.Goto(&block0, p_o, p_v);
1060 :
1061 0 : if (block0.is_used()) {
1062 : compiler::TNode<JSFunction> tmp0;
1063 : compiler::TNode<HeapObject> tmp1;
1064 : ca_.Bind(&block0, &tmp0, &tmp1);
1065 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 56, tmp1);
1066 : ca_.Goto(&block1, tmp0, tmp1);
1067 : }
1068 :
1069 0 : if (block1.is_used()) {
1070 : compiler::TNode<JSFunction> tmp2;
1071 : compiler::TNode<HeapObject> tmp3;
1072 : ca_.Bind(&block1, &tmp2, &tmp3);
1073 : ca_.Goto(&block2, tmp2, tmp3);
1074 : }
1075 :
1076 : compiler::TNode<JSFunction> tmp4;
1077 : compiler::TNode<HeapObject> tmp5;
1078 : ca_.Bind(&block2, &tmp4, &tmp5);
1079 0 : }
1080 :
1081 0 : compiler::TNode<JSBoundFunction> BaseBuiltinsFromDSLAssembler::_method_JSBoundFunction_constructor(compiler::TNode<JSBoundFunction> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1, compiler::TNode<FixedArrayBase> p_p2, compiler::TNode<JSReceiver> p_p3, compiler::TNode<Object> p_p4, compiler::TNode<FixedArray> p_p5) {
1082 0 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object, Object, FixedArrayBase, JSReceiver, Object, FixedArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1083 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object, Object, FixedArrayBase, JSReceiver, Object, FixedArray, JSBoundFunction, Object, Object, FixedArrayBase, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1084 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object, Object, FixedArrayBase, JSReceiver, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1085 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object, Object, FixedArrayBase, JSReceiver, Object, FixedArray, JSBoundFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1086 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object, Object, FixedArrayBase, JSReceiver, Object, FixedArray, JSBoundFunction> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1087 : ca_.Goto(&block0, p_this, p_p0, p_p1, p_p2, p_p3, p_p4, p_p5);
1088 :
1089 0 : if (block0.is_used()) {
1090 : compiler::TNode<JSBoundFunction> tmp0;
1091 : compiler::TNode<Object> tmp1;
1092 : compiler::TNode<Object> tmp2;
1093 : compiler::TNode<FixedArrayBase> tmp3;
1094 : compiler::TNode<JSReceiver> tmp4;
1095 : compiler::TNode<Object> tmp5;
1096 : compiler::TNode<FixedArray> tmp6;
1097 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
1098 : compiler::TNode<JSObject> tmp7;
1099 : USE(tmp7);
1100 : compiler::CodeAssemblerExceptionHandlerLabel catch8_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1101 0 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch8_label);
1102 0 : tmp7 = ca_.UncheckedCast<JSObject>(BaseBuiltinsFromDSLAssembler(state_)._method_JSObject_constructor(compiler::TNode<JSObject>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}, compiler::TNode<FixedArrayBase>{tmp3}));
1103 : }
1104 0 : if (catch8_label.is_used()) {
1105 : compiler::CodeAssemblerLabel catch8_skip(&ca_);
1106 0 : ca_.Goto(&catch8_skip);
1107 : compiler::TNode<Object> catch8_exception_object;
1108 : ca_.Bind(&catch8_label, &catch8_exception_object);
1109 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp0, tmp1, tmp2, tmp3, catch8_exception_object);
1110 0 : ca_.Bind(&catch8_skip);
1111 : }
1112 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp4);
1113 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 32, tmp5);
1114 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 40, tmp6);
1115 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp0);
1116 : }
1117 :
1118 0 : if (block4.is_used()) {
1119 : compiler::TNode<JSBoundFunction> tmp9;
1120 : compiler::TNode<Object> tmp10;
1121 : compiler::TNode<Object> tmp11;
1122 : compiler::TNode<FixedArrayBase> tmp12;
1123 : compiler::TNode<JSReceiver> tmp13;
1124 : compiler::TNode<Object> tmp14;
1125 : compiler::TNode<FixedArray> tmp15;
1126 : compiler::TNode<JSBoundFunction> tmp16;
1127 : compiler::TNode<Object> tmp17;
1128 : compiler::TNode<Object> tmp18;
1129 : compiler::TNode<FixedArrayBase> tmp19;
1130 : compiler::TNode<Object> tmp20;
1131 : ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
1132 : ca_.Goto(&block3, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp20);
1133 : }
1134 :
1135 0 : if (block3.is_used()) {
1136 : compiler::TNode<JSBoundFunction> tmp21;
1137 : compiler::TNode<Object> tmp22;
1138 : compiler::TNode<Object> tmp23;
1139 : compiler::TNode<FixedArrayBase> tmp24;
1140 : compiler::TNode<JSReceiver> tmp25;
1141 : compiler::TNode<Object> tmp26;
1142 : compiler::TNode<Object> tmp27;
1143 : ca_.Bind(&block3, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
1144 0 : CodeStubAssembler(state_).Unreachable();
1145 : }
1146 :
1147 0 : if (block1.is_used()) {
1148 : compiler::TNode<JSBoundFunction> tmp28;
1149 : compiler::TNode<Object> tmp29;
1150 : compiler::TNode<Object> tmp30;
1151 : compiler::TNode<FixedArrayBase> tmp31;
1152 : compiler::TNode<JSReceiver> tmp32;
1153 : compiler::TNode<Object> tmp33;
1154 : compiler::TNode<FixedArray> tmp34;
1155 : compiler::TNode<JSBoundFunction> tmp35;
1156 : ca_.Bind(&block1, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
1157 : ca_.Goto(&block5, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35);
1158 : }
1159 :
1160 : compiler::TNode<JSBoundFunction> tmp36;
1161 : compiler::TNode<Object> tmp37;
1162 : compiler::TNode<Object> tmp38;
1163 : compiler::TNode<FixedArrayBase> tmp39;
1164 : compiler::TNode<JSReceiver> tmp40;
1165 : compiler::TNode<Object> tmp41;
1166 : compiler::TNode<FixedArray> tmp42;
1167 : compiler::TNode<JSBoundFunction> tmp43;
1168 : ca_.Bind(&block5, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
1169 0 : return compiler::TNode<JSBoundFunction>{tmp43};
1170 : }
1171 :
1172 0 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::LoadJSBoundFunctionBoundTargetFunction(compiler::TNode<JSBoundFunction> p_o) {
1173 0 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1174 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1175 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1176 : ca_.Goto(&block0, p_o);
1177 :
1178 0 : if (block0.is_used()) {
1179 : compiler::TNode<JSBoundFunction> tmp0;
1180 : ca_.Bind(&block0, &tmp0);
1181 0 : compiler::TNode<JSReceiver> tmp1 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).LoadObjectField(tmp0, 24, MachineType::AnyTagged()));
1182 : ca_.Goto(&block1, tmp0, tmp1);
1183 : }
1184 :
1185 0 : if (block1.is_used()) {
1186 : compiler::TNode<JSBoundFunction> tmp2;
1187 : compiler::TNode<JSReceiver> tmp3;
1188 : ca_.Bind(&block1, &tmp2, &tmp3);
1189 : ca_.Goto(&block2, tmp2, tmp3);
1190 : }
1191 :
1192 : compiler::TNode<JSBoundFunction> tmp4;
1193 : compiler::TNode<JSReceiver> tmp5;
1194 : ca_.Bind(&block2, &tmp4, &tmp5);
1195 0 : return compiler::TNode<JSReceiver>{tmp5};
1196 : }
1197 :
1198 0 : void BaseBuiltinsFromDSLAssembler::StoreJSBoundFunctionBoundTargetFunction(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<JSReceiver> p_v) {
1199 0 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1200 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1201 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1202 : ca_.Goto(&block0, p_o, p_v);
1203 :
1204 0 : if (block0.is_used()) {
1205 : compiler::TNode<JSBoundFunction> tmp0;
1206 : compiler::TNode<JSReceiver> tmp1;
1207 : ca_.Bind(&block0, &tmp0, &tmp1);
1208 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp1);
1209 : ca_.Goto(&block1, tmp0, tmp1);
1210 : }
1211 :
1212 0 : if (block1.is_used()) {
1213 : compiler::TNode<JSBoundFunction> tmp2;
1214 : compiler::TNode<JSReceiver> tmp3;
1215 : ca_.Bind(&block1, &tmp2, &tmp3);
1216 : ca_.Goto(&block2, tmp2, tmp3);
1217 : }
1218 :
1219 : compiler::TNode<JSBoundFunction> tmp4;
1220 : compiler::TNode<JSReceiver> tmp5;
1221 : ca_.Bind(&block2, &tmp4, &tmp5);
1222 0 : }
1223 :
1224 0 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadJSBoundFunctionBoundThis(compiler::TNode<JSBoundFunction> p_o) {
1225 0 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1226 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1227 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1228 : ca_.Goto(&block0, p_o);
1229 :
1230 0 : if (block0.is_used()) {
1231 : compiler::TNode<JSBoundFunction> tmp0;
1232 : ca_.Bind(&block0, &tmp0);
1233 0 : compiler::TNode<Object> tmp1 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadObjectField(tmp0, 32, MachineType::AnyTagged()));
1234 : ca_.Goto(&block1, tmp0, tmp1);
1235 : }
1236 :
1237 0 : if (block1.is_used()) {
1238 : compiler::TNode<JSBoundFunction> tmp2;
1239 : compiler::TNode<Object> tmp3;
1240 : ca_.Bind(&block1, &tmp2, &tmp3);
1241 : ca_.Goto(&block2, tmp2, tmp3);
1242 : }
1243 :
1244 : compiler::TNode<JSBoundFunction> tmp4;
1245 : compiler::TNode<Object> tmp5;
1246 : ca_.Bind(&block2, &tmp4, &tmp5);
1247 0 : return compiler::TNode<Object>{tmp5};
1248 : }
1249 :
1250 0 : void BaseBuiltinsFromDSLAssembler::StoreJSBoundFunctionBoundThis(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<Object> p_v) {
1251 0 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1252 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1253 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1254 : ca_.Goto(&block0, p_o, p_v);
1255 :
1256 0 : if (block0.is_used()) {
1257 : compiler::TNode<JSBoundFunction> tmp0;
1258 : compiler::TNode<Object> tmp1;
1259 : ca_.Bind(&block0, &tmp0, &tmp1);
1260 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 32, tmp1);
1261 : ca_.Goto(&block1, tmp0, tmp1);
1262 : }
1263 :
1264 0 : if (block1.is_used()) {
1265 : compiler::TNode<JSBoundFunction> tmp2;
1266 : compiler::TNode<Object> tmp3;
1267 : ca_.Bind(&block1, &tmp2, &tmp3);
1268 : ca_.Goto(&block2, tmp2, tmp3);
1269 : }
1270 :
1271 : compiler::TNode<JSBoundFunction> tmp4;
1272 : compiler::TNode<Object> tmp5;
1273 : ca_.Bind(&block2, &tmp4, &tmp5);
1274 0 : }
1275 :
1276 0 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::LoadJSBoundFunctionBoundArguments(compiler::TNode<JSBoundFunction> p_o) {
1277 0 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1278 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1279 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1280 : ca_.Goto(&block0, p_o);
1281 :
1282 0 : if (block0.is_used()) {
1283 : compiler::TNode<JSBoundFunction> tmp0;
1284 : ca_.Bind(&block0, &tmp0);
1285 0 : compiler::TNode<FixedArray> tmp1 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).LoadObjectField(tmp0, 40, MachineType::AnyTagged()));
1286 : ca_.Goto(&block1, tmp0, tmp1);
1287 : }
1288 :
1289 0 : if (block1.is_used()) {
1290 : compiler::TNode<JSBoundFunction> tmp2;
1291 : compiler::TNode<FixedArray> tmp3;
1292 : ca_.Bind(&block1, &tmp2, &tmp3);
1293 : ca_.Goto(&block2, tmp2, tmp3);
1294 : }
1295 :
1296 : compiler::TNode<JSBoundFunction> tmp4;
1297 : compiler::TNode<FixedArray> tmp5;
1298 : ca_.Bind(&block2, &tmp4, &tmp5);
1299 0 : return compiler::TNode<FixedArray>{tmp5};
1300 : }
1301 :
1302 0 : void BaseBuiltinsFromDSLAssembler::StoreJSBoundFunctionBoundArguments(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<FixedArray> p_v) {
1303 0 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, FixedArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1304 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1305 : compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1306 : ca_.Goto(&block0, p_o, p_v);
1307 :
1308 0 : if (block0.is_used()) {
1309 : compiler::TNode<JSBoundFunction> tmp0;
1310 : compiler::TNode<FixedArray> tmp1;
1311 : ca_.Bind(&block0, &tmp0, &tmp1);
1312 0 : CodeStubAssembler(state_).StoreObjectField(tmp0, 40, tmp1);
1313 : ca_.Goto(&block1, tmp0, tmp1);
1314 : }
1315 :
1316 0 : if (block1.is_used()) {
1317 : compiler::TNode<JSBoundFunction> tmp2;
1318 : compiler::TNode<FixedArray> tmp3;
1319 : ca_.Bind(&block1, &tmp2, &tmp3);
1320 : ca_.Goto(&block2, tmp2, tmp3);
1321 : }
1322 :
1323 : compiler::TNode<JSBoundFunction> tmp4;
1324 : compiler::TNode<FixedArray> tmp5;
1325 : ca_.Bind(&block2, &tmp4, &tmp5);
1326 0 : }
1327 :
1328 1904 : compiler::TNode<Oddball> BaseBuiltinsFromDSLAssembler::Hole() {
1329 1904 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1330 : ca_.Goto(&block0);
1331 :
1332 : ca_.Bind(&block0);
1333 : compiler::TNode<Oddball> tmp0;
1334 : USE(tmp0);
1335 3808 : tmp0 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).TheHoleConstant());
1336 3808 : return compiler::TNode<Oddball>{tmp0};
1337 : }
1338 :
1339 86 : compiler::TNode<Oddball> BaseBuiltinsFromDSLAssembler::Null() {
1340 86 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1341 : ca_.Goto(&block0);
1342 :
1343 : ca_.Bind(&block0);
1344 : compiler::TNode<Oddball> tmp0;
1345 : USE(tmp0);
1346 172 : tmp0 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).NullConstant());
1347 172 : return compiler::TNode<Oddball>{tmp0};
1348 : }
1349 :
1350 10608 : compiler::TNode<Oddball> BaseBuiltinsFromDSLAssembler::Undefined() {
1351 10608 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1352 : ca_.Goto(&block0);
1353 :
1354 : ca_.Bind(&block0);
1355 : compiler::TNode<Oddball> tmp0;
1356 : USE(tmp0);
1357 21216 : tmp0 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).UndefinedConstant());
1358 21216 : return compiler::TNode<Oddball>{tmp0};
1359 : }
1360 :
1361 2056 : compiler::TNode<Oddball> BaseBuiltinsFromDSLAssembler::True() {
1362 2056 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1363 : ca_.Goto(&block0);
1364 :
1365 : ca_.Bind(&block0);
1366 : compiler::TNode<Oddball> tmp0;
1367 : USE(tmp0);
1368 4112 : tmp0 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).TrueConstant());
1369 4112 : return compiler::TNode<Oddball>{tmp0};
1370 : }
1371 :
1372 977 : compiler::TNode<Oddball> BaseBuiltinsFromDSLAssembler::False() {
1373 977 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1374 : ca_.Goto(&block0);
1375 :
1376 : ca_.Bind(&block0);
1377 : compiler::TNode<Oddball> tmp0;
1378 : USE(tmp0);
1379 1954 : tmp0 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).FalseConstant());
1380 1954 : return compiler::TNode<Oddball>{tmp0};
1381 : }
1382 :
1383 1120 : compiler::TNode<String> BaseBuiltinsFromDSLAssembler::kEmptyString() {
1384 1120 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1385 : ca_.Goto(&block0);
1386 :
1387 : ca_.Bind(&block0);
1388 : compiler::TNode<String> tmp0;
1389 : USE(tmp0);
1390 2240 : tmp0 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).EmptyStringConstant());
1391 2240 : return compiler::TNode<String>{tmp0};
1392 : }
1393 :
1394 840 : compiler::TNode<String> BaseBuiltinsFromDSLAssembler::kLengthString() {
1395 840 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1396 : ca_.Goto(&block0);
1397 :
1398 : ca_.Bind(&block0);
1399 : compiler::TNode<String> tmp0;
1400 : USE(tmp0);
1401 1680 : tmp0 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).LengthStringConstant());
1402 1680 : return compiler::TNode<String>{tmp0};
1403 : }
1404 :
1405 56 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::ElementsKindNotEqual(compiler::TNode<Int32T> p_k1, compiler::TNode<Int32T> p_k2) {
1406 56 : compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1407 : compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1408 : compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1409 : ca_.Goto(&block0, p_k1, p_k2);
1410 :
1411 56 : if (block0.is_used()) {
1412 : compiler::TNode<Int32T> tmp0;
1413 : compiler::TNode<Int32T> tmp1;
1414 : ca_.Bind(&block0, &tmp0, &tmp1);
1415 : compiler::TNode<BoolT> tmp2;
1416 : USE(tmp2);
1417 112 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp0}, compiler::TNode<Int32T>{tmp1}));
1418 : compiler::TNode<BoolT> tmp3;
1419 : USE(tmp3);
1420 112 : tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp2}));
1421 : ca_.Goto(&block1, tmp0, tmp1, tmp3);
1422 : }
1423 :
1424 56 : if (block1.is_used()) {
1425 : compiler::TNode<Int32T> tmp4;
1426 : compiler::TNode<Int32T> tmp5;
1427 : compiler::TNode<BoolT> tmp6;
1428 : ca_.Bind(&block1, &tmp4, &tmp5, &tmp6);
1429 : ca_.Goto(&block2, tmp4, tmp5, tmp6);
1430 : }
1431 :
1432 : compiler::TNode<Int32T> tmp7;
1433 : compiler::TNode<Int32T> tmp8;
1434 : compiler::TNode<BoolT> tmp9;
1435 : ca_.Bind(&block2, &tmp7, &tmp8, &tmp9);
1436 112 : return compiler::TNode<BoolT>{tmp9};
1437 : }
1438 :
1439 56 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::IsNumberEqual(compiler::TNode<Number> p_a, compiler::TNode<Number> p_b) {
1440 56 : compiler::CodeAssemblerParameterizedLabel<Number, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1441 : compiler::CodeAssemblerParameterizedLabel<Number, Number, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1442 : compiler::CodeAssemblerParameterizedLabel<Number, Number, Number, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1443 : compiler::CodeAssemblerParameterizedLabel<Number, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1444 : compiler::CodeAssemblerParameterizedLabel<Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1445 : compiler::CodeAssemblerParameterizedLabel<Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1446 : compiler::CodeAssemblerParameterizedLabel<Number, Number, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1447 : compiler::CodeAssemblerParameterizedLabel<Number, Number, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1448 : compiler::CodeAssemblerParameterizedLabel<Number, Number, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1449 : ca_.Goto(&block0, p_a, p_b);
1450 :
1451 56 : if (block0.is_used()) {
1452 : compiler::TNode<Number> tmp0;
1453 : compiler::TNode<Number> tmp1;
1454 : ca_.Bind(&block0, &tmp0, &tmp1);
1455 : compiler::CodeAssemblerLabel label0(&ca_);
1456 56 : compiler::CodeAssemblerLabel label1(&ca_);
1457 112 : CodeStubAssembler(state_).BranchIfNumberEqual(compiler::TNode<Number>{tmp0}, compiler::TNode<Number>{tmp1}, &label0, &label1);
1458 56 : if (label0.is_used()) {
1459 56 : ca_.Bind(&label0);
1460 : ca_.Goto(&block6, tmp0, tmp1, tmp0, tmp1);
1461 : }
1462 56 : if (label1.is_used()) {
1463 56 : ca_.Bind(&label1);
1464 : ca_.Goto(&block7, tmp0, tmp1, tmp0, tmp1);
1465 56 : }
1466 : }
1467 :
1468 56 : if (block6.is_used()) {
1469 : compiler::TNode<Number> tmp2;
1470 : compiler::TNode<Number> tmp3;
1471 : compiler::TNode<Number> tmp4;
1472 : compiler::TNode<Number> tmp5;
1473 : ca_.Bind(&block6, &tmp2, &tmp3, &tmp4, &tmp5);
1474 : ca_.Goto(&block2, tmp2, tmp3);
1475 : }
1476 :
1477 56 : if (block7.is_used()) {
1478 : compiler::TNode<Number> tmp6;
1479 : compiler::TNode<Number> tmp7;
1480 : compiler::TNode<Number> tmp8;
1481 : compiler::TNode<Number> tmp9;
1482 : ca_.Bind(&block7, &tmp6, &tmp7, &tmp8, &tmp9);
1483 : ca_.Goto(&block3, tmp6, tmp7);
1484 : }
1485 :
1486 56 : if (block2.is_used()) {
1487 : compiler::TNode<Number> tmp10;
1488 : compiler::TNode<Number> tmp11;
1489 : ca_.Bind(&block2, &tmp10, &tmp11);
1490 : ca_.Goto(&block5, tmp10, tmp11);
1491 : }
1492 :
1493 56 : if (block3.is_used()) {
1494 : compiler::TNode<Number> tmp12;
1495 : compiler::TNode<Number> tmp13;
1496 : ca_.Bind(&block3, &tmp12, &tmp13);
1497 : compiler::TNode<BoolT> tmp14;
1498 : USE(tmp14);
1499 168 : tmp14 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
1500 : ca_.Goto(&block4, tmp12, tmp13, tmp14);
1501 : }
1502 :
1503 56 : if (block5.is_used()) {
1504 : compiler::TNode<Number> tmp15;
1505 : compiler::TNode<Number> tmp16;
1506 : ca_.Bind(&block5, &tmp15, &tmp16);
1507 : compiler::TNode<BoolT> tmp17;
1508 : USE(tmp17);
1509 168 : tmp17 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
1510 : ca_.Goto(&block4, tmp15, tmp16, tmp17);
1511 : }
1512 :
1513 56 : if (block4.is_used()) {
1514 : compiler::TNode<Number> tmp18;
1515 : compiler::TNode<Number> tmp19;
1516 : compiler::TNode<BoolT> tmp20;
1517 : ca_.Bind(&block4, &tmp18, &tmp19, &tmp20);
1518 : ca_.Goto(&block1, tmp18, tmp19, tmp20);
1519 : }
1520 :
1521 56 : if (block1.is_used()) {
1522 : compiler::TNode<Number> tmp21;
1523 : compiler::TNode<Number> tmp22;
1524 : compiler::TNode<BoolT> tmp23;
1525 : ca_.Bind(&block1, &tmp21, &tmp22, &tmp23);
1526 : ca_.Goto(&block8, tmp21, tmp22, tmp23);
1527 : }
1528 :
1529 : compiler::TNode<Number> tmp24;
1530 : compiler::TNode<Number> tmp25;
1531 : compiler::TNode<BoolT> tmp26;
1532 : ca_.Bind(&block8, &tmp24, &tmp25, &tmp26);
1533 112 : return compiler::TNode<BoolT>{tmp26};
1534 : }
1535 :
1536 504 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Min(compiler::TNode<Number> p_x, compiler::TNode<Number> p_y) {
1537 504 : compiler::CodeAssemblerParameterizedLabel<Number, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1538 : compiler::CodeAssemblerParameterizedLabel<Number, Number, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1539 : compiler::CodeAssemblerParameterizedLabel<Number, Number, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1540 : ca_.Goto(&block0, p_x, p_y);
1541 :
1542 504 : if (block0.is_used()) {
1543 : compiler::TNode<Number> tmp0;
1544 : compiler::TNode<Number> tmp1;
1545 : ca_.Bind(&block0, &tmp0, &tmp1);
1546 : compiler::TNode<Number> tmp2;
1547 : USE(tmp2);
1548 2016 : tmp2 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberMin(compiler::TNode<Number>{tmp0}, compiler::TNode<Number>{tmp1}));
1549 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
1550 : }
1551 :
1552 504 : if (block1.is_used()) {
1553 : compiler::TNode<Number> tmp3;
1554 : compiler::TNode<Number> tmp4;
1555 : compiler::TNode<Number> tmp5;
1556 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
1557 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
1558 : }
1559 :
1560 : compiler::TNode<Number> tmp6;
1561 : compiler::TNode<Number> tmp7;
1562 : compiler::TNode<Number> tmp8;
1563 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
1564 1008 : return compiler::TNode<Number>{tmp8};
1565 : }
1566 :
1567 448 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Max(compiler::TNode<Number> p_x, compiler::TNode<Number> p_y) {
1568 448 : compiler::CodeAssemblerParameterizedLabel<Number, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1569 : compiler::CodeAssemblerParameterizedLabel<Number, Number, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1570 : compiler::CodeAssemblerParameterizedLabel<Number, Number, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1571 : ca_.Goto(&block0, p_x, p_y);
1572 :
1573 448 : if (block0.is_used()) {
1574 : compiler::TNode<Number> tmp0;
1575 : compiler::TNode<Number> tmp1;
1576 : ca_.Bind(&block0, &tmp0, &tmp1);
1577 : compiler::TNode<Number> tmp2;
1578 : USE(tmp2);
1579 1792 : tmp2 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberMax(compiler::TNode<Number>{tmp0}, compiler::TNode<Number>{tmp1}));
1580 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
1581 : }
1582 :
1583 448 : if (block1.is_used()) {
1584 : compiler::TNode<Number> tmp3;
1585 : compiler::TNode<Number> tmp4;
1586 : compiler::TNode<Number> tmp5;
1587 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
1588 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
1589 : }
1590 :
1591 : compiler::TNode<Number> tmp6;
1592 : compiler::TNode<Number> tmp7;
1593 : compiler::TNode<Number> tmp8;
1594 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
1595 896 : return compiler::TNode<Number>{tmp8};
1596 : }
1597 :
1598 5 : compiler::TNode<HeapObject> BaseBuiltinsFromDSLAssembler::CastHeapObject10HeapObject(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
1599 5 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1600 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1601 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1602 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1603 : ca_.Goto(&block0, p_o);
1604 :
1605 5 : if (block0.is_used()) {
1606 : compiler::TNode<HeapObject> tmp0;
1607 : ca_.Bind(&block0, &tmp0);
1608 : ca_.Goto(&block2, tmp0, tmp0);
1609 : }
1610 :
1611 5 : if (block2.is_used()) {
1612 : compiler::TNode<HeapObject> tmp1;
1613 : compiler::TNode<HeapObject> tmp2;
1614 : ca_.Bind(&block2, &tmp1, &tmp2);
1615 : ca_.Goto(&block3, tmp1, tmp2);
1616 : }
1617 :
1618 5 : if (block1.is_used()) {
1619 : ca_.Bind(&block1);
1620 0 : ca_.Goto(label_CastError);
1621 : }
1622 :
1623 : compiler::TNode<HeapObject> tmp3;
1624 : compiler::TNode<HeapObject> tmp4;
1625 : ca_.Bind(&block3, &tmp3, &tmp4);
1626 10 : return compiler::TNode<HeapObject>{tmp4};
1627 : }
1628 :
1629 758 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::CastHeapObject12ATFixedArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
1630 758 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1631 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1632 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, FixedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1633 : compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1634 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1635 : compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1636 : ca_.Goto(&block0, p_o);
1637 :
1638 758 : if (block0.is_used()) {
1639 : compiler::TNode<HeapObject> tmp0;
1640 : ca_.Bind(&block0, &tmp0);
1641 : compiler::TNode<FixedArray> tmp1;
1642 : USE(tmp1);
1643 : compiler::CodeAssemblerLabel label0(&ca_);
1644 1516 : tmp1 = CodeStubAssembler(state_).HeapObjectToFixedArray(compiler::TNode<HeapObject>{tmp0}, &label0);
1645 : ca_.Goto(&block3, tmp0, tmp0, tmp1);
1646 758 : if (label0.is_used()) {
1647 758 : ca_.Bind(&label0);
1648 : ca_.Goto(&block4, tmp0, tmp0);
1649 758 : }
1650 : }
1651 :
1652 758 : if (block4.is_used()) {
1653 : compiler::TNode<HeapObject> tmp2;
1654 : compiler::TNode<HeapObject> tmp3;
1655 : ca_.Bind(&block4, &tmp2, &tmp3);
1656 : ca_.Goto(&block1);
1657 : }
1658 :
1659 758 : if (block3.is_used()) {
1660 : compiler::TNode<HeapObject> tmp4;
1661 : compiler::TNode<HeapObject> tmp5;
1662 : compiler::TNode<FixedArray> tmp6;
1663 : ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
1664 : ca_.Goto(&block2, tmp4, tmp6);
1665 : }
1666 :
1667 758 : if (block2.is_used()) {
1668 : compiler::TNode<HeapObject> tmp7;
1669 : compiler::TNode<FixedArray> tmp8;
1670 : ca_.Bind(&block2, &tmp7, &tmp8);
1671 : ca_.Goto(&block5, tmp7, tmp8);
1672 : }
1673 :
1674 758 : if (block1.is_used()) {
1675 : ca_.Bind(&block1);
1676 758 : ca_.Goto(label_CastError);
1677 : }
1678 :
1679 : compiler::TNode<HeapObject> tmp9;
1680 : compiler::TNode<FixedArray> tmp10;
1681 : ca_.Bind(&block5, &tmp9, &tmp10);
1682 1516 : return compiler::TNode<FixedArray>{tmp10};
1683 : }
1684 :
1685 448 : compiler::TNode<FixedDoubleArray> BaseBuiltinsFromDSLAssembler::CastHeapObject18ATFixedDoubleArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
1686 448 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1687 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1688 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, FixedDoubleArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1689 : compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedDoubleArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1690 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1691 : compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedDoubleArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1692 : ca_.Goto(&block0, p_o);
1693 :
1694 448 : if (block0.is_used()) {
1695 : compiler::TNode<HeapObject> tmp0;
1696 : ca_.Bind(&block0, &tmp0);
1697 : compiler::TNode<FixedDoubleArray> tmp1;
1698 : USE(tmp1);
1699 : compiler::CodeAssemblerLabel label0(&ca_);
1700 896 : tmp1 = CodeStubAssembler(state_).HeapObjectToFixedDoubleArray(compiler::TNode<HeapObject>{tmp0}, &label0);
1701 : ca_.Goto(&block3, tmp0, tmp0, tmp1);
1702 448 : if (label0.is_used()) {
1703 448 : ca_.Bind(&label0);
1704 : ca_.Goto(&block4, tmp0, tmp0);
1705 448 : }
1706 : }
1707 :
1708 448 : if (block4.is_used()) {
1709 : compiler::TNode<HeapObject> tmp2;
1710 : compiler::TNode<HeapObject> tmp3;
1711 : ca_.Bind(&block4, &tmp2, &tmp3);
1712 : ca_.Goto(&block1);
1713 : }
1714 :
1715 448 : if (block3.is_used()) {
1716 : compiler::TNode<HeapObject> tmp4;
1717 : compiler::TNode<HeapObject> tmp5;
1718 : compiler::TNode<FixedDoubleArray> tmp6;
1719 : ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
1720 : ca_.Goto(&block2, tmp4, tmp6);
1721 : }
1722 :
1723 448 : if (block2.is_used()) {
1724 : compiler::TNode<HeapObject> tmp7;
1725 : compiler::TNode<FixedDoubleArray> tmp8;
1726 : ca_.Bind(&block2, &tmp7, &tmp8);
1727 : ca_.Goto(&block5, tmp7, tmp8);
1728 : }
1729 :
1730 448 : if (block1.is_used()) {
1731 : ca_.Bind(&block1);
1732 448 : ca_.Goto(label_CastError);
1733 : }
1734 :
1735 : compiler::TNode<HeapObject> tmp9;
1736 : compiler::TNode<FixedDoubleArray> tmp10;
1737 : ca_.Bind(&block5, &tmp9, &tmp10);
1738 896 : return compiler::TNode<FixedDoubleArray>{tmp10};
1739 : }
1740 :
1741 56 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::CastHeapObject25ATSloppyArgumentsElements(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
1742 56 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1743 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1744 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, FixedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1745 : compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1746 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1747 : compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1748 : ca_.Goto(&block0, p_o);
1749 :
1750 56 : if (block0.is_used()) {
1751 : compiler::TNode<HeapObject> tmp0;
1752 : ca_.Bind(&block0, &tmp0);
1753 : compiler::TNode<FixedArray> tmp1;
1754 : USE(tmp1);
1755 : compiler::CodeAssemblerLabel label0(&ca_);
1756 112 : tmp1 = CodeStubAssembler(state_).HeapObjectToSloppyArgumentsElements(compiler::TNode<HeapObject>{tmp0}, &label0);
1757 : ca_.Goto(&block3, tmp0, tmp0, tmp1);
1758 56 : if (label0.is_used()) {
1759 56 : ca_.Bind(&label0);
1760 : ca_.Goto(&block4, tmp0, tmp0);
1761 56 : }
1762 : }
1763 :
1764 56 : if (block4.is_used()) {
1765 : compiler::TNode<HeapObject> tmp2;
1766 : compiler::TNode<HeapObject> tmp3;
1767 : ca_.Bind(&block4, &tmp2, &tmp3);
1768 : ca_.Goto(&block1);
1769 : }
1770 :
1771 56 : if (block3.is_used()) {
1772 : compiler::TNode<HeapObject> tmp4;
1773 : compiler::TNode<HeapObject> tmp5;
1774 : compiler::TNode<FixedArray> tmp6;
1775 : ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
1776 : ca_.Goto(&block2, tmp4, tmp6);
1777 : }
1778 :
1779 56 : if (block2.is_used()) {
1780 : compiler::TNode<HeapObject> tmp7;
1781 : compiler::TNode<FixedArray> tmp8;
1782 : ca_.Bind(&block2, &tmp7, &tmp8);
1783 : ca_.Goto(&block5, tmp7, tmp8);
1784 : }
1785 :
1786 56 : if (block1.is_used()) {
1787 : ca_.Bind(&block1);
1788 56 : ca_.Goto(label_CastError);
1789 : }
1790 :
1791 : compiler::TNode<HeapObject> tmp9;
1792 : compiler::TNode<FixedArray> tmp10;
1793 : ca_.Bind(&block5, &tmp9, &tmp10);
1794 112 : return compiler::TNode<FixedArray>{tmp10};
1795 : }
1796 :
1797 1288 : compiler::TNode<JSDataView> BaseBuiltinsFromDSLAssembler::CastHeapObject12ATJSDataView(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
1798 1288 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1799 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1800 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, JSDataView> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1801 : compiler::CodeAssemblerParameterizedLabel<HeapObject, JSDataView> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1802 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1803 : compiler::CodeAssemblerParameterizedLabel<HeapObject, JSDataView> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1804 : ca_.Goto(&block0, p_o);
1805 :
1806 1288 : if (block0.is_used()) {
1807 : compiler::TNode<HeapObject> tmp0;
1808 : ca_.Bind(&block0, &tmp0);
1809 : compiler::TNode<JSDataView> tmp1;
1810 : USE(tmp1);
1811 : compiler::CodeAssemblerLabel label0(&ca_);
1812 2576 : tmp1 = CodeStubAssembler(state_).HeapObjectToJSDataView(compiler::TNode<HeapObject>{tmp0}, &label0);
1813 : ca_.Goto(&block3, tmp0, tmp0, tmp1);
1814 1288 : if (label0.is_used()) {
1815 1288 : ca_.Bind(&label0);
1816 : ca_.Goto(&block4, tmp0, tmp0);
1817 1288 : }
1818 : }
1819 :
1820 1288 : if (block4.is_used()) {
1821 : compiler::TNode<HeapObject> tmp2;
1822 : compiler::TNode<HeapObject> tmp3;
1823 : ca_.Bind(&block4, &tmp2, &tmp3);
1824 : ca_.Goto(&block1);
1825 : }
1826 :
1827 1288 : if (block3.is_used()) {
1828 : compiler::TNode<HeapObject> tmp4;
1829 : compiler::TNode<HeapObject> tmp5;
1830 : compiler::TNode<JSDataView> tmp6;
1831 : ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
1832 : ca_.Goto(&block2, tmp4, tmp6);
1833 : }
1834 :
1835 1288 : if (block2.is_used()) {
1836 : compiler::TNode<HeapObject> tmp7;
1837 : compiler::TNode<JSDataView> tmp8;
1838 : ca_.Bind(&block2, &tmp7, &tmp8);
1839 : ca_.Goto(&block5, tmp7, tmp8);
1840 : }
1841 :
1842 1288 : if (block1.is_used()) {
1843 : ca_.Bind(&block1);
1844 1288 : ca_.Goto(label_CastError);
1845 : }
1846 :
1847 : compiler::TNode<HeapObject> tmp9;
1848 : compiler::TNode<JSDataView> tmp10;
1849 : ca_.Bind(&block5, &tmp9, &tmp10);
1850 2576 : return compiler::TNode<JSDataView>{tmp10};
1851 : }
1852 :
1853 0 : compiler::TNode<JSTypedArray> BaseBuiltinsFromDSLAssembler::CastHeapObject14ATJSTypedArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
1854 0 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1855 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1856 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1857 : compiler::CodeAssemblerParameterizedLabel<HeapObject, JSTypedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1858 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1859 : compiler::CodeAssemblerParameterizedLabel<HeapObject, JSTypedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1860 : ca_.Goto(&block0, p_o);
1861 :
1862 0 : if (block0.is_used()) {
1863 : compiler::TNode<HeapObject> tmp0;
1864 : ca_.Bind(&block0, &tmp0);
1865 : compiler::TNode<BoolT> tmp1;
1866 : USE(tmp1);
1867 0 : tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsJSTypedArray(compiler::TNode<HeapObject>{tmp0}));
1868 0 : ca_.Branch(tmp1, &block3, &block4, tmp0);
1869 : }
1870 :
1871 0 : if (block3.is_used()) {
1872 : compiler::TNode<HeapObject> tmp2;
1873 : ca_.Bind(&block3, &tmp2);
1874 : compiler::TNode<JSTypedArray> tmp3;
1875 : USE(tmp3);
1876 : tmp3 = TORQUE_CAST(compiler::TNode<Object>{tmp2});
1877 : ca_.Goto(&block2, tmp2, tmp3);
1878 : }
1879 :
1880 0 : if (block4.is_used()) {
1881 : compiler::TNode<HeapObject> tmp4;
1882 : ca_.Bind(&block4, &tmp4);
1883 : ca_.Goto(&block1);
1884 : }
1885 :
1886 0 : if (block2.is_used()) {
1887 : compiler::TNode<HeapObject> tmp5;
1888 : compiler::TNode<JSTypedArray> tmp6;
1889 : ca_.Bind(&block2, &tmp5, &tmp6);
1890 : ca_.Goto(&block5, tmp5, tmp6);
1891 : }
1892 :
1893 0 : if (block1.is_used()) {
1894 : ca_.Bind(&block1);
1895 0 : ca_.Goto(label_CastError);
1896 : }
1897 :
1898 : compiler::TNode<HeapObject> tmp7;
1899 : compiler::TNode<JSTypedArray> tmp8;
1900 : ca_.Bind(&block5, &tmp7, &tmp8);
1901 0 : return compiler::TNode<JSTypedArray>{tmp8};
1902 : }
1903 :
1904 504 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::CastHeapObject41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
1905 504 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1906 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1907 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1908 : compiler::CodeAssemblerParameterizedLabel<HeapObject, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1909 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1910 : compiler::CodeAssemblerParameterizedLabel<HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1911 : ca_.Goto(&block0, p_o);
1912 :
1913 504 : if (block0.is_used()) {
1914 : compiler::TNode<HeapObject> tmp0;
1915 : ca_.Bind(&block0, &tmp0);
1916 : compiler::TNode<JSReceiver> tmp1;
1917 : USE(tmp1);
1918 : compiler::CodeAssemblerLabel label0(&ca_);
1919 1008 : tmp1 = CodeStubAssembler(state_).HeapObjectToCallable(compiler::TNode<HeapObject>{tmp0}, &label0);
1920 : ca_.Goto(&block3, tmp0, tmp0, tmp1);
1921 504 : if (label0.is_used()) {
1922 504 : ca_.Bind(&label0);
1923 : ca_.Goto(&block4, tmp0, tmp0);
1924 504 : }
1925 : }
1926 :
1927 504 : if (block4.is_used()) {
1928 : compiler::TNode<HeapObject> tmp2;
1929 : compiler::TNode<HeapObject> tmp3;
1930 : ca_.Bind(&block4, &tmp2, &tmp3);
1931 : ca_.Goto(&block1);
1932 : }
1933 :
1934 504 : if (block3.is_used()) {
1935 : compiler::TNode<HeapObject> tmp4;
1936 : compiler::TNode<HeapObject> tmp5;
1937 : compiler::TNode<JSReceiver> tmp6;
1938 : ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
1939 : ca_.Goto(&block2, tmp4, tmp6);
1940 : }
1941 :
1942 504 : if (block2.is_used()) {
1943 : compiler::TNode<HeapObject> tmp7;
1944 : compiler::TNode<JSReceiver> tmp8;
1945 : ca_.Bind(&block2, &tmp7, &tmp8);
1946 : ca_.Goto(&block5, tmp7, tmp8);
1947 : }
1948 :
1949 504 : if (block1.is_used()) {
1950 : ca_.Bind(&block1);
1951 504 : ca_.Goto(label_CastError);
1952 : }
1953 :
1954 : compiler::TNode<HeapObject> tmp9;
1955 : compiler::TNode<JSReceiver> tmp10;
1956 : ca_.Bind(&block5, &tmp9, &tmp10);
1957 1008 : return compiler::TNode<JSReceiver>{tmp10};
1958 : }
1959 :
1960 789 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::CastHeapObject7JSArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
1961 789 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1962 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1963 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1964 : compiler::CodeAssemblerParameterizedLabel<HeapObject, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1965 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1966 : compiler::CodeAssemblerParameterizedLabel<HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1967 : ca_.Goto(&block0, p_o);
1968 :
1969 789 : if (block0.is_used()) {
1970 : compiler::TNode<HeapObject> tmp0;
1971 : ca_.Bind(&block0, &tmp0);
1972 : compiler::TNode<JSArray> tmp1;
1973 : USE(tmp1);
1974 : compiler::CodeAssemblerLabel label0(&ca_);
1975 1578 : tmp1 = CodeStubAssembler(state_).HeapObjectToJSArray(compiler::TNode<HeapObject>{tmp0}, &label0);
1976 : ca_.Goto(&block3, tmp0, tmp0, tmp1);
1977 789 : if (label0.is_used()) {
1978 789 : ca_.Bind(&label0);
1979 : ca_.Goto(&block4, tmp0, tmp0);
1980 789 : }
1981 : }
1982 :
1983 789 : if (block4.is_used()) {
1984 : compiler::TNode<HeapObject> tmp2;
1985 : compiler::TNode<HeapObject> tmp3;
1986 : ca_.Bind(&block4, &tmp2, &tmp3);
1987 : ca_.Goto(&block1);
1988 : }
1989 :
1990 789 : if (block3.is_used()) {
1991 : compiler::TNode<HeapObject> tmp4;
1992 : compiler::TNode<HeapObject> tmp5;
1993 : compiler::TNode<JSArray> tmp6;
1994 : ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
1995 : ca_.Goto(&block2, tmp4, tmp6);
1996 : }
1997 :
1998 789 : if (block2.is_used()) {
1999 : compiler::TNode<HeapObject> tmp7;
2000 : compiler::TNode<JSArray> tmp8;
2001 : ca_.Bind(&block2, &tmp7, &tmp8);
2002 : ca_.Goto(&block5, tmp7, tmp8);
2003 : }
2004 :
2005 789 : if (block1.is_used()) {
2006 : ca_.Bind(&block1);
2007 789 : ca_.Goto(label_CastError);
2008 : }
2009 :
2010 : compiler::TNode<HeapObject> tmp9;
2011 : compiler::TNode<JSArray> tmp10;
2012 : ca_.Bind(&block5, &tmp9, &tmp10);
2013 1578 : return compiler::TNode<JSArray>{tmp10};
2014 : }
2015 :
2016 0 : compiler::TNode<Context> BaseBuiltinsFromDSLAssembler::CastHeapObject9ATContext(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
2017 0 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2018 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2019 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2020 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2021 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2022 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Context> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2023 : ca_.Goto(&block0, p_o);
2024 :
2025 0 : if (block0.is_used()) {
2026 : compiler::TNode<HeapObject> tmp0;
2027 : ca_.Bind(&block0, &tmp0);
2028 : compiler::TNode<BoolT> tmp1;
2029 : USE(tmp1);
2030 0 : tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsContext(compiler::TNode<HeapObject>{tmp0}));
2031 0 : ca_.Branch(tmp1, &block3, &block4, tmp0);
2032 : }
2033 :
2034 0 : if (block3.is_used()) {
2035 : compiler::TNode<HeapObject> tmp2;
2036 : ca_.Bind(&block3, &tmp2);
2037 : compiler::TNode<Context> tmp3;
2038 : USE(tmp3);
2039 : tmp3 = TORQUE_CAST(compiler::TNode<Object>{tmp2});
2040 : ca_.Goto(&block2, tmp2, tmp3);
2041 : }
2042 :
2043 0 : if (block4.is_used()) {
2044 : compiler::TNode<HeapObject> tmp4;
2045 : ca_.Bind(&block4, &tmp4);
2046 : ca_.Goto(&block1);
2047 : }
2048 :
2049 0 : if (block2.is_used()) {
2050 : compiler::TNode<HeapObject> tmp5;
2051 : compiler::TNode<Context> tmp6;
2052 : ca_.Bind(&block2, &tmp5, &tmp6);
2053 : ca_.Goto(&block5, tmp5, tmp6);
2054 : }
2055 :
2056 0 : if (block1.is_used()) {
2057 : ca_.Bind(&block1);
2058 0 : ca_.Goto(label_CastError);
2059 : }
2060 :
2061 : compiler::TNode<HeapObject> tmp7;
2062 : compiler::TNode<Context> tmp8;
2063 : ca_.Bind(&block5, &tmp7, &tmp8);
2064 0 : return compiler::TNode<Context>{tmp8};
2065 : }
2066 :
2067 0 : compiler::TNode<JSObject> BaseBuiltinsFromDSLAssembler::CastHeapObject8JSObject(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
2068 0 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2069 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2070 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2071 : compiler::CodeAssemblerParameterizedLabel<HeapObject, JSObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2072 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2073 : compiler::CodeAssemblerParameterizedLabel<HeapObject, JSObject> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2074 : ca_.Goto(&block0, p_o);
2075 :
2076 0 : if (block0.is_used()) {
2077 : compiler::TNode<HeapObject> tmp0;
2078 : ca_.Bind(&block0, &tmp0);
2079 : compiler::TNode<BoolT> tmp1;
2080 : USE(tmp1);
2081 0 : tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsJSObject(compiler::TNode<HeapObject>{tmp0}));
2082 0 : ca_.Branch(tmp1, &block3, &block4, tmp0);
2083 : }
2084 :
2085 0 : if (block3.is_used()) {
2086 : compiler::TNode<HeapObject> tmp2;
2087 : ca_.Bind(&block3, &tmp2);
2088 : compiler::TNode<JSObject> tmp3;
2089 : USE(tmp3);
2090 : tmp3 = TORQUE_CAST(compiler::TNode<Object>{tmp2});
2091 : ca_.Goto(&block2, tmp2, tmp3);
2092 : }
2093 :
2094 0 : if (block4.is_used()) {
2095 : compiler::TNode<HeapObject> tmp4;
2096 : ca_.Bind(&block4, &tmp4);
2097 : ca_.Goto(&block1);
2098 : }
2099 :
2100 0 : if (block2.is_used()) {
2101 : compiler::TNode<HeapObject> tmp5;
2102 : compiler::TNode<JSObject> tmp6;
2103 : ca_.Bind(&block2, &tmp5, &tmp6);
2104 : ca_.Goto(&block5, tmp5, tmp6);
2105 : }
2106 :
2107 0 : if (block1.is_used()) {
2108 : ca_.Bind(&block1);
2109 0 : ca_.Goto(label_CastError);
2110 : }
2111 :
2112 : compiler::TNode<HeapObject> tmp7;
2113 : compiler::TNode<JSObject> tmp8;
2114 : ca_.Bind(&block5, &tmp7, &tmp8);
2115 0 : return compiler::TNode<JSObject>{tmp8};
2116 : }
2117 :
2118 0 : compiler::TNode<NumberDictionary> BaseBuiltinsFromDSLAssembler::CastHeapObject18ATNumberDictionary(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
2119 0 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2120 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2121 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2122 : compiler::CodeAssemblerParameterizedLabel<HeapObject, NumberDictionary> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2123 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2124 : compiler::CodeAssemblerParameterizedLabel<HeapObject, NumberDictionary> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2125 : ca_.Goto(&block0, p_o);
2126 :
2127 0 : if (block0.is_used()) {
2128 : compiler::TNode<HeapObject> tmp0;
2129 : ca_.Bind(&block0, &tmp0);
2130 : compiler::TNode<BoolT> tmp1;
2131 : USE(tmp1);
2132 0 : tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNumberDictionary(compiler::TNode<HeapObject>{tmp0}));
2133 0 : ca_.Branch(tmp1, &block3, &block4, tmp0);
2134 : }
2135 :
2136 0 : if (block3.is_used()) {
2137 : compiler::TNode<HeapObject> tmp2;
2138 : ca_.Bind(&block3, &tmp2);
2139 : compiler::TNode<NumberDictionary> tmp3;
2140 : USE(tmp3);
2141 : tmp3 = TORQUE_CAST(compiler::TNode<Object>{tmp2});
2142 : ca_.Goto(&block2, tmp2, tmp3);
2143 : }
2144 :
2145 0 : if (block4.is_used()) {
2146 : compiler::TNode<HeapObject> tmp4;
2147 : ca_.Bind(&block4, &tmp4);
2148 : ca_.Goto(&block1);
2149 : }
2150 :
2151 0 : if (block2.is_used()) {
2152 : compiler::TNode<HeapObject> tmp5;
2153 : compiler::TNode<NumberDictionary> tmp6;
2154 : ca_.Bind(&block2, &tmp5, &tmp6);
2155 : ca_.Goto(&block5, tmp5, tmp6);
2156 : }
2157 :
2158 0 : if (block1.is_used()) {
2159 : ca_.Bind(&block1);
2160 0 : ca_.Goto(label_CastError);
2161 : }
2162 :
2163 : compiler::TNode<HeapObject> tmp7;
2164 : compiler::TNode<NumberDictionary> tmp8;
2165 : ca_.Bind(&block5, &tmp7, &tmp8);
2166 0 : return compiler::TNode<NumberDictionary>{tmp8};
2167 : }
2168 :
2169 0 : compiler::TNode<FixedTypedArrayBase> BaseBuiltinsFromDSLAssembler::CastHeapObject21ATFixedTypedArrayBase(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
2170 0 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2171 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2172 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2173 : compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedTypedArrayBase> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2174 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2175 : compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedTypedArrayBase> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2176 : ca_.Goto(&block0, p_o);
2177 :
2178 0 : if (block0.is_used()) {
2179 : compiler::TNode<HeapObject> tmp0;
2180 : ca_.Bind(&block0, &tmp0);
2181 : compiler::TNode<BoolT> tmp1;
2182 : USE(tmp1);
2183 0 : tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsFixedTypedArray(compiler::TNode<HeapObject>{tmp0}));
2184 0 : ca_.Branch(tmp1, &block3, &block4, tmp0);
2185 : }
2186 :
2187 0 : if (block3.is_used()) {
2188 : compiler::TNode<HeapObject> tmp2;
2189 : ca_.Bind(&block3, &tmp2);
2190 : compiler::TNode<FixedTypedArrayBase> tmp3;
2191 : USE(tmp3);
2192 : tmp3 = TORQUE_CAST(compiler::TNode<Object>{tmp2});
2193 : ca_.Goto(&block2, tmp2, tmp3);
2194 : }
2195 :
2196 0 : if (block4.is_used()) {
2197 : compiler::TNode<HeapObject> tmp4;
2198 : ca_.Bind(&block4, &tmp4);
2199 : ca_.Goto(&block1);
2200 : }
2201 :
2202 0 : if (block2.is_used()) {
2203 : compiler::TNode<HeapObject> tmp5;
2204 : compiler::TNode<FixedTypedArrayBase> tmp6;
2205 : ca_.Bind(&block2, &tmp5, &tmp6);
2206 : ca_.Goto(&block5, tmp5, tmp6);
2207 : }
2208 :
2209 0 : if (block1.is_used()) {
2210 : ca_.Bind(&block1);
2211 0 : ca_.Goto(label_CastError);
2212 : }
2213 :
2214 : compiler::TNode<HeapObject> tmp7;
2215 : compiler::TNode<FixedTypedArrayBase> tmp8;
2216 : ca_.Bind(&block5, &tmp7, &tmp8);
2217 0 : return compiler::TNode<FixedTypedArrayBase>{tmp8};
2218 : }
2219 :
2220 336 : compiler::TNode<String> BaseBuiltinsFromDSLAssembler::CastHeapObject8ATString(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
2221 336 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2222 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2223 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2224 : compiler::CodeAssemblerParameterizedLabel<HeapObject, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2225 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2226 : compiler::CodeAssemblerParameterizedLabel<HeapObject, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2227 : ca_.Goto(&block0, p_o);
2228 :
2229 336 : if (block0.is_used()) {
2230 : compiler::TNode<HeapObject> tmp0;
2231 : ca_.Bind(&block0, &tmp0);
2232 : compiler::TNode<String> tmp1;
2233 : USE(tmp1);
2234 : compiler::CodeAssemblerLabel label0(&ca_);
2235 672 : tmp1 = CodeStubAssembler(state_).HeapObjectToString(compiler::TNode<HeapObject>{tmp0}, &label0);
2236 : ca_.Goto(&block3, tmp0, tmp0, tmp1);
2237 336 : if (label0.is_used()) {
2238 336 : ca_.Bind(&label0);
2239 : ca_.Goto(&block4, tmp0, tmp0);
2240 336 : }
2241 : }
2242 :
2243 336 : if (block4.is_used()) {
2244 : compiler::TNode<HeapObject> tmp2;
2245 : compiler::TNode<HeapObject> tmp3;
2246 : ca_.Bind(&block4, &tmp2, &tmp3);
2247 : ca_.Goto(&block1);
2248 : }
2249 :
2250 336 : if (block3.is_used()) {
2251 : compiler::TNode<HeapObject> tmp4;
2252 : compiler::TNode<HeapObject> tmp5;
2253 : compiler::TNode<String> tmp6;
2254 : ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
2255 : ca_.Goto(&block2, tmp4, tmp6);
2256 : }
2257 :
2258 336 : if (block2.is_used()) {
2259 : compiler::TNode<HeapObject> tmp7;
2260 : compiler::TNode<String> tmp8;
2261 : ca_.Bind(&block2, &tmp7, &tmp8);
2262 : ca_.Goto(&block5, tmp7, tmp8);
2263 : }
2264 :
2265 336 : if (block1.is_used()) {
2266 : ca_.Bind(&block1);
2267 336 : ca_.Goto(label_CastError);
2268 : }
2269 :
2270 : compiler::TNode<HeapObject> tmp9;
2271 : compiler::TNode<String> tmp10;
2272 : ca_.Bind(&block5, &tmp9, &tmp10);
2273 672 : return compiler::TNode<String>{tmp10};
2274 : }
2275 :
2276 56 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::CastHeapObject13ATConstructor(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
2277 56 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2278 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2279 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2280 : compiler::CodeAssemblerParameterizedLabel<HeapObject, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2281 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2282 : compiler::CodeAssemblerParameterizedLabel<HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2283 : ca_.Goto(&block0, p_o);
2284 :
2285 56 : if (block0.is_used()) {
2286 : compiler::TNode<HeapObject> tmp0;
2287 : ca_.Bind(&block0, &tmp0);
2288 : compiler::TNode<JSReceiver> tmp1;
2289 : USE(tmp1);
2290 : compiler::CodeAssemblerLabel label0(&ca_);
2291 112 : tmp1 = CodeStubAssembler(state_).HeapObjectToConstructor(compiler::TNode<HeapObject>{tmp0}, &label0);
2292 : ca_.Goto(&block3, tmp0, tmp0, tmp1);
2293 56 : if (label0.is_used()) {
2294 56 : ca_.Bind(&label0);
2295 : ca_.Goto(&block4, tmp0, tmp0);
2296 56 : }
2297 : }
2298 :
2299 56 : if (block4.is_used()) {
2300 : compiler::TNode<HeapObject> tmp2;
2301 : compiler::TNode<HeapObject> tmp3;
2302 : ca_.Bind(&block4, &tmp2, &tmp3);
2303 : ca_.Goto(&block1);
2304 : }
2305 :
2306 56 : if (block3.is_used()) {
2307 : compiler::TNode<HeapObject> tmp4;
2308 : compiler::TNode<HeapObject> tmp5;
2309 : compiler::TNode<JSReceiver> tmp6;
2310 : ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
2311 : ca_.Goto(&block2, tmp4, tmp6);
2312 : }
2313 :
2314 56 : if (block2.is_used()) {
2315 : compiler::TNode<HeapObject> tmp7;
2316 : compiler::TNode<JSReceiver> tmp8;
2317 : ca_.Bind(&block2, &tmp7, &tmp8);
2318 : ca_.Goto(&block5, tmp7, tmp8);
2319 : }
2320 :
2321 56 : if (block1.is_used()) {
2322 : ca_.Bind(&block1);
2323 56 : ca_.Goto(label_CastError);
2324 : }
2325 :
2326 : compiler::TNode<HeapObject> tmp9;
2327 : compiler::TNode<JSReceiver> tmp10;
2328 : ca_.Bind(&block5, &tmp9, &tmp10);
2329 112 : return compiler::TNode<JSReceiver>{tmp10};
2330 : }
2331 :
2332 0 : compiler::TNode<HeapNumber> BaseBuiltinsFromDSLAssembler::CastHeapObject12ATHeapNumber(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
2333 0 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2334 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2335 : compiler::CodeAssemblerParameterizedLabel<HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2336 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapNumber> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2337 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2338 : compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapNumber> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2339 : ca_.Goto(&block0, p_o);
2340 :
2341 0 : if (block0.is_used()) {
2342 : compiler::TNode<HeapObject> tmp0;
2343 : ca_.Bind(&block0, &tmp0);
2344 : compiler::TNode<BoolT> tmp1;
2345 : USE(tmp1);
2346 0 : tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsHeapNumber(compiler::TNode<HeapObject>{tmp0}));
2347 0 : ca_.Branch(tmp1, &block3, &block4, tmp0);
2348 : }
2349 :
2350 0 : if (block3.is_used()) {
2351 : compiler::TNode<HeapObject> tmp2;
2352 : ca_.Bind(&block3, &tmp2);
2353 : compiler::TNode<HeapNumber> tmp3;
2354 : USE(tmp3);
2355 : tmp3 = TORQUE_CAST(compiler::TNode<Object>{tmp2});
2356 : ca_.Goto(&block2, tmp2, tmp3);
2357 : }
2358 :
2359 0 : if (block4.is_used()) {
2360 : compiler::TNode<HeapObject> tmp4;
2361 : ca_.Bind(&block4, &tmp4);
2362 : ca_.Goto(&block1);
2363 : }
2364 :
2365 0 : if (block2.is_used()) {
2366 : compiler::TNode<HeapObject> tmp5;
2367 : compiler::TNode<HeapNumber> tmp6;
2368 : ca_.Bind(&block2, &tmp5, &tmp6);
2369 : ca_.Goto(&block5, tmp5, tmp6);
2370 : }
2371 :
2372 0 : if (block1.is_used()) {
2373 : ca_.Bind(&block1);
2374 0 : ca_.Goto(label_CastError);
2375 : }
2376 :
2377 : compiler::TNode<HeapObject> tmp7;
2378 : compiler::TNode<HeapNumber> tmp8;
2379 : ca_.Bind(&block5, &tmp7, &tmp8);
2380 0 : return compiler::TNode<HeapNumber>{tmp8};
2381 : }
2382 :
2383 168 : compiler::TNode<Map> BaseBuiltinsFromDSLAssembler::CastHeapObject5ATMap(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
2384 168 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2385 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2386 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2387 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2388 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2389 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2390 : ca_.Goto(&block0, p_context, p_o);
2391 :
2392 168 : if (block0.is_used()) {
2393 : compiler::TNode<Context> tmp0;
2394 : compiler::TNode<HeapObject> tmp1;
2395 : ca_.Bind(&block0, &tmp0, &tmp1);
2396 : compiler::TNode<BoolT> tmp2;
2397 : USE(tmp2);
2398 504 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsMap(compiler::TNode<HeapObject>{tmp1}));
2399 168 : ca_.Branch(tmp2, &block3, &block4, tmp0, tmp1);
2400 : }
2401 :
2402 168 : if (block3.is_used()) {
2403 : compiler::TNode<Context> tmp3;
2404 : compiler::TNode<HeapObject> tmp4;
2405 : ca_.Bind(&block3, &tmp3, &tmp4);
2406 : compiler::TNode<Map> tmp5;
2407 : USE(tmp5);
2408 : tmp5 = TORQUE_CAST(compiler::TNode<Object>{tmp4});
2409 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
2410 : }
2411 :
2412 168 : if (block4.is_used()) {
2413 : compiler::TNode<Context> tmp6;
2414 : compiler::TNode<HeapObject> tmp7;
2415 : ca_.Bind(&block4, &tmp6, &tmp7);
2416 : ca_.Goto(&block1);
2417 : }
2418 :
2419 168 : if (block2.is_used()) {
2420 : compiler::TNode<Context> tmp8;
2421 : compiler::TNode<HeapObject> tmp9;
2422 : compiler::TNode<Map> tmp10;
2423 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10);
2424 : ca_.Goto(&block5, tmp8, tmp9, tmp10);
2425 : }
2426 :
2427 168 : if (block1.is_used()) {
2428 : ca_.Bind(&block1);
2429 168 : ca_.Goto(label_CastError);
2430 : }
2431 :
2432 : compiler::TNode<Context> tmp11;
2433 : compiler::TNode<HeapObject> tmp12;
2434 : compiler::TNode<Map> tmp13;
2435 : ca_.Bind(&block5, &tmp11, &tmp12, &tmp13);
2436 336 : return compiler::TNode<Map>{tmp13};
2437 : }
2438 :
2439 672 : compiler::TNode<JSArgumentsObjectWithLength> BaseBuiltinsFromDSLAssembler::CastHeapObject27JSArgumentsObjectWithLength(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
2440 672 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2441 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2442 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2443 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2444 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2445 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2446 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2447 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2448 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2449 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2450 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArgumentsObjectWithLength> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2451 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2452 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArgumentsObjectWithLength> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2453 : ca_.Goto(&block0, p_context, p_o);
2454 :
2455 672 : if (block0.is_used()) {
2456 : compiler::TNode<Context> tmp0;
2457 : compiler::TNode<HeapObject> tmp1;
2458 : ca_.Bind(&block0, &tmp0, &tmp1);
2459 : compiler::TNode<Map> tmp2;
2460 : USE(tmp2);
2461 2016 : tmp2 = ca_.UncheckedCast<Map>(CodeStubAssembler(state_).LoadMap(compiler::TNode<HeapObject>{tmp1}));
2462 : compiler::TNode<BoolT> tmp3;
2463 : USE(tmp3);
2464 1344 : tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsFastAliasedArgumentsMap(compiler::TNode<Context>{tmp0}, compiler::TNode<Map>{tmp2}));
2465 672 : ca_.Branch(tmp3, &block5, &block6, tmp0, tmp1, tmp2);
2466 : }
2467 :
2468 672 : if (block5.is_used()) {
2469 : compiler::TNode<Context> tmp4;
2470 : compiler::TNode<HeapObject> tmp5;
2471 : compiler::TNode<Map> tmp6;
2472 : ca_.Bind(&block5, &tmp4, &tmp5, &tmp6);
2473 : ca_.Goto(&block4, tmp4, tmp5, tmp6);
2474 : }
2475 :
2476 672 : if (block6.is_used()) {
2477 : compiler::TNode<Context> tmp7;
2478 : compiler::TNode<HeapObject> tmp8;
2479 : compiler::TNode<Map> tmp9;
2480 : ca_.Bind(&block6, &tmp7, &tmp8, &tmp9);
2481 : compiler::TNode<BoolT> tmp10;
2482 : USE(tmp10);
2483 1344 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsSloppyArgumentsMap(compiler::TNode<Context>{tmp7}, compiler::TNode<Map>{tmp9}));
2484 672 : ca_.Branch(tmp10, &block7, &block8, tmp7, tmp8, tmp9);
2485 : }
2486 :
2487 672 : if (block7.is_used()) {
2488 : compiler::TNode<Context> tmp11;
2489 : compiler::TNode<HeapObject> tmp12;
2490 : compiler::TNode<Map> tmp13;
2491 : ca_.Bind(&block7, &tmp11, &tmp12, &tmp13);
2492 : ca_.Goto(&block4, tmp11, tmp12, tmp13);
2493 : }
2494 :
2495 672 : if (block8.is_used()) {
2496 : compiler::TNode<Context> tmp14;
2497 : compiler::TNode<HeapObject> tmp15;
2498 : compiler::TNode<Map> tmp16;
2499 : ca_.Bind(&block8, &tmp14, &tmp15, &tmp16);
2500 : compiler::TNode<BoolT> tmp17;
2501 : USE(tmp17);
2502 1344 : tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsStrictArgumentsMap(compiler::TNode<Context>{tmp14}, compiler::TNode<Map>{tmp16}));
2503 672 : ca_.Branch(tmp17, &block9, &block10, tmp14, tmp15, tmp16);
2504 : }
2505 :
2506 672 : if (block9.is_used()) {
2507 : compiler::TNode<Context> tmp18;
2508 : compiler::TNode<HeapObject> tmp19;
2509 : compiler::TNode<Map> tmp20;
2510 : ca_.Bind(&block9, &tmp18, &tmp19, &tmp20);
2511 : ca_.Goto(&block4, tmp18, tmp19, tmp20);
2512 : }
2513 :
2514 672 : if (block10.is_used()) {
2515 : compiler::TNode<Context> tmp21;
2516 : compiler::TNode<HeapObject> tmp22;
2517 : compiler::TNode<Map> tmp23;
2518 : ca_.Bind(&block10, &tmp21, &tmp22, &tmp23);
2519 : compiler::TNode<BoolT> tmp24;
2520 : USE(tmp24);
2521 1344 : tmp24 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsSlowAliasedArgumentsMap(compiler::TNode<Context>{tmp21}, compiler::TNode<Map>{tmp23}));
2522 672 : ca_.Branch(tmp24, &block11, &block12, tmp21, tmp22, tmp23);
2523 : }
2524 :
2525 672 : if (block11.is_used()) {
2526 : compiler::TNode<Context> tmp25;
2527 : compiler::TNode<HeapObject> tmp26;
2528 : compiler::TNode<Map> tmp27;
2529 : ca_.Bind(&block11, &tmp25, &tmp26, &tmp27);
2530 : ca_.Goto(&block4, tmp25, tmp26, tmp27);
2531 : }
2532 :
2533 672 : if (block12.is_used()) {
2534 : compiler::TNode<Context> tmp28;
2535 : compiler::TNode<HeapObject> tmp29;
2536 : compiler::TNode<Map> tmp30;
2537 : ca_.Bind(&block12, &tmp28, &tmp29, &tmp30);
2538 : ca_.Goto(&block1);
2539 : }
2540 :
2541 672 : if (block4.is_used()) {
2542 : compiler::TNode<Context> tmp31;
2543 : compiler::TNode<HeapObject> tmp32;
2544 : compiler::TNode<Map> tmp33;
2545 : ca_.Bind(&block4, &tmp31, &tmp32, &tmp33);
2546 : compiler::TNode<JSArgumentsObjectWithLength> tmp34;
2547 : USE(tmp34);
2548 : tmp34 = TORQUE_CAST(compiler::TNode<Object>{tmp32});
2549 : ca_.Goto(&block2, tmp31, tmp32, tmp34);
2550 : }
2551 :
2552 672 : if (block2.is_used()) {
2553 : compiler::TNode<Context> tmp35;
2554 : compiler::TNode<HeapObject> tmp36;
2555 : compiler::TNode<JSArgumentsObjectWithLength> tmp37;
2556 : ca_.Bind(&block2, &tmp35, &tmp36, &tmp37);
2557 : ca_.Goto(&block13, tmp35, tmp36, tmp37);
2558 : }
2559 :
2560 672 : if (block1.is_used()) {
2561 : ca_.Bind(&block1);
2562 672 : ca_.Goto(label_CastError);
2563 : }
2564 :
2565 : compiler::TNode<Context> tmp38;
2566 : compiler::TNode<HeapObject> tmp39;
2567 : compiler::TNode<JSArgumentsObjectWithLength> tmp40;
2568 : ca_.Bind(&block13, &tmp38, &tmp39, &tmp40);
2569 1344 : return compiler::TNode<JSArgumentsObjectWithLength>{tmp40};
2570 : }
2571 :
2572 2632 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::CastHeapObject13ATFastJSArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
2573 2632 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2574 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2575 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2576 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map, Int32T> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2577 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map, Int32T> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2578 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map, Int32T> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2579 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map, Int32T> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2580 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map, Int32T> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2581 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map, Int32T> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2582 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2583 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2584 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2585 : ca_.Goto(&block0, p_context, p_o);
2586 :
2587 2632 : if (block0.is_used()) {
2588 : compiler::TNode<Context> tmp0;
2589 : compiler::TNode<HeapObject> tmp1;
2590 : ca_.Bind(&block0, &tmp0, &tmp1);
2591 : compiler::TNode<Map> tmp2;
2592 : USE(tmp2);
2593 7896 : tmp2 = ca_.UncheckedCast<Map>(CodeStubAssembler(state_).LoadMap(compiler::TNode<HeapObject>{tmp1}));
2594 : compiler::TNode<BoolT> tmp3;
2595 : USE(tmp3);
2596 5264 : tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsJSArrayMap(compiler::TNode<Map>{tmp2}));
2597 : compiler::TNode<BoolT> tmp4;
2598 : USE(tmp4);
2599 5264 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp3}));
2600 2632 : ca_.Branch(tmp4, &block3, &block4, tmp0, tmp1, tmp2);
2601 : }
2602 :
2603 2632 : if (block3.is_used()) {
2604 : compiler::TNode<Context> tmp5;
2605 : compiler::TNode<HeapObject> tmp6;
2606 : compiler::TNode<Map> tmp7;
2607 : ca_.Bind(&block3, &tmp5, &tmp6, &tmp7);
2608 : ca_.Goto(&block1);
2609 : }
2610 :
2611 2632 : if (block4.is_used()) {
2612 : compiler::TNode<Context> tmp8;
2613 : compiler::TNode<HeapObject> tmp9;
2614 : compiler::TNode<Map> tmp10;
2615 : ca_.Bind(&block4, &tmp8, &tmp9, &tmp10);
2616 : compiler::TNode<Int32T> tmp11;
2617 : USE(tmp11);
2618 7896 : tmp11 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp10}));
2619 : compiler::TNode<BoolT> tmp12;
2620 : USE(tmp12);
2621 5264 : tmp12 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsFastElementsKind(compiler::TNode<Int32T>{tmp11}));
2622 : compiler::TNode<BoolT> tmp13;
2623 : USE(tmp13);
2624 5264 : tmp13 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp12}));
2625 2632 : ca_.Branch(tmp13, &block5, &block6, tmp8, tmp9, tmp10, tmp11);
2626 : }
2627 :
2628 2632 : if (block5.is_used()) {
2629 : compiler::TNode<Context> tmp14;
2630 : compiler::TNode<HeapObject> tmp15;
2631 : compiler::TNode<Map> tmp16;
2632 : compiler::TNode<Int32T> tmp17;
2633 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
2634 : ca_.Goto(&block1);
2635 : }
2636 :
2637 2632 : if (block6.is_used()) {
2638 : compiler::TNode<Context> tmp18;
2639 : compiler::TNode<HeapObject> tmp19;
2640 : compiler::TNode<Map> tmp20;
2641 : compiler::TNode<Int32T> tmp21;
2642 : ca_.Bind(&block6, &tmp18, &tmp19, &tmp20, &tmp21);
2643 : compiler::TNode<BoolT> tmp22;
2644 : USE(tmp22);
2645 10528 : tmp22 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsPrototypeInitialArrayPrototype(compiler::TNode<Context>{tmp18}, compiler::TNode<Map>{tmp20}));
2646 : compiler::TNode<BoolT> tmp23;
2647 : USE(tmp23);
2648 5264 : tmp23 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp22}));
2649 2632 : ca_.Branch(tmp23, &block7, &block8, tmp18, tmp19, tmp20, tmp21);
2650 : }
2651 :
2652 2632 : if (block7.is_used()) {
2653 : compiler::TNode<Context> tmp24;
2654 : compiler::TNode<HeapObject> tmp25;
2655 : compiler::TNode<Map> tmp26;
2656 : compiler::TNode<Int32T> tmp27;
2657 : ca_.Bind(&block7, &tmp24, &tmp25, &tmp26, &tmp27);
2658 : ca_.Goto(&block1);
2659 : }
2660 :
2661 2632 : if (block8.is_used()) {
2662 : compiler::TNode<Context> tmp28;
2663 : compiler::TNode<HeapObject> tmp29;
2664 : compiler::TNode<Map> tmp30;
2665 : compiler::TNode<Int32T> tmp31;
2666 : ca_.Bind(&block8, &tmp28, &tmp29, &tmp30, &tmp31);
2667 : compiler::TNode<BoolT> tmp32;
2668 : USE(tmp32);
2669 5264 : tmp32 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
2670 2632 : ca_.Branch(tmp32, &block9, &block10, tmp28, tmp29, tmp30, tmp31);
2671 : }
2672 :
2673 2632 : if (block9.is_used()) {
2674 : compiler::TNode<Context> tmp33;
2675 : compiler::TNode<HeapObject> tmp34;
2676 : compiler::TNode<Map> tmp35;
2677 : compiler::TNode<Int32T> tmp36;
2678 : ca_.Bind(&block9, &tmp33, &tmp34, &tmp35, &tmp36);
2679 : ca_.Goto(&block1);
2680 : }
2681 :
2682 2632 : if (block10.is_used()) {
2683 : compiler::TNode<Context> tmp37;
2684 : compiler::TNode<HeapObject> tmp38;
2685 : compiler::TNode<Map> tmp39;
2686 : compiler::TNode<Int32T> tmp40;
2687 : ca_.Bind(&block10, &tmp37, &tmp38, &tmp39, &tmp40);
2688 : compiler::TNode<JSArray> tmp41;
2689 : USE(tmp41);
2690 : tmp41 = TORQUE_CAST(compiler::TNode<Object>{tmp38});
2691 : ca_.Goto(&block2, tmp37, tmp38, tmp41);
2692 : }
2693 :
2694 2632 : if (block2.is_used()) {
2695 : compiler::TNode<Context> tmp42;
2696 : compiler::TNode<HeapObject> tmp43;
2697 : compiler::TNode<JSArray> tmp44;
2698 : ca_.Bind(&block2, &tmp42, &tmp43, &tmp44);
2699 : ca_.Goto(&block11, tmp42, tmp43, tmp44);
2700 : }
2701 :
2702 2632 : if (block1.is_used()) {
2703 : ca_.Bind(&block1);
2704 2632 : ca_.Goto(label_CastError);
2705 : }
2706 :
2707 : compiler::TNode<Context> tmp45;
2708 : compiler::TNode<HeapObject> tmp46;
2709 : compiler::TNode<JSArray> tmp47;
2710 : ca_.Bind(&block11, &tmp45, &tmp46, &tmp47);
2711 5264 : return compiler::TNode<JSArray>{tmp47};
2712 : }
2713 :
2714 448 : BaseBuiltinsFromDSLAssembler::FastJSArrayWitness BaseBuiltinsFromDSLAssembler::MakeWitness(compiler::TNode<JSArray> p_array) {
2715 448 : compiler::CodeAssemblerParameterizedLabel<JSArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2716 : compiler::CodeAssemblerParameterizedLabel<JSArray, HeapObject, Map, JSArray, Map, HeapObject, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2717 : compiler::CodeAssemblerParameterizedLabel<JSArray, HeapObject, Map, JSArray, Map, HeapObject, Map, HeapObject, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2718 : compiler::CodeAssemblerParameterizedLabel<JSArray, HeapObject, Map> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2719 : compiler::CodeAssemblerParameterizedLabel<JSArray, HeapObject, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2720 : ca_.Goto(&block0, p_array);
2721 :
2722 448 : if (block0.is_used()) {
2723 : compiler::TNode<JSArray> tmp0;
2724 : ca_.Bind(&block0, &tmp0);
2725 : compiler::TNode<Map> tmp1;
2726 : USE(tmp1);
2727 896 : tmp1 = ca_.UncheckedCast<Map>(CodeStubAssembler(state_).LoadMap(compiler::TNode<HeapObject>{tmp0}));
2728 448 : ca_.Goto(&block2, tmp0, tmp0, tmp1, tmp0, tmp1, tmp0, tmp1, tmp0, tmp1);
2729 : }
2730 :
2731 448 : if (block4.is_used()) {
2732 : compiler::TNode<JSArray> tmp2;
2733 : compiler::TNode<HeapObject> tmp3;
2734 : compiler::TNode<Map> tmp4;
2735 : compiler::TNode<JSArray> tmp5;
2736 : compiler::TNode<Map> tmp6;
2737 : compiler::TNode<HeapObject> tmp7;
2738 : compiler::TNode<Map> tmp8;
2739 : ca_.Bind(&block4, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
2740 0 : CodeStubAssembler(state_).Unreachable();
2741 : }
2742 :
2743 448 : if (block2.is_used()) {
2744 : compiler::TNode<JSArray> tmp9;
2745 : compiler::TNode<HeapObject> tmp10;
2746 : compiler::TNode<Map> tmp11;
2747 : compiler::TNode<JSArray> tmp12;
2748 : compiler::TNode<Map> tmp13;
2749 : compiler::TNode<HeapObject> tmp14;
2750 : compiler::TNode<Map> tmp15;
2751 : compiler::TNode<HeapObject> tmp16;
2752 : compiler::TNode<Map> tmp17;
2753 : ca_.Bind(&block2, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17);
2754 : ca_.Goto(&block1, tmp9, tmp16, tmp17);
2755 : }
2756 :
2757 448 : if (block1.is_used()) {
2758 : compiler::TNode<JSArray> tmp18;
2759 : compiler::TNode<HeapObject> tmp19;
2760 : compiler::TNode<Map> tmp20;
2761 : ca_.Bind(&block1, &tmp18, &tmp19, &tmp20);
2762 : ca_.Goto(&block5, tmp18, tmp19, tmp20);
2763 : }
2764 :
2765 : compiler::TNode<JSArray> tmp21;
2766 : compiler::TNode<HeapObject> tmp22;
2767 : compiler::TNode<Map> tmp23;
2768 : ca_.Bind(&block5, &tmp21, &tmp22, &tmp23);
2769 896 : return BaseBuiltinsFromDSLAssembler::FastJSArrayWitness{compiler::TNode<HeapObject>{tmp22}, compiler::TNode<Map>{tmp23}};
2770 : }
2771 :
2772 448 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Testify(BaseBuiltinsFromDSLAssembler::FastJSArrayWitness p_witness, compiler::CodeAssemblerLabel* label_CastError) {
2773 448 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Map> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2774 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Map> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2775 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2776 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2777 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Map> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2778 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Map, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2779 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2780 : compiler::CodeAssemblerParameterizedLabel<HeapObject, Map, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2781 : ca_.Goto(&block0, p_witness.array, p_witness.map);
2782 :
2783 448 : if (block0.is_used()) {
2784 : compiler::TNode<HeapObject> tmp0;
2785 : compiler::TNode<Map> tmp1;
2786 : ca_.Bind(&block0, &tmp0, &tmp1);
2787 : compiler::TNode<Map> tmp2;
2788 : USE(tmp2);
2789 1344 : tmp2 = ca_.UncheckedCast<Map>(CodeStubAssembler(state_).LoadMap(compiler::TNode<HeapObject>{tmp0}));
2790 : compiler::TNode<BoolT> tmp3;
2791 : USE(tmp3);
2792 896 : tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<Object>{tmp2}, compiler::TNode<Object>{tmp1}));
2793 448 : ca_.Branch(tmp3, &block3, &block4, tmp0, tmp1);
2794 : }
2795 :
2796 448 : if (block3.is_used()) {
2797 : compiler::TNode<HeapObject> tmp4;
2798 : compiler::TNode<Map> tmp5;
2799 : ca_.Bind(&block3, &tmp4, &tmp5);
2800 : ca_.Goto(&block1);
2801 : }
2802 :
2803 448 : if (block4.is_used()) {
2804 : compiler::TNode<HeapObject> tmp6;
2805 : compiler::TNode<Map> tmp7;
2806 : ca_.Bind(&block4, &tmp6, &tmp7);
2807 : compiler::TNode<BoolT> tmp8;
2808 : USE(tmp8);
2809 896 : tmp8 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
2810 448 : ca_.Branch(tmp8, &block5, &block6, tmp6, tmp7);
2811 : }
2812 :
2813 448 : if (block5.is_used()) {
2814 : compiler::TNode<HeapObject> tmp9;
2815 : compiler::TNode<Map> tmp10;
2816 : ca_.Bind(&block5, &tmp9, &tmp10);
2817 : ca_.Goto(&block1);
2818 : }
2819 :
2820 448 : if (block6.is_used()) {
2821 : compiler::TNode<HeapObject> tmp11;
2822 : compiler::TNode<Map> tmp12;
2823 : ca_.Bind(&block6, &tmp11, &tmp12);
2824 : compiler::TNode<JSArray> tmp13;
2825 : USE(tmp13);
2826 : tmp13 = TORQUE_CAST(compiler::TNode<Object>{tmp11});
2827 : ca_.Goto(&block2, tmp11, tmp12, tmp13);
2828 : }
2829 :
2830 448 : if (block2.is_used()) {
2831 : compiler::TNode<HeapObject> tmp14;
2832 : compiler::TNode<Map> tmp15;
2833 : compiler::TNode<JSArray> tmp16;
2834 : ca_.Bind(&block2, &tmp14, &tmp15, &tmp16);
2835 : ca_.Goto(&block7, tmp14, tmp15, tmp16);
2836 : }
2837 :
2838 448 : if (block1.is_used()) {
2839 : ca_.Bind(&block1);
2840 448 : ca_.Goto(label_CastError);
2841 : }
2842 :
2843 : compiler::TNode<HeapObject> tmp17;
2844 : compiler::TNode<Map> tmp18;
2845 : compiler::TNode<JSArray> tmp19;
2846 : ca_.Bind(&block7, &tmp17, &tmp18, &tmp19);
2847 896 : return compiler::TNode<JSArray>{tmp19};
2848 : }
2849 :
2850 112 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::CastHeapObject20ATFastJSArrayForCopy(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
2851 112 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2852 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2853 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2854 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2855 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2856 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2857 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2858 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2859 : ca_.Goto(&block0, p_context, p_o);
2860 :
2861 112 : if (block0.is_used()) {
2862 : compiler::TNode<Context> tmp0;
2863 : compiler::TNode<HeapObject> tmp1;
2864 : ca_.Bind(&block0, &tmp0, &tmp1);
2865 : compiler::TNode<BoolT> tmp2;
2866 : USE(tmp2);
2867 224 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsArraySpeciesProtectorCellInvalid());
2868 112 : ca_.Branch(tmp2, &block3, &block4, tmp0, tmp1);
2869 : }
2870 :
2871 112 : if (block3.is_used()) {
2872 : compiler::TNode<Context> tmp3;
2873 : compiler::TNode<HeapObject> tmp4;
2874 : ca_.Bind(&block3, &tmp3, &tmp4);
2875 : ca_.Goto(&block1);
2876 : }
2877 :
2878 112 : if (block4.is_used()) {
2879 : compiler::TNode<Context> tmp5;
2880 : compiler::TNode<HeapObject> tmp6;
2881 : ca_.Bind(&block4, &tmp5, &tmp6);
2882 : compiler::TNode<JSArray> tmp7;
2883 : USE(tmp7);
2884 : compiler::CodeAssemblerLabel label0(&ca_);
2885 336 : tmp7 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp5}, compiler::TNode<HeapObject>{tmp6}, &label0);
2886 : ca_.Goto(&block5, tmp5, tmp6, tmp6, tmp7);
2887 112 : if (label0.is_used()) {
2888 112 : ca_.Bind(&label0);
2889 : ca_.Goto(&block6, tmp5, tmp6, tmp6);
2890 112 : }
2891 : }
2892 :
2893 112 : if (block6.is_used()) {
2894 : compiler::TNode<Context> tmp8;
2895 : compiler::TNode<HeapObject> tmp9;
2896 : compiler::TNode<HeapObject> tmp10;
2897 : ca_.Bind(&block6, &tmp8, &tmp9, &tmp10);
2898 : ca_.Goto(&block1);
2899 : }
2900 :
2901 112 : if (block5.is_used()) {
2902 : compiler::TNode<Context> tmp11;
2903 : compiler::TNode<HeapObject> tmp12;
2904 : compiler::TNode<HeapObject> tmp13;
2905 : compiler::TNode<JSArray> tmp14;
2906 : ca_.Bind(&block5, &tmp11, &tmp12, &tmp13, &tmp14);
2907 : compiler::TNode<JSArray> tmp15;
2908 : USE(tmp15);
2909 : tmp15 = TORQUE_CAST(compiler::TNode<Object>{tmp12});
2910 : ca_.Goto(&block2, tmp11, tmp12, tmp15);
2911 : }
2912 :
2913 112 : if (block2.is_used()) {
2914 : compiler::TNode<Context> tmp16;
2915 : compiler::TNode<HeapObject> tmp17;
2916 : compiler::TNode<JSArray> tmp18;
2917 : ca_.Bind(&block2, &tmp16, &tmp17, &tmp18);
2918 : ca_.Goto(&block7, tmp16, tmp17, tmp18);
2919 : }
2920 :
2921 112 : if (block1.is_used()) {
2922 : ca_.Bind(&block1);
2923 112 : ca_.Goto(label_CastError);
2924 : }
2925 :
2926 : compiler::TNode<Context> tmp19;
2927 : compiler::TNode<HeapObject> tmp20;
2928 : compiler::TNode<JSArray> tmp21;
2929 : ca_.Bind(&block7, &tmp19, &tmp20, &tmp21);
2930 224 : return compiler::TNode<JSArray>{tmp21};
2931 : }
2932 :
2933 448 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::CastHeapObject34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
2934 448 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2935 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2936 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2937 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2938 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2939 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2940 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2941 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2942 : ca_.Goto(&block0, p_context, p_o);
2943 :
2944 448 : if (block0.is_used()) {
2945 : compiler::TNode<Context> tmp0;
2946 : compiler::TNode<HeapObject> tmp1;
2947 : ca_.Bind(&block0, &tmp0, &tmp1);
2948 : compiler::TNode<BoolT> tmp2;
2949 : USE(tmp2);
2950 896 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsArrayIteratorProtectorCellInvalid());
2951 448 : ca_.Branch(tmp2, &block3, &block4, tmp0, tmp1);
2952 : }
2953 :
2954 448 : if (block3.is_used()) {
2955 : compiler::TNode<Context> tmp3;
2956 : compiler::TNode<HeapObject> tmp4;
2957 : ca_.Bind(&block3, &tmp3, &tmp4);
2958 : ca_.Goto(&block1);
2959 : }
2960 :
2961 448 : if (block4.is_used()) {
2962 : compiler::TNode<Context> tmp5;
2963 : compiler::TNode<HeapObject> tmp6;
2964 : ca_.Bind(&block4, &tmp5, &tmp6);
2965 : compiler::TNode<JSArray> tmp7;
2966 : USE(tmp7);
2967 : compiler::CodeAssemblerLabel label0(&ca_);
2968 1344 : tmp7 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp5}, compiler::TNode<HeapObject>{tmp6}, &label0);
2969 : ca_.Goto(&block5, tmp5, tmp6, tmp6, tmp7);
2970 448 : if (label0.is_used()) {
2971 448 : ca_.Bind(&label0);
2972 : ca_.Goto(&block6, tmp5, tmp6, tmp6);
2973 448 : }
2974 : }
2975 :
2976 448 : if (block6.is_used()) {
2977 : compiler::TNode<Context> tmp8;
2978 : compiler::TNode<HeapObject> tmp9;
2979 : compiler::TNode<HeapObject> tmp10;
2980 : ca_.Bind(&block6, &tmp8, &tmp9, &tmp10);
2981 : ca_.Goto(&block1);
2982 : }
2983 :
2984 448 : if (block5.is_used()) {
2985 : compiler::TNode<Context> tmp11;
2986 : compiler::TNode<HeapObject> tmp12;
2987 : compiler::TNode<HeapObject> tmp13;
2988 : compiler::TNode<JSArray> tmp14;
2989 : ca_.Bind(&block5, &tmp11, &tmp12, &tmp13, &tmp14);
2990 : compiler::TNode<JSArray> tmp15;
2991 : USE(tmp15);
2992 : tmp15 = TORQUE_CAST(compiler::TNode<Object>{tmp12});
2993 : ca_.Goto(&block2, tmp11, tmp12, tmp15);
2994 : }
2995 :
2996 448 : if (block2.is_used()) {
2997 : compiler::TNode<Context> tmp16;
2998 : compiler::TNode<HeapObject> tmp17;
2999 : compiler::TNode<JSArray> tmp18;
3000 : ca_.Bind(&block2, &tmp16, &tmp17, &tmp18);
3001 : ca_.Goto(&block7, tmp16, tmp17, tmp18);
3002 : }
3003 :
3004 448 : if (block1.is_used()) {
3005 : ca_.Bind(&block1);
3006 448 : ca_.Goto(label_CastError);
3007 : }
3008 :
3009 : compiler::TNode<Context> tmp19;
3010 : compiler::TNode<HeapObject> tmp20;
3011 : compiler::TNode<JSArray> tmp21;
3012 : ca_.Bind(&block7, &tmp19, &tmp20, &tmp21);
3013 896 : return compiler::TNode<JSArray>{tmp21};
3014 : }
3015 :
3016 728 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::CastHeapObject10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
3017 728 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3018 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3019 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3020 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3021 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3022 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3023 : ca_.Goto(&block0, p_context, p_o);
3024 :
3025 728 : if (block0.is_used()) {
3026 : compiler::TNode<Context> tmp0;
3027 : compiler::TNode<HeapObject> tmp1;
3028 : ca_.Bind(&block0, &tmp0, &tmp1);
3029 : compiler::TNode<BoolT> tmp2;
3030 : USE(tmp2);
3031 2184 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsJSReceiver(compiler::TNode<HeapObject>{tmp1}));
3032 728 : ca_.Branch(tmp2, &block3, &block4, tmp0, tmp1);
3033 : }
3034 :
3035 728 : if (block3.is_used()) {
3036 : compiler::TNode<Context> tmp3;
3037 : compiler::TNode<HeapObject> tmp4;
3038 : ca_.Bind(&block3, &tmp3, &tmp4);
3039 : compiler::TNode<JSReceiver> tmp5;
3040 : USE(tmp5);
3041 : tmp5 = TORQUE_CAST(compiler::TNode<Object>{tmp4});
3042 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
3043 : }
3044 :
3045 728 : if (block4.is_used()) {
3046 : compiler::TNode<Context> tmp6;
3047 : compiler::TNode<HeapObject> tmp7;
3048 : ca_.Bind(&block4, &tmp6, &tmp7);
3049 : ca_.Goto(&block1);
3050 : }
3051 :
3052 728 : if (block2.is_used()) {
3053 : compiler::TNode<Context> tmp8;
3054 : compiler::TNode<HeapObject> tmp9;
3055 : compiler::TNode<JSReceiver> tmp10;
3056 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10);
3057 : ca_.Goto(&block5, tmp8, tmp9, tmp10);
3058 : }
3059 :
3060 728 : if (block1.is_used()) {
3061 : ca_.Bind(&block1);
3062 728 : ca_.Goto(label_CastError);
3063 : }
3064 :
3065 : compiler::TNode<Context> tmp11;
3066 : compiler::TNode<HeapObject> tmp12;
3067 : compiler::TNode<JSReceiver> tmp13;
3068 : ca_.Bind(&block5, &tmp11, &tmp12, &tmp13);
3069 1456 : return compiler::TNode<JSReceiver>{tmp13};
3070 : }
3071 :
3072 0 : compiler::TNode<JSFunction> BaseBuiltinsFromDSLAssembler::CastHeapObject10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
3073 0 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3074 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3075 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3076 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSFunction> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3077 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3078 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSFunction> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3079 : ca_.Goto(&block0, p_context, p_o);
3080 :
3081 0 : if (block0.is_used()) {
3082 : compiler::TNode<Context> tmp0;
3083 : compiler::TNode<HeapObject> tmp1;
3084 : ca_.Bind(&block0, &tmp0, &tmp1);
3085 : compiler::TNode<BoolT> tmp2;
3086 : USE(tmp2);
3087 0 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsJSFunction(compiler::TNode<HeapObject>{tmp1}));
3088 0 : ca_.Branch(tmp2, &block3, &block4, tmp0, tmp1);
3089 : }
3090 :
3091 0 : if (block3.is_used()) {
3092 : compiler::TNode<Context> tmp3;
3093 : compiler::TNode<HeapObject> tmp4;
3094 : ca_.Bind(&block3, &tmp3, &tmp4);
3095 : compiler::TNode<JSFunction> tmp5;
3096 : USE(tmp5);
3097 : tmp5 = TORQUE_CAST(compiler::TNode<Object>{tmp4});
3098 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
3099 : }
3100 :
3101 0 : if (block4.is_used()) {
3102 : compiler::TNode<Context> tmp6;
3103 : compiler::TNode<HeapObject> tmp7;
3104 : ca_.Bind(&block4, &tmp6, &tmp7);
3105 : ca_.Goto(&block1);
3106 : }
3107 :
3108 0 : if (block2.is_used()) {
3109 : compiler::TNode<Context> tmp8;
3110 : compiler::TNode<HeapObject> tmp9;
3111 : compiler::TNode<JSFunction> tmp10;
3112 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10);
3113 : ca_.Goto(&block5, tmp8, tmp9, tmp10);
3114 : }
3115 :
3116 0 : if (block1.is_used()) {
3117 : ca_.Bind(&block1);
3118 0 : ca_.Goto(label_CastError);
3119 : }
3120 :
3121 : compiler::TNode<Context> tmp11;
3122 : compiler::TNode<HeapObject> tmp12;
3123 : compiler::TNode<JSFunction> tmp13;
3124 : ca_.Bind(&block5, &tmp11, &tmp12, &tmp13);
3125 0 : return compiler::TNode<JSFunction>{tmp13};
3126 : }
3127 :
3128 1343 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::Cast5ATSmi(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
3129 1343 : compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3130 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3131 : compiler::CodeAssemblerParameterizedLabel<Object, Object, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3132 : compiler::CodeAssemblerParameterizedLabel<Object, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3133 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3134 : compiler::CodeAssemblerParameterizedLabel<Object, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3135 : ca_.Goto(&block0, p_o);
3136 :
3137 1343 : if (block0.is_used()) {
3138 : compiler::TNode<Object> tmp0;
3139 : ca_.Bind(&block0, &tmp0);
3140 : compiler::TNode<Smi> tmp1;
3141 : USE(tmp1);
3142 : compiler::CodeAssemblerLabel label0(&ca_);
3143 2686 : tmp1 = CodeStubAssembler(state_).TaggedToSmi(compiler::TNode<Object>{tmp0}, &label0);
3144 : ca_.Goto(&block3, tmp0, tmp0, tmp1);
3145 1343 : if (label0.is_used()) {
3146 1343 : ca_.Bind(&label0);
3147 : ca_.Goto(&block4, tmp0, tmp0);
3148 1343 : }
3149 : }
3150 :
3151 1343 : if (block4.is_used()) {
3152 : compiler::TNode<Object> tmp2;
3153 : compiler::TNode<Object> tmp3;
3154 : ca_.Bind(&block4, &tmp2, &tmp3);
3155 : ca_.Goto(&block1);
3156 : }
3157 :
3158 1343 : if (block3.is_used()) {
3159 : compiler::TNode<Object> tmp4;
3160 : compiler::TNode<Object> tmp5;
3161 : compiler::TNode<Smi> tmp6;
3162 : ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
3163 : ca_.Goto(&block2, tmp4, tmp6);
3164 : }
3165 :
3166 1343 : if (block2.is_used()) {
3167 : compiler::TNode<Object> tmp7;
3168 : compiler::TNode<Smi> tmp8;
3169 : ca_.Bind(&block2, &tmp7, &tmp8);
3170 : ca_.Goto(&block5, tmp7, tmp8);
3171 : }
3172 :
3173 1343 : if (block1.is_used()) {
3174 : ca_.Bind(&block1);
3175 1343 : ca_.Goto(label_CastError);
3176 : }
3177 :
3178 : compiler::TNode<Object> tmp9;
3179 : compiler::TNode<Smi> tmp10;
3180 : ca_.Bind(&block5, &tmp9, &tmp10);
3181 2686 : return compiler::TNode<Smi>{tmp10};
3182 : }
3183 :
3184 896 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
3185 896 : compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3186 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3187 : compiler::CodeAssemblerParameterizedLabel<Object, Object, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3188 : compiler::CodeAssemblerParameterizedLabel<Object, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3189 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3190 : compiler::CodeAssemblerParameterizedLabel<Object, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3191 : ca_.Goto(&block0, p_o);
3192 :
3193 896 : if (block0.is_used()) {
3194 : compiler::TNode<Object> tmp0;
3195 : ca_.Bind(&block0, &tmp0);
3196 : compiler::TNode<Number> tmp1;
3197 : USE(tmp1);
3198 : compiler::CodeAssemblerLabel label0(&ca_);
3199 1792 : tmp1 = CodeStubAssembler(state_).TaggedToNumber(compiler::TNode<Object>{tmp0}, &label0);
3200 : ca_.Goto(&block3, tmp0, tmp0, tmp1);
3201 896 : if (label0.is_used()) {
3202 896 : ca_.Bind(&label0);
3203 : ca_.Goto(&block4, tmp0, tmp0);
3204 896 : }
3205 : }
3206 :
3207 896 : if (block4.is_used()) {
3208 : compiler::TNode<Object> tmp2;
3209 : compiler::TNode<Object> tmp3;
3210 : ca_.Bind(&block4, &tmp2, &tmp3);
3211 : ca_.Goto(&block1);
3212 : }
3213 :
3214 896 : if (block3.is_used()) {
3215 : compiler::TNode<Object> tmp4;
3216 : compiler::TNode<Object> tmp5;
3217 : compiler::TNode<Number> tmp6;
3218 : ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
3219 : ca_.Goto(&block2, tmp4, tmp6);
3220 : }
3221 :
3222 896 : if (block2.is_used()) {
3223 : compiler::TNode<Object> tmp7;
3224 : compiler::TNode<Number> tmp8;
3225 : ca_.Bind(&block2, &tmp7, &tmp8);
3226 : ca_.Goto(&block5, tmp7, tmp8);
3227 : }
3228 :
3229 896 : if (block1.is_used()) {
3230 : ca_.Bind(&block1);
3231 896 : ca_.Goto(label_CastError);
3232 : }
3233 :
3234 : compiler::TNode<Object> tmp9;
3235 : compiler::TNode<Number> tmp10;
3236 : ca_.Bind(&block5, &tmp9, &tmp10);
3237 1792 : return compiler::TNode<Number>{tmp10};
3238 : }
3239 :
3240 0 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::FromConstexpr7ATint3117ATconstexpr_int31(int31_t p_i) {
3241 0 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3242 : compiler::CodeAssemblerParameterizedLabel<Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3243 : compiler::CodeAssemblerParameterizedLabel<Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3244 : ca_.Goto(&block0);
3245 :
3246 0 : if (block0.is_used()) {
3247 : ca_.Bind(&block0);
3248 : compiler::TNode<Int32T> tmp0;
3249 : USE(tmp0);
3250 0 : tmp0 = ca_.Int32Constant(p_i);
3251 : ca_.Goto(&block1, tmp0);
3252 : }
3253 :
3254 0 : if (block1.is_used()) {
3255 : compiler::TNode<Int32T> tmp1;
3256 : ca_.Bind(&block1, &tmp1);
3257 : ca_.Goto(&block2, tmp1);
3258 : }
3259 :
3260 : compiler::TNode<Int32T> tmp2;
3261 : ca_.Bind(&block2, &tmp2);
3262 0 : return compiler::TNode<Int32T>{tmp2};
3263 : }
3264 :
3265 736 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::FromConstexpr7ATint3217ATconstexpr_int31(int31_t p_i) {
3266 736 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3267 : compiler::CodeAssemblerParameterizedLabel<Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3268 : compiler::CodeAssemblerParameterizedLabel<Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3269 : ca_.Goto(&block0);
3270 :
3271 736 : if (block0.is_used()) {
3272 : ca_.Bind(&block0);
3273 : compiler::TNode<Int32T> tmp0;
3274 : USE(tmp0);
3275 736 : tmp0 = ca_.Int32Constant(p_i);
3276 : ca_.Goto(&block1, tmp0);
3277 : }
3278 :
3279 736 : if (block1.is_used()) {
3280 : compiler::TNode<Int32T> tmp1;
3281 : ca_.Bind(&block1, &tmp1);
3282 : ca_.Goto(&block2, tmp1);
3283 : }
3284 :
3285 : compiler::TNode<Int32T> tmp2;
3286 : ca_.Bind(&block2, &tmp2);
3287 1472 : return compiler::TNode<Int32T>{tmp2};
3288 : }
3289 :
3290 0 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::FromConstexpr7ATint3217ATconstexpr_int32(int32_t p_i) {
3291 0 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3292 : compiler::CodeAssemblerParameterizedLabel<Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3293 : compiler::CodeAssemblerParameterizedLabel<Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3294 : ca_.Goto(&block0);
3295 :
3296 0 : if (block0.is_used()) {
3297 : ca_.Bind(&block0);
3298 : compiler::TNode<Int32T> tmp0;
3299 : USE(tmp0);
3300 0 : tmp0 = ca_.Int32Constant(p_i);
3301 : ca_.Goto(&block1, tmp0);
3302 : }
3303 :
3304 0 : if (block1.is_used()) {
3305 : compiler::TNode<Int32T> tmp1;
3306 : ca_.Bind(&block1, &tmp1);
3307 : ca_.Goto(&block2, tmp1);
3308 : }
3309 :
3310 : compiler::TNode<Int32T> tmp2;
3311 : ca_.Bind(&block2, &tmp2);
3312 0 : return compiler::TNode<Int32T>{tmp2};
3313 : }
3314 :
3315 16453 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::FromConstexpr8ATintptr17ATconstexpr_int31(int31_t p_i) {
3316 16453 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3317 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3318 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3319 : ca_.Goto(&block0);
3320 :
3321 16453 : if (block0.is_used()) {
3322 : ca_.Bind(&block0);
3323 : compiler::TNode<IntPtrT> tmp0;
3324 : USE(tmp0);
3325 16453 : tmp0 = ca_.IntPtrConstant(p_i);
3326 : ca_.Goto(&block1, tmp0);
3327 : }
3328 :
3329 16453 : if (block1.is_used()) {
3330 : compiler::TNode<IntPtrT> tmp1;
3331 : ca_.Bind(&block1, &tmp1);
3332 : ca_.Goto(&block2, tmp1);
3333 : }
3334 :
3335 : compiler::TNode<IntPtrT> tmp2;
3336 : ca_.Bind(&block2, &tmp2);
3337 32906 : return compiler::TNode<IntPtrT>{tmp2};
3338 : }
3339 :
3340 0 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::FromConstexpr8ATintptr17ATconstexpr_int32(int32_t p_i) {
3341 0 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3342 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3343 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3344 : ca_.Goto(&block0);
3345 :
3346 0 : if (block0.is_used()) {
3347 : ca_.Bind(&block0);
3348 : compiler::TNode<IntPtrT> tmp0;
3349 : USE(tmp0);
3350 0 : tmp0 = ca_.IntPtrConstant(p_i);
3351 : ca_.Goto(&block1, tmp0);
3352 : }
3353 :
3354 0 : if (block1.is_used()) {
3355 : compiler::TNode<IntPtrT> tmp1;
3356 : ca_.Bind(&block1, &tmp1);
3357 : ca_.Goto(&block2, tmp1);
3358 : }
3359 :
3360 : compiler::TNode<IntPtrT> tmp2;
3361 : ca_.Bind(&block2, &tmp2);
3362 0 : return compiler::TNode<IntPtrT>{tmp2};
3363 : }
3364 :
3365 0 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::FromConstexpr8ATintptr18ATconstexpr_intptr(intptr_t p_i) {
3366 0 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3367 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3368 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3369 : ca_.Goto(&block0);
3370 :
3371 0 : if (block0.is_used()) {
3372 : ca_.Bind(&block0);
3373 : compiler::TNode<IntPtrT> tmp0;
3374 : USE(tmp0);
3375 0 : tmp0 = ca_.IntPtrConstant(p_i);
3376 : ca_.Goto(&block1, tmp0);
3377 : }
3378 :
3379 0 : if (block1.is_used()) {
3380 : compiler::TNode<IntPtrT> tmp1;
3381 : ca_.Bind(&block1, &tmp1);
3382 : ca_.Goto(&block2, tmp1);
3383 : }
3384 :
3385 : compiler::TNode<IntPtrT> tmp2;
3386 : ca_.Bind(&block2, &tmp2);
3387 0 : return compiler::TNode<IntPtrT>{tmp2};
3388 : }
3389 :
3390 173 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::FromConstexpr9ATuintptr19ATconstexpr_uintptr(uintptr_t p_i) {
3391 173 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3392 : compiler::CodeAssemblerParameterizedLabel<UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3393 : compiler::CodeAssemblerParameterizedLabel<UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3394 : ca_.Goto(&block0);
3395 :
3396 173 : if (block0.is_used()) {
3397 : ca_.Bind(&block0);
3398 : compiler::TNode<UintPtrT> tmp0;
3399 : USE(tmp0);
3400 : tmp0 = ca_.UintPtrConstant(p_i);
3401 : ca_.Goto(&block1, tmp0);
3402 : }
3403 :
3404 173 : if (block1.is_used()) {
3405 : compiler::TNode<UintPtrT> tmp1;
3406 : ca_.Bind(&block1, &tmp1);
3407 : ca_.Goto(&block2, tmp1);
3408 : }
3409 :
3410 : compiler::TNode<UintPtrT> tmp2;
3411 : ca_.Bind(&block2, &tmp2);
3412 346 : return compiler::TNode<UintPtrT>{tmp2};
3413 : }
3414 :
3415 26670 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::FromConstexpr5ATSmi17ATconstexpr_int31(int31_t p_i) {
3416 26670 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3417 : compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3418 : compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3419 : ca_.Goto(&block0);
3420 :
3421 26670 : if (block0.is_used()) {
3422 : ca_.Bind(&block0);
3423 : compiler::TNode<Smi> tmp0;
3424 : USE(tmp0);
3425 26670 : tmp0 = ca_.SmiConstant(p_i);
3426 : ca_.Goto(&block1, tmp0);
3427 : }
3428 :
3429 26670 : if (block1.is_used()) {
3430 : compiler::TNode<Smi> tmp1;
3431 : ca_.Bind(&block1, &tmp1);
3432 : ca_.Goto(&block2, tmp1);
3433 : }
3434 :
3435 : compiler::TNode<Smi> tmp2;
3436 : ca_.Bind(&block2, &tmp2);
3437 53340 : return compiler::TNode<Smi>{tmp2};
3438 : }
3439 :
3440 2637 : compiler::TNode<String> BaseBuiltinsFromDSLAssembler::FromConstexpr8ATString18ATconstexpr_string(const char* p_s) {
3441 2637 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3442 : compiler::CodeAssemblerParameterizedLabel<String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3443 : compiler::CodeAssemblerParameterizedLabel<String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3444 : ca_.Goto(&block0);
3445 :
3446 2637 : if (block0.is_used()) {
3447 : ca_.Bind(&block0);
3448 : compiler::TNode<String> tmp0;
3449 : USE(tmp0);
3450 2637 : tmp0 = ca_.StringConstant(p_s);
3451 : ca_.Goto(&block1, tmp0);
3452 : }
3453 :
3454 2637 : if (block1.is_used()) {
3455 : compiler::TNode<String> tmp1;
3456 : ca_.Bind(&block1, &tmp1);
3457 : ca_.Goto(&block2, tmp1);
3458 : }
3459 :
3460 : compiler::TNode<String> tmp2;
3461 : ca_.Bind(&block2, &tmp2);
3462 5274 : return compiler::TNode<String>{tmp2};
3463 : }
3464 :
3465 112 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::FromConstexpr22UT12ATHeapNumber5ATSmi18ATconstexpr_uint32(uint32_t p_i) {
3466 112 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3467 : compiler::CodeAssemblerParameterizedLabel<Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3468 : compiler::CodeAssemblerParameterizedLabel<Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3469 : ca_.Goto(&block0);
3470 :
3471 112 : if (block0.is_used()) {
3472 : ca_.Bind(&block0);
3473 : compiler::TNode<Number> tmp0;
3474 : USE(tmp0);
3475 112 : tmp0 = ca_.NumberConstant(p_i);
3476 : ca_.Goto(&block1, tmp0);
3477 : }
3478 :
3479 112 : if (block1.is_used()) {
3480 : compiler::TNode<Number> tmp1;
3481 : ca_.Bind(&block1, &tmp1);
3482 : ca_.Goto(&block2, tmp1);
3483 : }
3484 :
3485 : compiler::TNode<Number> tmp2;
3486 : ca_.Bind(&block2, &tmp2);
3487 224 : return compiler::TNode<Number>{tmp2};
3488 : }
3489 :
3490 0 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int32(int32_t p_i) {
3491 0 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3492 : compiler::CodeAssemblerParameterizedLabel<Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3493 : compiler::CodeAssemblerParameterizedLabel<Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3494 : ca_.Goto(&block0);
3495 :
3496 0 : if (block0.is_used()) {
3497 : ca_.Bind(&block0);
3498 : compiler::TNode<Number> tmp0;
3499 : USE(tmp0);
3500 0 : tmp0 = ca_.NumberConstant(p_i);
3501 : ca_.Goto(&block1, tmp0);
3502 : }
3503 :
3504 0 : if (block1.is_used()) {
3505 : compiler::TNode<Number> tmp1;
3506 : ca_.Bind(&block1, &tmp1);
3507 : ca_.Goto(&block2, tmp1);
3508 : }
3509 :
3510 : compiler::TNode<Number> tmp2;
3511 : ca_.Bind(&block2, &tmp2);
3512 0 : return compiler::TNode<Number>{tmp2};
3513 : }
3514 :
3515 1237 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::FromConstexpr22UT12ATHeapNumber5ATSmi19ATconstexpr_float64(double p_f) {
3516 1237 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3517 : compiler::CodeAssemblerParameterizedLabel<Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3518 : compiler::CodeAssemblerParameterizedLabel<Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3519 : ca_.Goto(&block0);
3520 :
3521 1237 : if (block0.is_used()) {
3522 : ca_.Bind(&block0);
3523 : compiler::TNode<Number> tmp0;
3524 : USE(tmp0);
3525 1237 : tmp0 = ca_.NumberConstant(p_f);
3526 : ca_.Goto(&block1, tmp0);
3527 : }
3528 :
3529 1237 : if (block1.is_used()) {
3530 : compiler::TNode<Number> tmp1;
3531 : ca_.Bind(&block1, &tmp1);
3532 : ca_.Goto(&block2, tmp1);
3533 : }
3534 :
3535 : compiler::TNode<Number> tmp2;
3536 : ca_.Bind(&block2, &tmp2);
3537 2474 : return compiler::TNode<Number>{tmp2};
3538 : }
3539 :
3540 7682 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(int31_t p_i) {
3541 7682 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3542 : compiler::CodeAssemblerParameterizedLabel<Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3543 : compiler::CodeAssemblerParameterizedLabel<Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3544 : ca_.Goto(&block0);
3545 :
3546 7682 : if (block0.is_used()) {
3547 : ca_.Bind(&block0);
3548 : compiler::TNode<Number> tmp0;
3549 : USE(tmp0);
3550 7682 : tmp0 = ca_.NumberConstant(p_i);
3551 : ca_.Goto(&block1, tmp0);
3552 : }
3553 :
3554 7682 : if (block1.is_used()) {
3555 : compiler::TNode<Number> tmp1;
3556 : ca_.Bind(&block1, &tmp1);
3557 : ca_.Goto(&block2, tmp1);
3558 : }
3559 :
3560 : compiler::TNode<Number> tmp2;
3561 : ca_.Bind(&block2, &tmp2);
3562 15364 : return compiler::TNode<Number>{tmp2};
3563 : }
3564 :
3565 0 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::FromConstexpr22UT12ATHeapNumber5ATSmi15ATconstexpr_Smi(Smi p_s) {
3566 0 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3567 : compiler::CodeAssemblerParameterizedLabel<Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3568 : compiler::CodeAssemblerParameterizedLabel<Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3569 : ca_.Goto(&block0);
3570 :
3571 0 : if (block0.is_used()) {
3572 : ca_.Bind(&block0);
3573 : compiler::TNode<Smi> tmp0;
3574 : USE(tmp0);
3575 0 : tmp0 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiConstant(p_s));
3576 : ca_.Goto(&block1, tmp0);
3577 : }
3578 :
3579 0 : if (block1.is_used()) {
3580 : compiler::TNode<Number> tmp1;
3581 : ca_.Bind(&block1, &tmp1);
3582 : ca_.Goto(&block2, tmp1);
3583 : }
3584 :
3585 : compiler::TNode<Number> tmp2;
3586 : ca_.Bind(&block2, &tmp2);
3587 0 : return compiler::TNode<Number>{tmp2};
3588 : }
3589 :
3590 0 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::FromConstexpr5ATSmi15ATconstexpr_Smi(Smi p_s) {
3591 0 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3592 : compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3593 : compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3594 : ca_.Goto(&block0);
3595 :
3596 0 : if (block0.is_used()) {
3597 : ca_.Bind(&block0);
3598 : compiler::TNode<Smi> tmp0;
3599 : USE(tmp0);
3600 0 : tmp0 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiConstant(p_s));
3601 : ca_.Goto(&block1, tmp0);
3602 : }
3603 :
3604 0 : if (block1.is_used()) {
3605 : compiler::TNode<Smi> tmp1;
3606 : ca_.Bind(&block1, &tmp1);
3607 : ca_.Goto(&block2, tmp1);
3608 : }
3609 :
3610 : compiler::TNode<Smi> tmp2;
3611 : ca_.Bind(&block2, &tmp2);
3612 0 : return compiler::TNode<Smi>{tmp2};
3613 : }
3614 :
3615 13776 : compiler::TNode<Uint32T> BaseBuiltinsFromDSLAssembler::FromConstexpr8ATuint3217ATconstexpr_int31(int31_t p_i) {
3616 13776 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3617 : compiler::CodeAssemblerParameterizedLabel<Uint32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3618 : compiler::CodeAssemblerParameterizedLabel<Uint32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3619 : ca_.Goto(&block0);
3620 :
3621 13776 : if (block0.is_used()) {
3622 : ca_.Bind(&block0);
3623 : compiler::TNode<Int32T> tmp0;
3624 : USE(tmp0);
3625 27552 : tmp0 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).Int32Constant(p_i));
3626 : compiler::TNode<Uint32T> tmp1;
3627 : USE(tmp1);
3628 27552 : tmp1 = ca_.UncheckedCast<Uint32T>(CodeStubAssembler(state_).Unsigned(compiler::TNode<Int32T>{tmp0}));
3629 : ca_.Goto(&block1, tmp1);
3630 : }
3631 :
3632 13776 : if (block1.is_used()) {
3633 : compiler::TNode<Uint32T> tmp2;
3634 : ca_.Bind(&block1, &tmp2);
3635 : ca_.Goto(&block2, tmp2);
3636 : }
3637 :
3638 : compiler::TNode<Uint32T> tmp3;
3639 : ca_.Bind(&block2, &tmp3);
3640 27552 : return compiler::TNode<Uint32T>{tmp3};
3641 : }
3642 :
3643 6496 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::FromConstexpr9ATuintptr17ATconstexpr_int31(int31_t p_i) {
3644 6496 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3645 : compiler::CodeAssemblerParameterizedLabel<UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3646 : compiler::CodeAssemblerParameterizedLabel<UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3647 : ca_.Goto(&block0);
3648 :
3649 6496 : if (block0.is_used()) {
3650 : ca_.Bind(&block0);
3651 : compiler::TNode<Uint32T> tmp0;
3652 : USE(tmp0);
3653 19488 : tmp0 = ca_.UncheckedCast<Uint32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATuint3217ATconstexpr_int31(p_i));
3654 : compiler::TNode<UintPtrT> tmp1;
3655 : USE(tmp1);
3656 12992 : tmp1 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).ChangeUint32ToWord(compiler::TNode<Uint32T>{tmp0}));
3657 : ca_.Goto(&block1, tmp1);
3658 : }
3659 :
3660 6496 : if (block1.is_used()) {
3661 : compiler::TNode<UintPtrT> tmp2;
3662 : ca_.Bind(&block1, &tmp2);
3663 : ca_.Goto(&block2, tmp2);
3664 : }
3665 :
3666 : compiler::TNode<UintPtrT> tmp3;
3667 : ca_.Bind(&block2, &tmp3);
3668 12992 : return compiler::TNode<UintPtrT>{tmp3};
3669 : }
3670 :
3671 1176 : compiler::TNode<Float64T> BaseBuiltinsFromDSLAssembler::FromConstexpr9ATfloat6417ATconstexpr_int31(int31_t p_i) {
3672 1176 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3673 : compiler::CodeAssemblerParameterizedLabel<Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3674 : compiler::CodeAssemblerParameterizedLabel<Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3675 : ca_.Goto(&block0);
3676 :
3677 1176 : if (block0.is_used()) {
3678 : ca_.Bind(&block0);
3679 : compiler::TNode<Float64T> tmp0;
3680 : USE(tmp0);
3681 2352 : tmp0 = ca_.UncheckedCast<Float64T>(CodeStubAssembler(state_).Float64Constant(p_i));
3682 : ca_.Goto(&block1, tmp0);
3683 : }
3684 :
3685 1176 : if (block1.is_used()) {
3686 : compiler::TNode<Float64T> tmp1;
3687 : ca_.Bind(&block1, &tmp1);
3688 : ca_.Goto(&block2, tmp1);
3689 : }
3690 :
3691 : compiler::TNode<Float64T> tmp2;
3692 : ca_.Bind(&block2, &tmp2);
3693 2352 : return compiler::TNode<Float64T>{tmp2};
3694 : }
3695 :
3696 6478 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::FromConstexpr6ATbool16ATconstexpr_bool(bool p_b) {
3697 6478 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3698 : compiler::CodeAssemblerParameterizedLabel<BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3699 : compiler::CodeAssemblerParameterizedLabel<BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3700 : ca_.Goto(&block0);
3701 :
3702 6478 : if (block0.is_used()) {
3703 : ca_.Bind(&block0);
3704 : compiler::TNode<BoolT> tmp0;
3705 : USE(tmp0);
3706 12956 : tmp0 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).BoolConstant(p_b));
3707 : ca_.Goto(&block1, tmp0);
3708 : }
3709 :
3710 6478 : if (block1.is_used()) {
3711 : compiler::TNode<BoolT> tmp1;
3712 : ca_.Bind(&block1, &tmp1);
3713 : ca_.Goto(&block2, tmp1);
3714 : }
3715 :
3716 : compiler::TNode<BoolT> tmp2;
3717 : ca_.Bind(&block2, &tmp2);
3718 12956 : return compiler::TNode<BoolT>{tmp2};
3719 : }
3720 :
3721 392 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode p_m) {
3722 392 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3723 : compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3724 : compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3725 : ca_.Goto(&block0);
3726 :
3727 392 : if (block0.is_used()) {
3728 : ca_.Bind(&block0);
3729 : compiler::TNode<Smi> tmp0;
3730 : USE(tmp0);
3731 : tmp0 = ca_.SmiConstant(p_m);
3732 : compiler::TNode<Smi> tmp1;
3733 : USE(tmp1);
3734 : tmp1 = TORQUE_CAST(compiler::TNode<Object>{tmp0});
3735 : ca_.Goto(&block1, tmp1);
3736 : }
3737 :
3738 392 : if (block1.is_used()) {
3739 : compiler::TNode<Smi> tmp2;
3740 : ca_.Bind(&block1, &tmp2);
3741 : ca_.Goto(&block2, tmp2);
3742 : }
3743 :
3744 : compiler::TNode<Smi> tmp3;
3745 : ca_.Bind(&block2, &tmp3);
3746 784 : return compiler::TNode<Smi>{tmp3};
3747 : }
3748 :
3749 3360 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(ElementsKind p_e) {
3750 3360 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3751 : compiler::CodeAssemblerParameterizedLabel<Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3752 : compiler::CodeAssemblerParameterizedLabel<Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3753 : ca_.Goto(&block0);
3754 :
3755 3360 : if (block0.is_used()) {
3756 : ca_.Bind(&block0);
3757 : compiler::TNode<Int32T> tmp0;
3758 : USE(tmp0);
3759 6720 : tmp0 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).Int32Constant(p_e));
3760 : ca_.Goto(&block1, tmp0);
3761 : }
3762 :
3763 3360 : if (block1.is_used()) {
3764 : compiler::TNode<Int32T> tmp1;
3765 : ca_.Bind(&block1, &tmp1);
3766 : ca_.Goto(&block2, tmp1);
3767 : }
3768 :
3769 : compiler::TNode<Int32T> tmp2;
3770 : ca_.Bind(&block2, &tmp2);
3771 6720 : return compiler::TNode<Int32T>{tmp2};
3772 : }
3773 :
3774 397 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(const char* p_s) {
3775 397 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3776 : compiler::CodeAssemblerParameterizedLabel<Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3777 : compiler::CodeAssemblerParameterizedLabel<Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3778 : ca_.Goto(&block0);
3779 :
3780 397 : if (block0.is_used()) {
3781 : ca_.Bind(&block0);
3782 : compiler::TNode<String> tmp0;
3783 : USE(tmp0);
3784 794 : tmp0 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).StringConstant(p_s));
3785 : ca_.Goto(&block1, tmp0);
3786 : }
3787 :
3788 397 : if (block1.is_used()) {
3789 : compiler::TNode<Object> tmp1;
3790 : ca_.Bind(&block1, &tmp1);
3791 : ca_.Goto(&block2, tmp1);
3792 : }
3793 :
3794 : compiler::TNode<Object> tmp2;
3795 : ca_.Bind(&block2, &tmp2);
3796 794 : return compiler::TNode<Object>{tmp2};
3797 : }
3798 :
3799 1181 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(int32_t p_c) {
3800 1181 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3801 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3802 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3803 : ca_.Goto(&block0);
3804 :
3805 1181 : if (block0.is_used()) {
3806 : ca_.Bind(&block0);
3807 : compiler::TNode<IntPtrT> tmp0;
3808 : USE(tmp0);
3809 2362 : tmp0 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrConstant(p_c));
3810 : ca_.Goto(&block1, tmp0);
3811 : }
3812 :
3813 1181 : if (block1.is_used()) {
3814 : compiler::TNode<IntPtrT> tmp1;
3815 : ca_.Bind(&block1, &tmp1);
3816 : ca_.Goto(&block2, tmp1);
3817 : }
3818 :
3819 : compiler::TNode<IntPtrT> tmp2;
3820 : ca_.Bind(&block2, &tmp2);
3821 2362 : return compiler::TNode<IntPtrT>{tmp2};
3822 : }
3823 :
3824 56 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::Convert7ATint3214ATElementsKind(compiler::TNode<Int32T> p_elementsKind) {
3825 56 : compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3826 : compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3827 : compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3828 : ca_.Goto(&block0, p_elementsKind);
3829 :
3830 56 : if (block0.is_used()) {
3831 : compiler::TNode<Int32T> tmp0;
3832 : ca_.Bind(&block0, &tmp0);
3833 : compiler::TNode<Int32T> tmp1;
3834 : USE(tmp1);
3835 112 : tmp1 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).ConvertElementsKindToInt(compiler::TNode<Int32T>{tmp0}));
3836 : ca_.Goto(&block1, tmp0, tmp1);
3837 : }
3838 :
3839 56 : if (block1.is_used()) {
3840 : compiler::TNode<Int32T> tmp2;
3841 : compiler::TNode<Int32T> tmp3;
3842 : ca_.Bind(&block1, &tmp2, &tmp3);
3843 : ca_.Goto(&block2, tmp2, tmp3);
3844 : }
3845 :
3846 : compiler::TNode<Int32T> tmp4;
3847 : compiler::TNode<Int32T> tmp5;
3848 : ca_.Bind(&block2, &tmp4, &tmp5);
3849 112 : return compiler::TNode<Int32T>{tmp5};
3850 : }
3851 :
3852 56 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Convert22UT12ATHeapNumber5ATSmi7ATint32(compiler::TNode<Int32T> p_i) {
3853 56 : compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3854 : compiler::CodeAssemblerParameterizedLabel<Int32T, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3855 : compiler::CodeAssemblerParameterizedLabel<Int32T, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3856 : ca_.Goto(&block0, p_i);
3857 :
3858 56 : if (block0.is_used()) {
3859 : compiler::TNode<Int32T> tmp0;
3860 : ca_.Bind(&block0, &tmp0);
3861 : compiler::TNode<Number> tmp1;
3862 : USE(tmp1);
3863 168 : tmp1 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ChangeInt32ToTagged(compiler::TNode<Int32T>{tmp0}));
3864 : ca_.Goto(&block1, tmp0, tmp1);
3865 : }
3866 :
3867 56 : if (block1.is_used()) {
3868 : compiler::TNode<Int32T> tmp2;
3869 : compiler::TNode<Number> tmp3;
3870 : ca_.Bind(&block1, &tmp2, &tmp3);
3871 : ca_.Goto(&block2, tmp2, tmp3);
3872 : }
3873 :
3874 : compiler::TNode<Int32T> tmp4;
3875 : compiler::TNode<Number> tmp5;
3876 : ca_.Bind(&block2, &tmp4, &tmp5);
3877 112 : return compiler::TNode<Number>{tmp5};
3878 : }
3879 :
3880 168 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::Convert8ATintptr7ATint32(compiler::TNode<Int32T> p_i) {
3881 168 : compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3882 : compiler::CodeAssemblerParameterizedLabel<Int32T, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3883 : compiler::CodeAssemblerParameterizedLabel<Int32T, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3884 : ca_.Goto(&block0, p_i);
3885 :
3886 168 : if (block0.is_used()) {
3887 : compiler::TNode<Int32T> tmp0;
3888 : ca_.Bind(&block0, &tmp0);
3889 : compiler::TNode<IntPtrT> tmp1;
3890 : USE(tmp1);
3891 504 : tmp1 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).ChangeInt32ToIntPtr(compiler::TNode<Int32T>{tmp0}));
3892 : ca_.Goto(&block1, tmp0, tmp1);
3893 : }
3894 :
3895 168 : if (block1.is_used()) {
3896 : compiler::TNode<Int32T> tmp2;
3897 : compiler::TNode<IntPtrT> tmp3;
3898 : ca_.Bind(&block1, &tmp2, &tmp3);
3899 : ca_.Goto(&block2, tmp2, tmp3);
3900 : }
3901 :
3902 : compiler::TNode<Int32T> tmp4;
3903 : compiler::TNode<IntPtrT> tmp5;
3904 : ca_.Bind(&block2, &tmp4, &tmp5);
3905 336 : return compiler::TNode<IntPtrT>{tmp5};
3906 : }
3907 :
3908 224 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::Convert5ATSmi7ATint32(compiler::TNode<Int32T> p_i) {
3909 224 : compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3910 : compiler::CodeAssemblerParameterizedLabel<Int32T, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3911 : compiler::CodeAssemblerParameterizedLabel<Int32T, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3912 : ca_.Goto(&block0, p_i);
3913 :
3914 224 : if (block0.is_used()) {
3915 : compiler::TNode<Int32T> tmp0;
3916 : ca_.Bind(&block0, &tmp0);
3917 : compiler::TNode<Smi> tmp1;
3918 : USE(tmp1);
3919 672 : tmp1 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiFromInt32(compiler::TNode<Int32T>{tmp0}));
3920 : ca_.Goto(&block1, tmp0, tmp1);
3921 : }
3922 :
3923 224 : if (block1.is_used()) {
3924 : compiler::TNode<Int32T> tmp2;
3925 : compiler::TNode<Smi> tmp3;
3926 : ca_.Bind(&block1, &tmp2, &tmp3);
3927 : ca_.Goto(&block2, tmp2, tmp3);
3928 : }
3929 :
3930 : compiler::TNode<Int32T> tmp4;
3931 : compiler::TNode<Smi> tmp5;
3932 : ca_.Bind(&block2, &tmp4, &tmp5);
3933 448 : return compiler::TNode<Smi>{tmp5};
3934 : }
3935 :
3936 56 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Convert22UT12ATHeapNumber5ATSmi8ATuint32(compiler::TNode<Uint32T> p_ui) {
3937 56 : compiler::CodeAssemblerParameterizedLabel<Uint32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3938 : compiler::CodeAssemblerParameterizedLabel<Uint32T, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3939 : compiler::CodeAssemblerParameterizedLabel<Uint32T, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3940 : ca_.Goto(&block0, p_ui);
3941 :
3942 56 : if (block0.is_used()) {
3943 : compiler::TNode<Uint32T> tmp0;
3944 : ca_.Bind(&block0, &tmp0);
3945 : compiler::TNode<Number> tmp1;
3946 : USE(tmp1);
3947 168 : tmp1 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ChangeUint32ToTagged(compiler::TNode<Uint32T>{tmp0}));
3948 : ca_.Goto(&block1, tmp0, tmp1);
3949 : }
3950 :
3951 56 : if (block1.is_used()) {
3952 : compiler::TNode<Uint32T> tmp2;
3953 : compiler::TNode<Number> tmp3;
3954 : ca_.Bind(&block1, &tmp2, &tmp3);
3955 : ca_.Goto(&block2, tmp2, tmp3);
3956 : }
3957 :
3958 : compiler::TNode<Uint32T> tmp4;
3959 : compiler::TNode<Number> tmp5;
3960 : ca_.Bind(&block2, &tmp4, &tmp5);
3961 112 : return compiler::TNode<Number>{tmp5};
3962 : }
3963 :
3964 56 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::Convert5ATSmi8ATuint32(compiler::TNode<Uint32T> p_ui) {
3965 56 : compiler::CodeAssemblerParameterizedLabel<Uint32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3966 : compiler::CodeAssemblerParameterizedLabel<Uint32T, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3967 : compiler::CodeAssemblerParameterizedLabel<Uint32T, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3968 : ca_.Goto(&block0, p_ui);
3969 :
3970 56 : if (block0.is_used()) {
3971 : compiler::TNode<Uint32T> tmp0;
3972 : ca_.Bind(&block0, &tmp0);
3973 : compiler::TNode<Int32T> tmp1;
3974 : USE(tmp1);
3975 112 : tmp1 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).Signed(compiler::TNode<Uint32T>{tmp0}));
3976 : compiler::TNode<Smi> tmp2;
3977 : USE(tmp2);
3978 112 : tmp2 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiFromInt32(compiler::TNode<Int32T>{tmp1}));
3979 : ca_.Goto(&block1, tmp0, tmp2);
3980 : }
3981 :
3982 56 : if (block1.is_used()) {
3983 : compiler::TNode<Uint32T> tmp3;
3984 : compiler::TNode<Smi> tmp4;
3985 : ca_.Bind(&block1, &tmp3, &tmp4);
3986 : ca_.Goto(&block2, tmp3, tmp4);
3987 : }
3988 :
3989 : compiler::TNode<Uint32T> tmp5;
3990 : compiler::TNode<Smi> tmp6;
3991 : ca_.Bind(&block2, &tmp5, &tmp6);
3992 112 : return compiler::TNode<Smi>{tmp6};
3993 : }
3994 :
3995 224 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::Convert9ATuintptr8ATuint32(compiler::TNode<Uint32T> p_ui) {
3996 224 : compiler::CodeAssemblerParameterizedLabel<Uint32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3997 : compiler::CodeAssemblerParameterizedLabel<Uint32T, UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3998 : compiler::CodeAssemblerParameterizedLabel<Uint32T, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3999 : ca_.Goto(&block0, p_ui);
4000 :
4001 224 : if (block0.is_used()) {
4002 : compiler::TNode<Uint32T> tmp0;
4003 : ca_.Bind(&block0, &tmp0);
4004 : compiler::TNode<UintPtrT> tmp1;
4005 : USE(tmp1);
4006 672 : tmp1 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).ChangeUint32ToWord(compiler::TNode<Uint32T>{tmp0}));
4007 : ca_.Goto(&block1, tmp0, tmp1);
4008 : }
4009 :
4010 224 : if (block1.is_used()) {
4011 : compiler::TNode<Uint32T> tmp2;
4012 : compiler::TNode<UintPtrT> tmp3;
4013 : ca_.Bind(&block1, &tmp2, &tmp3);
4014 : ca_.Goto(&block2, tmp2, tmp3);
4015 : }
4016 :
4017 : compiler::TNode<Uint32T> tmp4;
4018 : compiler::TNode<UintPtrT> tmp5;
4019 : ca_.Bind(&block2, &tmp4, &tmp5);
4020 448 : return compiler::TNode<UintPtrT>{tmp5};
4021 : }
4022 :
4023 56 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::Convert7ATint328ATintptr(compiler::TNode<IntPtrT> p_i) {
4024 56 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4025 : compiler::CodeAssemblerParameterizedLabel<IntPtrT, Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4026 : compiler::CodeAssemblerParameterizedLabel<IntPtrT, Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4027 : ca_.Goto(&block0, p_i);
4028 :
4029 56 : if (block0.is_used()) {
4030 : compiler::TNode<IntPtrT> tmp0;
4031 : ca_.Bind(&block0, &tmp0);
4032 : compiler::TNode<Int32T> tmp1;
4033 : USE(tmp1);
4034 168 : tmp1 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).TruncateIntPtrToInt32(compiler::TNode<IntPtrT>{tmp0}));
4035 : ca_.Goto(&block1, tmp0, tmp1);
4036 : }
4037 :
4038 56 : if (block1.is_used()) {
4039 : compiler::TNode<IntPtrT> tmp2;
4040 : compiler::TNode<Int32T> tmp3;
4041 : ca_.Bind(&block1, &tmp2, &tmp3);
4042 : ca_.Goto(&block2, tmp2, tmp3);
4043 : }
4044 :
4045 : compiler::TNode<IntPtrT> tmp4;
4046 : compiler::TNode<Int32T> tmp5;
4047 : ca_.Bind(&block2, &tmp4, &tmp5);
4048 112 : return compiler::TNode<Int32T>{tmp5};
4049 : }
4050 :
4051 616 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT> p_i) {
4052 616 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4053 : compiler::CodeAssemblerParameterizedLabel<IntPtrT, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4054 : compiler::CodeAssemblerParameterizedLabel<IntPtrT, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4055 : ca_.Goto(&block0, p_i);
4056 :
4057 616 : if (block0.is_used()) {
4058 : compiler::TNode<IntPtrT> tmp0;
4059 : ca_.Bind(&block0, &tmp0);
4060 : compiler::TNode<Smi> tmp1;
4061 : USE(tmp1);
4062 1848 : tmp1 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiTag(compiler::TNode<IntPtrT>{tmp0}));
4063 : ca_.Goto(&block1, tmp0, tmp1);
4064 : }
4065 :
4066 616 : if (block1.is_used()) {
4067 : compiler::TNode<IntPtrT> tmp2;
4068 : compiler::TNode<Smi> tmp3;
4069 : ca_.Bind(&block1, &tmp2, &tmp3);
4070 : ca_.Goto(&block2, tmp2, tmp3);
4071 : }
4072 :
4073 : compiler::TNode<IntPtrT> tmp4;
4074 : compiler::TNode<Smi> tmp5;
4075 : ca_.Bind(&block2, &tmp4, &tmp5);
4076 1232 : return compiler::TNode<Smi>{tmp5};
4077 : }
4078 :
4079 448 : compiler::TNode<Uint32T> BaseBuiltinsFromDSLAssembler::Convert8ATuint329ATuintptr(compiler::TNode<UintPtrT> p_ui) {
4080 448 : compiler::CodeAssemblerParameterizedLabel<UintPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4081 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, Uint32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4082 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, Uint32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4083 : ca_.Goto(&block0, p_ui);
4084 :
4085 448 : if (block0.is_used()) {
4086 : compiler::TNode<UintPtrT> tmp0;
4087 : ca_.Bind(&block0, &tmp0);
4088 : compiler::TNode<IntPtrT> tmp1;
4089 : USE(tmp1);
4090 896 : tmp1 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp0}));
4091 : compiler::TNode<Int32T> tmp2;
4092 : USE(tmp2);
4093 896 : tmp2 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).TruncateIntPtrToInt32(compiler::TNode<IntPtrT>{tmp1}));
4094 : compiler::TNode<Uint32T> tmp3;
4095 : USE(tmp3);
4096 896 : tmp3 = ca_.UncheckedCast<Uint32T>(CodeStubAssembler(state_).Unsigned(compiler::TNode<Int32T>{tmp2}));
4097 : ca_.Goto(&block1, tmp0, tmp3);
4098 : }
4099 :
4100 448 : if (block1.is_used()) {
4101 : compiler::TNode<UintPtrT> tmp4;
4102 : compiler::TNode<Uint32T> tmp5;
4103 : ca_.Bind(&block1, &tmp4, &tmp5);
4104 : ca_.Goto(&block2, tmp4, tmp5);
4105 : }
4106 :
4107 : compiler::TNode<UintPtrT> tmp6;
4108 : compiler::TNode<Uint32T> tmp7;
4109 : ca_.Bind(&block2, &tmp6, &tmp7);
4110 896 : return compiler::TNode<Uint32T>{tmp7};
4111 : }
4112 :
4113 1680 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::Convert8ATintptr5ATSmi(compiler::TNode<Smi> p_s) {
4114 1680 : compiler::CodeAssemblerParameterizedLabel<Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4115 : compiler::CodeAssemblerParameterizedLabel<Smi, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4116 : compiler::CodeAssemblerParameterizedLabel<Smi, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4117 : ca_.Goto(&block0, p_s);
4118 :
4119 1680 : if (block0.is_used()) {
4120 : compiler::TNode<Smi> tmp0;
4121 : ca_.Bind(&block0, &tmp0);
4122 : compiler::TNode<IntPtrT> tmp1;
4123 : USE(tmp1);
4124 5040 : tmp1 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).SmiUntag(compiler::TNode<Smi>{tmp0}));
4125 : ca_.Goto(&block1, tmp0, tmp1);
4126 : }
4127 :
4128 1680 : if (block1.is_used()) {
4129 : compiler::TNode<Smi> tmp2;
4130 : compiler::TNode<IntPtrT> tmp3;
4131 : ca_.Bind(&block1, &tmp2, &tmp3);
4132 : ca_.Goto(&block2, tmp2, tmp3);
4133 : }
4134 :
4135 : compiler::TNode<Smi> tmp4;
4136 : compiler::TNode<IntPtrT> tmp5;
4137 : ca_.Bind(&block2, &tmp4, &tmp5);
4138 3360 : return compiler::TNode<IntPtrT>{tmp5};
4139 : }
4140 :
4141 30 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::Convert7ATint325ATSmi(compiler::TNode<Smi> p_s) {
4142 30 : compiler::CodeAssemblerParameterizedLabel<Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4143 : compiler::CodeAssemblerParameterizedLabel<Smi, Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4144 : compiler::CodeAssemblerParameterizedLabel<Smi, Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4145 : ca_.Goto(&block0, p_s);
4146 :
4147 30 : if (block0.is_used()) {
4148 : compiler::TNode<Smi> tmp0;
4149 : ca_.Bind(&block0, &tmp0);
4150 : compiler::TNode<Int32T> tmp1;
4151 : USE(tmp1);
4152 90 : tmp1 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).SmiToInt32(compiler::TNode<Smi>{tmp0}));
4153 : ca_.Goto(&block1, tmp0, tmp1);
4154 : }
4155 :
4156 30 : if (block1.is_used()) {
4157 : compiler::TNode<Smi> tmp2;
4158 : compiler::TNode<Int32T> tmp3;
4159 : ca_.Bind(&block1, &tmp2, &tmp3);
4160 : ca_.Goto(&block2, tmp2, tmp3);
4161 : }
4162 :
4163 : compiler::TNode<Smi> tmp4;
4164 : compiler::TNode<Int32T> tmp5;
4165 : ca_.Bind(&block2, &tmp4, &tmp5);
4166 60 : return compiler::TNode<Int32T>{tmp5};
4167 : }
4168 :
4169 448 : compiler::TNode<Float64T> BaseBuiltinsFromDSLAssembler::Convert9ATfloat6412ATHeapNumber(compiler::TNode<HeapNumber> p_h) {
4170 448 : compiler::CodeAssemblerParameterizedLabel<HeapNumber> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4171 : compiler::CodeAssemblerParameterizedLabel<HeapNumber, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4172 : compiler::CodeAssemblerParameterizedLabel<HeapNumber, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4173 : ca_.Goto(&block0, p_h);
4174 :
4175 448 : if (block0.is_used()) {
4176 : compiler::TNode<HeapNumber> tmp0;
4177 : ca_.Bind(&block0, &tmp0);
4178 : compiler::TNode<Float64T> tmp1;
4179 : USE(tmp1);
4180 1344 : tmp1 = ca_.UncheckedCast<Float64T>(CodeStubAssembler(state_).LoadHeapNumberValue(compiler::TNode<HeapNumber>{tmp0}));
4181 : ca_.Goto(&block1, tmp0, tmp1);
4182 : }
4183 :
4184 448 : if (block1.is_used()) {
4185 : compiler::TNode<HeapNumber> tmp2;
4186 : compiler::TNode<Float64T> tmp3;
4187 : ca_.Bind(&block1, &tmp2, &tmp3);
4188 : ca_.Goto(&block2, tmp2, tmp3);
4189 : }
4190 :
4191 : compiler::TNode<HeapNumber> tmp4;
4192 : compiler::TNode<Float64T> tmp5;
4193 : ca_.Bind(&block2, &tmp4, &tmp5);
4194 896 : return compiler::TNode<Float64T>{tmp5};
4195 : }
4196 :
4197 1176 : compiler::TNode<Float64T> BaseBuiltinsFromDSLAssembler::Convert9ATfloat6422UT12ATHeapNumber5ATSmi(compiler::TNode<Number> p_n) {
4198 1176 : compiler::CodeAssemblerParameterizedLabel<Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4199 : compiler::CodeAssemblerParameterizedLabel<Number, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4200 : compiler::CodeAssemblerParameterizedLabel<Number, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4201 : ca_.Goto(&block0, p_n);
4202 :
4203 1176 : if (block0.is_used()) {
4204 : compiler::TNode<Number> tmp0;
4205 : ca_.Bind(&block0, &tmp0);
4206 : compiler::TNode<Float64T> tmp1;
4207 : USE(tmp1);
4208 3528 : tmp1 = ca_.UncheckedCast<Float64T>(CodeStubAssembler(state_).ChangeNumberToFloat64(compiler::TNode<Number>{tmp0}));
4209 : ca_.Goto(&block1, tmp0, tmp1);
4210 : }
4211 :
4212 1176 : if (block1.is_used()) {
4213 : compiler::TNode<Number> tmp2;
4214 : compiler::TNode<Float64T> tmp3;
4215 : ca_.Bind(&block1, &tmp2, &tmp3);
4216 : ca_.Goto(&block2, tmp2, tmp3);
4217 : }
4218 :
4219 : compiler::TNode<Number> tmp4;
4220 : compiler::TNode<Float64T> tmp5;
4221 : ca_.Bind(&block2, &tmp4, &tmp5);
4222 2352 : return compiler::TNode<Float64T>{tmp5};
4223 : }
4224 :
4225 280 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::Convert9ATuintptr22UT12ATHeapNumber5ATSmi(compiler::TNode<Number> p_n) {
4226 280 : compiler::CodeAssemblerParameterizedLabel<Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4227 : compiler::CodeAssemblerParameterizedLabel<Number, UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4228 : compiler::CodeAssemblerParameterizedLabel<Number, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4229 : ca_.Goto(&block0, p_n);
4230 :
4231 280 : if (block0.is_used()) {
4232 : compiler::TNode<Number> tmp0;
4233 : ca_.Bind(&block0, &tmp0);
4234 : compiler::TNode<UintPtrT> tmp1;
4235 : USE(tmp1);
4236 560 : tmp1 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).ChangeNonnegativeNumberToUintPtr(compiler::TNode<Number>{tmp0}));
4237 : ca_.Goto(&block1, tmp0, tmp1);
4238 : }
4239 :
4240 280 : if (block1.is_used()) {
4241 : compiler::TNode<Number> tmp2;
4242 : compiler::TNode<UintPtrT> tmp3;
4243 : ca_.Bind(&block1, &tmp2, &tmp3);
4244 : ca_.Goto(&block2, tmp2, tmp3);
4245 : }
4246 :
4247 : compiler::TNode<Number> tmp4;
4248 : compiler::TNode<UintPtrT> tmp5;
4249 : ca_.Bind(&block2, &tmp4, &tmp5);
4250 560 : return compiler::TNode<UintPtrT>{tmp5};
4251 : }
4252 :
4253 56 : compiler::TNode<Float64T> BaseBuiltinsFromDSLAssembler::Convert9ATfloat649ATfloat32(compiler::TNode<Float32T> p_f) {
4254 56 : compiler::CodeAssemblerParameterizedLabel<Float32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4255 : compiler::CodeAssemblerParameterizedLabel<Float32T, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4256 : compiler::CodeAssemblerParameterizedLabel<Float32T, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4257 : ca_.Goto(&block0, p_f);
4258 :
4259 56 : if (block0.is_used()) {
4260 : compiler::TNode<Float32T> tmp0;
4261 : ca_.Bind(&block0, &tmp0);
4262 : compiler::TNode<Float64T> tmp1;
4263 : USE(tmp1);
4264 168 : tmp1 = ca_.UncheckedCast<Float64T>(CodeStubAssembler(state_).ChangeFloat32ToFloat64(compiler::TNode<Float32T>{tmp0}));
4265 : ca_.Goto(&block1, tmp0, tmp1);
4266 : }
4267 :
4268 56 : if (block1.is_used()) {
4269 : compiler::TNode<Float32T> tmp2;
4270 : compiler::TNode<Float64T> tmp3;
4271 : ca_.Bind(&block1, &tmp2, &tmp3);
4272 : ca_.Goto(&block2, tmp2, tmp3);
4273 : }
4274 :
4275 : compiler::TNode<Float32T> tmp4;
4276 : compiler::TNode<Float64T> tmp5;
4277 : ca_.Bind(&block2, &tmp4, &tmp5);
4278 112 : return compiler::TNode<Float64T>{tmp5};
4279 : }
4280 :
4281 112 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Convert22UT12ATHeapNumber5ATSmi9ATfloat64(compiler::TNode<Float64T> p_d) {
4282 112 : compiler::CodeAssemblerParameterizedLabel<Float64T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4283 : compiler::CodeAssemblerParameterizedLabel<Float64T, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4284 : compiler::CodeAssemblerParameterizedLabel<Float64T, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4285 : ca_.Goto(&block0, p_d);
4286 :
4287 112 : if (block0.is_used()) {
4288 : compiler::TNode<Float64T> tmp0;
4289 : ca_.Bind(&block0, &tmp0);
4290 : compiler::TNode<HeapNumber> tmp1;
4291 : USE(tmp1);
4292 336 : tmp1 = ca_.UncheckedCast<HeapNumber>(CodeStubAssembler(state_).AllocateHeapNumberWithValue(compiler::TNode<Float64T>{tmp0}));
4293 : ca_.Goto(&block1, tmp0, tmp1);
4294 : }
4295 :
4296 112 : if (block1.is_used()) {
4297 : compiler::TNode<Float64T> tmp2;
4298 : compiler::TNode<Number> tmp3;
4299 : ca_.Bind(&block1, &tmp2, &tmp3);
4300 : ca_.Goto(&block2, tmp2, tmp3);
4301 : }
4302 :
4303 : compiler::TNode<Float64T> tmp4;
4304 : compiler::TNode<Number> tmp5;
4305 : ca_.Bind(&block2, &tmp4, &tmp5);
4306 224 : return compiler::TNode<Number>{tmp5};
4307 : }
4308 :
4309 1120 : compiler::TNode<Float64T> BaseBuiltinsFromDSLAssembler::Convert9ATfloat649ATuintptr(compiler::TNode<UintPtrT> p_ui) {
4310 1120 : compiler::CodeAssemblerParameterizedLabel<UintPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4311 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4312 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4313 : ca_.Goto(&block0, p_ui);
4314 :
4315 1120 : if (block0.is_used()) {
4316 : compiler::TNode<UintPtrT> tmp0;
4317 : ca_.Bind(&block0, &tmp0);
4318 : compiler::TNode<Float64T> tmp1;
4319 : USE(tmp1);
4320 2240 : tmp1 = ca_.UncheckedCast<Float64T>(CodeStubAssembler(state_).ChangeUintPtrToFloat64(compiler::TNode<UintPtrT>{tmp0}));
4321 : ca_.Goto(&block1, tmp0, tmp1);
4322 : }
4323 :
4324 1120 : if (block1.is_used()) {
4325 : compiler::TNode<UintPtrT> tmp2;
4326 : compiler::TNode<Float64T> tmp3;
4327 : ca_.Bind(&block1, &tmp2, &tmp3);
4328 : ca_.Goto(&block2, tmp2, tmp3);
4329 : }
4330 :
4331 : compiler::TNode<UintPtrT> tmp4;
4332 : compiler::TNode<Float64T> tmp5;
4333 : ca_.Bind(&block2, &tmp4, &tmp5);
4334 2240 : return compiler::TNode<Float64T>{tmp5};
4335 : }
4336 :
4337 336 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Convert22UT12ATHeapNumber5ATSmi9ATuintptr(compiler::TNode<UintPtrT> p_ui) {
4338 336 : compiler::CodeAssemblerParameterizedLabel<UintPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4339 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4340 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4341 : ca_.Goto(&block0, p_ui);
4342 :
4343 336 : if (block0.is_used()) {
4344 : compiler::TNode<UintPtrT> tmp0;
4345 : ca_.Bind(&block0, &tmp0);
4346 : compiler::TNode<Number> tmp1;
4347 : USE(tmp1);
4348 672 : tmp1 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ChangeUintPtrToTagged(compiler::TNode<UintPtrT>{tmp0}));
4349 : ca_.Goto(&block1, tmp0, tmp1);
4350 : }
4351 :
4352 336 : if (block1.is_used()) {
4353 : compiler::TNode<UintPtrT> tmp2;
4354 : compiler::TNode<Number> tmp3;
4355 : ca_.Bind(&block1, &tmp2, &tmp3);
4356 : ca_.Goto(&block2, tmp2, tmp3);
4357 : }
4358 :
4359 : compiler::TNode<UintPtrT> tmp4;
4360 : compiler::TNode<Number> tmp5;
4361 : ca_.Bind(&block2, &tmp4, &tmp5);
4362 672 : return compiler::TNode<Number>{tmp5};
4363 : }
4364 :
4365 1120 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::Convert9ATuintptr9ATfloat64(compiler::TNode<Float64T> p_d) {
4366 1120 : compiler::CodeAssemblerParameterizedLabel<Float64T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4367 : compiler::CodeAssemblerParameterizedLabel<Float64T, UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4368 : compiler::CodeAssemblerParameterizedLabel<Float64T, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4369 : ca_.Goto(&block0, p_d);
4370 :
4371 1120 : if (block0.is_used()) {
4372 : compiler::TNode<Float64T> tmp0;
4373 : ca_.Bind(&block0, &tmp0);
4374 : compiler::TNode<UintPtrT> tmp1;
4375 : USE(tmp1);
4376 3360 : tmp1 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).ChangeFloat64ToUintPtr(compiler::TNode<Float64T>{tmp0}));
4377 : ca_.Goto(&block1, tmp0, tmp1);
4378 : }
4379 :
4380 1120 : if (block1.is_used()) {
4381 : compiler::TNode<Float64T> tmp2;
4382 : compiler::TNode<UintPtrT> tmp3;
4383 : ca_.Bind(&block1, &tmp2, &tmp3);
4384 : ca_.Goto(&block2, tmp2, tmp3);
4385 : }
4386 :
4387 : compiler::TNode<Float64T> tmp4;
4388 : compiler::TNode<UintPtrT> tmp5;
4389 : ca_.Bind(&block2, &tmp4, &tmp5);
4390 2240 : return compiler::TNode<UintPtrT>{tmp5};
4391 : }
4392 :
4393 0 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::Convert9ATuintptr8ATintptr(compiler::TNode<IntPtrT> p_i) {
4394 0 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4395 : compiler::CodeAssemblerParameterizedLabel<IntPtrT, UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4396 : compiler::CodeAssemblerParameterizedLabel<IntPtrT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4397 : ca_.Goto(&block0, p_i);
4398 :
4399 0 : if (block0.is_used()) {
4400 : compiler::TNode<IntPtrT> tmp0;
4401 : ca_.Bind(&block0, &tmp0);
4402 : compiler::TNode<UintPtrT> tmp1;
4403 : USE(tmp1);
4404 0 : tmp1 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).Unsigned(compiler::TNode<IntPtrT>{tmp0}));
4405 : ca_.Goto(&block1, tmp0, tmp1);
4406 : }
4407 :
4408 0 : if (block1.is_used()) {
4409 : compiler::TNode<IntPtrT> tmp2;
4410 : compiler::TNode<UintPtrT> tmp3;
4411 : ca_.Bind(&block1, &tmp2, &tmp3);
4412 : ca_.Goto(&block2, tmp2, tmp3);
4413 : }
4414 :
4415 : compiler::TNode<IntPtrT> tmp4;
4416 : compiler::TNode<UintPtrT> tmp5;
4417 : ca_.Bind(&block2, &tmp4, &tmp5);
4418 0 : return compiler::TNode<UintPtrT>{tmp5};
4419 : }
4420 :
4421 0 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::Convert9ATuintptr8ATRawPtr(compiler::TNode<RawPtrT> p_r) {
4422 0 : compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4423 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4424 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4425 : ca_.Goto(&block0, p_r);
4426 :
4427 0 : if (block0.is_used()) {
4428 : compiler::TNode<RawPtrT> tmp0;
4429 : ca_.Bind(&block0, &tmp0);
4430 : compiler::TNode<UintPtrT> tmp1;
4431 : USE(tmp1);
4432 0 : tmp1 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).Unsigned(compiler::TNode<RawPtrT>{tmp0}));
4433 : ca_.Goto(&block1, tmp0, tmp1);
4434 : }
4435 :
4436 0 : if (block1.is_used()) {
4437 : compiler::TNode<RawPtrT> tmp2;
4438 : compiler::TNode<UintPtrT> tmp3;
4439 : ca_.Bind(&block1, &tmp2, &tmp3);
4440 : ca_.Goto(&block2, tmp2, tmp3);
4441 : }
4442 :
4443 : compiler::TNode<RawPtrT> tmp4;
4444 : compiler::TNode<UintPtrT> tmp5;
4445 : ca_.Bind(&block2, &tmp4, &tmp5);
4446 0 : return compiler::TNode<UintPtrT>{tmp5};
4447 : }
4448 :
4449 0 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::Convert8ATintptr8ATRawPtr(compiler::TNode<RawPtrT> p_r) {
4450 0 : compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4451 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4452 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4453 : ca_.Goto(&block0, p_r);
4454 :
4455 0 : if (block0.is_used()) {
4456 : compiler::TNode<RawPtrT> tmp0;
4457 : ca_.Bind(&block0, &tmp0);
4458 : compiler::TNode<IntPtrT> tmp1;
4459 : USE(tmp1);
4460 0 : tmp1 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<RawPtrT>{tmp0}));
4461 : ca_.Goto(&block1, tmp0, tmp1);
4462 : }
4463 :
4464 0 : if (block1.is_used()) {
4465 : compiler::TNode<RawPtrT> tmp2;
4466 : compiler::TNode<IntPtrT> tmp3;
4467 : ca_.Bind(&block1, &tmp2, &tmp3);
4468 : ca_.Goto(&block2, tmp2, tmp3);
4469 : }
4470 :
4471 : compiler::TNode<RawPtrT> tmp4;
4472 : compiler::TNode<IntPtrT> tmp5;
4473 : ca_.Bind(&block2, &tmp4, &tmp5);
4474 0 : return compiler::TNode<IntPtrT>{tmp5};
4475 : }
4476 :
4477 168 : compiler::TNode<BInt> BaseBuiltinsFromDSLAssembler::Convert6ATbint7ATint32(compiler::TNode<Int32T> p_v) {
4478 168 : compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4479 : compiler::CodeAssemblerParameterizedLabel<Int32T, BInt> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4480 : compiler::CodeAssemblerParameterizedLabel<Int32T, BInt> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4481 : ca_.Goto(&block0, p_v);
4482 :
4483 168 : if (block0.is_used()) {
4484 : compiler::TNode<Int32T> tmp0;
4485 : ca_.Bind(&block0, &tmp0);
4486 : compiler::TNode<IntPtrT> tmp1;
4487 : USE(tmp1);
4488 504 : tmp1 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr7ATint32(compiler::TNode<Int32T>{tmp0}));
4489 : compiler::TNode<BInt> tmp2;
4490 : USE(tmp2);
4491 336 : tmp2 = ca_.UncheckedCast<BInt>(CodeStubAssembler(state_).IntPtrToBInt(compiler::TNode<IntPtrT>{tmp1}));
4492 : ca_.Goto(&block1, tmp0, tmp2);
4493 : }
4494 :
4495 168 : if (block1.is_used()) {
4496 : compiler::TNode<Int32T> tmp3;
4497 : compiler::TNode<BInt> tmp4;
4498 : ca_.Bind(&block1, &tmp3, &tmp4);
4499 : ca_.Goto(&block2, tmp3, tmp4);
4500 : }
4501 :
4502 : compiler::TNode<Int32T> tmp5;
4503 : compiler::TNode<BInt> tmp6;
4504 : ca_.Bind(&block2, &tmp5, &tmp6);
4505 336 : return compiler::TNode<BInt>{tmp6};
4506 : }
4507 :
4508 0 : compiler::TNode<BInt> BaseBuiltinsFromDSLAssembler::Convert6ATbint8ATintptr(compiler::TNode<IntPtrT> p_v) {
4509 0 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4510 : compiler::CodeAssemblerParameterizedLabel<IntPtrT, BInt> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4511 : compiler::CodeAssemblerParameterizedLabel<IntPtrT, BInt> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4512 : ca_.Goto(&block0, p_v);
4513 :
4514 0 : if (block0.is_used()) {
4515 : compiler::TNode<IntPtrT> tmp0;
4516 : ca_.Bind(&block0, &tmp0);
4517 : compiler::TNode<BInt> tmp1;
4518 : USE(tmp1);
4519 0 : tmp1 = ca_.UncheckedCast<BInt>(CodeStubAssembler(state_).IntPtrToBInt(compiler::TNode<IntPtrT>{tmp0}));
4520 : ca_.Goto(&block1, tmp0, tmp1);
4521 : }
4522 :
4523 0 : if (block1.is_used()) {
4524 : compiler::TNode<IntPtrT> tmp2;
4525 : compiler::TNode<BInt> tmp3;
4526 : ca_.Bind(&block1, &tmp2, &tmp3);
4527 : ca_.Goto(&block2, tmp2, tmp3);
4528 : }
4529 :
4530 : compiler::TNode<IntPtrT> tmp4;
4531 : compiler::TNode<BInt> tmp5;
4532 : ca_.Bind(&block2, &tmp4, &tmp5);
4533 0 : return compiler::TNode<BInt>{tmp5};
4534 : }
4535 :
4536 168 : compiler::TNode<BInt> BaseBuiltinsFromDSLAssembler::Convert6ATbint5ATSmi(compiler::TNode<Smi> p_v) {
4537 168 : compiler::CodeAssemblerParameterizedLabel<Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4538 : compiler::CodeAssemblerParameterizedLabel<Smi, BInt> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4539 : compiler::CodeAssemblerParameterizedLabel<Smi, BInt> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4540 : ca_.Goto(&block0, p_v);
4541 :
4542 168 : if (block0.is_used()) {
4543 : compiler::TNode<Smi> tmp0;
4544 : ca_.Bind(&block0, &tmp0);
4545 : compiler::TNode<BInt> tmp1;
4546 : USE(tmp1);
4547 336 : tmp1 = ca_.UncheckedCast<BInt>(CodeStubAssembler(state_).SmiToBInt(compiler::TNode<Smi>{tmp0}));
4548 : ca_.Goto(&block1, tmp0, tmp1);
4549 : }
4550 :
4551 168 : if (block1.is_used()) {
4552 : compiler::TNode<Smi> tmp2;
4553 : compiler::TNode<BInt> tmp3;
4554 : ca_.Bind(&block1, &tmp2, &tmp3);
4555 : ca_.Goto(&block2, tmp2, tmp3);
4556 : }
4557 :
4558 : compiler::TNode<Smi> tmp4;
4559 : compiler::TNode<BInt> tmp5;
4560 : ca_.Bind(&block2, &tmp4, &tmp5);
4561 336 : return compiler::TNode<BInt>{tmp5};
4562 : }
4563 :
4564 56 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::UnsafeCast20UT5ATSmi10HeapObject(compiler::TNode<Object> p_o) {
4565 56 : compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4566 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4567 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4568 : ca_.Goto(&block0, p_o);
4569 :
4570 56 : if (block0.is_used()) {
4571 : compiler::TNode<Object> tmp0;
4572 : ca_.Bind(&block0, &tmp0);
4573 : ca_.Goto(&block1, tmp0, tmp0);
4574 : }
4575 :
4576 56 : if (block1.is_used()) {
4577 : compiler::TNode<Object> tmp1;
4578 : compiler::TNode<Object> tmp2;
4579 : ca_.Bind(&block1, &tmp1, &tmp2);
4580 : ca_.Goto(&block2, tmp1, tmp2);
4581 : }
4582 :
4583 : compiler::TNode<Object> tmp3;
4584 : compiler::TNode<Object> tmp4;
4585 : ca_.Bind(&block2, &tmp3, &tmp4);
4586 112 : return compiler::TNode<Object>{tmp4};
4587 : }
4588 :
4589 280 : compiler::TNode<Map> BaseBuiltinsFromDSLAssembler::kCOWMap() {
4590 280 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4591 : ca_.Goto(&block0);
4592 :
4593 : ca_.Bind(&block0);
4594 : compiler::TNode<Object> tmp0;
4595 : USE(tmp0);
4596 560 : tmp0 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadRoot(RootIndex::kFixedCOWArrayMap));
4597 : compiler::TNode<Map> tmp1;
4598 : USE(tmp1);
4599 : tmp1 = TORQUE_CAST(compiler::TNode<Object>{tmp0});
4600 560 : return compiler::TNode<Map>{tmp1};
4601 : }
4602 :
4603 122 : compiler::TNode<FixedArrayBase> BaseBuiltinsFromDSLAssembler::kEmptyFixedArray() {
4604 122 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4605 : ca_.Goto(&block0);
4606 :
4607 : ca_.Bind(&block0);
4608 : compiler::TNode<Object> tmp0;
4609 : USE(tmp0);
4610 244 : tmp0 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadRoot(RootIndex::kEmptyFixedArray));
4611 : compiler::TNode<FixedArrayBase> tmp1;
4612 : USE(tmp1);
4613 : tmp1 = TORQUE_CAST(compiler::TNode<Object>{tmp0});
4614 244 : return compiler::TNode<FixedArrayBase>{tmp1};
4615 : }
4616 :
4617 56 : void BaseBuiltinsFromDSLAssembler::StoreFixedDoubleArrayNumber(compiler::TNode<FixedDoubleArray> p_a, compiler::TNode<Smi> p_index, compiler::TNode<Number> p_value) {
4618 56 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4619 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4620 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4621 : ca_.Goto(&block0, p_a, p_index, p_value);
4622 :
4623 56 : if (block0.is_used()) {
4624 : compiler::TNode<FixedDoubleArray> tmp0;
4625 : compiler::TNode<Smi> tmp1;
4626 : compiler::TNode<Number> tmp2;
4627 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
4628 : compiler::TNode<Float64T> tmp3;
4629 : USE(tmp3);
4630 168 : tmp3 = ca_.UncheckedCast<Float64T>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATfloat6422UT12ATHeapNumber5ATSmi(compiler::TNode<Number>{tmp2}));
4631 112 : CodeStubAssembler(state_).StoreFixedDoubleArrayElementSmi(compiler::TNode<FixedDoubleArray>{tmp0}, compiler::TNode<Smi>{tmp1}, compiler::TNode<Float64T>{tmp3});
4632 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
4633 : }
4634 :
4635 56 : if (block1.is_used()) {
4636 : compiler::TNode<FixedDoubleArray> tmp4;
4637 : compiler::TNode<Smi> tmp5;
4638 : compiler::TNode<Number> tmp6;
4639 : ca_.Bind(&block1, &tmp4, &tmp5, &tmp6);
4640 : ca_.Goto(&block2, tmp4, tmp5, tmp6);
4641 : }
4642 :
4643 : compiler::TNode<FixedDoubleArray> tmp7;
4644 : compiler::TNode<Smi> tmp8;
4645 : compiler::TNode<Number> tmp9;
4646 : ca_.Bind(&block2, &tmp7, &tmp8, &tmp9);
4647 56 : }
4648 :
4649 168 : void BaseBuiltinsFromDSLAssembler::StoreFixedDoubleArrayElementWithSmiIndex(compiler::TNode<FixedDoubleArray> p_array, compiler::TNode<Smi> p_index, compiler::TNode<Float64T> p_value) {
4650 168 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Float64T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4651 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4652 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4653 : ca_.Goto(&block0, p_array, p_index, p_value);
4654 :
4655 168 : if (block0.is_used()) {
4656 : compiler::TNode<FixedDoubleArray> tmp0;
4657 : compiler::TNode<Smi> tmp1;
4658 : compiler::TNode<Float64T> tmp2;
4659 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
4660 336 : CodeStubAssembler(state_).StoreFixedDoubleArrayElement(compiler::TNode<FixedDoubleArray>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Float64T>{tmp2}, CodeStubAssembler::SMI_PARAMETERS);
4661 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
4662 : }
4663 :
4664 168 : if (block1.is_used()) {
4665 : compiler::TNode<FixedDoubleArray> tmp3;
4666 : compiler::TNode<Smi> tmp4;
4667 : compiler::TNode<Float64T> tmp5;
4668 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
4669 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
4670 : }
4671 :
4672 : compiler::TNode<FixedDoubleArray> tmp6;
4673 : compiler::TNode<Smi> tmp7;
4674 : compiler::TNode<Float64T> tmp8;
4675 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
4676 168 : }
4677 :
4678 56 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::AllowDoubleElements(compiler::TNode<Int32T> p_kind) {
4679 56 : compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4680 : compiler::CodeAssemblerParameterizedLabel<Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4681 : compiler::CodeAssemblerParameterizedLabel<Int32T> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4682 : compiler::CodeAssemblerParameterizedLabel<Int32T> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4683 : compiler::CodeAssemblerParameterizedLabel<Int32T> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4684 : compiler::CodeAssemblerParameterizedLabel<Int32T> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4685 : compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4686 : compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4687 : ca_.Goto(&block0, p_kind);
4688 :
4689 56 : if (block0.is_used()) {
4690 : compiler::TNode<Int32T> tmp0;
4691 : ca_.Bind(&block0, &tmp0);
4692 : compiler::TNode<Int32T> tmp1;
4693 : USE(tmp1);
4694 168 : tmp1 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_SMI_ELEMENTS));
4695 : compiler::TNode<BoolT> tmp2;
4696 : USE(tmp2);
4697 112 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp0}, compiler::TNode<Int32T>{tmp1}));
4698 56 : ca_.Branch(tmp2, &block2, &block3, tmp0);
4699 : }
4700 :
4701 56 : if (block2.is_used()) {
4702 : compiler::TNode<Int32T> tmp3;
4703 : ca_.Bind(&block2, &tmp3);
4704 : compiler::TNode<Int32T> tmp4;
4705 : USE(tmp4);
4706 168 : tmp4 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_DOUBLE_ELEMENTS));
4707 : ca_.Goto(&block1, tmp3, tmp4);
4708 : }
4709 :
4710 56 : if (block3.is_used()) {
4711 : compiler::TNode<Int32T> tmp5;
4712 : ca_.Bind(&block3, &tmp5);
4713 : compiler::TNode<Int32T> tmp6;
4714 : USE(tmp6);
4715 168 : tmp6 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(HOLEY_SMI_ELEMENTS));
4716 : compiler::TNode<BoolT> tmp7;
4717 : USE(tmp7);
4718 112 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp5}, compiler::TNode<Int32T>{tmp6}));
4719 56 : ca_.Branch(tmp7, &block5, &block6, tmp5);
4720 : }
4721 :
4722 56 : if (block5.is_used()) {
4723 : compiler::TNode<Int32T> tmp8;
4724 : ca_.Bind(&block5, &tmp8);
4725 : compiler::TNode<Int32T> tmp9;
4726 : USE(tmp9);
4727 168 : tmp9 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(HOLEY_DOUBLE_ELEMENTS));
4728 : ca_.Goto(&block1, tmp8, tmp9);
4729 : }
4730 :
4731 56 : if (block6.is_used()) {
4732 : compiler::TNode<Int32T> tmp10;
4733 : ca_.Bind(&block6, &tmp10);
4734 : ca_.Goto(&block4, tmp10);
4735 : }
4736 :
4737 56 : if (block4.is_used()) {
4738 : compiler::TNode<Int32T> tmp11;
4739 : ca_.Bind(&block4, &tmp11);
4740 : ca_.Goto(&block1, tmp11, tmp11);
4741 : }
4742 :
4743 56 : if (block1.is_used()) {
4744 : compiler::TNode<Int32T> tmp12;
4745 : compiler::TNode<Int32T> tmp13;
4746 : ca_.Bind(&block1, &tmp12, &tmp13);
4747 : ca_.Goto(&block7, tmp12, tmp13);
4748 : }
4749 :
4750 : compiler::TNode<Int32T> tmp14;
4751 : compiler::TNode<Int32T> tmp15;
4752 : ca_.Bind(&block7, &tmp14, &tmp15);
4753 112 : return compiler::TNode<Int32T>{tmp15};
4754 : }
4755 :
4756 112 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::AllowNonNumberElements(compiler::TNode<Int32T> p_kind) {
4757 112 : compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4758 : compiler::CodeAssemblerParameterizedLabel<Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4759 : compiler::CodeAssemblerParameterizedLabel<Int32T> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4760 : compiler::CodeAssemblerParameterizedLabel<Int32T> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4761 : compiler::CodeAssemblerParameterizedLabel<Int32T> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4762 : compiler::CodeAssemblerParameterizedLabel<Int32T> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4763 : compiler::CodeAssemblerParameterizedLabel<Int32T> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4764 : compiler::CodeAssemblerParameterizedLabel<Int32T> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4765 : compiler::CodeAssemblerParameterizedLabel<Int32T> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4766 : compiler::CodeAssemblerParameterizedLabel<Int32T> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4767 : compiler::CodeAssemblerParameterizedLabel<Int32T> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4768 : compiler::CodeAssemblerParameterizedLabel<Int32T> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4769 : compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4770 : compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4771 : ca_.Goto(&block0, p_kind);
4772 :
4773 112 : if (block0.is_used()) {
4774 : compiler::TNode<Int32T> tmp0;
4775 : ca_.Bind(&block0, &tmp0);
4776 : compiler::TNode<Int32T> tmp1;
4777 : USE(tmp1);
4778 336 : tmp1 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_SMI_ELEMENTS));
4779 : compiler::TNode<BoolT> tmp2;
4780 : USE(tmp2);
4781 224 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp0}, compiler::TNode<Int32T>{tmp1}));
4782 112 : ca_.Branch(tmp2, &block2, &block3, tmp0);
4783 : }
4784 :
4785 112 : if (block2.is_used()) {
4786 : compiler::TNode<Int32T> tmp3;
4787 : ca_.Bind(&block2, &tmp3);
4788 : compiler::TNode<Int32T> tmp4;
4789 : USE(tmp4);
4790 336 : tmp4 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_ELEMENTS));
4791 : ca_.Goto(&block1, tmp3, tmp4);
4792 : }
4793 :
4794 112 : if (block3.is_used()) {
4795 : compiler::TNode<Int32T> tmp5;
4796 : ca_.Bind(&block3, &tmp5);
4797 : compiler::TNode<Int32T> tmp6;
4798 : USE(tmp6);
4799 336 : tmp6 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(HOLEY_SMI_ELEMENTS));
4800 : compiler::TNode<BoolT> tmp7;
4801 : USE(tmp7);
4802 224 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp5}, compiler::TNode<Int32T>{tmp6}));
4803 112 : ca_.Branch(tmp7, &block5, &block6, tmp5);
4804 : }
4805 :
4806 112 : if (block5.is_used()) {
4807 : compiler::TNode<Int32T> tmp8;
4808 : ca_.Bind(&block5, &tmp8);
4809 : compiler::TNode<Int32T> tmp9;
4810 : USE(tmp9);
4811 336 : tmp9 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(HOLEY_ELEMENTS));
4812 : ca_.Goto(&block1, tmp8, tmp9);
4813 : }
4814 :
4815 112 : if (block6.is_used()) {
4816 : compiler::TNode<Int32T> tmp10;
4817 : ca_.Bind(&block6, &tmp10);
4818 : compiler::TNode<Int32T> tmp11;
4819 : USE(tmp11);
4820 336 : tmp11 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_DOUBLE_ELEMENTS));
4821 : compiler::TNode<BoolT> tmp12;
4822 : USE(tmp12);
4823 224 : tmp12 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp10}, compiler::TNode<Int32T>{tmp11}));
4824 112 : ca_.Branch(tmp12, &block8, &block9, tmp10);
4825 : }
4826 :
4827 112 : if (block8.is_used()) {
4828 : compiler::TNode<Int32T> tmp13;
4829 : ca_.Bind(&block8, &tmp13);
4830 : compiler::TNode<Int32T> tmp14;
4831 : USE(tmp14);
4832 336 : tmp14 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_ELEMENTS));
4833 : ca_.Goto(&block1, tmp13, tmp14);
4834 : }
4835 :
4836 112 : if (block9.is_used()) {
4837 : compiler::TNode<Int32T> tmp15;
4838 : ca_.Bind(&block9, &tmp15);
4839 : compiler::TNode<Int32T> tmp16;
4840 : USE(tmp16);
4841 336 : tmp16 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(HOLEY_DOUBLE_ELEMENTS));
4842 : compiler::TNode<BoolT> tmp17;
4843 : USE(tmp17);
4844 224 : tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp15}, compiler::TNode<Int32T>{tmp16}));
4845 112 : ca_.Branch(tmp17, &block11, &block12, tmp15);
4846 : }
4847 :
4848 112 : if (block11.is_used()) {
4849 : compiler::TNode<Int32T> tmp18;
4850 : ca_.Bind(&block11, &tmp18);
4851 : compiler::TNode<Int32T> tmp19;
4852 : USE(tmp19);
4853 336 : tmp19 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(HOLEY_ELEMENTS));
4854 : ca_.Goto(&block1, tmp18, tmp19);
4855 : }
4856 :
4857 112 : if (block12.is_used()) {
4858 : compiler::TNode<Int32T> tmp20;
4859 : ca_.Bind(&block12, &tmp20);
4860 : ca_.Goto(&block10, tmp20);
4861 : }
4862 :
4863 112 : if (block10.is_used()) {
4864 : compiler::TNode<Int32T> tmp21;
4865 : ca_.Bind(&block10, &tmp21);
4866 : ca_.Goto(&block7, tmp21);
4867 : }
4868 :
4869 112 : if (block7.is_used()) {
4870 : compiler::TNode<Int32T> tmp22;
4871 : ca_.Bind(&block7, &tmp22);
4872 : ca_.Goto(&block4, tmp22);
4873 : }
4874 :
4875 112 : if (block4.is_used()) {
4876 : compiler::TNode<Int32T> tmp23;
4877 : ca_.Bind(&block4, &tmp23);
4878 : ca_.Goto(&block1, tmp23, tmp23);
4879 : }
4880 :
4881 112 : if (block1.is_used()) {
4882 : compiler::TNode<Int32T> tmp24;
4883 : compiler::TNode<Int32T> tmp25;
4884 : ca_.Bind(&block1, &tmp24, &tmp25);
4885 : ca_.Goto(&block13, tmp24, tmp25);
4886 : }
4887 :
4888 : compiler::TNode<Int32T> tmp26;
4889 : compiler::TNode<Int32T> tmp27;
4890 : ca_.Bind(&block13, &tmp26, &tmp27);
4891 224 : return compiler::TNode<Int32T>{tmp27};
4892 : }
4893 :
4894 112 : compiler::TNode<JSFunction> BaseBuiltinsFromDSLAssembler::GetObjectFunction(compiler::TNode<Context> p_context) {
4895 112 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4896 : compiler::CodeAssemblerParameterizedLabel<Context, JSFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4897 : compiler::CodeAssemblerParameterizedLabel<Context, JSFunction> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4898 : ca_.Goto(&block0, p_context);
4899 :
4900 112 : if (block0.is_used()) {
4901 : compiler::TNode<Context> tmp0;
4902 : ca_.Bind(&block0, &tmp0);
4903 : compiler::TNode<Context> tmp1;
4904 : USE(tmp1);
4905 336 : tmp1 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
4906 : compiler::TNode<IntPtrT> tmp2;
4907 : USE(tmp2);
4908 336 : tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::OBJECT_FUNCTION_INDEX));
4909 : compiler::TNode<Object> tmp3;
4910 : USE(tmp3);
4911 224 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp1}, compiler::TNode<IntPtrT>{tmp2}));
4912 : compiler::TNode<JSFunction> tmp4;
4913 : USE(tmp4);
4914 336 : tmp4 = ca_.UncheckedCast<JSFunction>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10JSFunction(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp3}));
4915 : ca_.Goto(&block1, tmp0, tmp4);
4916 : }
4917 :
4918 112 : if (block1.is_used()) {
4919 : compiler::TNode<Context> tmp5;
4920 : compiler::TNode<JSFunction> tmp6;
4921 : ca_.Bind(&block1, &tmp5, &tmp6);
4922 : ca_.Goto(&block2, tmp5, tmp6);
4923 : }
4924 :
4925 : compiler::TNode<Context> tmp7;
4926 : compiler::TNode<JSFunction> tmp8;
4927 : ca_.Bind(&block2, &tmp7, &tmp8);
4928 224 : return compiler::TNode<JSFunction>{tmp8};
4929 : }
4930 :
4931 5 : compiler::TNode<Map> BaseBuiltinsFromDSLAssembler::GetFastPackedSmiElementsJSArrayMap(compiler::TNode<Context> p_context) {
4932 5 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4933 : compiler::CodeAssemblerParameterizedLabel<Context, Map> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4934 : compiler::CodeAssemblerParameterizedLabel<Context, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4935 : ca_.Goto(&block0, p_context);
4936 :
4937 5 : if (block0.is_used()) {
4938 : compiler::TNode<Context> tmp0;
4939 : ca_.Bind(&block0, &tmp0);
4940 : compiler::TNode<Context> tmp1;
4941 : USE(tmp1);
4942 15 : tmp1 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
4943 : compiler::TNode<IntPtrT> tmp2;
4944 : USE(tmp2);
4945 15 : tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::JS_ARRAY_PACKED_SMI_ELEMENTS_MAP_INDEX));
4946 : compiler::TNode<Object> tmp3;
4947 : USE(tmp3);
4948 10 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp1}, compiler::TNode<IntPtrT>{tmp2}));
4949 : compiler::TNode<Map> tmp4;
4950 : USE(tmp4);
4951 15 : tmp4 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATMap(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp3}));
4952 : ca_.Goto(&block1, tmp0, tmp4);
4953 : }
4954 :
4955 5 : if (block1.is_used()) {
4956 : compiler::TNode<Context> tmp5;
4957 : compiler::TNode<Map> tmp6;
4958 : ca_.Bind(&block1, &tmp5, &tmp6);
4959 : ca_.Goto(&block2, tmp5, tmp6);
4960 : }
4961 :
4962 : compiler::TNode<Context> tmp7;
4963 : compiler::TNode<Map> tmp8;
4964 : ca_.Bind(&block2, &tmp7, &tmp8);
4965 10 : return compiler::TNode<Map>{tmp8};
4966 : }
4967 :
4968 112 : void BaseBuiltinsFromDSLAssembler::TorqueMoveElements(compiler::TNode<FixedArray> p_elements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count) {
4969 112 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4970 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4971 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4972 : ca_.Goto(&block0, p_elements, p_dstIndex, p_srcIndex, p_count);
4973 :
4974 112 : if (block0.is_used()) {
4975 : compiler::TNode<FixedArray> tmp0;
4976 : compiler::TNode<IntPtrT> tmp1;
4977 : compiler::TNode<IntPtrT> tmp2;
4978 : compiler::TNode<IntPtrT> tmp3;
4979 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
4980 224 : CodeStubAssembler(state_).MoveElements(HOLEY_ELEMENTS, compiler::TNode<FixedArrayBase>{tmp0}, compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp2}, compiler::TNode<IntPtrT>{tmp3});
4981 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
4982 : }
4983 :
4984 112 : if (block1.is_used()) {
4985 : compiler::TNode<FixedArray> tmp4;
4986 : compiler::TNode<IntPtrT> tmp5;
4987 : compiler::TNode<IntPtrT> tmp6;
4988 : compiler::TNode<IntPtrT> tmp7;
4989 : ca_.Bind(&block1, &tmp4, &tmp5, &tmp6, &tmp7);
4990 : ca_.Goto(&block2, tmp4, tmp5, tmp6, tmp7);
4991 : }
4992 :
4993 : compiler::TNode<FixedArray> tmp8;
4994 : compiler::TNode<IntPtrT> tmp9;
4995 : compiler::TNode<IntPtrT> tmp10;
4996 : compiler::TNode<IntPtrT> tmp11;
4997 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11);
4998 112 : }
4999 :
5000 112 : void BaseBuiltinsFromDSLAssembler::TorqueMoveElements(compiler::TNode<FixedDoubleArray> p_elements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count) {
5001 112 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, IntPtrT, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5002 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, IntPtrT, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5003 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, IntPtrT, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5004 : ca_.Goto(&block0, p_elements, p_dstIndex, p_srcIndex, p_count);
5005 :
5006 112 : if (block0.is_used()) {
5007 : compiler::TNode<FixedDoubleArray> tmp0;
5008 : compiler::TNode<IntPtrT> tmp1;
5009 : compiler::TNode<IntPtrT> tmp2;
5010 : compiler::TNode<IntPtrT> tmp3;
5011 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
5012 224 : CodeStubAssembler(state_).MoveElements(HOLEY_DOUBLE_ELEMENTS, compiler::TNode<FixedArrayBase>{tmp0}, compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp2}, compiler::TNode<IntPtrT>{tmp3});
5013 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
5014 : }
5015 :
5016 112 : if (block1.is_used()) {
5017 : compiler::TNode<FixedDoubleArray> tmp4;
5018 : compiler::TNode<IntPtrT> tmp5;
5019 : compiler::TNode<IntPtrT> tmp6;
5020 : compiler::TNode<IntPtrT> tmp7;
5021 : ca_.Bind(&block1, &tmp4, &tmp5, &tmp6, &tmp7);
5022 : ca_.Goto(&block2, tmp4, tmp5, tmp6, tmp7);
5023 : }
5024 :
5025 : compiler::TNode<FixedDoubleArray> tmp8;
5026 : compiler::TNode<IntPtrT> tmp9;
5027 : compiler::TNode<IntPtrT> tmp10;
5028 : compiler::TNode<IntPtrT> tmp11;
5029 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11);
5030 112 : }
5031 :
5032 56 : void BaseBuiltinsFromDSLAssembler::TorqueCopyElements(compiler::TNode<FixedArray> p_dstElements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<FixedArray> p_srcElements, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count) {
5033 56 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, FixedArray, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5034 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, FixedArray, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5035 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, FixedArray, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5036 : ca_.Goto(&block0, p_dstElements, p_dstIndex, p_srcElements, p_srcIndex, p_count);
5037 :
5038 56 : if (block0.is_used()) {
5039 : compiler::TNode<FixedArray> tmp0;
5040 : compiler::TNode<IntPtrT> tmp1;
5041 : compiler::TNode<FixedArray> tmp2;
5042 : compiler::TNode<IntPtrT> tmp3;
5043 : compiler::TNode<IntPtrT> tmp4;
5044 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
5045 112 : CodeStubAssembler(state_).CopyElements(HOLEY_ELEMENTS, compiler::TNode<FixedArrayBase>{tmp0}, compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<FixedArrayBase>{tmp2}, compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4});
5046 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp4);
5047 : }
5048 :
5049 56 : if (block1.is_used()) {
5050 : compiler::TNode<FixedArray> tmp5;
5051 : compiler::TNode<IntPtrT> tmp6;
5052 : compiler::TNode<FixedArray> tmp7;
5053 : compiler::TNode<IntPtrT> tmp8;
5054 : compiler::TNode<IntPtrT> tmp9;
5055 : ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
5056 : ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8, tmp9);
5057 : }
5058 :
5059 : compiler::TNode<FixedArray> tmp10;
5060 : compiler::TNode<IntPtrT> tmp11;
5061 : compiler::TNode<FixedArray> tmp12;
5062 : compiler::TNode<IntPtrT> tmp13;
5063 : compiler::TNode<IntPtrT> tmp14;
5064 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
5065 56 : }
5066 :
5067 56 : void BaseBuiltinsFromDSLAssembler::TorqueCopyElements(compiler::TNode<FixedDoubleArray> p_dstElements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<FixedDoubleArray> p_srcElements, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count) {
5068 56 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, IntPtrT, FixedDoubleArray, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5069 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, IntPtrT, FixedDoubleArray, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5070 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, IntPtrT, FixedDoubleArray, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5071 : ca_.Goto(&block0, p_dstElements, p_dstIndex, p_srcElements, p_srcIndex, p_count);
5072 :
5073 56 : if (block0.is_used()) {
5074 : compiler::TNode<FixedDoubleArray> tmp0;
5075 : compiler::TNode<IntPtrT> tmp1;
5076 : compiler::TNode<FixedDoubleArray> tmp2;
5077 : compiler::TNode<IntPtrT> tmp3;
5078 : compiler::TNode<IntPtrT> tmp4;
5079 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
5080 112 : CodeStubAssembler(state_).CopyElements(HOLEY_DOUBLE_ELEMENTS, compiler::TNode<FixedArrayBase>{tmp0}, compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<FixedArrayBase>{tmp2}, compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4});
5081 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp4);
5082 : }
5083 :
5084 56 : if (block1.is_used()) {
5085 : compiler::TNode<FixedDoubleArray> tmp5;
5086 : compiler::TNode<IntPtrT> tmp6;
5087 : compiler::TNode<FixedDoubleArray> tmp7;
5088 : compiler::TNode<IntPtrT> tmp8;
5089 : compiler::TNode<IntPtrT> tmp9;
5090 : ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
5091 : ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8, tmp9);
5092 : }
5093 :
5094 : compiler::TNode<FixedDoubleArray> tmp10;
5095 : compiler::TNode<IntPtrT> tmp11;
5096 : compiler::TNode<FixedDoubleArray> tmp12;
5097 : compiler::TNode<IntPtrT> tmp13;
5098 : compiler::TNode<IntPtrT> tmp14;
5099 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
5100 56 : }
5101 :
5102 168 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadElementNoHole12ATFixedArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_a, compiler::TNode<Smi> p_index, compiler::CodeAssemblerLabel* label_IfHole) {
5103 168 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5104 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedArrayBase> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5105 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedArrayBase, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5106 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedArray, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5107 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedArray, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5108 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5109 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5110 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5111 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5112 : ca_.Goto(&block0, p_context, p_a, p_index);
5113 :
5114 168 : if (block0.is_used()) {
5115 : compiler::TNode<Context> tmp0;
5116 : compiler::TNode<JSArray> tmp1;
5117 : compiler::TNode<Smi> tmp2;
5118 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5119 : compiler::TNode<FixedArrayBase> tmp3;
5120 : USE(tmp3);
5121 504 : tmp3 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp1}));
5122 : compiler::TNode<FixedArray> tmp4;
5123 : USE(tmp4);
5124 : compiler::CodeAssemblerLabel label0(&ca_);
5125 504 : tmp4 = BaseBuiltinsFromDSLAssembler(state_).Cast12ATFixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp3}, &label0);
5126 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4);
5127 168 : if (label0.is_used()) {
5128 168 : ca_.Bind(&label0);
5129 : ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3);
5130 168 : }
5131 : }
5132 :
5133 168 : if (block6.is_used()) {
5134 : compiler::TNode<Context> tmp5;
5135 : compiler::TNode<JSArray> tmp6;
5136 : compiler::TNode<Smi> tmp7;
5137 : compiler::TNode<FixedArrayBase> tmp8;
5138 : ca_.Bind(&block6, &tmp5, &tmp6, &tmp7, &tmp8);
5139 : ca_.Goto(&block4, tmp5, tmp6, tmp7);
5140 : }
5141 :
5142 168 : if (block5.is_used()) {
5143 : compiler::TNode<Context> tmp9;
5144 : compiler::TNode<JSArray> tmp10;
5145 : compiler::TNode<Smi> tmp11;
5146 : compiler::TNode<FixedArrayBase> tmp12;
5147 : compiler::TNode<FixedArray> tmp13;
5148 : ca_.Bind(&block5, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
5149 : compiler::TNode<Object> tmp14;
5150 : USE(tmp14);
5151 336 : tmp14 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp13}, compiler::TNode<Smi>{tmp11}));
5152 : compiler::TNode<Oddball> tmp15;
5153 : USE(tmp15);
5154 504 : tmp15 = BaseBuiltinsFromDSLAssembler(state_).Hole();
5155 : compiler::TNode<BoolT> tmp16;
5156 : USE(tmp16);
5157 336 : tmp16 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp14}, compiler::TNode<Object>{tmp15}));
5158 168 : ca_.Branch(tmp16, &block7, &block8, tmp9, tmp10, tmp11, tmp13, tmp14);
5159 : }
5160 :
5161 168 : if (block7.is_used()) {
5162 : compiler::TNode<Context> tmp17;
5163 : compiler::TNode<JSArray> tmp18;
5164 : compiler::TNode<Smi> tmp19;
5165 : compiler::TNode<FixedArray> tmp20;
5166 : compiler::TNode<Object> tmp21;
5167 : ca_.Bind(&block7, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
5168 : ca_.Goto(&block1);
5169 : }
5170 :
5171 168 : if (block8.is_used()) {
5172 : compiler::TNode<Context> tmp22;
5173 : compiler::TNode<JSArray> tmp23;
5174 : compiler::TNode<Smi> tmp24;
5175 : compiler::TNode<FixedArray> tmp25;
5176 : compiler::TNode<Object> tmp26;
5177 : ca_.Bind(&block8, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
5178 : ca_.Goto(&block2, tmp22, tmp23, tmp24, tmp26);
5179 : }
5180 :
5181 168 : if (block4.is_used()) {
5182 : compiler::TNode<Context> tmp27;
5183 : compiler::TNode<JSArray> tmp28;
5184 : compiler::TNode<Smi> tmp29;
5185 : ca_.Bind(&block4, &tmp27, &tmp28, &tmp29);
5186 336 : CodeStubAssembler(state_).Unreachable();
5187 : }
5188 :
5189 168 : if (block2.is_used()) {
5190 : compiler::TNode<Context> tmp30;
5191 : compiler::TNode<JSArray> tmp31;
5192 : compiler::TNode<Smi> tmp32;
5193 : compiler::TNode<Object> tmp33;
5194 : ca_.Bind(&block2, &tmp30, &tmp31, &tmp32, &tmp33);
5195 : ca_.Goto(&block9, tmp30, tmp31, tmp32, tmp33);
5196 : }
5197 :
5198 168 : if (block1.is_used()) {
5199 : ca_.Bind(&block1);
5200 168 : ca_.Goto(label_IfHole);
5201 : }
5202 :
5203 : compiler::TNode<Context> tmp34;
5204 : compiler::TNode<JSArray> tmp35;
5205 : compiler::TNode<Smi> tmp36;
5206 : compiler::TNode<Object> tmp37;
5207 : ca_.Bind(&block9, &tmp34, &tmp35, &tmp36, &tmp37);
5208 336 : return compiler::TNode<Object>{tmp37};
5209 : }
5210 :
5211 112 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadElementNoHole18ATFixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_a, compiler::TNode<Smi> p_index, compiler::CodeAssemblerLabel* label_IfHole) {
5212 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5213 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedArrayBase> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5214 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedArrayBase, FixedDoubleArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5215 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedDoubleArray, FixedDoubleArray, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5216 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedDoubleArray, FixedDoubleArray, Smi, Float64T> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5217 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5218 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5219 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5220 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5221 : ca_.Goto(&block0, p_context, p_a, p_index);
5222 :
5223 112 : if (block0.is_used()) {
5224 : compiler::TNode<Context> tmp0;
5225 : compiler::TNode<JSArray> tmp1;
5226 : compiler::TNode<Smi> tmp2;
5227 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5228 : compiler::TNode<FixedArrayBase> tmp3;
5229 : USE(tmp3);
5230 336 : tmp3 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp1}));
5231 : compiler::TNode<FixedDoubleArray> tmp4;
5232 : USE(tmp4);
5233 : compiler::CodeAssemblerLabel label0(&ca_);
5234 336 : tmp4 = BaseBuiltinsFromDSLAssembler(state_).Cast18ATFixedDoubleArray(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp3}, &label0);
5235 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4);
5236 112 : if (label0.is_used()) {
5237 112 : ca_.Bind(&label0);
5238 : ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3);
5239 112 : }
5240 : }
5241 :
5242 112 : if (block6.is_used()) {
5243 : compiler::TNode<Context> tmp5;
5244 : compiler::TNode<JSArray> tmp6;
5245 : compiler::TNode<Smi> tmp7;
5246 : compiler::TNode<FixedArrayBase> tmp8;
5247 : ca_.Bind(&block6, &tmp5, &tmp6, &tmp7, &tmp8);
5248 : ca_.Goto(&block4, tmp5, tmp6, tmp7);
5249 : }
5250 :
5251 112 : if (block5.is_used()) {
5252 : compiler::TNode<Context> tmp9;
5253 : compiler::TNode<JSArray> tmp10;
5254 : compiler::TNode<Smi> tmp11;
5255 : compiler::TNode<FixedArrayBase> tmp12;
5256 : compiler::TNode<FixedDoubleArray> tmp13;
5257 : ca_.Bind(&block5, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
5258 : compiler::TNode<Float64T> tmp14;
5259 : USE(tmp14);
5260 : compiler::CodeAssemblerLabel label0(&ca_);
5261 224 : tmp14 = CodeStubAssembler(state_).LoadDoubleWithHoleCheck(compiler::TNode<FixedDoubleArray>{tmp13}, compiler::TNode<Smi>{tmp11}, &label0);
5262 : ca_.Goto(&block7, tmp9, tmp10, tmp11, tmp13, tmp13, tmp11, tmp14);
5263 112 : if (label0.is_used()) {
5264 112 : ca_.Bind(&label0);
5265 : ca_.Goto(&block8, tmp9, tmp10, tmp11, tmp13, tmp13, tmp11);
5266 112 : }
5267 : }
5268 :
5269 112 : if (block8.is_used()) {
5270 : compiler::TNode<Context> tmp15;
5271 : compiler::TNode<JSArray> tmp16;
5272 : compiler::TNode<Smi> tmp17;
5273 : compiler::TNode<FixedDoubleArray> tmp18;
5274 : compiler::TNode<FixedDoubleArray> tmp19;
5275 : compiler::TNode<Smi> tmp20;
5276 : ca_.Bind(&block8, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
5277 : ca_.Goto(&block1);
5278 : }
5279 :
5280 112 : if (block7.is_used()) {
5281 : compiler::TNode<Context> tmp21;
5282 : compiler::TNode<JSArray> tmp22;
5283 : compiler::TNode<Smi> tmp23;
5284 : compiler::TNode<FixedDoubleArray> tmp24;
5285 : compiler::TNode<FixedDoubleArray> tmp25;
5286 : compiler::TNode<Smi> tmp26;
5287 : compiler::TNode<Float64T> tmp27;
5288 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
5289 : compiler::TNode<HeapNumber> tmp28;
5290 : USE(tmp28);
5291 336 : tmp28 = ca_.UncheckedCast<HeapNumber>(CodeStubAssembler(state_).AllocateHeapNumberWithValue(compiler::TNode<Float64T>{tmp27}));
5292 : ca_.Goto(&block2, tmp21, tmp22, tmp23, tmp28);
5293 : }
5294 :
5295 112 : if (block4.is_used()) {
5296 : compiler::TNode<Context> tmp29;
5297 : compiler::TNode<JSArray> tmp30;
5298 : compiler::TNode<Smi> tmp31;
5299 : ca_.Bind(&block4, &tmp29, &tmp30, &tmp31);
5300 224 : CodeStubAssembler(state_).Unreachable();
5301 : }
5302 :
5303 112 : if (block2.is_used()) {
5304 : compiler::TNode<Context> tmp32;
5305 : compiler::TNode<JSArray> tmp33;
5306 : compiler::TNode<Smi> tmp34;
5307 : compiler::TNode<Object> tmp35;
5308 : ca_.Bind(&block2, &tmp32, &tmp33, &tmp34, &tmp35);
5309 : ca_.Goto(&block9, tmp32, tmp33, tmp34, tmp35);
5310 : }
5311 :
5312 112 : if (block1.is_used()) {
5313 : ca_.Bind(&block1);
5314 112 : ca_.Goto(label_IfHole);
5315 : }
5316 :
5317 : compiler::TNode<Context> tmp36;
5318 : compiler::TNode<JSArray> tmp37;
5319 : compiler::TNode<Smi> tmp38;
5320 : compiler::TNode<Object> tmp39;
5321 : ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39);
5322 224 : return compiler::TNode<Object>{tmp39};
5323 : }
5324 :
5325 392 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::NumberIsNaN(compiler::TNode<Number> p_number) {
5326 392 : compiler::CodeAssemblerParameterizedLabel<Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5327 : compiler::CodeAssemblerParameterizedLabel<Number, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5328 : compiler::CodeAssemblerParameterizedLabel<Number, Number, Number, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5329 : compiler::CodeAssemblerParameterizedLabel<Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5330 : compiler::CodeAssemblerParameterizedLabel<Number, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5331 : compiler::CodeAssemblerParameterizedLabel<Number, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5332 : ca_.Goto(&block0, p_number);
5333 :
5334 392 : if (block0.is_used()) {
5335 : compiler::TNode<Number> tmp0;
5336 : ca_.Bind(&block0, &tmp0);
5337 : compiler::TNode<Smi> tmp1;
5338 : USE(tmp1);
5339 : compiler::CodeAssemblerLabel label0(&ca_);
5340 1176 : tmp1 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp0}, &label0);
5341 : ca_.Goto(&block4, tmp0, tmp0, tmp0, tmp1);
5342 392 : if (label0.is_used()) {
5343 392 : ca_.Bind(&label0);
5344 : ca_.Goto(&block5, tmp0, tmp0, tmp0);
5345 392 : }
5346 : }
5347 :
5348 392 : if (block5.is_used()) {
5349 : compiler::TNode<Number> tmp2;
5350 : compiler::TNode<Number> tmp3;
5351 : compiler::TNode<Number> tmp4;
5352 : ca_.Bind(&block5, &tmp2, &tmp3, &tmp4);
5353 : ca_.Goto(&block3, tmp2, tmp3);
5354 : }
5355 :
5356 392 : if (block4.is_used()) {
5357 : compiler::TNode<Number> tmp5;
5358 : compiler::TNode<Number> tmp6;
5359 : compiler::TNode<Number> tmp7;
5360 : compiler::TNode<Smi> tmp8;
5361 : ca_.Bind(&block4, &tmp5, &tmp6, &tmp7, &tmp8);
5362 : compiler::TNode<BoolT> tmp9;
5363 : USE(tmp9);
5364 1176 : tmp9 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5365 : ca_.Goto(&block1, tmp5, tmp9);
5366 : }
5367 :
5368 392 : if (block3.is_used()) {
5369 : compiler::TNode<Number> tmp10;
5370 : compiler::TNode<Number> tmp11;
5371 : ca_.Bind(&block3, &tmp10, &tmp11);
5372 : compiler::TNode<Float64T> tmp12;
5373 : USE(tmp12);
5374 1176 : tmp12 = ca_.UncheckedCast<Float64T>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATfloat6412ATHeapNumber(compiler::TNode<HeapNumber>{ca_.UncheckedCast<HeapNumber>(tmp11)}));
5375 : compiler::TNode<BoolT> tmp13;
5376 : USE(tmp13);
5377 784 : tmp13 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Float64NotEqual(compiler::TNode<Float64T>{tmp12}, compiler::TNode<Float64T>{tmp12}));
5378 : ca_.Goto(&block1, tmp10, tmp13);
5379 : }
5380 :
5381 392 : if (block1.is_used()) {
5382 : compiler::TNode<Number> tmp14;
5383 : compiler::TNode<BoolT> tmp15;
5384 : ca_.Bind(&block1, &tmp14, &tmp15);
5385 : ca_.Goto(&block6, tmp14, tmp15);
5386 : }
5387 :
5388 : compiler::TNode<Number> tmp16;
5389 : compiler::TNode<BoolT> tmp17;
5390 : ca_.Bind(&block6, &tmp16, &tmp17);
5391 784 : return compiler::TNode<BoolT>{tmp17};
5392 : }
5393 :
5394 1400 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::ToBoolean(compiler::TNode<Object> p_obj) {
5395 1400 : compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5396 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5397 : compiler::CodeAssemblerParameterizedLabel<Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5398 : compiler::CodeAssemblerParameterizedLabel<Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5399 : compiler::CodeAssemblerParameterizedLabel<Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5400 : compiler::CodeAssemblerParameterizedLabel<Object, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5401 : compiler::CodeAssemblerParameterizedLabel<Object, BoolT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5402 : ca_.Goto(&block0, p_obj);
5403 :
5404 1400 : if (block0.is_used()) {
5405 : compiler::TNode<Object> tmp0;
5406 : ca_.Bind(&block0, &tmp0);
5407 : compiler::CodeAssemblerLabel label0(&ca_);
5408 1400 : compiler::CodeAssemblerLabel label1(&ca_);
5409 2800 : CodeStubAssembler(state_).BranchIfToBooleanIsTrue(compiler::TNode<Object>{tmp0}, &label0, &label1);
5410 1400 : if (label0.is_used()) {
5411 1400 : ca_.Bind(&label0);
5412 : ca_.Goto(&block4, tmp0, tmp0);
5413 : }
5414 1400 : if (label1.is_used()) {
5415 1400 : ca_.Bind(&label1);
5416 : ca_.Goto(&block5, tmp0, tmp0);
5417 1400 : }
5418 : }
5419 :
5420 1400 : if (block4.is_used()) {
5421 : compiler::TNode<Object> tmp1;
5422 : compiler::TNode<Object> tmp2;
5423 : ca_.Bind(&block4, &tmp1, &tmp2);
5424 : ca_.Goto(&block2, tmp1);
5425 : }
5426 :
5427 1400 : if (block5.is_used()) {
5428 : compiler::TNode<Object> tmp3;
5429 : compiler::TNode<Object> tmp4;
5430 : ca_.Bind(&block5, &tmp3, &tmp4);
5431 : ca_.Goto(&block3, tmp3);
5432 : }
5433 :
5434 1400 : if (block2.is_used()) {
5435 : compiler::TNode<Object> tmp5;
5436 : ca_.Bind(&block2, &tmp5);
5437 : compiler::TNode<BoolT> tmp6;
5438 : USE(tmp6);
5439 4200 : tmp6 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5440 : ca_.Goto(&block1, tmp5, tmp6);
5441 : }
5442 :
5443 1400 : if (block3.is_used()) {
5444 : compiler::TNode<Object> tmp7;
5445 : ca_.Bind(&block3, &tmp7);
5446 : compiler::TNode<BoolT> tmp8;
5447 : USE(tmp8);
5448 4200 : tmp8 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5449 : ca_.Goto(&block1, tmp7, tmp8);
5450 : }
5451 :
5452 1400 : if (block1.is_used()) {
5453 : compiler::TNode<Object> tmp9;
5454 : compiler::TNode<BoolT> tmp10;
5455 : ca_.Bind(&block1, &tmp9, &tmp10);
5456 : ca_.Goto(&block7, tmp9, tmp10);
5457 : }
5458 :
5459 : compiler::TNode<Object> tmp11;
5460 : compiler::TNode<BoolT> tmp12;
5461 : ca_.Bind(&block7, &tmp11, &tmp12);
5462 2800 : return compiler::TNode<BoolT>{tmp12};
5463 : }
5464 :
5465 1120 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::ToIndex(compiler::TNode<Object> p_input, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_RangeError) {
5466 1120 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5467 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5468 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5469 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Number, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5470 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Number, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5471 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5472 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Number, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5473 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Number, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5474 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5475 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5476 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5477 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5478 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5479 : ca_.Goto(&block0, p_input, p_context);
5480 :
5481 1120 : if (block0.is_used()) {
5482 : compiler::TNode<Object> tmp0;
5483 : compiler::TNode<Context> tmp1;
5484 : ca_.Bind(&block0, &tmp0, &tmp1);
5485 : compiler::TNode<Oddball> tmp2;
5486 : USE(tmp2);
5487 3360 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
5488 : compiler::TNode<BoolT> tmp3;
5489 : USE(tmp3);
5490 2240 : tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp0}, compiler::TNode<Object>{tmp2}));
5491 1120 : ca_.Branch(tmp3, &block3, &block4, tmp0, tmp1);
5492 : }
5493 :
5494 1120 : if (block3.is_used()) {
5495 : compiler::TNode<Object> tmp4;
5496 : compiler::TNode<Context> tmp5;
5497 : ca_.Bind(&block3, &tmp4, &tmp5);
5498 : compiler::TNode<Number> tmp6;
5499 : USE(tmp6);
5500 3360 : tmp6 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
5501 : ca_.Goto(&block2, tmp4, tmp5, tmp6);
5502 : }
5503 :
5504 1120 : if (block4.is_used()) {
5505 : compiler::TNode<Object> tmp7;
5506 : compiler::TNode<Context> tmp8;
5507 : ca_.Bind(&block4, &tmp7, &tmp8);
5508 : compiler::TNode<Number> tmp9;
5509 : USE(tmp9);
5510 4480 : tmp9 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ToInteger_Inline(compiler::TNode<Context>{tmp8}, compiler::TNode<Object>{tmp7}, CodeStubAssembler::ToIntegerTruncationMode::kTruncateMinusZero));
5511 : compiler::TNode<Number> tmp10;
5512 : USE(tmp10);
5513 3360 : tmp10 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
5514 : compiler::CodeAssemblerLabel label0(&ca_);
5515 1120 : compiler::CodeAssemblerLabel label1(&ca_);
5516 2240 : CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp9}, compiler::TNode<Number>{tmp10}, &label0, &label1);
5517 1120 : if (label0.is_used()) {
5518 1120 : ca_.Bind(&label0);
5519 : ca_.Goto(&block8, tmp7, tmp8, tmp9, tmp9);
5520 : }
5521 1120 : if (label1.is_used()) {
5522 1120 : ca_.Bind(&label1);
5523 : ca_.Goto(&block9, tmp7, tmp8, tmp9, tmp9);
5524 1120 : }
5525 : }
5526 :
5527 1120 : if (block8.is_used()) {
5528 : compiler::TNode<Object> tmp11;
5529 : compiler::TNode<Context> tmp12;
5530 : compiler::TNode<Number> tmp13;
5531 : compiler::TNode<Number> tmp14;
5532 : ca_.Bind(&block8, &tmp11, &tmp12, &tmp13, &tmp14);
5533 : ca_.Goto(&block5, tmp11, tmp12, tmp13);
5534 : }
5535 :
5536 1120 : if (block9.is_used()) {
5537 : compiler::TNode<Object> tmp15;
5538 : compiler::TNode<Context> tmp16;
5539 : compiler::TNode<Number> tmp17;
5540 : compiler::TNode<Number> tmp18;
5541 : ca_.Bind(&block9, &tmp15, &tmp16, &tmp17, &tmp18);
5542 : ca_.Goto(&block7, tmp15, tmp16, tmp17);
5543 : }
5544 :
5545 1120 : if (block7.is_used()) {
5546 : compiler::TNode<Object> tmp19;
5547 : compiler::TNode<Context> tmp20;
5548 : compiler::TNode<Number> tmp21;
5549 : ca_.Bind(&block7, &tmp19, &tmp20, &tmp21);
5550 : compiler::TNode<Number> tmp22;
5551 : USE(tmp22);
5552 3360 : tmp22 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi19ATconstexpr_float64(kMaxSafeInteger));
5553 : compiler::CodeAssemblerLabel label0(&ca_);
5554 1120 : compiler::CodeAssemblerLabel label1(&ca_);
5555 2240 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp21}, compiler::TNode<Number>{tmp22}, &label0, &label1);
5556 1120 : if (label0.is_used()) {
5557 1120 : ca_.Bind(&label0);
5558 : ca_.Goto(&block10, tmp19, tmp20, tmp21, tmp21);
5559 : }
5560 1120 : if (label1.is_used()) {
5561 1120 : ca_.Bind(&label1);
5562 : ca_.Goto(&block11, tmp19, tmp20, tmp21, tmp21);
5563 1120 : }
5564 : }
5565 :
5566 1120 : if (block10.is_used()) {
5567 : compiler::TNode<Object> tmp23;
5568 : compiler::TNode<Context> tmp24;
5569 : compiler::TNode<Number> tmp25;
5570 : compiler::TNode<Number> tmp26;
5571 : ca_.Bind(&block10, &tmp23, &tmp24, &tmp25, &tmp26);
5572 : ca_.Goto(&block5, tmp23, tmp24, tmp25);
5573 : }
5574 :
5575 1120 : if (block11.is_used()) {
5576 : compiler::TNode<Object> tmp27;
5577 : compiler::TNode<Context> tmp28;
5578 : compiler::TNode<Number> tmp29;
5579 : compiler::TNode<Number> tmp30;
5580 : ca_.Bind(&block11, &tmp27, &tmp28, &tmp29, &tmp30);
5581 : ca_.Goto(&block6, tmp27, tmp28, tmp29);
5582 : }
5583 :
5584 1120 : if (block5.is_used()) {
5585 : compiler::TNode<Object> tmp31;
5586 : compiler::TNode<Context> tmp32;
5587 : compiler::TNode<Number> tmp33;
5588 : ca_.Bind(&block5, &tmp31, &tmp32, &tmp33);
5589 : ca_.Goto(&block1);
5590 : }
5591 :
5592 1120 : if (block6.is_used()) {
5593 : compiler::TNode<Object> tmp34;
5594 : compiler::TNode<Context> tmp35;
5595 : compiler::TNode<Number> tmp36;
5596 : ca_.Bind(&block6, &tmp34, &tmp35, &tmp36);
5597 : ca_.Goto(&block2, tmp34, tmp35, tmp36);
5598 : }
5599 :
5600 1120 : if (block2.is_used()) {
5601 : compiler::TNode<Object> tmp37;
5602 : compiler::TNode<Context> tmp38;
5603 : compiler::TNode<Number> tmp39;
5604 : ca_.Bind(&block2, &tmp37, &tmp38, &tmp39);
5605 : ca_.Goto(&block12, tmp37, tmp38, tmp39);
5606 : }
5607 :
5608 1120 : if (block1.is_used()) {
5609 : ca_.Bind(&block1);
5610 1120 : ca_.Goto(label_RangeError);
5611 : }
5612 :
5613 : compiler::TNode<Object> tmp40;
5614 : compiler::TNode<Context> tmp41;
5615 : compiler::TNode<Number> tmp42;
5616 : ca_.Bind(&block12, &tmp40, &tmp41, &tmp42);
5617 2240 : return compiler::TNode<Number>{tmp42};
5618 : }
5619 :
5620 616 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::GetLengthProperty(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
5621 616 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5622 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5623 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5624 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5625 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5626 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSArgumentsObjectWithLength> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5627 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5628 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5629 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5630 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5631 : ca_.Goto(&block0, p_context, p_o);
5632 :
5633 616 : if (block0.is_used()) {
5634 : compiler::TNode<Context> tmp0;
5635 : compiler::TNode<Object> tmp1;
5636 : ca_.Bind(&block0, &tmp0, &tmp1);
5637 : compiler::TNode<JSArray> tmp2;
5638 : USE(tmp2);
5639 : compiler::CodeAssemblerLabel label0(&ca_);
5640 1848 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
5641 : ca_.Goto(&block6, tmp0, tmp1, tmp1, tmp1, tmp2);
5642 616 : if (label0.is_used()) {
5643 616 : ca_.Bind(&label0);
5644 : ca_.Goto(&block7, tmp0, tmp1, tmp1, tmp1);
5645 616 : }
5646 : }
5647 :
5648 616 : if (block7.is_used()) {
5649 : compiler::TNode<Context> tmp3;
5650 : compiler::TNode<Object> tmp4;
5651 : compiler::TNode<Object> tmp5;
5652 : compiler::TNode<Object> tmp6;
5653 : ca_.Bind(&block7, &tmp3, &tmp4, &tmp5, &tmp6);
5654 : ca_.Goto(&block5, tmp3, tmp4, tmp5);
5655 : }
5656 :
5657 616 : if (block6.is_used()) {
5658 : compiler::TNode<Context> tmp7;
5659 : compiler::TNode<Object> tmp8;
5660 : compiler::TNode<Object> tmp9;
5661 : compiler::TNode<Object> tmp10;
5662 : compiler::TNode<JSArray> tmp11;
5663 : ca_.Bind(&block6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
5664 : compiler::TNode<Number> tmp12;
5665 : USE(tmp12);
5666 1848 : tmp12 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArrayLength(compiler::TNode<JSArray>{tmp11}));
5667 : ca_.Goto(&block1, tmp7, tmp8, tmp12);
5668 : }
5669 :
5670 616 : if (block5.is_used()) {
5671 : compiler::TNode<Context> tmp13;
5672 : compiler::TNode<Object> tmp14;
5673 : compiler::TNode<Object> tmp15;
5674 : ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
5675 : compiler::TNode<JSArgumentsObjectWithLength> tmp16;
5676 : USE(tmp16);
5677 : compiler::CodeAssemblerLabel label0(&ca_);
5678 1848 : tmp16 = BaseBuiltinsFromDSLAssembler(state_).Cast27JSArgumentsObjectWithLength(compiler::TNode<Context>{tmp13}, compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp15)}, &label0);
5679 : ca_.Goto(&block10, tmp13, tmp14, tmp15, ca_.UncheckedCast<Object>(tmp15), tmp16);
5680 616 : if (label0.is_used()) {
5681 616 : ca_.Bind(&label0);
5682 : ca_.Goto(&block11, tmp13, tmp14, tmp15, ca_.UncheckedCast<Object>(tmp15));
5683 616 : }
5684 : }
5685 :
5686 616 : if (block11.is_used()) {
5687 : compiler::TNode<Context> tmp17;
5688 : compiler::TNode<Object> tmp18;
5689 : compiler::TNode<Object> tmp19;
5690 : compiler::TNode<Object> tmp20;
5691 : ca_.Bind(&block11, &tmp17, &tmp18, &tmp19, &tmp20);
5692 : ca_.Goto(&block9, tmp17, tmp18, tmp19);
5693 : }
5694 :
5695 616 : if (block10.is_used()) {
5696 : compiler::TNode<Context> tmp21;
5697 : compiler::TNode<Object> tmp22;
5698 : compiler::TNode<Object> tmp23;
5699 : compiler::TNode<Object> tmp24;
5700 : compiler::TNode<JSArgumentsObjectWithLength> tmp25;
5701 : ca_.Bind(&block10, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
5702 : compiler::TNode<Object> tmp26;
5703 : USE(tmp26);
5704 1848 : tmp26 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArgumentsObjectWithLengthLength(compiler::TNode<JSArgumentsObjectWithLength>{tmp25}));
5705 : ca_.Goto(&block3, tmp21, tmp22, tmp26);
5706 : }
5707 :
5708 616 : if (block9.is_used()) {
5709 : compiler::TNode<Context> tmp27;
5710 : compiler::TNode<Object> tmp28;
5711 : compiler::TNode<Object> tmp29;
5712 : ca_.Bind(&block9, &tmp27, &tmp28, &tmp29);
5713 : compiler::TNode<String> tmp30;
5714 : USE(tmp30);
5715 1848 : tmp30 = BaseBuiltinsFromDSLAssembler(state_).kLengthString();
5716 : compiler::TNode<Object> tmp31;
5717 : USE(tmp31);
5718 1232 : tmp31 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp27}, compiler::TNode<Object>{tmp28}, compiler::TNode<Object>{tmp30}));
5719 : ca_.Goto(&block3, tmp27, tmp28, tmp31);
5720 : }
5721 :
5722 616 : if (block3.is_used()) {
5723 : compiler::TNode<Context> tmp32;
5724 : compiler::TNode<Object> tmp33;
5725 : compiler::TNode<Object> tmp34;
5726 : ca_.Bind(&block3, &tmp32, &tmp33, &tmp34);
5727 : compiler::TNode<Number> tmp35;
5728 : USE(tmp35);
5729 2464 : tmp35 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ToLength_Inline(compiler::TNode<Context>{tmp32}, compiler::TNode<Object>{tmp34}));
5730 : ca_.Goto(&block1, tmp32, tmp33, tmp35);
5731 : }
5732 :
5733 616 : if (block1.is_used()) {
5734 : compiler::TNode<Context> tmp36;
5735 : compiler::TNode<Object> tmp37;
5736 : compiler::TNode<Number> tmp38;
5737 : ca_.Bind(&block1, &tmp36, &tmp37, &tmp38);
5738 : ca_.Goto(&block12, tmp36, tmp37, tmp38);
5739 : }
5740 :
5741 : compiler::TNode<Context> tmp39;
5742 : compiler::TNode<Object> tmp40;
5743 : compiler::TNode<Number> tmp41;
5744 : ca_.Bind(&block12, &tmp39, &tmp40, &tmp41);
5745 1232 : return compiler::TNode<Number>{tmp41};
5746 : }
5747 :
5748 0 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::IsFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context) {
5749 0 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5750 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5751 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5752 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5753 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5754 : compiler::CodeAssemblerParameterizedLabel<Object, Context, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5755 : compiler::CodeAssemblerParameterizedLabel<Object, Context, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5756 : ca_.Goto(&block0, p_o, p_context);
5757 :
5758 0 : if (block0.is_used()) {
5759 : compiler::TNode<Object> tmp0;
5760 : compiler::TNode<Context> tmp1;
5761 : ca_.Bind(&block0, &tmp0, &tmp1);
5762 : compiler::CodeAssemblerLabel label0(&ca_);
5763 0 : CodeStubAssembler(state_).GotoIfForceSlowPath(&label0);
5764 : ca_.Goto(&block4, tmp0, tmp1);
5765 0 : if (label0.is_used()) {
5766 0 : ca_.Bind(&label0);
5767 : ca_.Goto(&block5, tmp0, tmp1);
5768 0 : }
5769 : }
5770 :
5771 0 : if (block5.is_used()) {
5772 : compiler::TNode<Object> tmp2;
5773 : compiler::TNode<Context> tmp3;
5774 : ca_.Bind(&block5, &tmp2, &tmp3);
5775 : ca_.Goto(&block3, tmp2, tmp3);
5776 : }
5777 :
5778 0 : if (block4.is_used()) {
5779 : compiler::TNode<Object> tmp4;
5780 : compiler::TNode<Context> tmp5;
5781 : ca_.Bind(&block4, &tmp4, &tmp5);
5782 : ca_.Goto(&block2, tmp4, tmp5);
5783 : }
5784 :
5785 0 : if (block3.is_used()) {
5786 : compiler::TNode<Object> tmp6;
5787 : compiler::TNode<Context> tmp7;
5788 : ca_.Bind(&block3, &tmp6, &tmp7);
5789 : compiler::TNode<BoolT> tmp8;
5790 : USE(tmp8);
5791 0 : tmp8 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
5792 : ca_.Goto(&block1, tmp6, tmp7, tmp8);
5793 : }
5794 :
5795 0 : if (block2.is_used()) {
5796 : compiler::TNode<Object> tmp9;
5797 : compiler::TNode<Context> tmp10;
5798 : ca_.Bind(&block2, &tmp9, &tmp10);
5799 : compiler::TNode<BoolT> tmp11;
5800 : USE(tmp11);
5801 0 : tmp11 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).Is13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp9}));
5802 : ca_.Goto(&block1, tmp9, tmp10, tmp11);
5803 : }
5804 :
5805 0 : if (block1.is_used()) {
5806 : compiler::TNode<Object> tmp12;
5807 : compiler::TNode<Context> tmp13;
5808 : compiler::TNode<BoolT> tmp14;
5809 : ca_.Bind(&block1, &tmp12, &tmp13, &tmp14);
5810 : ca_.Goto(&block6, tmp12, tmp13, tmp14);
5811 : }
5812 :
5813 : compiler::TNode<Object> tmp15;
5814 : compiler::TNode<Context> tmp16;
5815 : compiler::TNode<BoolT> tmp17;
5816 : ca_.Bind(&block6, &tmp15, &tmp16, &tmp17);
5817 0 : return compiler::TNode<BoolT>{tmp17};
5818 : }
5819 :
5820 840 : void BaseBuiltinsFromDSLAssembler::BranchIfFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
5821 840 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5822 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5823 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5824 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5825 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5826 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5827 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5828 : ca_.Goto(&block0, p_o, p_context);
5829 :
5830 840 : if (block0.is_used()) {
5831 : compiler::TNode<Object> tmp0;
5832 : compiler::TNode<Context> tmp1;
5833 : ca_.Bind(&block0, &tmp0, &tmp1);
5834 : compiler::CodeAssemblerLabel label0(&ca_);
5835 1680 : CodeStubAssembler(state_).GotoIfForceSlowPath(&label0);
5836 : ca_.Goto(&block3, tmp0, tmp1);
5837 840 : if (label0.is_used()) {
5838 0 : ca_.Bind(&label0);
5839 : ca_.Goto(&block4, tmp0, tmp1);
5840 840 : }
5841 : }
5842 :
5843 840 : if (block4.is_used()) {
5844 : compiler::TNode<Object> tmp2;
5845 : compiler::TNode<Context> tmp3;
5846 : ca_.Bind(&block4, &tmp2, &tmp3);
5847 : ca_.Goto(&block2);
5848 : }
5849 :
5850 840 : if (block3.is_used()) {
5851 : compiler::TNode<Object> tmp4;
5852 : compiler::TNode<Context> tmp5;
5853 : ca_.Bind(&block3, &tmp4, &tmp5);
5854 : compiler::CodeAssemblerLabel label0(&ca_);
5855 840 : compiler::CodeAssemblerLabel label1(&ca_);
5856 2520 : BaseBuiltinsFromDSLAssembler(state_).BranchIf13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp5}, compiler::TNode<Object>{tmp4}, &label0, &label1);
5857 840 : if (label0.is_used()) {
5858 840 : ca_.Bind(&label0);
5859 : ca_.Goto(&block5, tmp4, tmp5, tmp4);
5860 : }
5861 840 : if (label1.is_used()) {
5862 840 : ca_.Bind(&label1);
5863 : ca_.Goto(&block6, tmp4, tmp5, tmp4);
5864 840 : }
5865 : }
5866 :
5867 840 : if (block5.is_used()) {
5868 : compiler::TNode<Object> tmp6;
5869 : compiler::TNode<Context> tmp7;
5870 : compiler::TNode<Object> tmp8;
5871 : ca_.Bind(&block5, &tmp6, &tmp7, &tmp8);
5872 : ca_.Goto(&block1);
5873 : }
5874 :
5875 840 : if (block6.is_used()) {
5876 : compiler::TNode<Object> tmp9;
5877 : compiler::TNode<Context> tmp10;
5878 : compiler::TNode<Object> tmp11;
5879 : ca_.Bind(&block6, &tmp9, &tmp10, &tmp11);
5880 : ca_.Goto(&block2);
5881 : }
5882 :
5883 840 : if (block1.is_used()) {
5884 : ca_.Bind(&block1);
5885 840 : ca_.Goto(label_True);
5886 : }
5887 :
5888 840 : if (block2.is_used()) {
5889 : ca_.Bind(&block2);
5890 840 : ca_.Goto(label_False);
5891 : }
5892 840 : }
5893 :
5894 0 : void BaseBuiltinsFromDSLAssembler::BranchIfNotFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
5895 0 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5896 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5897 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5898 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5899 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5900 : ca_.Goto(&block0, p_o, p_context);
5901 :
5902 0 : if (block0.is_used()) {
5903 : compiler::TNode<Object> tmp0;
5904 : compiler::TNode<Context> tmp1;
5905 : ca_.Bind(&block0, &tmp0, &tmp1);
5906 : compiler::CodeAssemblerLabel label0(&ca_);
5907 0 : compiler::CodeAssemblerLabel label1(&ca_);
5908 0 : BaseBuiltinsFromDSLAssembler(state_).BranchIfNot13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp1}, compiler::TNode<Object>{tmp0}, &label0, &label1);
5909 0 : if (label0.is_used()) {
5910 0 : ca_.Bind(&label0);
5911 : ca_.Goto(&block3, tmp0, tmp1, tmp0);
5912 : }
5913 0 : if (label1.is_used()) {
5914 0 : ca_.Bind(&label1);
5915 : ca_.Goto(&block4, tmp0, tmp1, tmp0);
5916 0 : }
5917 : }
5918 :
5919 0 : if (block3.is_used()) {
5920 : compiler::TNode<Object> tmp2;
5921 : compiler::TNode<Context> tmp3;
5922 : compiler::TNode<Object> tmp4;
5923 : ca_.Bind(&block3, &tmp2, &tmp3, &tmp4);
5924 : ca_.Goto(&block1);
5925 : }
5926 :
5927 0 : if (block4.is_used()) {
5928 : compiler::TNode<Object> tmp5;
5929 : compiler::TNode<Context> tmp6;
5930 : compiler::TNode<Object> tmp7;
5931 : ca_.Bind(&block4, &tmp5, &tmp6, &tmp7);
5932 : ca_.Goto(&block2);
5933 : }
5934 :
5935 0 : if (block1.is_used()) {
5936 : ca_.Bind(&block1);
5937 0 : ca_.Goto(label_True);
5938 : }
5939 :
5940 0 : if (block2.is_used()) {
5941 : ca_.Bind(&block2);
5942 0 : ca_.Goto(label_False);
5943 : }
5944 0 : }
5945 :
5946 0 : void BaseBuiltinsFromDSLAssembler::BranchIfFastJSArrayForCopy(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
5947 0 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5948 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5949 : compiler::CodeAssemblerParameterizedLabel<Object, Context> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5950 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5951 : compiler::CodeAssemblerParameterizedLabel<Object, Context, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5952 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5953 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5954 : ca_.Goto(&block0, p_o, p_context);
5955 :
5956 0 : if (block0.is_used()) {
5957 : compiler::TNode<Object> tmp0;
5958 : compiler::TNode<Context> tmp1;
5959 : ca_.Bind(&block0, &tmp0, &tmp1);
5960 : compiler::CodeAssemblerLabel label0(&ca_);
5961 0 : CodeStubAssembler(state_).GotoIfForceSlowPath(&label0);
5962 : ca_.Goto(&block3, tmp0, tmp1);
5963 0 : if (label0.is_used()) {
5964 0 : ca_.Bind(&label0);
5965 : ca_.Goto(&block4, tmp0, tmp1);
5966 0 : }
5967 : }
5968 :
5969 0 : if (block4.is_used()) {
5970 : compiler::TNode<Object> tmp2;
5971 : compiler::TNode<Context> tmp3;
5972 : ca_.Bind(&block4, &tmp2, &tmp3);
5973 : ca_.Goto(&block2);
5974 : }
5975 :
5976 0 : if (block3.is_used()) {
5977 : compiler::TNode<Object> tmp4;
5978 : compiler::TNode<Context> tmp5;
5979 : ca_.Bind(&block3, &tmp4, &tmp5);
5980 : compiler::CodeAssemblerLabel label0(&ca_);
5981 0 : compiler::CodeAssemblerLabel label1(&ca_);
5982 0 : BaseBuiltinsFromDSLAssembler(state_).BranchIf20ATFastJSArrayForCopy20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp5}, compiler::TNode<Object>{tmp4}, &label0, &label1);
5983 0 : if (label0.is_used()) {
5984 0 : ca_.Bind(&label0);
5985 : ca_.Goto(&block5, tmp4, tmp5, tmp4);
5986 : }
5987 0 : if (label1.is_used()) {
5988 0 : ca_.Bind(&label1);
5989 : ca_.Goto(&block6, tmp4, tmp5, tmp4);
5990 0 : }
5991 : }
5992 :
5993 0 : if (block5.is_used()) {
5994 : compiler::TNode<Object> tmp6;
5995 : compiler::TNode<Context> tmp7;
5996 : compiler::TNode<Object> tmp8;
5997 : ca_.Bind(&block5, &tmp6, &tmp7, &tmp8);
5998 : ca_.Goto(&block1);
5999 : }
6000 :
6001 0 : if (block6.is_used()) {
6002 : compiler::TNode<Object> tmp9;
6003 : compiler::TNode<Context> tmp10;
6004 : compiler::TNode<Object> tmp11;
6005 : ca_.Bind(&block6, &tmp9, &tmp10, &tmp11);
6006 : ca_.Goto(&block2);
6007 : }
6008 :
6009 0 : if (block1.is_used()) {
6010 : ca_.Bind(&block1);
6011 0 : ca_.Goto(label_True);
6012 : }
6013 :
6014 0 : if (block2.is_used()) {
6015 : ca_.Bind(&block2);
6016 0 : ca_.Goto(label_False);
6017 : }
6018 0 : }
6019 :
6020 392 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::IsFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
6021 392 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6022 : compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6023 : compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6024 : ca_.Goto(&block0, p_context, p_o);
6025 :
6026 392 : if (block0.is_used()) {
6027 : compiler::TNode<Context> tmp0;
6028 : compiler::TNode<Object> tmp1;
6029 : ca_.Bind(&block0, &tmp0, &tmp1);
6030 : compiler::TNode<BoolT> tmp2;
6031 : USE(tmp2);
6032 1176 : tmp2 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).Is34ATFastJSArrayWithNoCustomIteration20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
6033 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
6034 : }
6035 :
6036 392 : if (block1.is_used()) {
6037 : compiler::TNode<Context> tmp3;
6038 : compiler::TNode<Object> tmp4;
6039 : compiler::TNode<BoolT> tmp5;
6040 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
6041 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
6042 : }
6043 :
6044 : compiler::TNode<Context> tmp6;
6045 : compiler::TNode<Object> tmp7;
6046 : compiler::TNode<BoolT> tmp8;
6047 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
6048 784 : return compiler::TNode<BoolT>{tmp8};
6049 : }
6050 :
6051 173 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::FromConstexpr11ATFrameType21ATconstexpr_FrameType(StackFrame::Type p_t) {
6052 173 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6053 : compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6054 : compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6055 : ca_.Goto(&block0);
6056 :
6057 173 : if (block0.is_used()) {
6058 : ca_.Bind(&block0);
6059 : compiler::TNode<UintPtrT> tmp0;
6060 : USE(tmp0);
6061 865 : tmp0 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr19ATconstexpr_uintptr((CodeStubAssembler(state_).ConstexprUintPtrShl(static_cast<uintptr_t>(p_t), kSmiTagSize))));
6062 : compiler::TNode<Smi> tmp1;
6063 : USE(tmp1);
6064 346 : tmp1 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).BitcastWordToTaggedSigned(compiler::TNode<UintPtrT>{tmp0}));
6065 : compiler::TNode<Smi> tmp2;
6066 : USE(tmp2);
6067 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
6068 : ca_.Goto(&block1, tmp2);
6069 : }
6070 :
6071 173 : if (block1.is_used()) {
6072 : compiler::TNode<Smi> tmp3;
6073 : ca_.Bind(&block1, &tmp3);
6074 : ca_.Goto(&block2, tmp3);
6075 : }
6076 :
6077 : compiler::TNode<Smi> tmp4;
6078 : ca_.Bind(&block2, &tmp4);
6079 346 : return compiler::TNode<Smi>{tmp4};
6080 : }
6081 :
6082 178 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::Cast11ATFrameType(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
6083 178 : compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6084 : compiler::CodeAssemblerParameterizedLabel<Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6085 : compiler::CodeAssemblerParameterizedLabel<Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6086 : compiler::CodeAssemblerParameterizedLabel<Object, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6087 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6088 : compiler::CodeAssemblerParameterizedLabel<Object, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6089 : ca_.Goto(&block0, p_o);
6090 :
6091 178 : if (block0.is_used()) {
6092 : compiler::TNode<Object> tmp0;
6093 : ca_.Bind(&block0, &tmp0);
6094 : compiler::TNode<BoolT> tmp1;
6095 : USE(tmp1);
6096 534 : tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).TaggedIsNotSmi(compiler::TNode<Object>{tmp0}));
6097 178 : ca_.Branch(tmp1, &block3, &block4, tmp0);
6098 : }
6099 :
6100 178 : if (block3.is_used()) {
6101 : compiler::TNode<Object> tmp2;
6102 : ca_.Bind(&block3, &tmp2);
6103 : ca_.Goto(&block1);
6104 : }
6105 :
6106 178 : if (block4.is_used()) {
6107 : compiler::TNode<Object> tmp3;
6108 : ca_.Bind(&block4, &tmp3);
6109 : compiler::TNode<Smi> tmp4;
6110 : USE(tmp4);
6111 : tmp4 = TORQUE_CAST(compiler::TNode<Object>{tmp3});
6112 : ca_.Goto(&block2, tmp3, tmp4);
6113 : }
6114 :
6115 178 : if (block2.is_used()) {
6116 : compiler::TNode<Object> tmp5;
6117 : compiler::TNode<Smi> tmp6;
6118 : ca_.Bind(&block2, &tmp5, &tmp6);
6119 : ca_.Goto(&block5, tmp5, tmp6);
6120 : }
6121 :
6122 178 : if (block1.is_used()) {
6123 : ca_.Bind(&block1);
6124 178 : ca_.Goto(label_CastError);
6125 : }
6126 :
6127 : compiler::TNode<Object> tmp7;
6128 : compiler::TNode<Smi> tmp8;
6129 : ca_.Bind(&block5, &tmp7, &tmp8);
6130 356 : return compiler::TNode<Smi>{tmp8};
6131 : }
6132 :
6133 631 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadObjectFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o) {
6134 631 : compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6135 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6136 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6137 : ca_.Goto(&block0, p_f);
6138 :
6139 631 : if (block0.is_used()) {
6140 : compiler::TNode<RawPtrT> tmp0;
6141 : ca_.Bind(&block0, &tmp0);
6142 : compiler::TNode<Object> tmp1;
6143 : USE(tmp1);
6144 1262 : tmp1 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadBufferObject(compiler::TNode<RawPtrT>{tmp0}, p_o));
6145 : ca_.Goto(&block1, tmp0, tmp1);
6146 : }
6147 :
6148 631 : if (block1.is_used()) {
6149 : compiler::TNode<RawPtrT> tmp2;
6150 : compiler::TNode<Object> tmp3;
6151 : ca_.Bind(&block1, &tmp2, &tmp3);
6152 : ca_.Goto(&block2, tmp2, tmp3);
6153 : }
6154 :
6155 : compiler::TNode<RawPtrT> tmp4;
6156 : compiler::TNode<Object> tmp5;
6157 : ca_.Bind(&block2, &tmp4, &tmp5);
6158 1262 : return compiler::TNode<Object>{tmp5};
6159 : }
6160 :
6161 168 : compiler::TNode<RawPtrT> BaseBuiltinsFromDSLAssembler::LoadPointerFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o) {
6162 168 : compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6163 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, RawPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6164 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, RawPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6165 : ca_.Goto(&block0, p_f);
6166 :
6167 168 : if (block0.is_used()) {
6168 : compiler::TNode<RawPtrT> tmp0;
6169 : ca_.Bind(&block0, &tmp0);
6170 : compiler::TNode<RawPtrT> tmp1;
6171 : USE(tmp1);
6172 336 : tmp1 = ca_.UncheckedCast<RawPtrT>(CodeStubAssembler(state_).LoadBufferPointer(compiler::TNode<RawPtrT>{tmp0}, p_o));
6173 : ca_.Goto(&block1, tmp0, tmp1);
6174 : }
6175 :
6176 168 : if (block1.is_used()) {
6177 : compiler::TNode<RawPtrT> tmp2;
6178 : compiler::TNode<RawPtrT> tmp3;
6179 : ca_.Bind(&block1, &tmp2, &tmp3);
6180 : ca_.Goto(&block2, tmp2, tmp3);
6181 : }
6182 :
6183 : compiler::TNode<RawPtrT> tmp4;
6184 : compiler::TNode<RawPtrT> tmp5;
6185 : ca_.Bind(&block2, &tmp4, &tmp5);
6186 336 : return compiler::TNode<RawPtrT>{tmp5};
6187 : }
6188 :
6189 168 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::LoadSmiFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o) {
6190 168 : compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6191 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6192 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6193 : ca_.Goto(&block0, p_f);
6194 :
6195 168 : if (block0.is_used()) {
6196 : compiler::TNode<RawPtrT> tmp0;
6197 : ca_.Bind(&block0, &tmp0);
6198 : compiler::TNode<Smi> tmp1;
6199 : USE(tmp1);
6200 336 : tmp1 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadBufferSmi(compiler::TNode<RawPtrT>{tmp0}, p_o));
6201 : ca_.Goto(&block1, tmp0, tmp1);
6202 : }
6203 :
6204 168 : if (block1.is_used()) {
6205 : compiler::TNode<RawPtrT> tmp2;
6206 : compiler::TNode<Smi> tmp3;
6207 : ca_.Bind(&block1, &tmp2, &tmp3);
6208 : ca_.Goto(&block2, tmp2, tmp3);
6209 : }
6210 :
6211 : compiler::TNode<RawPtrT> tmp4;
6212 : compiler::TNode<Smi> tmp5;
6213 : ca_.Bind(&block2, &tmp4, &tmp5);
6214 336 : return compiler::TNode<Smi>{tmp5};
6215 : }
6216 :
6217 448 : compiler::TNode<JSFunction> BaseBuiltinsFromDSLAssembler::LoadFunctionFromFrame(compiler::TNode<RawPtrT> p_f) {
6218 448 : compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6219 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, JSFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6220 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, JSFunction> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6221 : ca_.Goto(&block0, p_f);
6222 :
6223 448 : if (block0.is_used()) {
6224 : compiler::TNode<RawPtrT> tmp0;
6225 : ca_.Bind(&block0, &tmp0);
6226 : compiler::TNode<Object> tmp1;
6227 : USE(tmp1);
6228 1344 : tmp1 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).LoadObjectFromFrame(compiler::TNode<RawPtrT>{tmp0}, StandardFrameConstants::kFunctionOffset));
6229 : compiler::TNode<JSFunction> tmp2;
6230 : USE(tmp2);
6231 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
6232 : ca_.Goto(&block1, tmp0, tmp2);
6233 : }
6234 :
6235 448 : if (block1.is_used()) {
6236 : compiler::TNode<RawPtrT> tmp3;
6237 : compiler::TNode<JSFunction> tmp4;
6238 : ca_.Bind(&block1, &tmp3, &tmp4);
6239 : ca_.Goto(&block2, tmp3, tmp4);
6240 : }
6241 :
6242 : compiler::TNode<RawPtrT> tmp5;
6243 : compiler::TNode<JSFunction> tmp6;
6244 : ca_.Bind(&block2, &tmp5, &tmp6);
6245 896 : return compiler::TNode<JSFunction>{tmp6};
6246 : }
6247 :
6248 168 : compiler::TNode<RawPtrT> BaseBuiltinsFromDSLAssembler::LoadCallerFromFrame(compiler::TNode<RawPtrT> p_f) {
6249 168 : compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6250 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, RawPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6251 : compiler::CodeAssemblerParameterizedLabel<RawPtrT, RawPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6252 : ca_.Goto(&block0, p_f);
6253 :
6254 168 : if (block0.is_used()) {
6255 : compiler::TNode<RawPtrT> tmp0;
6256 : ca_.Bind(&block0, &tmp0);
6257 : compiler::TNode<RawPtrT> tmp1;
6258 : USE(tmp1);
6259 504 : tmp1 = ca_.UncheckedCast<RawPtrT>(BaseBuiltinsFromDSLAssembler(state_).LoadPointerFromFrame(compiler::TNode<RawPtrT>{tmp0}, StandardFrameConstants::kCallerFPOffset));
6260 : compiler::TNode<RawPtrT> tmp2;
6261 : USE(tmp2);
6262 : tmp2 = (compiler::TNode<RawPtrT>{tmp1});
6263 : ca_.Goto(&block1, tmp0, tmp2);
6264 : }
6265 :
6266 168 : if (block1.is_used()) {
6267 : compiler::TNode<RawPtrT> tmp3;
6268 : compiler::TNode<RawPtrT> tmp4;
6269 : ca_.Bind(&block1, &tmp3, &tmp4);
6270 : ca_.Goto(&block2, tmp3, tmp4);
6271 : }
6272 :
6273 : compiler::TNode<RawPtrT> tmp5;
6274 : compiler::TNode<RawPtrT> tmp6;
6275 : ca_.Bind(&block2, &tmp5, &tmp6);
6276 336 : return compiler::TNode<RawPtrT>{tmp6};
6277 : }
6278 :
6279 0 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::Cast25UT9ATContext11ATFrameType(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
6280 0 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6281 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6282 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Context> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6283 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6284 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6285 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Smi> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6286 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6287 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6288 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6289 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6290 : ca_.Goto(&block0, p_context, p_o);
6291 :
6292 0 : if (block0.is_used()) {
6293 : compiler::TNode<Context> tmp0;
6294 : compiler::TNode<Object> tmp1;
6295 : ca_.Bind(&block0, &tmp0, &tmp1);
6296 : compiler::TNode<Context> tmp2;
6297 : USE(tmp2);
6298 : compiler::CodeAssemblerLabel label0(&ca_);
6299 0 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast9ATContext(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
6300 : ca_.Goto(&block5, tmp0, tmp1, tmp1, tmp1, tmp2);
6301 0 : if (label0.is_used()) {
6302 0 : ca_.Bind(&label0);
6303 : ca_.Goto(&block6, tmp0, tmp1, tmp1, tmp1);
6304 0 : }
6305 : }
6306 :
6307 0 : if (block6.is_used()) {
6308 : compiler::TNode<Context> tmp3;
6309 : compiler::TNode<Object> tmp4;
6310 : compiler::TNode<Object> tmp5;
6311 : compiler::TNode<Object> tmp6;
6312 : ca_.Bind(&block6, &tmp3, &tmp4, &tmp5, &tmp6);
6313 : ca_.Goto(&block4, tmp3, tmp4, tmp5);
6314 : }
6315 :
6316 0 : if (block5.is_used()) {
6317 : compiler::TNode<Context> tmp7;
6318 : compiler::TNode<Object> tmp8;
6319 : compiler::TNode<Object> tmp9;
6320 : compiler::TNode<Object> tmp10;
6321 : compiler::TNode<Context> tmp11;
6322 : ca_.Bind(&block5, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
6323 : ca_.Goto(&block2, tmp7, tmp8, tmp11);
6324 : }
6325 :
6326 0 : if (block4.is_used()) {
6327 : compiler::TNode<Context> tmp12;
6328 : compiler::TNode<Object> tmp13;
6329 : compiler::TNode<Object> tmp14;
6330 : ca_.Bind(&block4, &tmp12, &tmp13, &tmp14);
6331 : compiler::TNode<Smi> tmp15;
6332 : USE(tmp15);
6333 : compiler::CodeAssemblerLabel label0(&ca_);
6334 0 : tmp15 = BaseBuiltinsFromDSLAssembler(state_).Cast11ATFrameType(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp14)}, &label0);
6335 : ca_.Goto(&block9, tmp12, tmp13, tmp14, ca_.UncheckedCast<Object>(tmp14), tmp15);
6336 0 : if (label0.is_used()) {
6337 0 : ca_.Bind(&label0);
6338 : ca_.Goto(&block10, tmp12, tmp13, tmp14, ca_.UncheckedCast<Object>(tmp14));
6339 0 : }
6340 : }
6341 :
6342 0 : if (block10.is_used()) {
6343 : compiler::TNode<Context> tmp16;
6344 : compiler::TNode<Object> tmp17;
6345 : compiler::TNode<Object> tmp18;
6346 : compiler::TNode<Object> tmp19;
6347 : ca_.Bind(&block10, &tmp16, &tmp17, &tmp18, &tmp19);
6348 : ca_.Goto(&block8, tmp16, tmp17, tmp18);
6349 : }
6350 :
6351 0 : if (block9.is_used()) {
6352 : compiler::TNode<Context> tmp20;
6353 : compiler::TNode<Object> tmp21;
6354 : compiler::TNode<Object> tmp22;
6355 : compiler::TNode<Object> tmp23;
6356 : compiler::TNode<Smi> tmp24;
6357 : ca_.Bind(&block9, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
6358 : ca_.Goto(&block2, tmp20, tmp21, tmp24);
6359 : }
6360 :
6361 0 : if (block8.is_used()) {
6362 : compiler::TNode<Context> tmp25;
6363 : compiler::TNode<Object> tmp26;
6364 : compiler::TNode<Object> tmp27;
6365 : ca_.Bind(&block8, &tmp25, &tmp26, &tmp27);
6366 : ca_.Goto(&block1);
6367 : }
6368 :
6369 0 : if (block2.is_used()) {
6370 : compiler::TNode<Context> tmp28;
6371 : compiler::TNode<Object> tmp29;
6372 : compiler::TNode<Object> tmp30;
6373 : ca_.Bind(&block2, &tmp28, &tmp29, &tmp30);
6374 : ca_.Goto(&block11, tmp28, tmp29, tmp30);
6375 : }
6376 :
6377 0 : if (block1.is_used()) {
6378 : ca_.Bind(&block1);
6379 0 : ca_.Goto(label_CastError);
6380 : }
6381 :
6382 : compiler::TNode<Context> tmp31;
6383 : compiler::TNode<Object> tmp32;
6384 : compiler::TNode<Object> tmp33;
6385 : ca_.Bind(&block11, &tmp31, &tmp32, &tmp33);
6386 0 : return compiler::TNode<Object>{tmp33};
6387 : }
6388 :
6389 183 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadContextOrFrameTypeFromFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f) {
6390 183 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6391 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6392 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6393 : ca_.Goto(&block0, p_context, p_f);
6394 :
6395 183 : if (block0.is_used()) {
6396 : compiler::TNode<Context> tmp0;
6397 : compiler::TNode<RawPtrT> tmp1;
6398 : ca_.Bind(&block0, &tmp0, &tmp1);
6399 : compiler::TNode<Object> tmp2;
6400 : USE(tmp2);
6401 549 : tmp2 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).LoadObjectFromFrame(compiler::TNode<RawPtrT>{tmp1}, StandardFrameConstants::kContextOrFrameTypeOffset));
6402 : compiler::TNode<Object> tmp3;
6403 : USE(tmp3);
6404 549 : tmp3 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast25UT9ATContext11ATFrameType(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
6405 : ca_.Goto(&block1, tmp0, tmp1, tmp3);
6406 : }
6407 :
6408 183 : if (block1.is_used()) {
6409 : compiler::TNode<Context> tmp4;
6410 : compiler::TNode<RawPtrT> tmp5;
6411 : compiler::TNode<Object> tmp6;
6412 : ca_.Bind(&block1, &tmp4, &tmp5, &tmp6);
6413 : ca_.Goto(&block2, tmp4, tmp5, tmp6);
6414 : }
6415 :
6416 : compiler::TNode<Context> tmp7;
6417 : compiler::TNode<RawPtrT> tmp8;
6418 : compiler::TNode<Object> tmp9;
6419 : ca_.Bind(&block2, &tmp7, &tmp8, &tmp9);
6420 366 : return compiler::TNode<Object>{tmp9};
6421 : }
6422 :
6423 168 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::LoadLengthFromAdapterFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f) {
6424 168 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6425 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6426 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6427 : ca_.Goto(&block0, p_context, p_f);
6428 :
6429 168 : if (block0.is_used()) {
6430 : compiler::TNode<Context> tmp0;
6431 : compiler::TNode<RawPtrT> tmp1;
6432 : ca_.Bind(&block0, &tmp0, &tmp1);
6433 : compiler::TNode<Smi> tmp2;
6434 : USE(tmp2);
6435 504 : tmp2 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).LoadSmiFromFrame(compiler::TNode<RawPtrT>{tmp1}, ArgumentsAdaptorFrameConstants::kLengthOffset));
6436 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
6437 : }
6438 :
6439 168 : if (block1.is_used()) {
6440 : compiler::TNode<Context> tmp3;
6441 : compiler::TNode<RawPtrT> tmp4;
6442 : compiler::TNode<Smi> tmp5;
6443 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
6444 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
6445 : }
6446 :
6447 : compiler::TNode<Context> tmp6;
6448 : compiler::TNode<RawPtrT> tmp7;
6449 : compiler::TNode<Smi> tmp8;
6450 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
6451 336 : return compiler::TNode<Smi>{tmp8};
6452 : }
6453 :
6454 173 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::FrameTypeEquals(compiler::TNode<Smi> p_f1, compiler::TNode<Smi> p_f2) {
6455 173 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6456 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6457 : compiler::CodeAssemblerParameterizedLabel<Smi, Smi, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6458 : ca_.Goto(&block0, p_f1, p_f2);
6459 :
6460 173 : if (block0.is_used()) {
6461 : compiler::TNode<Smi> tmp0;
6462 : compiler::TNode<Smi> tmp1;
6463 : ca_.Bind(&block0, &tmp0, &tmp1);
6464 : compiler::TNode<BoolT> tmp2;
6465 : USE(tmp2);
6466 346 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp0}, compiler::TNode<Object>{tmp1}));
6467 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
6468 : }
6469 :
6470 173 : if (block1.is_used()) {
6471 : compiler::TNode<Smi> tmp3;
6472 : compiler::TNode<Smi> tmp4;
6473 : compiler::TNode<BoolT> tmp5;
6474 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
6475 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
6476 : }
6477 :
6478 : compiler::TNode<Smi> tmp6;
6479 : compiler::TNode<Smi> tmp7;
6480 : compiler::TNode<BoolT> tmp8;
6481 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
6482 346 : return compiler::TNode<BoolT>{tmp8};
6483 : }
6484 :
6485 5 : compiler::TNode<RawPtrT> BaseBuiltinsFromDSLAssembler::Cast15ATStandardFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f, compiler::CodeAssemblerLabel* label_CastError) {
6486 5 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6487 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6488 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6489 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, HeapObject> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6490 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6491 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6492 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6493 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6494 : ca_.Goto(&block0, p_context, p_f);
6495 :
6496 5 : if (block0.is_used()) {
6497 : compiler::TNode<Context> tmp0;
6498 : compiler::TNode<RawPtrT> tmp1;
6499 : ca_.Bind(&block0, &tmp0, &tmp1);
6500 : compiler::TNode<Object> tmp2;
6501 : USE(tmp2);
6502 15 : tmp2 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).LoadContextOrFrameTypeFromFrame(compiler::TNode<Context>{tmp0}, compiler::TNode<RawPtrT>{tmp1}));
6503 : compiler::TNode<HeapObject> tmp3;
6504 : USE(tmp3);
6505 : compiler::CodeAssemblerLabel label0(&ca_);
6506 15 : tmp3 = BaseBuiltinsFromDSLAssembler(state_).Cast10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}, &label0);
6507 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3);
6508 5 : if (label0.is_used()) {
6509 5 : ca_.Bind(&label0);
6510 : ca_.Goto(&block4, tmp0, tmp1, tmp2);
6511 5 : }
6512 : }
6513 :
6514 5 : if (block4.is_used()) {
6515 : compiler::TNode<Context> tmp4;
6516 : compiler::TNode<RawPtrT> tmp5;
6517 : compiler::TNode<Object> tmp6;
6518 : ca_.Bind(&block4, &tmp4, &tmp5, &tmp6);
6519 : ca_.Goto(&block1);
6520 : }
6521 :
6522 5 : if (block3.is_used()) {
6523 : compiler::TNode<Context> tmp7;
6524 : compiler::TNode<RawPtrT> tmp8;
6525 : compiler::TNode<Object> tmp9;
6526 : compiler::TNode<HeapObject> tmp10;
6527 : ca_.Bind(&block3, &tmp7, &tmp8, &tmp9, &tmp10);
6528 : compiler::TNode<BoolT> tmp11;
6529 : USE(tmp11);
6530 15 : tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsContext(compiler::TNode<HeapObject>{tmp10}));
6531 5 : ca_.Branch(tmp11, &block5, &block6, tmp7, tmp8, tmp10);
6532 : }
6533 :
6534 5 : if (block5.is_used()) {
6535 : compiler::TNode<Context> tmp12;
6536 : compiler::TNode<RawPtrT> tmp13;
6537 : compiler::TNode<HeapObject> tmp14;
6538 : ca_.Bind(&block5, &tmp12, &tmp13, &tmp14);
6539 : compiler::TNode<RawPtrT> tmp15;
6540 : USE(tmp15);
6541 : tmp15 = (compiler::TNode<RawPtrT>{tmp13});
6542 : ca_.Goto(&block2, tmp12, tmp13, tmp15);
6543 : }
6544 :
6545 5 : if (block6.is_used()) {
6546 : compiler::TNode<Context> tmp16;
6547 : compiler::TNode<RawPtrT> tmp17;
6548 : compiler::TNode<HeapObject> tmp18;
6549 : ca_.Bind(&block6, &tmp16, &tmp17, &tmp18);
6550 : ca_.Goto(&block1);
6551 : }
6552 :
6553 5 : if (block2.is_used()) {
6554 : compiler::TNode<Context> tmp19;
6555 : compiler::TNode<RawPtrT> tmp20;
6556 : compiler::TNode<RawPtrT> tmp21;
6557 : ca_.Bind(&block2, &tmp19, &tmp20, &tmp21);
6558 : ca_.Goto(&block7, tmp19, tmp20, tmp21);
6559 : }
6560 :
6561 5 : if (block1.is_used()) {
6562 : ca_.Bind(&block1);
6563 5 : ca_.Goto(label_CastError);
6564 : }
6565 :
6566 : compiler::TNode<Context> tmp22;
6567 : compiler::TNode<RawPtrT> tmp23;
6568 : compiler::TNode<RawPtrT> tmp24;
6569 : ca_.Bind(&block7, &tmp22, &tmp23, &tmp24);
6570 10 : return compiler::TNode<RawPtrT>{tmp24};
6571 : }
6572 :
6573 173 : compiler::TNode<RawPtrT> BaseBuiltinsFromDSLAssembler::Cast23ATArgumentsAdaptorFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f, compiler::CodeAssemblerLabel* label_CastError) {
6574 173 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6575 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6576 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6577 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6578 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6579 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6580 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6581 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6582 : ca_.Goto(&block0, p_context, p_f);
6583 :
6584 173 : if (block0.is_used()) {
6585 : compiler::TNode<Context> tmp0;
6586 : compiler::TNode<RawPtrT> tmp1;
6587 : ca_.Bind(&block0, &tmp0, &tmp1);
6588 : compiler::TNode<Object> tmp2;
6589 : USE(tmp2);
6590 519 : tmp2 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).LoadContextOrFrameTypeFromFrame(compiler::TNode<Context>{tmp0}, compiler::TNode<RawPtrT>{tmp1}));
6591 : compiler::TNode<Smi> tmp3;
6592 : USE(tmp3);
6593 : compiler::CodeAssemblerLabel label0(&ca_);
6594 519 : tmp3 = BaseBuiltinsFromDSLAssembler(state_).Cast11ATFrameType(compiler::TNode<Object>{tmp2}, &label0);
6595 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3);
6596 173 : if (label0.is_used()) {
6597 173 : ca_.Bind(&label0);
6598 : ca_.Goto(&block4, tmp0, tmp1, tmp2);
6599 173 : }
6600 : }
6601 :
6602 173 : if (block4.is_used()) {
6603 : compiler::TNode<Context> tmp4;
6604 : compiler::TNode<RawPtrT> tmp5;
6605 : compiler::TNode<Object> tmp6;
6606 : ca_.Bind(&block4, &tmp4, &tmp5, &tmp6);
6607 : ca_.Goto(&block1);
6608 : }
6609 :
6610 173 : if (block3.is_used()) {
6611 : compiler::TNode<Context> tmp7;
6612 : compiler::TNode<RawPtrT> tmp8;
6613 : compiler::TNode<Object> tmp9;
6614 : compiler::TNode<Smi> tmp10;
6615 : ca_.Bind(&block3, &tmp7, &tmp8, &tmp9, &tmp10);
6616 : compiler::TNode<Smi> tmp11;
6617 : USE(tmp11);
6618 519 : tmp11 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr11ATFrameType21ATconstexpr_FrameType(StackFrame::ARGUMENTS_ADAPTOR));
6619 : compiler::TNode<BoolT> tmp12;
6620 : USE(tmp12);
6621 519 : tmp12 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FrameTypeEquals(compiler::TNode<Smi>{tmp10}, compiler::TNode<Smi>{tmp11}));
6622 173 : ca_.Branch(tmp12, &block5, &block6, tmp7, tmp8, tmp10);
6623 : }
6624 :
6625 173 : if (block5.is_used()) {
6626 : compiler::TNode<Context> tmp13;
6627 : compiler::TNode<RawPtrT> tmp14;
6628 : compiler::TNode<Smi> tmp15;
6629 : ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
6630 : compiler::TNode<RawPtrT> tmp16;
6631 : USE(tmp16);
6632 : tmp16 = (compiler::TNode<RawPtrT>{tmp14});
6633 : ca_.Goto(&block2, tmp13, tmp14, tmp16);
6634 : }
6635 :
6636 173 : if (block6.is_used()) {
6637 : compiler::TNode<Context> tmp17;
6638 : compiler::TNode<RawPtrT> tmp18;
6639 : compiler::TNode<Smi> tmp19;
6640 : ca_.Bind(&block6, &tmp17, &tmp18, &tmp19);
6641 : ca_.Goto(&block1);
6642 : }
6643 :
6644 173 : if (block2.is_used()) {
6645 : compiler::TNode<Context> tmp20;
6646 : compiler::TNode<RawPtrT> tmp21;
6647 : compiler::TNode<RawPtrT> tmp22;
6648 : ca_.Bind(&block2, &tmp20, &tmp21, &tmp22);
6649 : ca_.Goto(&block7, tmp20, tmp21, tmp22);
6650 : }
6651 :
6652 173 : if (block1.is_used()) {
6653 : ca_.Bind(&block1);
6654 173 : ca_.Goto(label_CastError);
6655 : }
6656 :
6657 : compiler::TNode<Context> tmp23;
6658 : compiler::TNode<RawPtrT> tmp24;
6659 : compiler::TNode<RawPtrT> tmp25;
6660 : ca_.Bind(&block7, &tmp23, &tmp24, &tmp25);
6661 346 : return compiler::TNode<RawPtrT>{tmp25};
6662 : }
6663 :
6664 448 : compiler::TNode<JSFunction> BaseBuiltinsFromDSLAssembler::LoadTargetFromFrame() {
6665 448 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6666 : compiler::CodeAssemblerParameterizedLabel<JSFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6667 : compiler::CodeAssemblerParameterizedLabel<JSFunction> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6668 : ca_.Goto(&block0);
6669 :
6670 448 : if (block0.is_used()) {
6671 : ca_.Bind(&block0);
6672 : compiler::TNode<RawPtrT> tmp0;
6673 : USE(tmp0);
6674 896 : tmp0 = ca_.UncheckedCast<RawPtrT>(CodeStubAssembler(state_).LoadFramePointer());
6675 : compiler::TNode<JSFunction> tmp1;
6676 : USE(tmp1);
6677 1344 : tmp1 = ca_.UncheckedCast<JSFunction>(BaseBuiltinsFromDSLAssembler(state_).LoadFunctionFromFrame(compiler::TNode<RawPtrT>{tmp0}));
6678 : ca_.Goto(&block1, tmp1);
6679 : }
6680 :
6681 448 : if (block1.is_used()) {
6682 : compiler::TNode<JSFunction> tmp2;
6683 : ca_.Bind(&block1, &tmp2);
6684 : ca_.Goto(&block2, tmp2);
6685 : }
6686 :
6687 : compiler::TNode<JSFunction> tmp3;
6688 : ca_.Bind(&block2, &tmp3);
6689 896 : return compiler::TNode<JSFunction>{tmp3};
6690 : }
6691 :
6692 1288 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Cast13ATFastJSArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
6693 1288 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6694 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6695 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6696 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6697 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6698 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6699 : ca_.Goto(&block0, p_context, p_o);
6700 :
6701 1288 : if (block0.is_used()) {
6702 : compiler::TNode<Context> tmp0;
6703 : compiler::TNode<HeapObject> tmp1;
6704 : ca_.Bind(&block0, &tmp0, &tmp1);
6705 : compiler::TNode<JSArray> tmp2;
6706 : USE(tmp2);
6707 : compiler::CodeAssemblerLabel label0(&ca_);
6708 3864 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp1}, &label0);
6709 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
6710 1288 : if (label0.is_used()) {
6711 1288 : ca_.Bind(&label0);
6712 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
6713 1288 : }
6714 : }
6715 :
6716 1288 : if (block4.is_used()) {
6717 : compiler::TNode<Context> tmp3;
6718 : compiler::TNode<HeapObject> tmp4;
6719 : compiler::TNode<HeapObject> tmp5;
6720 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
6721 : ca_.Goto(&block1);
6722 : }
6723 :
6724 1288 : if (block3.is_used()) {
6725 : compiler::TNode<Context> tmp6;
6726 : compiler::TNode<HeapObject> tmp7;
6727 : compiler::TNode<HeapObject> tmp8;
6728 : compiler::TNode<JSArray> tmp9;
6729 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
6730 : ca_.Goto(&block2, tmp6, tmp7, tmp9);
6731 : }
6732 :
6733 1288 : if (block2.is_used()) {
6734 : compiler::TNode<Context> tmp10;
6735 : compiler::TNode<HeapObject> tmp11;
6736 : compiler::TNode<JSArray> tmp12;
6737 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
6738 : ca_.Goto(&block5, tmp10, tmp11, tmp12);
6739 : }
6740 :
6741 1288 : if (block1.is_used()) {
6742 : ca_.Bind(&block1);
6743 1288 : ca_.Goto(label_CastError);
6744 : }
6745 :
6746 : compiler::TNode<Context> tmp13;
6747 : compiler::TNode<HeapObject> tmp14;
6748 : compiler::TNode<JSArray> tmp15;
6749 : ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
6750 2576 : return compiler::TNode<JSArray>{tmp15};
6751 : }
6752 :
6753 112 : compiler::TNode<JSFunction> BaseBuiltinsFromDSLAssembler::UnsafeCast10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
6754 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6755 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6756 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSFunction> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6757 : ca_.Goto(&block0, p_context, p_o);
6758 :
6759 112 : if (block0.is_used()) {
6760 : compiler::TNode<Context> tmp0;
6761 : compiler::TNode<Object> tmp1;
6762 : ca_.Bind(&block0, &tmp0, &tmp1);
6763 : compiler::TNode<JSFunction> tmp2;
6764 : USE(tmp2);
6765 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
6766 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
6767 : }
6768 :
6769 112 : if (block1.is_used()) {
6770 : compiler::TNode<Context> tmp3;
6771 : compiler::TNode<Object> tmp4;
6772 : compiler::TNode<JSFunction> tmp5;
6773 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
6774 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
6775 : }
6776 :
6777 : compiler::TNode<Context> tmp6;
6778 : compiler::TNode<Object> tmp7;
6779 : compiler::TNode<JSFunction> tmp8;
6780 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
6781 224 : return compiler::TNode<JSFunction>{tmp8};
6782 : }
6783 :
6784 5 : compiler::TNode<Map> BaseBuiltinsFromDSLAssembler::UnsafeCast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
6785 5 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6786 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Map> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6787 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6788 : ca_.Goto(&block0, p_context, p_o);
6789 :
6790 5 : if (block0.is_used()) {
6791 : compiler::TNode<Context> tmp0;
6792 : compiler::TNode<Object> tmp1;
6793 : ca_.Bind(&block0, &tmp0, &tmp1);
6794 : compiler::TNode<Map> tmp2;
6795 : USE(tmp2);
6796 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
6797 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
6798 : }
6799 :
6800 5 : if (block1.is_used()) {
6801 : compiler::TNode<Context> tmp3;
6802 : compiler::TNode<Object> tmp4;
6803 : compiler::TNode<Map> tmp5;
6804 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
6805 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
6806 : }
6807 :
6808 : compiler::TNode<Context> tmp6;
6809 : compiler::TNode<Object> tmp7;
6810 : compiler::TNode<Map> tmp8;
6811 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
6812 10 : return compiler::TNode<Map>{tmp8};
6813 : }
6814 :
6815 687 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::Cast12ATFixedArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
6816 687 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6817 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6818 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, FixedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6819 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6820 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6821 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6822 : ca_.Goto(&block0, p_context, p_o);
6823 :
6824 687 : if (block0.is_used()) {
6825 : compiler::TNode<Context> tmp0;
6826 : compiler::TNode<HeapObject> tmp1;
6827 : ca_.Bind(&block0, &tmp0, &tmp1);
6828 : compiler::TNode<FixedArray> tmp2;
6829 : USE(tmp2);
6830 : compiler::CodeAssemblerLabel label0(&ca_);
6831 2061 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject12ATFixedArray(compiler::TNode<HeapObject>{tmp1}, &label0);
6832 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
6833 687 : if (label0.is_used()) {
6834 687 : ca_.Bind(&label0);
6835 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
6836 687 : }
6837 : }
6838 :
6839 687 : if (block4.is_used()) {
6840 : compiler::TNode<Context> tmp3;
6841 : compiler::TNode<HeapObject> tmp4;
6842 : compiler::TNode<HeapObject> tmp5;
6843 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
6844 : ca_.Goto(&block1);
6845 : }
6846 :
6847 687 : if (block3.is_used()) {
6848 : compiler::TNode<Context> tmp6;
6849 : compiler::TNode<HeapObject> tmp7;
6850 : compiler::TNode<HeapObject> tmp8;
6851 : compiler::TNode<FixedArray> tmp9;
6852 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
6853 : ca_.Goto(&block2, tmp6, tmp7, tmp9);
6854 : }
6855 :
6856 687 : if (block2.is_used()) {
6857 : compiler::TNode<Context> tmp10;
6858 : compiler::TNode<HeapObject> tmp11;
6859 : compiler::TNode<FixedArray> tmp12;
6860 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
6861 : ca_.Goto(&block5, tmp10, tmp11, tmp12);
6862 : }
6863 :
6864 687 : if (block1.is_used()) {
6865 : ca_.Bind(&block1);
6866 687 : ca_.Goto(label_CastError);
6867 : }
6868 :
6869 : compiler::TNode<Context> tmp13;
6870 : compiler::TNode<HeapObject> tmp14;
6871 : compiler::TNode<FixedArray> tmp15;
6872 : ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
6873 1374 : return compiler::TNode<FixedArray>{tmp15};
6874 : }
6875 :
6876 448 : compiler::TNode<FixedDoubleArray> BaseBuiltinsFromDSLAssembler::Cast18ATFixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
6877 448 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6878 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6879 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, FixedDoubleArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6880 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, FixedDoubleArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6881 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6882 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, FixedDoubleArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6883 : ca_.Goto(&block0, p_context, p_o);
6884 :
6885 448 : if (block0.is_used()) {
6886 : compiler::TNode<Context> tmp0;
6887 : compiler::TNode<HeapObject> tmp1;
6888 : ca_.Bind(&block0, &tmp0, &tmp1);
6889 : compiler::TNode<FixedDoubleArray> tmp2;
6890 : USE(tmp2);
6891 : compiler::CodeAssemblerLabel label0(&ca_);
6892 1344 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject18ATFixedDoubleArray(compiler::TNode<HeapObject>{tmp1}, &label0);
6893 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
6894 448 : if (label0.is_used()) {
6895 448 : ca_.Bind(&label0);
6896 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
6897 448 : }
6898 : }
6899 :
6900 448 : if (block4.is_used()) {
6901 : compiler::TNode<Context> tmp3;
6902 : compiler::TNode<HeapObject> tmp4;
6903 : compiler::TNode<HeapObject> tmp5;
6904 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
6905 : ca_.Goto(&block1);
6906 : }
6907 :
6908 448 : if (block3.is_used()) {
6909 : compiler::TNode<Context> tmp6;
6910 : compiler::TNode<HeapObject> tmp7;
6911 : compiler::TNode<HeapObject> tmp8;
6912 : compiler::TNode<FixedDoubleArray> tmp9;
6913 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
6914 : ca_.Goto(&block2, tmp6, tmp7, tmp9);
6915 : }
6916 :
6917 448 : if (block2.is_used()) {
6918 : compiler::TNode<Context> tmp10;
6919 : compiler::TNode<HeapObject> tmp11;
6920 : compiler::TNode<FixedDoubleArray> tmp12;
6921 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
6922 : ca_.Goto(&block5, tmp10, tmp11, tmp12);
6923 : }
6924 :
6925 448 : if (block1.is_used()) {
6926 : ca_.Bind(&block1);
6927 448 : ca_.Goto(label_CastError);
6928 : }
6929 :
6930 : compiler::TNode<Context> tmp13;
6931 : compiler::TNode<HeapObject> tmp14;
6932 : compiler::TNode<FixedDoubleArray> tmp15;
6933 : ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
6934 896 : return compiler::TNode<FixedDoubleArray>{tmp15};
6935 : }
6936 :
6937 621 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Cast7JSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
6938 621 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6939 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6940 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6941 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6942 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6943 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6944 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6945 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
6946 : ca_.Goto(&block0, p_context, p_o);
6947 :
6948 621 : if (block0.is_used()) {
6949 : compiler::TNode<Context> tmp0;
6950 : compiler::TNode<Object> tmp1;
6951 : ca_.Bind(&block0, &tmp0, &tmp1);
6952 : compiler::TNode<HeapObject> tmp2;
6953 : USE(tmp2);
6954 : compiler::CodeAssemblerLabel label0(&ca_);
6955 1242 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
6956 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
6957 621 : if (label0.is_used()) {
6958 621 : ca_.Bind(&label0);
6959 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
6960 621 : }
6961 : }
6962 :
6963 621 : if (block4.is_used()) {
6964 : compiler::TNode<Context> tmp3;
6965 : compiler::TNode<Object> tmp4;
6966 : compiler::TNode<Object> tmp5;
6967 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
6968 : ca_.Goto(&block1);
6969 : }
6970 :
6971 621 : if (block3.is_used()) {
6972 : compiler::TNode<Context> tmp6;
6973 : compiler::TNode<Object> tmp7;
6974 : compiler::TNode<Object> tmp8;
6975 : compiler::TNode<HeapObject> tmp9;
6976 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
6977 : compiler::TNode<JSArray> tmp10;
6978 : USE(tmp10);
6979 : compiler::CodeAssemblerLabel label0(&ca_);
6980 1863 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject7JSArray(compiler::TNode<HeapObject>{tmp9}, &label0);
6981 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
6982 621 : if (label0.is_used()) {
6983 621 : ca_.Bind(&label0);
6984 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
6985 621 : }
6986 : }
6987 :
6988 621 : if (block6.is_used()) {
6989 : compiler::TNode<Context> tmp11;
6990 : compiler::TNode<Object> tmp12;
6991 : compiler::TNode<HeapObject> tmp13;
6992 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
6993 : ca_.Goto(&block1);
6994 : }
6995 :
6996 621 : if (block5.is_used()) {
6997 : compiler::TNode<Context> tmp14;
6998 : compiler::TNode<Object> tmp15;
6999 : compiler::TNode<HeapObject> tmp16;
7000 : compiler::TNode<JSArray> tmp17;
7001 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
7002 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
7003 : }
7004 :
7005 621 : if (block2.is_used()) {
7006 : compiler::TNode<Context> tmp18;
7007 : compiler::TNode<Object> tmp19;
7008 : compiler::TNode<JSArray> tmp20;
7009 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
7010 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
7011 : }
7012 :
7013 621 : if (block1.is_used()) {
7014 : ca_.Bind(&block1);
7015 621 : ca_.Goto(label_CastError);
7016 : }
7017 :
7018 : compiler::TNode<Context> tmp21;
7019 : compiler::TNode<Object> tmp22;
7020 : compiler::TNode<JSArray> tmp23;
7021 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
7022 1242 : return compiler::TNode<JSArray>{tmp23};
7023 : }
7024 :
7025 672 : compiler::TNode<JSArgumentsObjectWithLength> BaseBuiltinsFromDSLAssembler::Cast27JSArgumentsObjectWithLength(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
7026 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7027 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7028 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7029 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7030 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSArgumentsObjectWithLength> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7031 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArgumentsObjectWithLength> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7032 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7033 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArgumentsObjectWithLength> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7034 : ca_.Goto(&block0, p_context, p_o);
7035 :
7036 672 : if (block0.is_used()) {
7037 : compiler::TNode<Context> tmp0;
7038 : compiler::TNode<Object> tmp1;
7039 : ca_.Bind(&block0, &tmp0, &tmp1);
7040 : compiler::TNode<HeapObject> tmp2;
7041 : USE(tmp2);
7042 : compiler::CodeAssemblerLabel label0(&ca_);
7043 1344 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
7044 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
7045 672 : if (label0.is_used()) {
7046 672 : ca_.Bind(&label0);
7047 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
7048 672 : }
7049 : }
7050 :
7051 672 : if (block4.is_used()) {
7052 : compiler::TNode<Context> tmp3;
7053 : compiler::TNode<Object> tmp4;
7054 : compiler::TNode<Object> tmp5;
7055 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
7056 : ca_.Goto(&block1);
7057 : }
7058 :
7059 672 : if (block3.is_used()) {
7060 : compiler::TNode<Context> tmp6;
7061 : compiler::TNode<Object> tmp7;
7062 : compiler::TNode<Object> tmp8;
7063 : compiler::TNode<HeapObject> tmp9;
7064 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
7065 : compiler::TNode<JSArgumentsObjectWithLength> tmp10;
7066 : USE(tmp10);
7067 : compiler::CodeAssemblerLabel label0(&ca_);
7068 2016 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject27JSArgumentsObjectWithLength(compiler::TNode<Context>{tmp6}, compiler::TNode<HeapObject>{tmp9}, &label0);
7069 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
7070 672 : if (label0.is_used()) {
7071 672 : ca_.Bind(&label0);
7072 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
7073 672 : }
7074 : }
7075 :
7076 672 : if (block6.is_used()) {
7077 : compiler::TNode<Context> tmp11;
7078 : compiler::TNode<Object> tmp12;
7079 : compiler::TNode<HeapObject> tmp13;
7080 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
7081 : ca_.Goto(&block1);
7082 : }
7083 :
7084 672 : if (block5.is_used()) {
7085 : compiler::TNode<Context> tmp14;
7086 : compiler::TNode<Object> tmp15;
7087 : compiler::TNode<HeapObject> tmp16;
7088 : compiler::TNode<JSArgumentsObjectWithLength> tmp17;
7089 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
7090 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
7091 : }
7092 :
7093 672 : if (block2.is_used()) {
7094 : compiler::TNode<Context> tmp18;
7095 : compiler::TNode<Object> tmp19;
7096 : compiler::TNode<JSArgumentsObjectWithLength> tmp20;
7097 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
7098 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
7099 : }
7100 :
7101 672 : if (block1.is_used()) {
7102 : ca_.Bind(&block1);
7103 672 : ca_.Goto(label_CastError);
7104 : }
7105 :
7106 : compiler::TNode<Context> tmp21;
7107 : compiler::TNode<Object> tmp22;
7108 : compiler::TNode<JSArgumentsObjectWithLength> tmp23;
7109 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
7110 1344 : return compiler::TNode<JSArgumentsObjectWithLength>{tmp23};
7111 : }
7112 :
7113 0 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::Is13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
7114 0 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7115 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7116 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7117 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7118 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7119 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7120 : compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7121 : compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7122 : compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7123 : ca_.Goto(&block0, p_context, p_o);
7124 :
7125 0 : if (block0.is_used()) {
7126 : compiler::TNode<Context> tmp0;
7127 : compiler::TNode<Object> tmp1;
7128 : ca_.Bind(&block0, &tmp0, &tmp1);
7129 : compiler::CodeAssemblerLabel label0(&ca_);
7130 0 : compiler::CodeAssemblerLabel label1(&ca_);
7131 0 : BaseBuiltinsFromDSLAssembler(state_).BranchIf13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0, &label1);
7132 0 : if (label0.is_used()) {
7133 0 : ca_.Bind(&label0);
7134 : ca_.Goto(&block6, tmp0, tmp1, tmp1);
7135 : }
7136 0 : if (label1.is_used()) {
7137 0 : ca_.Bind(&label1);
7138 : ca_.Goto(&block7, tmp0, tmp1, tmp1);
7139 0 : }
7140 : }
7141 :
7142 0 : if (block6.is_used()) {
7143 : compiler::TNode<Context> tmp2;
7144 : compiler::TNode<Object> tmp3;
7145 : compiler::TNode<Object> tmp4;
7146 : ca_.Bind(&block6, &tmp2, &tmp3, &tmp4);
7147 : ca_.Goto(&block2, tmp2, tmp3);
7148 : }
7149 :
7150 0 : if (block7.is_used()) {
7151 : compiler::TNode<Context> tmp5;
7152 : compiler::TNode<Object> tmp6;
7153 : compiler::TNode<Object> tmp7;
7154 : ca_.Bind(&block7, &tmp5, &tmp6, &tmp7);
7155 : ca_.Goto(&block3, tmp5, tmp6);
7156 : }
7157 :
7158 0 : if (block2.is_used()) {
7159 : compiler::TNode<Context> tmp8;
7160 : compiler::TNode<Object> tmp9;
7161 : ca_.Bind(&block2, &tmp8, &tmp9);
7162 : ca_.Goto(&block5, tmp8, tmp9);
7163 : }
7164 :
7165 0 : if (block3.is_used()) {
7166 : compiler::TNode<Context> tmp10;
7167 : compiler::TNode<Object> tmp11;
7168 : ca_.Bind(&block3, &tmp10, &tmp11);
7169 : compiler::TNode<BoolT> tmp12;
7170 : USE(tmp12);
7171 0 : tmp12 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
7172 : ca_.Goto(&block4, tmp10, tmp11, tmp12);
7173 : }
7174 :
7175 0 : if (block5.is_used()) {
7176 : compiler::TNode<Context> tmp13;
7177 : compiler::TNode<Object> tmp14;
7178 : ca_.Bind(&block5, &tmp13, &tmp14);
7179 : compiler::TNode<BoolT> tmp15;
7180 : USE(tmp15);
7181 0 : tmp15 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
7182 : ca_.Goto(&block4, tmp13, tmp14, tmp15);
7183 : }
7184 :
7185 0 : if (block4.is_used()) {
7186 : compiler::TNode<Context> tmp16;
7187 : compiler::TNode<Object> tmp17;
7188 : compiler::TNode<BoolT> tmp18;
7189 : ca_.Bind(&block4, &tmp16, &tmp17, &tmp18);
7190 : ca_.Goto(&block1, tmp16, tmp17, tmp18);
7191 : }
7192 :
7193 0 : if (block1.is_used()) {
7194 : compiler::TNode<Context> tmp19;
7195 : compiler::TNode<Object> tmp20;
7196 : compiler::TNode<BoolT> tmp21;
7197 : ca_.Bind(&block1, &tmp19, &tmp20, &tmp21);
7198 : ca_.Goto(&block8, tmp19, tmp20, tmp21);
7199 : }
7200 :
7201 : compiler::TNode<Context> tmp22;
7202 : compiler::TNode<Object> tmp23;
7203 : compiler::TNode<BoolT> tmp24;
7204 : ca_.Bind(&block8, &tmp22, &tmp23, &tmp24);
7205 0 : return compiler::TNode<BoolT>{tmp24};
7206 : }
7207 :
7208 840 : void BaseBuiltinsFromDSLAssembler::BranchIf13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
7209 840 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7210 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7211 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7212 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7213 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7214 : ca_.Goto(&block0, p_context, p_o);
7215 :
7216 840 : if (block0.is_used()) {
7217 : compiler::TNode<Context> tmp0;
7218 : compiler::TNode<Object> tmp1;
7219 : ca_.Bind(&block0, &tmp0, &tmp1);
7220 : compiler::TNode<JSArray> tmp2;
7221 : USE(tmp2);
7222 : compiler::CodeAssemblerLabel label0(&ca_);
7223 2520 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
7224 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
7225 840 : if (label0.is_used()) {
7226 840 : ca_.Bind(&label0);
7227 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
7228 840 : }
7229 : }
7230 :
7231 840 : if (block4.is_used()) {
7232 : compiler::TNode<Context> tmp3;
7233 : compiler::TNode<Object> tmp4;
7234 : compiler::TNode<Object> tmp5;
7235 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
7236 : ca_.Goto(&block2);
7237 : }
7238 :
7239 840 : if (block3.is_used()) {
7240 : compiler::TNode<Context> tmp6;
7241 : compiler::TNode<Object> tmp7;
7242 : compiler::TNode<Object> tmp8;
7243 : compiler::TNode<JSArray> tmp9;
7244 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
7245 : ca_.Goto(&block1);
7246 : }
7247 :
7248 840 : if (block1.is_used()) {
7249 : ca_.Bind(&block1);
7250 840 : ca_.Goto(label_True);
7251 : }
7252 :
7253 840 : if (block2.is_used()) {
7254 : ca_.Bind(&block2);
7255 840 : ca_.Goto(label_False);
7256 : }
7257 840 : }
7258 :
7259 0 : void BaseBuiltinsFromDSLAssembler::BranchIfNot13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
7260 0 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7261 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7262 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7263 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7264 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7265 : ca_.Goto(&block0, p_context, p_o);
7266 :
7267 0 : if (block0.is_used()) {
7268 : compiler::TNode<Context> tmp0;
7269 : compiler::TNode<Object> tmp1;
7270 : ca_.Bind(&block0, &tmp0, &tmp1);
7271 : compiler::TNode<JSArray> tmp2;
7272 : USE(tmp2);
7273 : compiler::CodeAssemblerLabel label0(&ca_);
7274 0 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
7275 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
7276 0 : if (label0.is_used()) {
7277 0 : ca_.Bind(&label0);
7278 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
7279 0 : }
7280 : }
7281 :
7282 0 : if (block4.is_used()) {
7283 : compiler::TNode<Context> tmp3;
7284 : compiler::TNode<Object> tmp4;
7285 : compiler::TNode<Object> tmp5;
7286 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
7287 : ca_.Goto(&block1);
7288 : }
7289 :
7290 0 : if (block3.is_used()) {
7291 : compiler::TNode<Context> tmp6;
7292 : compiler::TNode<Object> tmp7;
7293 : compiler::TNode<Object> tmp8;
7294 : compiler::TNode<JSArray> tmp9;
7295 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
7296 : ca_.Goto(&block2);
7297 : }
7298 :
7299 0 : if (block1.is_used()) {
7300 : ca_.Bind(&block1);
7301 0 : ca_.Goto(label_True);
7302 : }
7303 :
7304 0 : if (block2.is_used()) {
7305 : ca_.Bind(&block2);
7306 0 : ca_.Goto(label_False);
7307 : }
7308 0 : }
7309 :
7310 0 : void BaseBuiltinsFromDSLAssembler::BranchIf20ATFastJSArrayForCopy20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
7311 0 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7312 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7313 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7314 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7315 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7316 : ca_.Goto(&block0, p_context, p_o);
7317 :
7318 0 : if (block0.is_used()) {
7319 : compiler::TNode<Context> tmp0;
7320 : compiler::TNode<Object> tmp1;
7321 : ca_.Bind(&block0, &tmp0, &tmp1);
7322 : compiler::TNode<JSArray> tmp2;
7323 : USE(tmp2);
7324 : compiler::CodeAssemblerLabel label0(&ca_);
7325 0 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast20ATFastJSArrayForCopy(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
7326 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
7327 0 : if (label0.is_used()) {
7328 0 : ca_.Bind(&label0);
7329 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
7330 0 : }
7331 : }
7332 :
7333 0 : if (block4.is_used()) {
7334 : compiler::TNode<Context> tmp3;
7335 : compiler::TNode<Object> tmp4;
7336 : compiler::TNode<Object> tmp5;
7337 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
7338 : ca_.Goto(&block2);
7339 : }
7340 :
7341 0 : if (block3.is_used()) {
7342 : compiler::TNode<Context> tmp6;
7343 : compiler::TNode<Object> tmp7;
7344 : compiler::TNode<Object> tmp8;
7345 : compiler::TNode<JSArray> tmp9;
7346 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
7347 : ca_.Goto(&block1);
7348 : }
7349 :
7350 0 : if (block1.is_used()) {
7351 : ca_.Bind(&block1);
7352 0 : ca_.Goto(label_True);
7353 : }
7354 :
7355 0 : if (block2.is_used()) {
7356 : ca_.Bind(&block2);
7357 0 : ca_.Goto(label_False);
7358 : }
7359 0 : }
7360 :
7361 392 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::Is34ATFastJSArrayWithNoCustomIteration20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
7362 392 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7363 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7364 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7365 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7366 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7367 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7368 : compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7369 : compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7370 : compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7371 : ca_.Goto(&block0, p_context, p_o);
7372 :
7373 392 : if (block0.is_used()) {
7374 : compiler::TNode<Context> tmp0;
7375 : compiler::TNode<Object> tmp1;
7376 : ca_.Bind(&block0, &tmp0, &tmp1);
7377 : compiler::CodeAssemblerLabel label0(&ca_);
7378 392 : compiler::CodeAssemblerLabel label1(&ca_);
7379 1176 : BaseBuiltinsFromDSLAssembler(state_).BranchIf34ATFastJSArrayWithNoCustomIteration20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0, &label1);
7380 392 : if (label0.is_used()) {
7381 392 : ca_.Bind(&label0);
7382 : ca_.Goto(&block6, tmp0, tmp1, tmp1);
7383 : }
7384 392 : if (label1.is_used()) {
7385 392 : ca_.Bind(&label1);
7386 : ca_.Goto(&block7, tmp0, tmp1, tmp1);
7387 392 : }
7388 : }
7389 :
7390 392 : if (block6.is_used()) {
7391 : compiler::TNode<Context> tmp2;
7392 : compiler::TNode<Object> tmp3;
7393 : compiler::TNode<Object> tmp4;
7394 : ca_.Bind(&block6, &tmp2, &tmp3, &tmp4);
7395 : ca_.Goto(&block2, tmp2, tmp3);
7396 : }
7397 :
7398 392 : if (block7.is_used()) {
7399 : compiler::TNode<Context> tmp5;
7400 : compiler::TNode<Object> tmp6;
7401 : compiler::TNode<Object> tmp7;
7402 : ca_.Bind(&block7, &tmp5, &tmp6, &tmp7);
7403 : ca_.Goto(&block3, tmp5, tmp6);
7404 : }
7405 :
7406 392 : if (block2.is_used()) {
7407 : compiler::TNode<Context> tmp8;
7408 : compiler::TNode<Object> tmp9;
7409 : ca_.Bind(&block2, &tmp8, &tmp9);
7410 : ca_.Goto(&block5, tmp8, tmp9);
7411 : }
7412 :
7413 392 : if (block3.is_used()) {
7414 : compiler::TNode<Context> tmp10;
7415 : compiler::TNode<Object> tmp11;
7416 : ca_.Bind(&block3, &tmp10, &tmp11);
7417 : compiler::TNode<BoolT> tmp12;
7418 : USE(tmp12);
7419 1176 : tmp12 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
7420 : ca_.Goto(&block4, tmp10, tmp11, tmp12);
7421 : }
7422 :
7423 392 : if (block5.is_used()) {
7424 : compiler::TNode<Context> tmp13;
7425 : compiler::TNode<Object> tmp14;
7426 : ca_.Bind(&block5, &tmp13, &tmp14);
7427 : compiler::TNode<BoolT> tmp15;
7428 : USE(tmp15);
7429 1176 : tmp15 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
7430 : ca_.Goto(&block4, tmp13, tmp14, tmp15);
7431 : }
7432 :
7433 392 : if (block4.is_used()) {
7434 : compiler::TNode<Context> tmp16;
7435 : compiler::TNode<Object> tmp17;
7436 : compiler::TNode<BoolT> tmp18;
7437 : ca_.Bind(&block4, &tmp16, &tmp17, &tmp18);
7438 : ca_.Goto(&block1, tmp16, tmp17, tmp18);
7439 : }
7440 :
7441 392 : if (block1.is_used()) {
7442 : compiler::TNode<Context> tmp19;
7443 : compiler::TNode<Object> tmp20;
7444 : compiler::TNode<BoolT> tmp21;
7445 : ca_.Bind(&block1, &tmp19, &tmp20, &tmp21);
7446 : ca_.Goto(&block8, tmp19, tmp20, tmp21);
7447 : }
7448 :
7449 : compiler::TNode<Context> tmp22;
7450 : compiler::TNode<Object> tmp23;
7451 : compiler::TNode<BoolT> tmp24;
7452 : ca_.Bind(&block8, &tmp22, &tmp23, &tmp24);
7453 784 : return compiler::TNode<BoolT>{tmp24};
7454 : }
7455 :
7456 0 : compiler::TNode<Context> BaseBuiltinsFromDSLAssembler::Cast9ATContext(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
7457 0 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7458 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7459 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7460 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7461 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, Context> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7462 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7463 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7464 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Context> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7465 : ca_.Goto(&block0, p_context, p_o);
7466 :
7467 0 : if (block0.is_used()) {
7468 : compiler::TNode<Context> tmp0;
7469 : compiler::TNode<Object> tmp1;
7470 : ca_.Bind(&block0, &tmp0, &tmp1);
7471 : compiler::TNode<HeapObject> tmp2;
7472 : USE(tmp2);
7473 : compiler::CodeAssemblerLabel label0(&ca_);
7474 0 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
7475 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
7476 0 : if (label0.is_used()) {
7477 0 : ca_.Bind(&label0);
7478 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
7479 0 : }
7480 : }
7481 :
7482 0 : if (block4.is_used()) {
7483 : compiler::TNode<Context> tmp3;
7484 : compiler::TNode<Object> tmp4;
7485 : compiler::TNode<Object> tmp5;
7486 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
7487 : ca_.Goto(&block1);
7488 : }
7489 :
7490 0 : if (block3.is_used()) {
7491 : compiler::TNode<Context> tmp6;
7492 : compiler::TNode<Object> tmp7;
7493 : compiler::TNode<Object> tmp8;
7494 : compiler::TNode<HeapObject> tmp9;
7495 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
7496 : compiler::TNode<Context> tmp10;
7497 : USE(tmp10);
7498 : compiler::CodeAssemblerLabel label0(&ca_);
7499 0 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject9ATContext(compiler::TNode<HeapObject>{tmp9}, &label0);
7500 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
7501 0 : if (label0.is_used()) {
7502 0 : ca_.Bind(&label0);
7503 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
7504 0 : }
7505 : }
7506 :
7507 0 : if (block6.is_used()) {
7508 : compiler::TNode<Context> tmp11;
7509 : compiler::TNode<Object> tmp12;
7510 : compiler::TNode<HeapObject> tmp13;
7511 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
7512 : ca_.Goto(&block1);
7513 : }
7514 :
7515 0 : if (block5.is_used()) {
7516 : compiler::TNode<Context> tmp14;
7517 : compiler::TNode<Object> tmp15;
7518 : compiler::TNode<HeapObject> tmp16;
7519 : compiler::TNode<Context> tmp17;
7520 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
7521 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
7522 : }
7523 :
7524 0 : if (block2.is_used()) {
7525 : compiler::TNode<Context> tmp18;
7526 : compiler::TNode<Object> tmp19;
7527 : compiler::TNode<Context> tmp20;
7528 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
7529 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
7530 : }
7531 :
7532 0 : if (block1.is_used()) {
7533 : ca_.Bind(&block1);
7534 0 : ca_.Goto(label_CastError);
7535 : }
7536 :
7537 : compiler::TNode<Context> tmp21;
7538 : compiler::TNode<Object> tmp22;
7539 : compiler::TNode<Context> tmp23;
7540 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
7541 0 : return compiler::TNode<Context>{tmp23};
7542 : }
7543 :
7544 183 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::UnsafeCast25UT9ATContext11ATFrameType(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
7545 183 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7546 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7547 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7548 : ca_.Goto(&block0, p_context, p_o);
7549 :
7550 183 : if (block0.is_used()) {
7551 : compiler::TNode<Context> tmp0;
7552 : compiler::TNode<Object> tmp1;
7553 : ca_.Bind(&block0, &tmp0, &tmp1);
7554 : compiler::TNode<Object> tmp2;
7555 : USE(tmp2);
7556 : tmp2 = (compiler::TNode<Object>{tmp1});
7557 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
7558 : }
7559 :
7560 183 : if (block1.is_used()) {
7561 : compiler::TNode<Context> tmp3;
7562 : compiler::TNode<Object> tmp4;
7563 : compiler::TNode<Object> tmp5;
7564 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
7565 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
7566 : }
7567 :
7568 : compiler::TNode<Context> tmp6;
7569 : compiler::TNode<Object> tmp7;
7570 : compiler::TNode<Object> tmp8;
7571 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
7572 366 : return compiler::TNode<Object>{tmp8};
7573 : }
7574 :
7575 5 : compiler::TNode<HeapObject> BaseBuiltinsFromDSLAssembler::Cast10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
7576 5 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7577 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7578 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7579 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7580 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, HeapObject> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7581 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7582 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7583 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7584 : ca_.Goto(&block0, p_context, p_o);
7585 :
7586 5 : if (block0.is_used()) {
7587 : compiler::TNode<Context> tmp0;
7588 : compiler::TNode<Object> tmp1;
7589 : ca_.Bind(&block0, &tmp0, &tmp1);
7590 : compiler::TNode<HeapObject> tmp2;
7591 : USE(tmp2);
7592 : compiler::CodeAssemblerLabel label0(&ca_);
7593 10 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
7594 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
7595 5 : if (label0.is_used()) {
7596 5 : ca_.Bind(&label0);
7597 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
7598 5 : }
7599 : }
7600 :
7601 5 : if (block4.is_used()) {
7602 : compiler::TNode<Context> tmp3;
7603 : compiler::TNode<Object> tmp4;
7604 : compiler::TNode<Object> tmp5;
7605 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
7606 : ca_.Goto(&block1);
7607 : }
7608 :
7609 5 : if (block3.is_used()) {
7610 : compiler::TNode<Context> tmp6;
7611 : compiler::TNode<Object> tmp7;
7612 : compiler::TNode<Object> tmp8;
7613 : compiler::TNode<HeapObject> tmp9;
7614 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
7615 : compiler::TNode<HeapObject> tmp10;
7616 : USE(tmp10);
7617 : compiler::CodeAssemblerLabel label0(&ca_);
7618 15 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject10HeapObject(compiler::TNode<HeapObject>{tmp9}, &label0);
7619 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
7620 5 : if (label0.is_used()) {
7621 0 : ca_.Bind(&label0);
7622 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
7623 5 : }
7624 : }
7625 :
7626 5 : if (block6.is_used()) {
7627 : compiler::TNode<Context> tmp11;
7628 : compiler::TNode<Object> tmp12;
7629 : compiler::TNode<HeapObject> tmp13;
7630 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
7631 : ca_.Goto(&block1);
7632 : }
7633 :
7634 5 : if (block5.is_used()) {
7635 : compiler::TNode<Context> tmp14;
7636 : compiler::TNode<Object> tmp15;
7637 : compiler::TNode<HeapObject> tmp16;
7638 : compiler::TNode<HeapObject> tmp17;
7639 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
7640 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
7641 : }
7642 :
7643 5 : if (block2.is_used()) {
7644 : compiler::TNode<Context> tmp18;
7645 : compiler::TNode<Object> tmp19;
7646 : compiler::TNode<HeapObject> tmp20;
7647 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
7648 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
7649 : }
7650 :
7651 5 : if (block1.is_used()) {
7652 : ca_.Bind(&block1);
7653 5 : ca_.Goto(label_CastError);
7654 : }
7655 :
7656 : compiler::TNode<Context> tmp21;
7657 : compiler::TNode<Object> tmp22;
7658 : compiler::TNode<HeapObject> tmp23;
7659 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
7660 10 : return compiler::TNode<HeapObject>{tmp23};
7661 : }
7662 :
7663 1410 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::Convert8ATintptr17ATconstexpr_int31(int31_t p_i) {
7664 1410 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7665 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7666 : compiler::CodeAssemblerParameterizedLabel<IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7667 : ca_.Goto(&block0);
7668 :
7669 1410 : if (block0.is_used()) {
7670 : ca_.Bind(&block0);
7671 : compiler::TNode<IntPtrT> tmp0;
7672 : USE(tmp0);
7673 4230 : tmp0 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(p_i));
7674 : ca_.Goto(&block1, tmp0);
7675 : }
7676 :
7677 1410 : if (block1.is_used()) {
7678 : compiler::TNode<IntPtrT> tmp1;
7679 : ca_.Bind(&block1, &tmp1);
7680 : ca_.Goto(&block2, tmp1);
7681 : }
7682 :
7683 : compiler::TNode<IntPtrT> tmp2;
7684 : ca_.Bind(&block2, &tmp2);
7685 2820 : return compiler::TNode<IntPtrT>{tmp2};
7686 : }
7687 :
7688 728 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::Cast10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
7689 728 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7690 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7691 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7692 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7693 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7694 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7695 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7696 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7697 : ca_.Goto(&block0, p_context, p_o);
7698 :
7699 728 : if (block0.is_used()) {
7700 : compiler::TNode<Context> tmp0;
7701 : compiler::TNode<Object> tmp1;
7702 : ca_.Bind(&block0, &tmp0, &tmp1);
7703 : compiler::TNode<HeapObject> tmp2;
7704 : USE(tmp2);
7705 : compiler::CodeAssemblerLabel label0(&ca_);
7706 1456 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
7707 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
7708 728 : if (label0.is_used()) {
7709 728 : ca_.Bind(&label0);
7710 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
7711 728 : }
7712 : }
7713 :
7714 728 : if (block4.is_used()) {
7715 : compiler::TNode<Context> tmp3;
7716 : compiler::TNode<Object> tmp4;
7717 : compiler::TNode<Object> tmp5;
7718 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
7719 : ca_.Goto(&block1);
7720 : }
7721 :
7722 728 : if (block3.is_used()) {
7723 : compiler::TNode<Context> tmp6;
7724 : compiler::TNode<Object> tmp7;
7725 : compiler::TNode<Object> tmp8;
7726 : compiler::TNode<HeapObject> tmp9;
7727 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
7728 : compiler::TNode<JSReceiver> tmp10;
7729 : USE(tmp10);
7730 : compiler::CodeAssemblerLabel label0(&ca_);
7731 2184 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject10JSReceiver(compiler::TNode<Context>{tmp6}, compiler::TNode<HeapObject>{tmp9}, &label0);
7732 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
7733 728 : if (label0.is_used()) {
7734 728 : ca_.Bind(&label0);
7735 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
7736 728 : }
7737 : }
7738 :
7739 728 : if (block6.is_used()) {
7740 : compiler::TNode<Context> tmp11;
7741 : compiler::TNode<Object> tmp12;
7742 : compiler::TNode<HeapObject> tmp13;
7743 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
7744 : ca_.Goto(&block1);
7745 : }
7746 :
7747 728 : if (block5.is_used()) {
7748 : compiler::TNode<Context> tmp14;
7749 : compiler::TNode<Object> tmp15;
7750 : compiler::TNode<HeapObject> tmp16;
7751 : compiler::TNode<JSReceiver> tmp17;
7752 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
7753 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
7754 : }
7755 :
7756 728 : if (block2.is_used()) {
7757 : compiler::TNode<Context> tmp18;
7758 : compiler::TNode<Object> tmp19;
7759 : compiler::TNode<JSReceiver> tmp20;
7760 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
7761 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
7762 : }
7763 :
7764 728 : if (block1.is_used()) {
7765 : ca_.Bind(&block1);
7766 728 : ca_.Goto(label_CastError);
7767 : }
7768 :
7769 : compiler::TNode<Context> tmp21;
7770 : compiler::TNode<Object> tmp22;
7771 : compiler::TNode<JSReceiver> tmp23;
7772 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
7773 1456 : return compiler::TNode<JSReceiver>{tmp23};
7774 : }
7775 :
7776 504 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::Cast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
7777 504 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7778 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7779 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7780 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7781 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7782 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7783 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7784 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7785 : ca_.Goto(&block0, p_context, p_o);
7786 :
7787 504 : if (block0.is_used()) {
7788 : compiler::TNode<Context> tmp0;
7789 : compiler::TNode<Object> tmp1;
7790 : ca_.Bind(&block0, &tmp0, &tmp1);
7791 : compiler::TNode<HeapObject> tmp2;
7792 : USE(tmp2);
7793 : compiler::CodeAssemblerLabel label0(&ca_);
7794 1008 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
7795 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
7796 504 : if (label0.is_used()) {
7797 504 : ca_.Bind(&label0);
7798 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
7799 504 : }
7800 : }
7801 :
7802 504 : if (block4.is_used()) {
7803 : compiler::TNode<Context> tmp3;
7804 : compiler::TNode<Object> tmp4;
7805 : compiler::TNode<Object> tmp5;
7806 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
7807 : ca_.Goto(&block1);
7808 : }
7809 :
7810 504 : if (block3.is_used()) {
7811 : compiler::TNode<Context> tmp6;
7812 : compiler::TNode<Object> tmp7;
7813 : compiler::TNode<Object> tmp8;
7814 : compiler::TNode<HeapObject> tmp9;
7815 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
7816 : compiler::TNode<JSReceiver> tmp10;
7817 : USE(tmp10);
7818 : compiler::CodeAssemblerLabel label0(&ca_);
7819 1512 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<HeapObject>{tmp9}, &label0);
7820 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
7821 504 : if (label0.is_used()) {
7822 504 : ca_.Bind(&label0);
7823 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
7824 504 : }
7825 : }
7826 :
7827 504 : if (block6.is_used()) {
7828 : compiler::TNode<Context> tmp11;
7829 : compiler::TNode<Object> tmp12;
7830 : compiler::TNode<HeapObject> tmp13;
7831 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
7832 : ca_.Goto(&block1);
7833 : }
7834 :
7835 504 : if (block5.is_used()) {
7836 : compiler::TNode<Context> tmp14;
7837 : compiler::TNode<Object> tmp15;
7838 : compiler::TNode<HeapObject> tmp16;
7839 : compiler::TNode<JSReceiver> tmp17;
7840 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
7841 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
7842 : }
7843 :
7844 504 : if (block2.is_used()) {
7845 : compiler::TNode<Context> tmp18;
7846 : compiler::TNode<Object> tmp19;
7847 : compiler::TNode<JSReceiver> tmp20;
7848 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
7849 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
7850 : }
7851 :
7852 504 : if (block1.is_used()) {
7853 : ca_.Bind(&block1);
7854 504 : ca_.Goto(label_CastError);
7855 : }
7856 :
7857 : compiler::TNode<Context> tmp21;
7858 : compiler::TNode<Object> tmp22;
7859 : compiler::TNode<JSReceiver> tmp23;
7860 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
7861 1008 : return compiler::TNode<JSReceiver>{tmp23};
7862 : }
7863 :
7864 448 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::UnsafeCast7JSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
7865 448 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7866 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7867 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7868 : ca_.Goto(&block0, p_context, p_o);
7869 :
7870 448 : if (block0.is_used()) {
7871 : compiler::TNode<Context> tmp0;
7872 : compiler::TNode<Object> tmp1;
7873 : ca_.Bind(&block0, &tmp0, &tmp1);
7874 : compiler::TNode<JSArray> tmp2;
7875 : USE(tmp2);
7876 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
7877 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
7878 : }
7879 :
7880 448 : if (block1.is_used()) {
7881 : compiler::TNode<Context> tmp3;
7882 : compiler::TNode<Object> tmp4;
7883 : compiler::TNode<JSArray> tmp5;
7884 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
7885 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
7886 : }
7887 :
7888 : compiler::TNode<Context> tmp6;
7889 : compiler::TNode<Object> tmp7;
7890 : compiler::TNode<JSArray> tmp8;
7891 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
7892 896 : return compiler::TNode<JSArray>{tmp8};
7893 : }
7894 :
7895 280 : compiler::TNode<NumberDictionary> BaseBuiltinsFromDSLAssembler::UnsafeCast18ATNumberDictionary(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
7896 280 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7897 : compiler::CodeAssemblerParameterizedLabel<Context, Object, NumberDictionary> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7898 : compiler::CodeAssemblerParameterizedLabel<Context, Object, NumberDictionary> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7899 : ca_.Goto(&block0, p_context, p_o);
7900 :
7901 280 : if (block0.is_used()) {
7902 : compiler::TNode<Context> tmp0;
7903 : compiler::TNode<Object> tmp1;
7904 : ca_.Bind(&block0, &tmp0, &tmp1);
7905 : compiler::TNode<NumberDictionary> tmp2;
7906 : USE(tmp2);
7907 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
7908 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
7909 : }
7910 :
7911 280 : if (block1.is_used()) {
7912 : compiler::TNode<Context> tmp3;
7913 : compiler::TNode<Object> tmp4;
7914 : compiler::TNode<NumberDictionary> tmp5;
7915 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
7916 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
7917 : }
7918 :
7919 : compiler::TNode<Context> tmp6;
7920 : compiler::TNode<Object> tmp7;
7921 : compiler::TNode<NumberDictionary> tmp8;
7922 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
7923 560 : return compiler::TNode<NumberDictionary>{tmp8};
7924 : }
7925 :
7926 2744 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::UnsafeCast12ATFixedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
7927 2744 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7928 : compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7929 : compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7930 : ca_.Goto(&block0, p_context, p_o);
7931 :
7932 2744 : if (block0.is_used()) {
7933 : compiler::TNode<Context> tmp0;
7934 : compiler::TNode<Object> tmp1;
7935 : ca_.Bind(&block0, &tmp0, &tmp1);
7936 : compiler::TNode<FixedArray> tmp2;
7937 : USE(tmp2);
7938 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
7939 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
7940 : }
7941 :
7942 2744 : if (block1.is_used()) {
7943 : compiler::TNode<Context> tmp3;
7944 : compiler::TNode<Object> tmp4;
7945 : compiler::TNode<FixedArray> tmp5;
7946 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
7947 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
7948 : }
7949 :
7950 : compiler::TNode<Context> tmp6;
7951 : compiler::TNode<Object> tmp7;
7952 : compiler::TNode<FixedArray> tmp8;
7953 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
7954 5488 : return compiler::TNode<FixedArray>{tmp8};
7955 : }
7956 :
7957 6786 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::UnsafeCast5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
7958 6786 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7959 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7960 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7961 : ca_.Goto(&block0, p_context, p_o);
7962 :
7963 6786 : if (block0.is_used()) {
7964 : compiler::TNode<Context> tmp0;
7965 : compiler::TNode<Object> tmp1;
7966 : ca_.Bind(&block0, &tmp0, &tmp1);
7967 : compiler::TNode<Smi> tmp2;
7968 : USE(tmp2);
7969 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
7970 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
7971 : }
7972 :
7973 6786 : if (block1.is_used()) {
7974 : compiler::TNode<Context> tmp3;
7975 : compiler::TNode<Object> tmp4;
7976 : compiler::TNode<Smi> tmp5;
7977 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
7978 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
7979 : }
7980 :
7981 : compiler::TNode<Context> tmp6;
7982 : compiler::TNode<Object> tmp7;
7983 : compiler::TNode<Smi> tmp8;
7984 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
7985 13572 : return compiler::TNode<Smi>{tmp8};
7986 : }
7987 :
7988 784 : compiler::TNode<FixedDoubleArray> BaseBuiltinsFromDSLAssembler::UnsafeCast18ATFixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
7989 784 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7990 : compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedDoubleArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7991 : compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedDoubleArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7992 : ca_.Goto(&block0, p_context, p_o);
7993 :
7994 784 : if (block0.is_used()) {
7995 : compiler::TNode<Context> tmp0;
7996 : compiler::TNode<Object> tmp1;
7997 : ca_.Bind(&block0, &tmp0, &tmp1);
7998 : compiler::TNode<FixedDoubleArray> tmp2;
7999 : USE(tmp2);
8000 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
8001 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
8002 : }
8003 :
8004 784 : if (block1.is_used()) {
8005 : compiler::TNode<Context> tmp3;
8006 : compiler::TNode<Object> tmp4;
8007 : compiler::TNode<FixedDoubleArray> tmp5;
8008 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
8009 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
8010 : }
8011 :
8012 : compiler::TNode<Context> tmp6;
8013 : compiler::TNode<Object> tmp7;
8014 : compiler::TNode<FixedDoubleArray> tmp8;
8015 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
8016 1568 : return compiler::TNode<FixedDoubleArray>{tmp8};
8017 : }
8018 :
8019 728 : compiler::TNode<JSTypedArray> BaseBuiltinsFromDSLAssembler::UnsafeCast14ATJSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
8020 728 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8021 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSTypedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8022 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSTypedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8023 : ca_.Goto(&block0, p_context, p_o);
8024 :
8025 728 : if (block0.is_used()) {
8026 : compiler::TNode<Context> tmp0;
8027 : compiler::TNode<Object> tmp1;
8028 : ca_.Bind(&block0, &tmp0, &tmp1);
8029 : compiler::TNode<JSTypedArray> tmp2;
8030 : USE(tmp2);
8031 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
8032 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
8033 : }
8034 :
8035 728 : if (block1.is_used()) {
8036 : compiler::TNode<Context> tmp3;
8037 : compiler::TNode<Object> tmp4;
8038 : compiler::TNode<JSTypedArray> tmp5;
8039 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
8040 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
8041 : }
8042 :
8043 : compiler::TNode<Context> tmp6;
8044 : compiler::TNode<Object> tmp7;
8045 : compiler::TNode<JSTypedArray> tmp8;
8046 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
8047 1456 : return compiler::TNode<JSTypedArray>{tmp8};
8048 : }
8049 :
8050 336 : compiler::TNode<String> BaseBuiltinsFromDSLAssembler::Cast8ATString(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
8051 336 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8052 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8053 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8054 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8055 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8056 : compiler::CodeAssemblerParameterizedLabel<Context, Object, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8057 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8058 : compiler::CodeAssemblerParameterizedLabel<Context, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8059 : ca_.Goto(&block0, p_context, p_o);
8060 :
8061 336 : if (block0.is_used()) {
8062 : compiler::TNode<Context> tmp0;
8063 : compiler::TNode<Object> tmp1;
8064 : ca_.Bind(&block0, &tmp0, &tmp1);
8065 : compiler::TNode<HeapObject> tmp2;
8066 : USE(tmp2);
8067 : compiler::CodeAssemblerLabel label0(&ca_);
8068 672 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
8069 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
8070 336 : if (label0.is_used()) {
8071 336 : ca_.Bind(&label0);
8072 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
8073 336 : }
8074 : }
8075 :
8076 336 : if (block4.is_used()) {
8077 : compiler::TNode<Context> tmp3;
8078 : compiler::TNode<Object> tmp4;
8079 : compiler::TNode<Object> tmp5;
8080 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
8081 : ca_.Goto(&block1);
8082 : }
8083 :
8084 336 : if (block3.is_used()) {
8085 : compiler::TNode<Context> tmp6;
8086 : compiler::TNode<Object> tmp7;
8087 : compiler::TNode<Object> tmp8;
8088 : compiler::TNode<HeapObject> tmp9;
8089 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
8090 : compiler::TNode<String> tmp10;
8091 : USE(tmp10);
8092 : compiler::CodeAssemblerLabel label0(&ca_);
8093 1008 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject8ATString(compiler::TNode<HeapObject>{tmp9}, &label0);
8094 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
8095 336 : if (label0.is_used()) {
8096 336 : ca_.Bind(&label0);
8097 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
8098 336 : }
8099 : }
8100 :
8101 336 : if (block6.is_used()) {
8102 : compiler::TNode<Context> tmp11;
8103 : compiler::TNode<Object> tmp12;
8104 : compiler::TNode<HeapObject> tmp13;
8105 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
8106 : ca_.Goto(&block1);
8107 : }
8108 :
8109 336 : if (block5.is_used()) {
8110 : compiler::TNode<Context> tmp14;
8111 : compiler::TNode<Object> tmp15;
8112 : compiler::TNode<HeapObject> tmp16;
8113 : compiler::TNode<String> tmp17;
8114 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
8115 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
8116 : }
8117 :
8118 336 : if (block2.is_used()) {
8119 : compiler::TNode<Context> tmp18;
8120 : compiler::TNode<Object> tmp19;
8121 : compiler::TNode<String> tmp20;
8122 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
8123 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
8124 : }
8125 :
8126 336 : if (block1.is_used()) {
8127 : ca_.Bind(&block1);
8128 336 : ca_.Goto(label_CastError);
8129 : }
8130 :
8131 : compiler::TNode<Context> tmp21;
8132 : compiler::TNode<Object> tmp22;
8133 : compiler::TNode<String> tmp23;
8134 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
8135 672 : return compiler::TNode<String>{tmp23};
8136 : }
8137 :
8138 168 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Cast7JSArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
8139 168 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8140 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8141 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8142 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8143 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8144 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8145 : ca_.Goto(&block0, p_context, p_o);
8146 :
8147 168 : if (block0.is_used()) {
8148 : compiler::TNode<Context> tmp0;
8149 : compiler::TNode<HeapObject> tmp1;
8150 : ca_.Bind(&block0, &tmp0, &tmp1);
8151 : compiler::TNode<JSArray> tmp2;
8152 : USE(tmp2);
8153 : compiler::CodeAssemblerLabel label0(&ca_);
8154 504 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject7JSArray(compiler::TNode<HeapObject>{tmp1}, &label0);
8155 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
8156 168 : if (label0.is_used()) {
8157 168 : ca_.Bind(&label0);
8158 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
8159 168 : }
8160 : }
8161 :
8162 168 : if (block4.is_used()) {
8163 : compiler::TNode<Context> tmp3;
8164 : compiler::TNode<HeapObject> tmp4;
8165 : compiler::TNode<HeapObject> tmp5;
8166 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
8167 : ca_.Goto(&block1);
8168 : }
8169 :
8170 168 : if (block3.is_used()) {
8171 : compiler::TNode<Context> tmp6;
8172 : compiler::TNode<HeapObject> tmp7;
8173 : compiler::TNode<HeapObject> tmp8;
8174 : compiler::TNode<JSArray> tmp9;
8175 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
8176 : ca_.Goto(&block2, tmp6, tmp7, tmp9);
8177 : }
8178 :
8179 168 : if (block2.is_used()) {
8180 : compiler::TNode<Context> tmp10;
8181 : compiler::TNode<HeapObject> tmp11;
8182 : compiler::TNode<JSArray> tmp12;
8183 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
8184 : ca_.Goto(&block5, tmp10, tmp11, tmp12);
8185 : }
8186 :
8187 168 : if (block1.is_used()) {
8188 : ca_.Bind(&block1);
8189 168 : ca_.Goto(label_CastError);
8190 : }
8191 :
8192 : compiler::TNode<Context> tmp13;
8193 : compiler::TNode<HeapObject> tmp14;
8194 : compiler::TNode<JSArray> tmp15;
8195 : ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
8196 336 : return compiler::TNode<JSArray>{tmp15};
8197 : }
8198 :
8199 728 : compiler::TNode<HeapObject> BaseBuiltinsFromDSLAssembler::UnsafeCast10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
8200 728 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8201 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8202 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8203 : ca_.Goto(&block0, p_context, p_o);
8204 :
8205 728 : if (block0.is_used()) {
8206 : compiler::TNode<Context> tmp0;
8207 : compiler::TNode<Object> tmp1;
8208 : ca_.Bind(&block0, &tmp0, &tmp1);
8209 : compiler::TNode<HeapObject> tmp2;
8210 : USE(tmp2);
8211 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
8212 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
8213 : }
8214 :
8215 728 : if (block1.is_used()) {
8216 : compiler::TNode<Context> tmp3;
8217 : compiler::TNode<Object> tmp4;
8218 : compiler::TNode<HeapObject> tmp5;
8219 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
8220 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
8221 : }
8222 :
8223 : compiler::TNode<Context> tmp6;
8224 : compiler::TNode<Object> tmp7;
8225 : compiler::TNode<HeapObject> tmp8;
8226 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
8227 1456 : return compiler::TNode<HeapObject>{tmp8};
8228 : }
8229 :
8230 56 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::Cast13ATConstructor(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
8231 56 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8232 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8233 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8234 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8235 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8236 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8237 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8238 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8239 : ca_.Goto(&block0, p_context, p_o);
8240 :
8241 56 : if (block0.is_used()) {
8242 : compiler::TNode<Context> tmp0;
8243 : compiler::TNode<Object> tmp1;
8244 : ca_.Bind(&block0, &tmp0, &tmp1);
8245 : compiler::TNode<HeapObject> tmp2;
8246 : USE(tmp2);
8247 : compiler::CodeAssemblerLabel label0(&ca_);
8248 112 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
8249 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
8250 56 : if (label0.is_used()) {
8251 56 : ca_.Bind(&label0);
8252 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
8253 56 : }
8254 : }
8255 :
8256 56 : if (block4.is_used()) {
8257 : compiler::TNode<Context> tmp3;
8258 : compiler::TNode<Object> tmp4;
8259 : compiler::TNode<Object> tmp5;
8260 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
8261 : ca_.Goto(&block1);
8262 : }
8263 :
8264 56 : if (block3.is_used()) {
8265 : compiler::TNode<Context> tmp6;
8266 : compiler::TNode<Object> tmp7;
8267 : compiler::TNode<Object> tmp8;
8268 : compiler::TNode<HeapObject> tmp9;
8269 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
8270 : compiler::TNode<JSReceiver> tmp10;
8271 : USE(tmp10);
8272 : compiler::CodeAssemblerLabel label0(&ca_);
8273 168 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject13ATConstructor(compiler::TNode<HeapObject>{tmp9}, &label0);
8274 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
8275 56 : if (label0.is_used()) {
8276 56 : ca_.Bind(&label0);
8277 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
8278 56 : }
8279 : }
8280 :
8281 56 : if (block6.is_used()) {
8282 : compiler::TNode<Context> tmp11;
8283 : compiler::TNode<Object> tmp12;
8284 : compiler::TNode<HeapObject> tmp13;
8285 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
8286 : ca_.Goto(&block1);
8287 : }
8288 :
8289 56 : if (block5.is_used()) {
8290 : compiler::TNode<Context> tmp14;
8291 : compiler::TNode<Object> tmp15;
8292 : compiler::TNode<HeapObject> tmp16;
8293 : compiler::TNode<JSReceiver> tmp17;
8294 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
8295 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
8296 : }
8297 :
8298 56 : if (block2.is_used()) {
8299 : compiler::TNode<Context> tmp18;
8300 : compiler::TNode<Object> tmp19;
8301 : compiler::TNode<JSReceiver> tmp20;
8302 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
8303 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
8304 : }
8305 :
8306 56 : if (block1.is_used()) {
8307 : ca_.Bind(&block1);
8308 56 : ca_.Goto(label_CastError);
8309 : }
8310 :
8311 : compiler::TNode<Context> tmp21;
8312 : compiler::TNode<Object> tmp22;
8313 : compiler::TNode<JSReceiver> tmp23;
8314 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
8315 112 : return compiler::TNode<JSReceiver>{tmp23};
8316 : }
8317 :
8318 1344 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Cast13ATFastJSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
8319 1344 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8320 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8321 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8322 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8323 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8324 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8325 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8326 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8327 : ca_.Goto(&block0, p_context, p_o);
8328 :
8329 1344 : if (block0.is_used()) {
8330 : compiler::TNode<Context> tmp0;
8331 : compiler::TNode<Object> tmp1;
8332 : ca_.Bind(&block0, &tmp0, &tmp1);
8333 : compiler::TNode<HeapObject> tmp2;
8334 : USE(tmp2);
8335 : compiler::CodeAssemblerLabel label0(&ca_);
8336 2688 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
8337 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
8338 1344 : if (label0.is_used()) {
8339 1344 : ca_.Bind(&label0);
8340 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
8341 1344 : }
8342 : }
8343 :
8344 1344 : if (block4.is_used()) {
8345 : compiler::TNode<Context> tmp3;
8346 : compiler::TNode<Object> tmp4;
8347 : compiler::TNode<Object> tmp5;
8348 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
8349 : ca_.Goto(&block1);
8350 : }
8351 :
8352 1344 : if (block3.is_used()) {
8353 : compiler::TNode<Context> tmp6;
8354 : compiler::TNode<Object> tmp7;
8355 : compiler::TNode<Object> tmp8;
8356 : compiler::TNode<HeapObject> tmp9;
8357 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
8358 : compiler::TNode<JSArray> tmp10;
8359 : USE(tmp10);
8360 : compiler::CodeAssemblerLabel label0(&ca_);
8361 4032 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject13ATFastJSArray(compiler::TNode<Context>{tmp6}, compiler::TNode<HeapObject>{tmp9}, &label0);
8362 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
8363 1344 : if (label0.is_used()) {
8364 1344 : ca_.Bind(&label0);
8365 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
8366 1344 : }
8367 : }
8368 :
8369 1344 : if (block6.is_used()) {
8370 : compiler::TNode<Context> tmp11;
8371 : compiler::TNode<Object> tmp12;
8372 : compiler::TNode<HeapObject> tmp13;
8373 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
8374 : ca_.Goto(&block1);
8375 : }
8376 :
8377 1344 : if (block5.is_used()) {
8378 : compiler::TNode<Context> tmp14;
8379 : compiler::TNode<Object> tmp15;
8380 : compiler::TNode<HeapObject> tmp16;
8381 : compiler::TNode<JSArray> tmp17;
8382 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
8383 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
8384 : }
8385 :
8386 1344 : if (block2.is_used()) {
8387 : compiler::TNode<Context> tmp18;
8388 : compiler::TNode<Object> tmp19;
8389 : compiler::TNode<JSArray> tmp20;
8390 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
8391 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
8392 : }
8393 :
8394 1344 : if (block1.is_used()) {
8395 : ca_.Bind(&block1);
8396 1344 : ca_.Goto(label_CastError);
8397 : }
8398 :
8399 : compiler::TNode<Context> tmp21;
8400 : compiler::TNode<Object> tmp22;
8401 : compiler::TNode<JSArray> tmp23;
8402 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
8403 2688 : return compiler::TNode<JSArray>{tmp23};
8404 : }
8405 :
8406 56 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::Cast25ATSloppyArgumentsElements(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
8407 56 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8408 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8409 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, FixedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8410 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8411 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8412 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8413 : ca_.Goto(&block0, p_context, p_o);
8414 :
8415 56 : if (block0.is_used()) {
8416 : compiler::TNode<Context> tmp0;
8417 : compiler::TNode<HeapObject> tmp1;
8418 : ca_.Bind(&block0, &tmp0, &tmp1);
8419 : compiler::TNode<FixedArray> tmp2;
8420 : USE(tmp2);
8421 : compiler::CodeAssemblerLabel label0(&ca_);
8422 168 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject25ATSloppyArgumentsElements(compiler::TNode<HeapObject>{tmp1}, &label0);
8423 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
8424 56 : if (label0.is_used()) {
8425 56 : ca_.Bind(&label0);
8426 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
8427 56 : }
8428 : }
8429 :
8430 56 : if (block4.is_used()) {
8431 : compiler::TNode<Context> tmp3;
8432 : compiler::TNode<HeapObject> tmp4;
8433 : compiler::TNode<HeapObject> tmp5;
8434 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
8435 : ca_.Goto(&block1);
8436 : }
8437 :
8438 56 : if (block3.is_used()) {
8439 : compiler::TNode<Context> tmp6;
8440 : compiler::TNode<HeapObject> tmp7;
8441 : compiler::TNode<HeapObject> tmp8;
8442 : compiler::TNode<FixedArray> tmp9;
8443 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
8444 : ca_.Goto(&block2, tmp6, tmp7, tmp9);
8445 : }
8446 :
8447 56 : if (block2.is_used()) {
8448 : compiler::TNode<Context> tmp10;
8449 : compiler::TNode<HeapObject> tmp11;
8450 : compiler::TNode<FixedArray> tmp12;
8451 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
8452 : ca_.Goto(&block5, tmp10, tmp11, tmp12);
8453 : }
8454 :
8455 56 : if (block1.is_used()) {
8456 : ca_.Bind(&block1);
8457 56 : ca_.Goto(label_CastError);
8458 : }
8459 :
8460 : compiler::TNode<Context> tmp13;
8461 : compiler::TNode<HeapObject> tmp14;
8462 : compiler::TNode<FixedArray> tmp15;
8463 : ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
8464 112 : return compiler::TNode<FixedArray>{tmp15};
8465 : }
8466 :
8467 71 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::Cast12ATFixedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
8468 71 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8469 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8470 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8471 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8472 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8473 : compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8474 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8475 : compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8476 : ca_.Goto(&block0, p_context, p_o);
8477 :
8478 71 : if (block0.is_used()) {
8479 : compiler::TNode<Context> tmp0;
8480 : compiler::TNode<Object> tmp1;
8481 : ca_.Bind(&block0, &tmp0, &tmp1);
8482 : compiler::TNode<HeapObject> tmp2;
8483 : USE(tmp2);
8484 : compiler::CodeAssemblerLabel label0(&ca_);
8485 142 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
8486 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
8487 71 : if (label0.is_used()) {
8488 71 : ca_.Bind(&label0);
8489 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
8490 71 : }
8491 : }
8492 :
8493 71 : if (block4.is_used()) {
8494 : compiler::TNode<Context> tmp3;
8495 : compiler::TNode<Object> tmp4;
8496 : compiler::TNode<Object> tmp5;
8497 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
8498 : ca_.Goto(&block1);
8499 : }
8500 :
8501 71 : if (block3.is_used()) {
8502 : compiler::TNode<Context> tmp6;
8503 : compiler::TNode<Object> tmp7;
8504 : compiler::TNode<Object> tmp8;
8505 : compiler::TNode<HeapObject> tmp9;
8506 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
8507 : compiler::TNode<FixedArray> tmp10;
8508 : USE(tmp10);
8509 : compiler::CodeAssemblerLabel label0(&ca_);
8510 213 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject12ATFixedArray(compiler::TNode<HeapObject>{tmp9}, &label0);
8511 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
8512 71 : if (label0.is_used()) {
8513 71 : ca_.Bind(&label0);
8514 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
8515 71 : }
8516 : }
8517 :
8518 71 : if (block6.is_used()) {
8519 : compiler::TNode<Context> tmp11;
8520 : compiler::TNode<Object> tmp12;
8521 : compiler::TNode<HeapObject> tmp13;
8522 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
8523 : ca_.Goto(&block1);
8524 : }
8525 :
8526 71 : if (block5.is_used()) {
8527 : compiler::TNode<Context> tmp14;
8528 : compiler::TNode<Object> tmp15;
8529 : compiler::TNode<HeapObject> tmp16;
8530 : compiler::TNode<FixedArray> tmp17;
8531 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
8532 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
8533 : }
8534 :
8535 71 : if (block2.is_used()) {
8536 : compiler::TNode<Context> tmp18;
8537 : compiler::TNode<Object> tmp19;
8538 : compiler::TNode<FixedArray> tmp20;
8539 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
8540 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
8541 : }
8542 :
8543 71 : if (block1.is_used()) {
8544 : ca_.Bind(&block1);
8545 71 : ca_.Goto(label_CastError);
8546 : }
8547 :
8548 : compiler::TNode<Context> tmp21;
8549 : compiler::TNode<Object> tmp22;
8550 : compiler::TNode<FixedArray> tmp23;
8551 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
8552 142 : return compiler::TNode<FixedArray>{tmp23};
8553 : }
8554 :
8555 56 : compiler::TNode<Context> BaseBuiltinsFromDSLAssembler::UnsafeCast9ATContext(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
8556 56 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8557 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8558 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8559 : ca_.Goto(&block0, p_context, p_o);
8560 :
8561 56 : if (block0.is_used()) {
8562 : compiler::TNode<Context> tmp0;
8563 : compiler::TNode<Object> tmp1;
8564 : ca_.Bind(&block0, &tmp0, &tmp1);
8565 : compiler::TNode<Context> tmp2;
8566 : USE(tmp2);
8567 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
8568 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
8569 : }
8570 :
8571 56 : if (block1.is_used()) {
8572 : compiler::TNode<Context> tmp3;
8573 : compiler::TNode<Object> tmp4;
8574 : compiler::TNode<Context> tmp5;
8575 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
8576 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
8577 : }
8578 :
8579 : compiler::TNode<Context> tmp6;
8580 : compiler::TNode<Object> tmp7;
8581 : compiler::TNode<Context> tmp8;
8582 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
8583 112 : return compiler::TNode<Context>{tmp8};
8584 : }
8585 :
8586 112 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Cast20ATFastJSArrayForCopy(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
8587 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8588 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8589 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8590 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8591 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8592 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8593 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8594 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8595 : ca_.Goto(&block0, p_context, p_o);
8596 :
8597 112 : if (block0.is_used()) {
8598 : compiler::TNode<Context> tmp0;
8599 : compiler::TNode<Object> tmp1;
8600 : ca_.Bind(&block0, &tmp0, &tmp1);
8601 : compiler::TNode<HeapObject> tmp2;
8602 : USE(tmp2);
8603 : compiler::CodeAssemblerLabel label0(&ca_);
8604 224 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
8605 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
8606 112 : if (label0.is_used()) {
8607 112 : ca_.Bind(&label0);
8608 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
8609 112 : }
8610 : }
8611 :
8612 112 : if (block4.is_used()) {
8613 : compiler::TNode<Context> tmp3;
8614 : compiler::TNode<Object> tmp4;
8615 : compiler::TNode<Object> tmp5;
8616 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
8617 : ca_.Goto(&block1);
8618 : }
8619 :
8620 112 : if (block3.is_used()) {
8621 : compiler::TNode<Context> tmp6;
8622 : compiler::TNode<Object> tmp7;
8623 : compiler::TNode<Object> tmp8;
8624 : compiler::TNode<HeapObject> tmp9;
8625 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
8626 : compiler::TNode<JSArray> tmp10;
8627 : USE(tmp10);
8628 : compiler::CodeAssemblerLabel label0(&ca_);
8629 336 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject20ATFastJSArrayForCopy(compiler::TNode<Context>{tmp6}, compiler::TNode<HeapObject>{tmp9}, &label0);
8630 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
8631 112 : if (label0.is_used()) {
8632 112 : ca_.Bind(&label0);
8633 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
8634 112 : }
8635 : }
8636 :
8637 112 : if (block6.is_used()) {
8638 : compiler::TNode<Context> tmp11;
8639 : compiler::TNode<Object> tmp12;
8640 : compiler::TNode<HeapObject> tmp13;
8641 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
8642 : ca_.Goto(&block1);
8643 : }
8644 :
8645 112 : if (block5.is_used()) {
8646 : compiler::TNode<Context> tmp14;
8647 : compiler::TNode<Object> tmp15;
8648 : compiler::TNode<HeapObject> tmp16;
8649 : compiler::TNode<JSArray> tmp17;
8650 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
8651 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
8652 : }
8653 :
8654 112 : if (block2.is_used()) {
8655 : compiler::TNode<Context> tmp18;
8656 : compiler::TNode<Object> tmp19;
8657 : compiler::TNode<JSArray> tmp20;
8658 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
8659 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
8660 : }
8661 :
8662 112 : if (block1.is_used()) {
8663 : ca_.Bind(&block1);
8664 112 : ca_.Goto(label_CastError);
8665 : }
8666 :
8667 : compiler::TNode<Context> tmp21;
8668 : compiler::TNode<Object> tmp22;
8669 : compiler::TNode<JSArray> tmp23;
8670 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
8671 224 : return compiler::TNode<JSArray>{tmp23};
8672 : }
8673 :
8674 336 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::Convert5ATSmi17ATconstexpr_int31(int31_t p_i) {
8675 336 : compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8676 : compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8677 : compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8678 : ca_.Goto(&block0);
8679 :
8680 336 : if (block0.is_used()) {
8681 : ca_.Bind(&block0);
8682 : compiler::TNode<Smi> tmp0;
8683 : USE(tmp0);
8684 1008 : tmp0 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(p_i));
8685 : ca_.Goto(&block1, tmp0);
8686 : }
8687 :
8688 336 : if (block1.is_used()) {
8689 : compiler::TNode<Smi> tmp1;
8690 : ca_.Bind(&block1, &tmp1);
8691 : ca_.Goto(&block2, tmp1);
8692 : }
8693 :
8694 : compiler::TNode<Smi> tmp2;
8695 : ca_.Bind(&block2, &tmp2);
8696 672 : return compiler::TNode<Smi>{tmp2};
8697 : }
8698 :
8699 1288 : compiler::TNode<JSDataView> BaseBuiltinsFromDSLAssembler::Cast12ATJSDataView(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
8700 1288 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8701 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8702 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8703 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8704 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSDataView> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8705 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSDataView> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8706 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8707 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSDataView> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8708 : ca_.Goto(&block0, p_context, p_o);
8709 :
8710 1288 : if (block0.is_used()) {
8711 : compiler::TNode<Context> tmp0;
8712 : compiler::TNode<Object> tmp1;
8713 : ca_.Bind(&block0, &tmp0, &tmp1);
8714 : compiler::TNode<HeapObject> tmp2;
8715 : USE(tmp2);
8716 : compiler::CodeAssemblerLabel label0(&ca_);
8717 2576 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
8718 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
8719 1288 : if (label0.is_used()) {
8720 1288 : ca_.Bind(&label0);
8721 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
8722 1288 : }
8723 : }
8724 :
8725 1288 : if (block4.is_used()) {
8726 : compiler::TNode<Context> tmp3;
8727 : compiler::TNode<Object> tmp4;
8728 : compiler::TNode<Object> tmp5;
8729 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
8730 : ca_.Goto(&block1);
8731 : }
8732 :
8733 1288 : if (block3.is_used()) {
8734 : compiler::TNode<Context> tmp6;
8735 : compiler::TNode<Object> tmp7;
8736 : compiler::TNode<Object> tmp8;
8737 : compiler::TNode<HeapObject> tmp9;
8738 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
8739 : compiler::TNode<JSDataView> tmp10;
8740 : USE(tmp10);
8741 : compiler::CodeAssemblerLabel label0(&ca_);
8742 3864 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject12ATJSDataView(compiler::TNode<HeapObject>{tmp9}, &label0);
8743 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
8744 1288 : if (label0.is_used()) {
8745 1288 : ca_.Bind(&label0);
8746 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
8747 1288 : }
8748 : }
8749 :
8750 1288 : if (block6.is_used()) {
8751 : compiler::TNode<Context> tmp11;
8752 : compiler::TNode<Object> tmp12;
8753 : compiler::TNode<HeapObject> tmp13;
8754 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
8755 : ca_.Goto(&block1);
8756 : }
8757 :
8758 1288 : if (block5.is_used()) {
8759 : compiler::TNode<Context> tmp14;
8760 : compiler::TNode<Object> tmp15;
8761 : compiler::TNode<HeapObject> tmp16;
8762 : compiler::TNode<JSDataView> tmp17;
8763 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
8764 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
8765 : }
8766 :
8767 1288 : if (block2.is_used()) {
8768 : compiler::TNode<Context> tmp18;
8769 : compiler::TNode<Object> tmp19;
8770 : compiler::TNode<JSDataView> tmp20;
8771 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
8772 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
8773 : }
8774 :
8775 1288 : if (block1.is_used()) {
8776 : ca_.Bind(&block1);
8777 1288 : ca_.Goto(label_CastError);
8778 : }
8779 :
8780 : compiler::TNode<Context> tmp21;
8781 : compiler::TNode<Object> tmp22;
8782 : compiler::TNode<JSDataView> tmp23;
8783 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
8784 2576 : return compiler::TNode<JSDataView>{tmp23};
8785 : }
8786 :
8787 112 : compiler::TNode<Map> BaseBuiltinsFromDSLAssembler::Cast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
8788 112 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8789 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8790 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, Map> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8791 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8792 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8793 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8794 : ca_.Goto(&block0, p_context, p_o);
8795 :
8796 112 : if (block0.is_used()) {
8797 : compiler::TNode<Context> tmp0;
8798 : compiler::TNode<HeapObject> tmp1;
8799 : ca_.Bind(&block0, &tmp0, &tmp1);
8800 : compiler::TNode<Map> tmp2;
8801 : USE(tmp2);
8802 : compiler::CodeAssemblerLabel label0(&ca_);
8803 336 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject5ATMap(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp1}, &label0);
8804 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
8805 112 : if (label0.is_used()) {
8806 112 : ca_.Bind(&label0);
8807 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
8808 112 : }
8809 : }
8810 :
8811 112 : if (block4.is_used()) {
8812 : compiler::TNode<Context> tmp3;
8813 : compiler::TNode<HeapObject> tmp4;
8814 : compiler::TNode<HeapObject> tmp5;
8815 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
8816 : ca_.Goto(&block1);
8817 : }
8818 :
8819 112 : if (block3.is_used()) {
8820 : compiler::TNode<Context> tmp6;
8821 : compiler::TNode<HeapObject> tmp7;
8822 : compiler::TNode<HeapObject> tmp8;
8823 : compiler::TNode<Map> tmp9;
8824 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
8825 : ca_.Goto(&block2, tmp6, tmp7, tmp9);
8826 : }
8827 :
8828 112 : if (block2.is_used()) {
8829 : compiler::TNode<Context> tmp10;
8830 : compiler::TNode<HeapObject> tmp11;
8831 : compiler::TNode<Map> tmp12;
8832 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
8833 : ca_.Goto(&block5, tmp10, tmp11, tmp12);
8834 : }
8835 :
8836 112 : if (block1.is_used()) {
8837 : ca_.Bind(&block1);
8838 112 : ca_.Goto(label_CastError);
8839 : }
8840 :
8841 : compiler::TNode<Context> tmp13;
8842 : compiler::TNode<HeapObject> tmp14;
8843 : compiler::TNode<Map> tmp15;
8844 : ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
8845 224 : return compiler::TNode<Map>{tmp15};
8846 : }
8847 :
8848 448 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Cast34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
8849 448 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8850 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8851 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8852 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8853 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8854 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8855 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8856 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8857 : ca_.Goto(&block0, p_context, p_o);
8858 :
8859 448 : if (block0.is_used()) {
8860 : compiler::TNode<Context> tmp0;
8861 : compiler::TNode<Object> tmp1;
8862 : ca_.Bind(&block0, &tmp0, &tmp1);
8863 : compiler::TNode<HeapObject> tmp2;
8864 : USE(tmp2);
8865 : compiler::CodeAssemblerLabel label0(&ca_);
8866 896 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
8867 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
8868 448 : if (label0.is_used()) {
8869 448 : ca_.Bind(&label0);
8870 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
8871 448 : }
8872 : }
8873 :
8874 448 : if (block4.is_used()) {
8875 : compiler::TNode<Context> tmp3;
8876 : compiler::TNode<Object> tmp4;
8877 : compiler::TNode<Object> tmp5;
8878 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
8879 : ca_.Goto(&block1);
8880 : }
8881 :
8882 448 : if (block3.is_used()) {
8883 : compiler::TNode<Context> tmp6;
8884 : compiler::TNode<Object> tmp7;
8885 : compiler::TNode<Object> tmp8;
8886 : compiler::TNode<HeapObject> tmp9;
8887 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
8888 : compiler::TNode<JSArray> tmp10;
8889 : USE(tmp10);
8890 : compiler::CodeAssemblerLabel label0(&ca_);
8891 1344 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context>{tmp6}, compiler::TNode<HeapObject>{tmp9}, &label0);
8892 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
8893 448 : if (label0.is_used()) {
8894 448 : ca_.Bind(&label0);
8895 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
8896 448 : }
8897 : }
8898 :
8899 448 : if (block6.is_used()) {
8900 : compiler::TNode<Context> tmp11;
8901 : compiler::TNode<Object> tmp12;
8902 : compiler::TNode<HeapObject> tmp13;
8903 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
8904 : ca_.Goto(&block1);
8905 : }
8906 :
8907 448 : if (block5.is_used()) {
8908 : compiler::TNode<Context> tmp14;
8909 : compiler::TNode<Object> tmp15;
8910 : compiler::TNode<HeapObject> tmp16;
8911 : compiler::TNode<JSArray> tmp17;
8912 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
8913 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
8914 : }
8915 :
8916 448 : if (block2.is_used()) {
8917 : compiler::TNode<Context> tmp18;
8918 : compiler::TNode<Object> tmp19;
8919 : compiler::TNode<JSArray> tmp20;
8920 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
8921 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
8922 : }
8923 :
8924 448 : if (block1.is_used()) {
8925 : ca_.Bind(&block1);
8926 448 : ca_.Goto(label_CastError);
8927 : }
8928 :
8929 : compiler::TNode<Context> tmp21;
8930 : compiler::TNode<Object> tmp22;
8931 : compiler::TNode<JSArray> tmp23;
8932 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
8933 896 : return compiler::TNode<JSArray>{tmp23};
8934 : }
8935 :
8936 56 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::Is10JSReceiver20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
8937 56 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8938 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8939 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8940 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8941 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8942 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8943 : compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8944 : compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8945 : compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8946 : ca_.Goto(&block0, p_context, p_o);
8947 :
8948 56 : if (block0.is_used()) {
8949 : compiler::TNode<Context> tmp0;
8950 : compiler::TNode<Object> tmp1;
8951 : ca_.Bind(&block0, &tmp0, &tmp1);
8952 : compiler::CodeAssemblerLabel label0(&ca_);
8953 56 : compiler::CodeAssemblerLabel label1(&ca_);
8954 168 : BaseBuiltinsFromDSLAssembler(state_).BranchIf10JSReceiver20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0, &label1);
8955 56 : if (label0.is_used()) {
8956 56 : ca_.Bind(&label0);
8957 : ca_.Goto(&block6, tmp0, tmp1, tmp1);
8958 : }
8959 56 : if (label1.is_used()) {
8960 56 : ca_.Bind(&label1);
8961 : ca_.Goto(&block7, tmp0, tmp1, tmp1);
8962 56 : }
8963 : }
8964 :
8965 56 : if (block6.is_used()) {
8966 : compiler::TNode<Context> tmp2;
8967 : compiler::TNode<Object> tmp3;
8968 : compiler::TNode<Object> tmp4;
8969 : ca_.Bind(&block6, &tmp2, &tmp3, &tmp4);
8970 : ca_.Goto(&block2, tmp2, tmp3);
8971 : }
8972 :
8973 56 : if (block7.is_used()) {
8974 : compiler::TNode<Context> tmp5;
8975 : compiler::TNode<Object> tmp6;
8976 : compiler::TNode<Object> tmp7;
8977 : ca_.Bind(&block7, &tmp5, &tmp6, &tmp7);
8978 : ca_.Goto(&block3, tmp5, tmp6);
8979 : }
8980 :
8981 56 : if (block2.is_used()) {
8982 : compiler::TNode<Context> tmp8;
8983 : compiler::TNode<Object> tmp9;
8984 : ca_.Bind(&block2, &tmp8, &tmp9);
8985 : ca_.Goto(&block5, tmp8, tmp9);
8986 : }
8987 :
8988 56 : if (block3.is_used()) {
8989 : compiler::TNode<Context> tmp10;
8990 : compiler::TNode<Object> tmp11;
8991 : ca_.Bind(&block3, &tmp10, &tmp11);
8992 : compiler::TNode<BoolT> tmp12;
8993 : USE(tmp12);
8994 168 : tmp12 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
8995 : ca_.Goto(&block4, tmp10, tmp11, tmp12);
8996 : }
8997 :
8998 56 : if (block5.is_used()) {
8999 : compiler::TNode<Context> tmp13;
9000 : compiler::TNode<Object> tmp14;
9001 : ca_.Bind(&block5, &tmp13, &tmp14);
9002 : compiler::TNode<BoolT> tmp15;
9003 : USE(tmp15);
9004 168 : tmp15 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
9005 : ca_.Goto(&block4, tmp13, tmp14, tmp15);
9006 : }
9007 :
9008 56 : if (block4.is_used()) {
9009 : compiler::TNode<Context> tmp16;
9010 : compiler::TNode<Object> tmp17;
9011 : compiler::TNode<BoolT> tmp18;
9012 : ca_.Bind(&block4, &tmp16, &tmp17, &tmp18);
9013 : ca_.Goto(&block1, tmp16, tmp17, tmp18);
9014 : }
9015 :
9016 56 : if (block1.is_used()) {
9017 : compiler::TNode<Context> tmp19;
9018 : compiler::TNode<Object> tmp20;
9019 : compiler::TNode<BoolT> tmp21;
9020 : ca_.Bind(&block1, &tmp19, &tmp20, &tmp21);
9021 : ca_.Goto(&block8, tmp19, tmp20, tmp21);
9022 : }
9023 :
9024 : compiler::TNode<Context> tmp22;
9025 : compiler::TNode<Object> tmp23;
9026 : compiler::TNode<BoolT> tmp24;
9027 : ca_.Bind(&block8, &tmp22, &tmp23, &tmp24);
9028 112 : return compiler::TNode<BoolT>{tmp24};
9029 : }
9030 :
9031 56 : compiler::TNode<Map> BaseBuiltinsFromDSLAssembler::Cast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
9032 56 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9033 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9034 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9035 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9036 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9037 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9038 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9039 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Map> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9040 : ca_.Goto(&block0, p_context, p_o);
9041 :
9042 56 : if (block0.is_used()) {
9043 : compiler::TNode<Context> tmp0;
9044 : compiler::TNode<Object> tmp1;
9045 : ca_.Bind(&block0, &tmp0, &tmp1);
9046 : compiler::TNode<HeapObject> tmp2;
9047 : USE(tmp2);
9048 : compiler::CodeAssemblerLabel label0(&ca_);
9049 112 : tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
9050 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
9051 56 : if (label0.is_used()) {
9052 56 : ca_.Bind(&label0);
9053 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
9054 56 : }
9055 : }
9056 :
9057 56 : if (block4.is_used()) {
9058 : compiler::TNode<Context> tmp3;
9059 : compiler::TNode<Object> tmp4;
9060 : compiler::TNode<Object> tmp5;
9061 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
9062 : ca_.Goto(&block1);
9063 : }
9064 :
9065 56 : if (block3.is_used()) {
9066 : compiler::TNode<Context> tmp6;
9067 : compiler::TNode<Object> tmp7;
9068 : compiler::TNode<Object> tmp8;
9069 : compiler::TNode<HeapObject> tmp9;
9070 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
9071 : compiler::TNode<Map> tmp10;
9072 : USE(tmp10);
9073 : compiler::CodeAssemblerLabel label0(&ca_);
9074 168 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject5ATMap(compiler::TNode<Context>{tmp6}, compiler::TNode<HeapObject>{tmp9}, &label0);
9075 : ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
9076 56 : if (label0.is_used()) {
9077 56 : ca_.Bind(&label0);
9078 : ca_.Goto(&block6, tmp6, tmp7, tmp9);
9079 56 : }
9080 : }
9081 :
9082 56 : if (block6.is_used()) {
9083 : compiler::TNode<Context> tmp11;
9084 : compiler::TNode<Object> tmp12;
9085 : compiler::TNode<HeapObject> tmp13;
9086 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
9087 : ca_.Goto(&block1);
9088 : }
9089 :
9090 56 : if (block5.is_used()) {
9091 : compiler::TNode<Context> tmp14;
9092 : compiler::TNode<Object> tmp15;
9093 : compiler::TNode<HeapObject> tmp16;
9094 : compiler::TNode<Map> tmp17;
9095 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
9096 : ca_.Goto(&block2, tmp14, tmp15, tmp17);
9097 : }
9098 :
9099 56 : if (block2.is_used()) {
9100 : compiler::TNode<Context> tmp18;
9101 : compiler::TNode<Object> tmp19;
9102 : compiler::TNode<Map> tmp20;
9103 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
9104 : ca_.Goto(&block7, tmp18, tmp19, tmp20);
9105 : }
9106 :
9107 56 : if (block1.is_used()) {
9108 : ca_.Bind(&block1);
9109 56 : ca_.Goto(label_CastError);
9110 : }
9111 :
9112 : compiler::TNode<Context> tmp21;
9113 : compiler::TNode<Object> tmp22;
9114 : compiler::TNode<Map> tmp23;
9115 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
9116 112 : return compiler::TNode<Map>{tmp23};
9117 : }
9118 :
9119 0 : compiler::TNode<JSTypedArray> BaseBuiltinsFromDSLAssembler::Cast14ATJSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
9120 0 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9121 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9122 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, JSTypedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9123 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSTypedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9124 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9125 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSTypedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9126 : ca_.Goto(&block0, p_context, p_o);
9127 :
9128 0 : if (block0.is_used()) {
9129 : compiler::TNode<Context> tmp0;
9130 : compiler::TNode<HeapObject> tmp1;
9131 : ca_.Bind(&block0, &tmp0, &tmp1);
9132 : compiler::TNode<JSTypedArray> tmp2;
9133 : USE(tmp2);
9134 : compiler::CodeAssemblerLabel label0(&ca_);
9135 0 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject14ATJSTypedArray(compiler::TNode<HeapObject>{tmp1}, &label0);
9136 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
9137 0 : if (label0.is_used()) {
9138 0 : ca_.Bind(&label0);
9139 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
9140 0 : }
9141 : }
9142 :
9143 0 : if (block4.is_used()) {
9144 : compiler::TNode<Context> tmp3;
9145 : compiler::TNode<HeapObject> tmp4;
9146 : compiler::TNode<HeapObject> tmp5;
9147 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
9148 : ca_.Goto(&block1);
9149 : }
9150 :
9151 0 : if (block3.is_used()) {
9152 : compiler::TNode<Context> tmp6;
9153 : compiler::TNode<HeapObject> tmp7;
9154 : compiler::TNode<HeapObject> tmp8;
9155 : compiler::TNode<JSTypedArray> tmp9;
9156 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
9157 : ca_.Goto(&block2, tmp6, tmp7, tmp9);
9158 : }
9159 :
9160 0 : if (block2.is_used()) {
9161 : compiler::TNode<Context> tmp10;
9162 : compiler::TNode<HeapObject> tmp11;
9163 : compiler::TNode<JSTypedArray> tmp12;
9164 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
9165 : ca_.Goto(&block5, tmp10, tmp11, tmp12);
9166 : }
9167 :
9168 0 : if (block1.is_used()) {
9169 : ca_.Bind(&block1);
9170 0 : ca_.Goto(label_CastError);
9171 : }
9172 :
9173 : compiler::TNode<Context> tmp13;
9174 : compiler::TNode<HeapObject> tmp14;
9175 : compiler::TNode<JSTypedArray> tmp15;
9176 : ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
9177 0 : return compiler::TNode<JSTypedArray>{tmp15};
9178 : }
9179 :
9180 0 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::Cast10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
9181 0 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9182 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9183 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9184 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9185 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9186 : compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9187 : ca_.Goto(&block0, p_context, p_o);
9188 :
9189 0 : if (block0.is_used()) {
9190 : compiler::TNode<Context> tmp0;
9191 : compiler::TNode<HeapObject> tmp1;
9192 : ca_.Bind(&block0, &tmp0, &tmp1);
9193 : compiler::TNode<JSReceiver> tmp2;
9194 : USE(tmp2);
9195 : compiler::CodeAssemblerLabel label0(&ca_);
9196 0 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp1}, &label0);
9197 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
9198 0 : if (label0.is_used()) {
9199 0 : ca_.Bind(&label0);
9200 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
9201 0 : }
9202 : }
9203 :
9204 0 : if (block4.is_used()) {
9205 : compiler::TNode<Context> tmp3;
9206 : compiler::TNode<HeapObject> tmp4;
9207 : compiler::TNode<HeapObject> tmp5;
9208 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
9209 : ca_.Goto(&block1);
9210 : }
9211 :
9212 0 : if (block3.is_used()) {
9213 : compiler::TNode<Context> tmp6;
9214 : compiler::TNode<HeapObject> tmp7;
9215 : compiler::TNode<HeapObject> tmp8;
9216 : compiler::TNode<JSReceiver> tmp9;
9217 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
9218 : ca_.Goto(&block2, tmp6, tmp7, tmp9);
9219 : }
9220 :
9221 0 : if (block2.is_used()) {
9222 : compiler::TNode<Context> tmp10;
9223 : compiler::TNode<HeapObject> tmp11;
9224 : compiler::TNode<JSReceiver> tmp12;
9225 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
9226 : ca_.Goto(&block5, tmp10, tmp11, tmp12);
9227 : }
9228 :
9229 0 : if (block1.is_used()) {
9230 : ca_.Bind(&block1);
9231 0 : ca_.Goto(label_CastError);
9232 : }
9233 :
9234 : compiler::TNode<Context> tmp13;
9235 : compiler::TNode<HeapObject> tmp14;
9236 : compiler::TNode<JSReceiver> tmp15;
9237 : ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
9238 0 : return compiler::TNode<JSReceiver>{tmp15};
9239 : }
9240 :
9241 56 : compiler::TNode<HeapNumber> BaseBuiltinsFromDSLAssembler::UnsafeCast12ATHeapNumber(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
9242 56 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9243 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapNumber> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9244 : compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapNumber> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9245 : ca_.Goto(&block0, p_context, p_o);
9246 :
9247 56 : if (block0.is_used()) {
9248 : compiler::TNode<Context> tmp0;
9249 : compiler::TNode<Object> tmp1;
9250 : ca_.Bind(&block0, &tmp0, &tmp1);
9251 : compiler::TNode<HeapNumber> tmp2;
9252 : USE(tmp2);
9253 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
9254 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
9255 : }
9256 :
9257 56 : if (block1.is_used()) {
9258 : compiler::TNode<Context> tmp3;
9259 : compiler::TNode<Object> tmp4;
9260 : compiler::TNode<HeapNumber> tmp5;
9261 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
9262 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
9263 : }
9264 :
9265 : compiler::TNode<Context> tmp6;
9266 : compiler::TNode<Object> tmp7;
9267 : compiler::TNode<HeapNumber> tmp8;
9268 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
9269 112 : return compiler::TNode<HeapNumber>{tmp8};
9270 : }
9271 :
9272 56 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::UnsafeCast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
9273 56 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9274 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9275 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9276 : ca_.Goto(&block0, p_context, p_o);
9277 :
9278 56 : if (block0.is_used()) {
9279 : compiler::TNode<Context> tmp0;
9280 : compiler::TNode<Object> tmp1;
9281 : ca_.Bind(&block0, &tmp0, &tmp1);
9282 : compiler::TNode<JSReceiver> tmp2;
9283 : USE(tmp2);
9284 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
9285 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
9286 : }
9287 :
9288 56 : if (block1.is_used()) {
9289 : compiler::TNode<Context> tmp3;
9290 : compiler::TNode<Object> tmp4;
9291 : compiler::TNode<JSReceiver> tmp5;
9292 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
9293 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
9294 : }
9295 :
9296 : compiler::TNode<Context> tmp6;
9297 : compiler::TNode<Object> tmp7;
9298 : compiler::TNode<JSReceiver> tmp8;
9299 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
9300 112 : return compiler::TNode<JSReceiver>{tmp8};
9301 : }
9302 :
9303 2184 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::UnsafeCast10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
9304 2184 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9305 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9306 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9307 : ca_.Goto(&block0, p_context, p_o);
9308 :
9309 2184 : if (block0.is_used()) {
9310 : compiler::TNode<Context> tmp0;
9311 : compiler::TNode<Object> tmp1;
9312 : ca_.Bind(&block0, &tmp0, &tmp1);
9313 : compiler::TNode<JSReceiver> tmp2;
9314 : USE(tmp2);
9315 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
9316 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
9317 : }
9318 :
9319 2184 : if (block1.is_used()) {
9320 : compiler::TNode<Context> tmp3;
9321 : compiler::TNode<Object> tmp4;
9322 : compiler::TNode<JSReceiver> tmp5;
9323 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
9324 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
9325 : }
9326 :
9327 : compiler::TNode<Context> tmp6;
9328 : compiler::TNode<Object> tmp7;
9329 : compiler::TNode<JSReceiver> tmp8;
9330 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
9331 4368 : return compiler::TNode<JSReceiver>{tmp8};
9332 : }
9333 :
9334 1344 : compiler::TNode<JSObject> BaseBuiltinsFromDSLAssembler::UnsafeCast8JSObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
9335 1344 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9336 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSObject> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9337 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9338 : ca_.Goto(&block0, p_context, p_o);
9339 :
9340 1344 : if (block0.is_used()) {
9341 : compiler::TNode<Context> tmp0;
9342 : compiler::TNode<Object> tmp1;
9343 : ca_.Bind(&block0, &tmp0, &tmp1);
9344 : compiler::TNode<JSObject> tmp2;
9345 : USE(tmp2);
9346 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
9347 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
9348 : }
9349 :
9350 1344 : if (block1.is_used()) {
9351 : compiler::TNode<Context> tmp3;
9352 : compiler::TNode<Object> tmp4;
9353 : compiler::TNode<JSObject> tmp5;
9354 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
9355 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
9356 : }
9357 :
9358 : compiler::TNode<Context> tmp6;
9359 : compiler::TNode<Object> tmp7;
9360 : compiler::TNode<JSObject> tmp8;
9361 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
9362 2688 : return compiler::TNode<JSObject>{tmp8};
9363 : }
9364 :
9365 784 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::UnsafeCast22UT12ATHeapNumber5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
9366 784 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9367 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9368 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9369 : ca_.Goto(&block0, p_context, p_o);
9370 :
9371 784 : if (block0.is_used()) {
9372 : compiler::TNode<Context> tmp0;
9373 : compiler::TNode<Object> tmp1;
9374 : ca_.Bind(&block0, &tmp0, &tmp1);
9375 : compiler::TNode<Number> tmp2;
9376 : USE(tmp2);
9377 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
9378 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
9379 : }
9380 :
9381 784 : if (block1.is_used()) {
9382 : compiler::TNode<Context> tmp3;
9383 : compiler::TNode<Object> tmp4;
9384 : compiler::TNode<Number> tmp5;
9385 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
9386 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
9387 : }
9388 :
9389 : compiler::TNode<Context> tmp6;
9390 : compiler::TNode<Object> tmp7;
9391 : compiler::TNode<Number> tmp8;
9392 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
9393 1568 : return compiler::TNode<Number>{tmp8};
9394 : }
9395 :
9396 392 : void BaseBuiltinsFromDSLAssembler::BranchIf34ATFastJSArrayWithNoCustomIteration20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
9397 392 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9398 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9399 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9400 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9401 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9402 : ca_.Goto(&block0, p_context, p_o);
9403 :
9404 392 : if (block0.is_used()) {
9405 : compiler::TNode<Context> tmp0;
9406 : compiler::TNode<Object> tmp1;
9407 : ca_.Bind(&block0, &tmp0, &tmp1);
9408 : compiler::TNode<JSArray> tmp2;
9409 : USE(tmp2);
9410 : compiler::CodeAssemblerLabel label0(&ca_);
9411 1176 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
9412 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
9413 392 : if (label0.is_used()) {
9414 392 : ca_.Bind(&label0);
9415 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
9416 392 : }
9417 : }
9418 :
9419 392 : if (block4.is_used()) {
9420 : compiler::TNode<Context> tmp3;
9421 : compiler::TNode<Object> tmp4;
9422 : compiler::TNode<Object> tmp5;
9423 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
9424 : ca_.Goto(&block2);
9425 : }
9426 :
9427 392 : if (block3.is_used()) {
9428 : compiler::TNode<Context> tmp6;
9429 : compiler::TNode<Object> tmp7;
9430 : compiler::TNode<Object> tmp8;
9431 : compiler::TNode<JSArray> tmp9;
9432 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
9433 : ca_.Goto(&block1);
9434 : }
9435 :
9436 392 : if (block1.is_used()) {
9437 : ca_.Bind(&block1);
9438 392 : ca_.Goto(label_True);
9439 : }
9440 :
9441 392 : if (block2.is_used()) {
9442 : ca_.Bind(&block2);
9443 392 : ca_.Goto(label_False);
9444 : }
9445 392 : }
9446 :
9447 56 : void BaseBuiltinsFromDSLAssembler::BranchIf10JSReceiver20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
9448 56 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9449 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9450 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9451 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9452 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9453 : ca_.Goto(&block0, p_context, p_o);
9454 :
9455 56 : if (block0.is_used()) {
9456 : compiler::TNode<Context> tmp0;
9457 : compiler::TNode<Object> tmp1;
9458 : ca_.Bind(&block0, &tmp0, &tmp1);
9459 : compiler::TNode<JSReceiver> tmp2;
9460 : USE(tmp2);
9461 : compiler::CodeAssemblerLabel label0(&ca_);
9462 168 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
9463 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
9464 56 : if (label0.is_used()) {
9465 56 : ca_.Bind(&label0);
9466 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
9467 56 : }
9468 : }
9469 :
9470 56 : if (block4.is_used()) {
9471 : compiler::TNode<Context> tmp3;
9472 : compiler::TNode<Object> tmp4;
9473 : compiler::TNode<Object> tmp5;
9474 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
9475 : ca_.Goto(&block2);
9476 : }
9477 :
9478 56 : if (block3.is_used()) {
9479 : compiler::TNode<Context> tmp6;
9480 : compiler::TNode<Object> tmp7;
9481 : compiler::TNode<Object> tmp8;
9482 : compiler::TNode<JSReceiver> tmp9;
9483 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
9484 : ca_.Goto(&block1);
9485 : }
9486 :
9487 56 : if (block1.is_used()) {
9488 : ca_.Bind(&block1);
9489 56 : ca_.Goto(label_True);
9490 : }
9491 :
9492 56 : if (block2.is_used()) {
9493 : ca_.Bind(&block2);
9494 56 : ca_.Goto(label_False);
9495 : }
9496 56 : }
9497 :
9498 616 : compiler::TNode<FixedTypedArrayBase> BaseBuiltinsFromDSLAssembler::UnsafeCast21ATFixedTypedArrayBase(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
9499 616 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9500 : compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedTypedArrayBase> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9501 : compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedTypedArrayBase> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
9502 : ca_.Goto(&block0, p_context, p_o);
9503 :
9504 616 : if (block0.is_used()) {
9505 : compiler::TNode<Context> tmp0;
9506 : compiler::TNode<Object> tmp1;
9507 : ca_.Bind(&block0, &tmp0, &tmp1);
9508 : compiler::TNode<FixedTypedArrayBase> tmp2;
9509 : USE(tmp2);
9510 : tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
9511 : ca_.Goto(&block1, tmp0, tmp1, tmp2);
9512 : }
9513 :
9514 616 : if (block1.is_used()) {
9515 : compiler::TNode<Context> tmp3;
9516 : compiler::TNode<Object> tmp4;
9517 : compiler::TNode<FixedTypedArrayBase> tmp5;
9518 : ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
9519 : ca_.Goto(&block2, tmp3, tmp4, tmp5);
9520 : }
9521 :
9522 : compiler::TNode<Context> tmp6;
9523 : compiler::TNode<Object> tmp7;
9524 : compiler::TNode<FixedTypedArrayBase> tmp8;
9525 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
9526 1232 : return compiler::TNode<FixedTypedArrayBase>{tmp8};
9527 : }
9528 :
9529 : } // namespace internal
9530 94089 : } // namespace v8
9531 :
|