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-regexp-gen.h"
14 : #include "src/builtins/builtins-typed-array-gen.h"
15 : #include "src/builtins/builtins-constructor-gen.h"
16 : #include "torque-generated/builtins-base-from-dsl-gen.h"
17 : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
18 : #include "torque-generated/builtins-array-from-dsl-gen.h"
19 : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
20 : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
21 : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
22 : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
23 : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
24 : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
25 : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
26 : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
27 : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
28 : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
29 : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
30 : #include "torque-generated/builtins-collections-from-dsl-gen.h"
31 : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
32 : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
33 : #include "torque-generated/builtins-object-from-dsl-gen.h"
34 : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
35 : #include "torque-generated/builtins-string-from-dsl-gen.h"
36 : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
37 : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
38 : #include "torque-generated/builtins-test-from-dsl-gen.h"
39 :
40 : namespace v8 {
41 : namespace internal {
42 :
43 560 : TF_BUILTIN(ArrayForEachLoopEagerDeoptContinuation, CodeStubAssembler) {
44 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
45 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
46 56 : USE(parameter0);
47 56 : compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kReceiver));
48 56 : USE(parameter1);
49 56 : compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kCallback));
50 56 : USE(parameter2);
51 56 : compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kThisArg));
52 56 : USE(parameter3);
53 56 : compiler::TNode<Object> parameter4 = UncheckedCast<Object>(Parameter(Descriptor::kInitialK));
54 56 : USE(parameter4);
55 56 : compiler::TNode<Object> parameter5 = UncheckedCast<Object>(Parameter(Descriptor::kLength));
56 56 : USE(parameter5);
57 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
58 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
59 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
60 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
61 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
62 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
63 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
64 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
65 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
66 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
67 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
68 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
69 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
70 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
71 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object, Number> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
72 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
73 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Number> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
74 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3, parameter4, parameter5);
75 :
76 56 : if (block0.is_used()) {
77 56 : compiler::TNode<Context> tmp0;
78 56 : compiler::TNode<Object> tmp1;
79 56 : compiler::TNode<Object> tmp2;
80 56 : compiler::TNode<Object> tmp3;
81 56 : compiler::TNode<Object> tmp4;
82 56 : compiler::TNode<Object> tmp5;
83 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
84 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 13);
85 56 : compiler::TNode<JSReceiver> tmp6;
86 56 : USE(tmp6);
87 56 : compiler::CodeAssemblerLabel label0(&ca_);
88 56 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
89 56 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp1, tmp6);
90 56 : if (label0.is_used()) {
91 56 : ca_.Bind(&label0);
92 56 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp1);
93 56 : }
94 : }
95 :
96 56 : if (block4.is_used()) {
97 56 : compiler::TNode<Context> tmp7;
98 56 : compiler::TNode<Object> tmp8;
99 56 : compiler::TNode<Object> tmp9;
100 56 : compiler::TNode<Object> tmp10;
101 56 : compiler::TNode<Object> tmp11;
102 56 : compiler::TNode<Object> tmp12;
103 56 : compiler::TNode<Object> tmp13;
104 56 : ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
105 56 : ca_.Goto(&block2, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12);
106 : }
107 :
108 56 : if (block3.is_used()) {
109 56 : compiler::TNode<Context> tmp14;
110 56 : compiler::TNode<Object> tmp15;
111 56 : compiler::TNode<Object> tmp16;
112 56 : compiler::TNode<Object> tmp17;
113 56 : compiler::TNode<Object> tmp18;
114 56 : compiler::TNode<Object> tmp19;
115 56 : compiler::TNode<Object> tmp20;
116 56 : compiler::TNode<JSReceiver> tmp21;
117 56 : ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
118 56 : ca_.Goto(&block1, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp21);
119 : }
120 :
121 56 : if (block2.is_used()) {
122 56 : compiler::TNode<Context> tmp22;
123 56 : compiler::TNode<Object> tmp23;
124 56 : compiler::TNode<Object> tmp24;
125 56 : compiler::TNode<Object> tmp25;
126 56 : compiler::TNode<Object> tmp26;
127 56 : compiler::TNode<Object> tmp27;
128 56 : ca_.Bind(&block2, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
129 56 : CodeStubAssembler(state_).Unreachable();
130 : }
131 :
132 56 : if (block1.is_used()) {
133 56 : compiler::TNode<Context> tmp28;
134 56 : compiler::TNode<Object> tmp29;
135 56 : compiler::TNode<Object> tmp30;
136 56 : compiler::TNode<Object> tmp31;
137 56 : compiler::TNode<Object> tmp32;
138 56 : compiler::TNode<Object> tmp33;
139 56 : compiler::TNode<JSReceiver> tmp34;
140 56 : ca_.Bind(&block1, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
141 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 14);
142 56 : compiler::TNode<JSReceiver> tmp35;
143 56 : USE(tmp35);
144 56 : compiler::CodeAssemblerLabel label0(&ca_);
145 56 : tmp35 = BaseBuiltinsFromDSLAssembler(state_).Cast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context>{tmp28}, compiler::TNode<Object>{tmp30}, &label0);
146 56 : ca_.Goto(&block7, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30, tmp35);
147 56 : if (label0.is_used()) {
148 56 : ca_.Bind(&label0);
149 56 : ca_.Goto(&block8, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
150 56 : }
151 : }
152 :
153 56 : if (block8.is_used()) {
154 56 : compiler::TNode<Context> tmp36;
155 56 : compiler::TNode<Object> tmp37;
156 56 : compiler::TNode<Object> tmp38;
157 56 : compiler::TNode<Object> tmp39;
158 56 : compiler::TNode<Object> tmp40;
159 56 : compiler::TNode<Object> tmp41;
160 56 : compiler::TNode<JSReceiver> tmp42;
161 56 : compiler::TNode<Object> tmp43;
162 56 : ca_.Bind(&block8, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
163 56 : ca_.Goto(&block6, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
164 : }
165 :
166 56 : if (block7.is_used()) {
167 56 : compiler::TNode<Context> tmp44;
168 56 : compiler::TNode<Object> tmp45;
169 56 : compiler::TNode<Object> tmp46;
170 56 : compiler::TNode<Object> tmp47;
171 56 : compiler::TNode<Object> tmp48;
172 56 : compiler::TNode<Object> tmp49;
173 56 : compiler::TNode<JSReceiver> tmp50;
174 56 : compiler::TNode<Object> tmp51;
175 56 : compiler::TNode<JSReceiver> tmp52;
176 56 : ca_.Bind(&block7, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
177 56 : ca_.Goto(&block5, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp52);
178 : }
179 :
180 56 : if (block6.is_used()) {
181 56 : compiler::TNode<Context> tmp53;
182 56 : compiler::TNode<Object> tmp54;
183 56 : compiler::TNode<Object> tmp55;
184 56 : compiler::TNode<Object> tmp56;
185 56 : compiler::TNode<Object> tmp57;
186 56 : compiler::TNode<Object> tmp58;
187 56 : compiler::TNode<JSReceiver> tmp59;
188 56 : ca_.Bind(&block6, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
189 56 : CodeStubAssembler(state_).Unreachable();
190 : }
191 :
192 56 : if (block5.is_used()) {
193 56 : compiler::TNode<Context> tmp60;
194 56 : compiler::TNode<Object> tmp61;
195 56 : compiler::TNode<Object> tmp62;
196 56 : compiler::TNode<Object> tmp63;
197 56 : compiler::TNode<Object> tmp64;
198 56 : compiler::TNode<Object> tmp65;
199 56 : compiler::TNode<JSReceiver> tmp66;
200 56 : compiler::TNode<JSReceiver> tmp67;
201 56 : ca_.Bind(&block5, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
202 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 15);
203 56 : compiler::TNode<Number> tmp68;
204 56 : USE(tmp68);
205 56 : compiler::CodeAssemblerLabel label0(&ca_);
206 56 : tmp68 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{tmp64}, &label0);
207 56 : ca_.Goto(&block11, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp64, tmp68);
208 56 : if (label0.is_used()) {
209 56 : ca_.Bind(&label0);
210 56 : ca_.Goto(&block12, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp64);
211 56 : }
212 : }
213 :
214 56 : if (block12.is_used()) {
215 56 : compiler::TNode<Context> tmp69;
216 56 : compiler::TNode<Object> tmp70;
217 56 : compiler::TNode<Object> tmp71;
218 56 : compiler::TNode<Object> tmp72;
219 56 : compiler::TNode<Object> tmp73;
220 56 : compiler::TNode<Object> tmp74;
221 56 : compiler::TNode<JSReceiver> tmp75;
222 56 : compiler::TNode<JSReceiver> tmp76;
223 56 : compiler::TNode<Object> tmp77;
224 56 : ca_.Bind(&block12, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
225 56 : ca_.Goto(&block10, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76);
226 : }
227 :
228 56 : if (block11.is_used()) {
229 56 : compiler::TNode<Context> tmp78;
230 56 : compiler::TNode<Object> tmp79;
231 56 : compiler::TNode<Object> tmp80;
232 56 : compiler::TNode<Object> tmp81;
233 56 : compiler::TNode<Object> tmp82;
234 56 : compiler::TNode<Object> tmp83;
235 56 : compiler::TNode<JSReceiver> tmp84;
236 56 : compiler::TNode<JSReceiver> tmp85;
237 56 : compiler::TNode<Object> tmp86;
238 56 : compiler::TNode<Number> tmp87;
239 56 : ca_.Bind(&block11, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87);
240 56 : ca_.Goto(&block9, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp87);
241 : }
242 :
243 56 : if (block10.is_used()) {
244 56 : compiler::TNode<Context> tmp88;
245 56 : compiler::TNode<Object> tmp89;
246 56 : compiler::TNode<Object> tmp90;
247 56 : compiler::TNode<Object> tmp91;
248 56 : compiler::TNode<Object> tmp92;
249 56 : compiler::TNode<Object> tmp93;
250 56 : compiler::TNode<JSReceiver> tmp94;
251 56 : compiler::TNode<JSReceiver> tmp95;
252 56 : ca_.Bind(&block10, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95);
253 56 : CodeStubAssembler(state_).Unreachable();
254 : }
255 :
256 56 : if (block9.is_used()) {
257 56 : compiler::TNode<Context> tmp96;
258 56 : compiler::TNode<Object> tmp97;
259 56 : compiler::TNode<Object> tmp98;
260 56 : compiler::TNode<Object> tmp99;
261 56 : compiler::TNode<Object> tmp100;
262 56 : compiler::TNode<Object> tmp101;
263 56 : compiler::TNode<JSReceiver> tmp102;
264 56 : compiler::TNode<JSReceiver> tmp103;
265 56 : compiler::TNode<Number> tmp104;
266 56 : ca_.Bind(&block9, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104);
267 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 16);
268 56 : compiler::TNode<Number> tmp105;
269 56 : USE(tmp105);
270 56 : compiler::CodeAssemblerLabel label0(&ca_);
271 56 : tmp105 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{tmp101}, &label0);
272 56 : ca_.Goto(&block15, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp101, tmp105);
273 56 : if (label0.is_used()) {
274 56 : ca_.Bind(&label0);
275 56 : ca_.Goto(&block16, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp101);
276 56 : }
277 : }
278 :
279 56 : if (block16.is_used()) {
280 56 : compiler::TNode<Context> tmp106;
281 56 : compiler::TNode<Object> tmp107;
282 56 : compiler::TNode<Object> tmp108;
283 56 : compiler::TNode<Object> tmp109;
284 56 : compiler::TNode<Object> tmp110;
285 56 : compiler::TNode<Object> tmp111;
286 56 : compiler::TNode<JSReceiver> tmp112;
287 56 : compiler::TNode<JSReceiver> tmp113;
288 56 : compiler::TNode<Number> tmp114;
289 56 : compiler::TNode<Object> tmp115;
290 56 : ca_.Bind(&block16, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
291 56 : ca_.Goto(&block14, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114);
292 : }
293 :
294 56 : if (block15.is_used()) {
295 56 : compiler::TNode<Context> tmp116;
296 56 : compiler::TNode<Object> tmp117;
297 56 : compiler::TNode<Object> tmp118;
298 56 : compiler::TNode<Object> tmp119;
299 56 : compiler::TNode<Object> tmp120;
300 56 : compiler::TNode<Object> tmp121;
301 56 : compiler::TNode<JSReceiver> tmp122;
302 56 : compiler::TNode<JSReceiver> tmp123;
303 56 : compiler::TNode<Number> tmp124;
304 56 : compiler::TNode<Object> tmp125;
305 56 : compiler::TNode<Number> tmp126;
306 56 : ca_.Bind(&block15, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
307 56 : ca_.Goto(&block13, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp126);
308 : }
309 :
310 56 : if (block14.is_used()) {
311 56 : compiler::TNode<Context> tmp127;
312 56 : compiler::TNode<Object> tmp128;
313 56 : compiler::TNode<Object> tmp129;
314 56 : compiler::TNode<Object> tmp130;
315 56 : compiler::TNode<Object> tmp131;
316 56 : compiler::TNode<Object> tmp132;
317 56 : compiler::TNode<JSReceiver> tmp133;
318 56 : compiler::TNode<JSReceiver> tmp134;
319 56 : compiler::TNode<Number> tmp135;
320 56 : ca_.Bind(&block14, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135);
321 56 : CodeStubAssembler(state_).Unreachable();
322 : }
323 :
324 56 : if (block13.is_used()) {
325 56 : compiler::TNode<Context> tmp136;
326 56 : compiler::TNode<Object> tmp137;
327 56 : compiler::TNode<Object> tmp138;
328 56 : compiler::TNode<Object> tmp139;
329 56 : compiler::TNode<Object> tmp140;
330 56 : compiler::TNode<Object> tmp141;
331 56 : compiler::TNode<JSReceiver> tmp142;
332 56 : compiler::TNode<JSReceiver> tmp143;
333 56 : compiler::TNode<Number> tmp144;
334 56 : compiler::TNode<Number> tmp145;
335 56 : ca_.Bind(&block13, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145);
336 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 19);
337 56 : compiler::TNode<Oddball> tmp146;
338 56 : USE(tmp146);
339 56 : tmp146 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
340 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 20);
341 56 : compiler::TNode<Oddball> tmp147;
342 56 : USE(tmp147);
343 56 : tmp147 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
344 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 18);
345 56 : compiler::TNode<Object> tmp148;
346 56 : tmp148 = CodeStubAssembler(state_).CallBuiltin(Builtins::kArrayForEachLoopContinuation, tmp136, tmp142, tmp143, tmp139, tmp146, tmp142, tmp144, tmp145, tmp147);
347 56 : USE(tmp148);
348 56 : CodeStubAssembler(state_).Return(tmp148);
349 56 : }
350 56 : }
351 :
352 616 : TF_BUILTIN(ArrayForEachLoopLazyDeoptContinuation, CodeStubAssembler) {
353 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
354 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
355 56 : USE(parameter0);
356 56 : compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kReceiver));
357 56 : USE(parameter1);
358 56 : compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kCallback));
359 56 : USE(parameter2);
360 56 : compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kThisArg));
361 56 : USE(parameter3);
362 56 : compiler::TNode<Object> parameter4 = UncheckedCast<Object>(Parameter(Descriptor::kInitialK));
363 56 : USE(parameter4);
364 56 : compiler::TNode<Object> parameter5 = UncheckedCast<Object>(Parameter(Descriptor::kLength));
365 56 : USE(parameter5);
366 56 : compiler::TNode<Object> parameter6 = UncheckedCast<Object>(Parameter(Descriptor::kResult));
367 56 : USE(parameter6);
368 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
369 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
370 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
371 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
372 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
373 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
374 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
375 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
376 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
377 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
378 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
379 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
380 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
381 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
382 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object, Number> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
383 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
384 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Number> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
385 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3, parameter4, parameter5, parameter6);
386 :
387 56 : if (block0.is_used()) {
388 56 : compiler::TNode<Context> tmp0;
389 56 : compiler::TNode<Object> tmp1;
390 56 : compiler::TNode<Object> tmp2;
391 56 : compiler::TNode<Object> tmp3;
392 56 : compiler::TNode<Object> tmp4;
393 56 : compiler::TNode<Object> tmp5;
394 56 : compiler::TNode<Object> tmp6;
395 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
396 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 30);
397 56 : compiler::TNode<JSReceiver> tmp7;
398 56 : USE(tmp7);
399 56 : compiler::CodeAssemblerLabel label0(&ca_);
400 56 : tmp7 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
401 56 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp1, tmp7);
402 56 : if (label0.is_used()) {
403 56 : ca_.Bind(&label0);
404 56 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp1);
405 56 : }
406 : }
407 :
408 56 : if (block4.is_used()) {
409 56 : compiler::TNode<Context> tmp8;
410 56 : compiler::TNode<Object> tmp9;
411 56 : compiler::TNode<Object> tmp10;
412 56 : compiler::TNode<Object> tmp11;
413 56 : compiler::TNode<Object> tmp12;
414 56 : compiler::TNode<Object> tmp13;
415 56 : compiler::TNode<Object> tmp14;
416 56 : compiler::TNode<Object> tmp15;
417 56 : ca_.Bind(&block4, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
418 56 : ca_.Goto(&block2, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
419 : }
420 :
421 56 : if (block3.is_used()) {
422 56 : compiler::TNode<Context> tmp16;
423 56 : compiler::TNode<Object> tmp17;
424 56 : compiler::TNode<Object> tmp18;
425 56 : compiler::TNode<Object> tmp19;
426 56 : compiler::TNode<Object> tmp20;
427 56 : compiler::TNode<Object> tmp21;
428 56 : compiler::TNode<Object> tmp22;
429 56 : compiler::TNode<Object> tmp23;
430 56 : compiler::TNode<JSReceiver> tmp24;
431 56 : ca_.Bind(&block3, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
432 56 : ca_.Goto(&block1, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp24);
433 : }
434 :
435 56 : if (block2.is_used()) {
436 56 : compiler::TNode<Context> tmp25;
437 56 : compiler::TNode<Object> tmp26;
438 56 : compiler::TNode<Object> tmp27;
439 56 : compiler::TNode<Object> tmp28;
440 56 : compiler::TNode<Object> tmp29;
441 56 : compiler::TNode<Object> tmp30;
442 56 : compiler::TNode<Object> tmp31;
443 56 : ca_.Bind(&block2, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
444 56 : CodeStubAssembler(state_).Unreachable();
445 : }
446 :
447 56 : if (block1.is_used()) {
448 56 : compiler::TNode<Context> tmp32;
449 56 : compiler::TNode<Object> tmp33;
450 56 : compiler::TNode<Object> tmp34;
451 56 : compiler::TNode<Object> tmp35;
452 56 : compiler::TNode<Object> tmp36;
453 56 : compiler::TNode<Object> tmp37;
454 56 : compiler::TNode<Object> tmp38;
455 56 : compiler::TNode<JSReceiver> tmp39;
456 56 : ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
457 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 31);
458 56 : compiler::TNode<JSReceiver> tmp40;
459 56 : USE(tmp40);
460 56 : compiler::CodeAssemblerLabel label0(&ca_);
461 56 : tmp40 = BaseBuiltinsFromDSLAssembler(state_).Cast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context>{tmp32}, compiler::TNode<Object>{tmp34}, &label0);
462 56 : ca_.Goto(&block7, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp34, tmp40);
463 56 : if (label0.is_used()) {
464 56 : ca_.Bind(&label0);
465 56 : ca_.Goto(&block8, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp34);
466 56 : }
467 : }
468 :
469 56 : if (block8.is_used()) {
470 56 : compiler::TNode<Context> tmp41;
471 56 : compiler::TNode<Object> tmp42;
472 56 : compiler::TNode<Object> tmp43;
473 56 : compiler::TNode<Object> tmp44;
474 56 : compiler::TNode<Object> tmp45;
475 56 : compiler::TNode<Object> tmp46;
476 56 : compiler::TNode<Object> tmp47;
477 56 : compiler::TNode<JSReceiver> tmp48;
478 56 : compiler::TNode<Object> tmp49;
479 56 : ca_.Bind(&block8, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
480 56 : ca_.Goto(&block6, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48);
481 : }
482 :
483 56 : if (block7.is_used()) {
484 56 : compiler::TNode<Context> tmp50;
485 56 : compiler::TNode<Object> tmp51;
486 56 : compiler::TNode<Object> tmp52;
487 56 : compiler::TNode<Object> tmp53;
488 56 : compiler::TNode<Object> tmp54;
489 56 : compiler::TNode<Object> tmp55;
490 56 : compiler::TNode<Object> tmp56;
491 56 : compiler::TNode<JSReceiver> tmp57;
492 56 : compiler::TNode<Object> tmp58;
493 56 : compiler::TNode<JSReceiver> tmp59;
494 56 : ca_.Bind(&block7, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
495 56 : ca_.Goto(&block5, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp59);
496 : }
497 :
498 56 : if (block6.is_used()) {
499 56 : compiler::TNode<Context> tmp60;
500 56 : compiler::TNode<Object> tmp61;
501 56 : compiler::TNode<Object> tmp62;
502 56 : compiler::TNode<Object> tmp63;
503 56 : compiler::TNode<Object> tmp64;
504 56 : compiler::TNode<Object> tmp65;
505 56 : compiler::TNode<Object> tmp66;
506 56 : compiler::TNode<JSReceiver> tmp67;
507 56 : ca_.Bind(&block6, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
508 56 : CodeStubAssembler(state_).Unreachable();
509 : }
510 :
511 56 : if (block5.is_used()) {
512 56 : compiler::TNode<Context> tmp68;
513 56 : compiler::TNode<Object> tmp69;
514 56 : compiler::TNode<Object> tmp70;
515 56 : compiler::TNode<Object> tmp71;
516 56 : compiler::TNode<Object> tmp72;
517 56 : compiler::TNode<Object> tmp73;
518 56 : compiler::TNode<Object> tmp74;
519 56 : compiler::TNode<JSReceiver> tmp75;
520 56 : compiler::TNode<JSReceiver> tmp76;
521 56 : ca_.Bind(&block5, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76);
522 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 32);
523 56 : compiler::TNode<Number> tmp77;
524 56 : USE(tmp77);
525 56 : compiler::CodeAssemblerLabel label0(&ca_);
526 56 : tmp77 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{tmp72}, &label0);
527 56 : ca_.Goto(&block11, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp72, tmp77);
528 56 : if (label0.is_used()) {
529 56 : ca_.Bind(&label0);
530 56 : ca_.Goto(&block12, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp72);
531 56 : }
532 : }
533 :
534 56 : if (block12.is_used()) {
535 56 : compiler::TNode<Context> tmp78;
536 56 : compiler::TNode<Object> tmp79;
537 56 : compiler::TNode<Object> tmp80;
538 56 : compiler::TNode<Object> tmp81;
539 56 : compiler::TNode<Object> tmp82;
540 56 : compiler::TNode<Object> tmp83;
541 56 : compiler::TNode<Object> tmp84;
542 56 : compiler::TNode<JSReceiver> tmp85;
543 56 : compiler::TNode<JSReceiver> tmp86;
544 56 : compiler::TNode<Object> tmp87;
545 56 : ca_.Bind(&block12, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87);
546 56 : ca_.Goto(&block10, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86);
547 : }
548 :
549 56 : if (block11.is_used()) {
550 56 : compiler::TNode<Context> tmp88;
551 56 : compiler::TNode<Object> tmp89;
552 56 : compiler::TNode<Object> tmp90;
553 56 : compiler::TNode<Object> tmp91;
554 56 : compiler::TNode<Object> tmp92;
555 56 : compiler::TNode<Object> tmp93;
556 56 : compiler::TNode<Object> tmp94;
557 56 : compiler::TNode<JSReceiver> tmp95;
558 56 : compiler::TNode<JSReceiver> tmp96;
559 56 : compiler::TNode<Object> tmp97;
560 56 : compiler::TNode<Number> tmp98;
561 56 : ca_.Bind(&block11, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98);
562 56 : ca_.Goto(&block9, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp98);
563 : }
564 :
565 56 : if (block10.is_used()) {
566 56 : compiler::TNode<Context> tmp99;
567 56 : compiler::TNode<Object> tmp100;
568 56 : compiler::TNode<Object> tmp101;
569 56 : compiler::TNode<Object> tmp102;
570 56 : compiler::TNode<Object> tmp103;
571 56 : compiler::TNode<Object> tmp104;
572 56 : compiler::TNode<Object> tmp105;
573 56 : compiler::TNode<JSReceiver> tmp106;
574 56 : compiler::TNode<JSReceiver> tmp107;
575 56 : ca_.Bind(&block10, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
576 56 : CodeStubAssembler(state_).Unreachable();
577 : }
578 :
579 56 : if (block9.is_used()) {
580 56 : compiler::TNode<Context> tmp108;
581 56 : compiler::TNode<Object> tmp109;
582 56 : compiler::TNode<Object> tmp110;
583 56 : compiler::TNode<Object> tmp111;
584 56 : compiler::TNode<Object> tmp112;
585 56 : compiler::TNode<Object> tmp113;
586 56 : compiler::TNode<Object> tmp114;
587 56 : compiler::TNode<JSReceiver> tmp115;
588 56 : compiler::TNode<JSReceiver> tmp116;
589 56 : compiler::TNode<Number> tmp117;
590 56 : ca_.Bind(&block9, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117);
591 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 33);
592 56 : compiler::TNode<Number> tmp118;
593 56 : USE(tmp118);
594 56 : compiler::CodeAssemblerLabel label0(&ca_);
595 56 : tmp118 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{tmp113}, &label0);
596 56 : ca_.Goto(&block15, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp113, tmp118);
597 56 : if (label0.is_used()) {
598 56 : ca_.Bind(&label0);
599 56 : ca_.Goto(&block16, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp113);
600 56 : }
601 : }
602 :
603 56 : if (block16.is_used()) {
604 56 : compiler::TNode<Context> tmp119;
605 56 : compiler::TNode<Object> tmp120;
606 56 : compiler::TNode<Object> tmp121;
607 56 : compiler::TNode<Object> tmp122;
608 56 : compiler::TNode<Object> tmp123;
609 56 : compiler::TNode<Object> tmp124;
610 56 : compiler::TNode<Object> tmp125;
611 56 : compiler::TNode<JSReceiver> tmp126;
612 56 : compiler::TNode<JSReceiver> tmp127;
613 56 : compiler::TNode<Number> tmp128;
614 56 : compiler::TNode<Object> tmp129;
615 56 : ca_.Bind(&block16, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129);
616 56 : ca_.Goto(&block14, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128);
617 : }
618 :
619 56 : if (block15.is_used()) {
620 56 : compiler::TNode<Context> tmp130;
621 56 : compiler::TNode<Object> tmp131;
622 56 : compiler::TNode<Object> tmp132;
623 56 : compiler::TNode<Object> tmp133;
624 56 : compiler::TNode<Object> tmp134;
625 56 : compiler::TNode<Object> tmp135;
626 56 : compiler::TNode<Object> tmp136;
627 56 : compiler::TNode<JSReceiver> tmp137;
628 56 : compiler::TNode<JSReceiver> tmp138;
629 56 : compiler::TNode<Number> tmp139;
630 56 : compiler::TNode<Object> tmp140;
631 56 : compiler::TNode<Number> tmp141;
632 56 : ca_.Bind(&block15, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141);
633 56 : ca_.Goto(&block13, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp141);
634 : }
635 :
636 56 : if (block14.is_used()) {
637 56 : compiler::TNode<Context> tmp142;
638 56 : compiler::TNode<Object> tmp143;
639 56 : compiler::TNode<Object> tmp144;
640 56 : compiler::TNode<Object> tmp145;
641 56 : compiler::TNode<Object> tmp146;
642 56 : compiler::TNode<Object> tmp147;
643 56 : compiler::TNode<Object> tmp148;
644 56 : compiler::TNode<JSReceiver> tmp149;
645 56 : compiler::TNode<JSReceiver> tmp150;
646 56 : compiler::TNode<Number> tmp151;
647 56 : ca_.Bind(&block14, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151);
648 56 : CodeStubAssembler(state_).Unreachable();
649 : }
650 :
651 56 : if (block13.is_used()) {
652 56 : compiler::TNode<Context> tmp152;
653 56 : compiler::TNode<Object> tmp153;
654 56 : compiler::TNode<Object> tmp154;
655 56 : compiler::TNode<Object> tmp155;
656 56 : compiler::TNode<Object> tmp156;
657 56 : compiler::TNode<Object> tmp157;
658 56 : compiler::TNode<Object> tmp158;
659 56 : compiler::TNode<JSReceiver> tmp159;
660 56 : compiler::TNode<JSReceiver> tmp160;
661 56 : compiler::TNode<Number> tmp161;
662 56 : compiler::TNode<Number> tmp162;
663 56 : ca_.Bind(&block13, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162);
664 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 36);
665 56 : compiler::TNode<Oddball> tmp163;
666 56 : USE(tmp163);
667 56 : tmp163 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
668 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 37);
669 56 : compiler::TNode<Oddball> tmp164;
670 56 : USE(tmp164);
671 56 : tmp164 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
672 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 35);
673 56 : compiler::TNode<Object> tmp165;
674 56 : tmp165 = CodeStubAssembler(state_).CallBuiltin(Builtins::kArrayForEachLoopContinuation, tmp152, tmp159, tmp160, tmp155, tmp163, tmp159, tmp161, tmp162, tmp164);
675 56 : USE(tmp165);
676 56 : CodeStubAssembler(state_).Return(tmp165);
677 56 : }
678 56 : }
679 :
680 728 : TF_BUILTIN(ArrayForEachLoopContinuation, CodeStubAssembler) {
681 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
682 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
683 56 : USE(parameter0);
684 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
685 56 : USE(parameter1);
686 56 : compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kCallbackfn));
687 56 : USE(parameter2);
688 56 : compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kThisArg));
689 56 : USE(parameter3);
690 56 : compiler::TNode<Object> parameter4 = UncheckedCast<Object>(Parameter(Descriptor::kArray));
691 56 : USE(parameter4);
692 56 : compiler::TNode<JSReceiver> parameter5 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kO));
693 56 : USE(parameter5);
694 56 : compiler::TNode<Number> parameter6 = UncheckedCast<Number>(Parameter(Descriptor::kInitialK));
695 56 : USE(parameter6);
696 56 : compiler::TNode<Number> parameter7 = UncheckedCast<Number>(Parameter(Descriptor::kLen));
697 56 : USE(parameter7);
698 56 : compiler::TNode<Object> parameter8 = UncheckedCast<Object>(Parameter(Descriptor::kTo));
699 56 : USE(parameter8);
700 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
701 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
702 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
703 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
704 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
705 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Oddball> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
706 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Oddball> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
707 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
708 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
709 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3, parameter4, parameter5, parameter6, parameter7, parameter8);
710 :
711 56 : if (block0.is_used()) {
712 56 : compiler::TNode<Context> tmp0;
713 56 : compiler::TNode<JSReceiver> tmp1;
714 56 : compiler::TNode<JSReceiver> tmp2;
715 56 : compiler::TNode<Object> tmp3;
716 56 : compiler::TNode<Object> tmp4;
717 56 : compiler::TNode<JSReceiver> tmp5;
718 56 : compiler::TNode<Number> tmp6;
719 56 : compiler::TNode<Number> tmp7;
720 56 : compiler::TNode<Object> tmp8;
721 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
722 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 48);
723 56 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp6);
724 : }
725 :
726 56 : if (block3.is_used()) {
727 56 : compiler::TNode<Context> tmp9;
728 56 : compiler::TNode<JSReceiver> tmp10;
729 56 : compiler::TNode<JSReceiver> tmp11;
730 56 : compiler::TNode<Object> tmp12;
731 56 : compiler::TNode<Object> tmp13;
732 56 : compiler::TNode<JSReceiver> tmp14;
733 56 : compiler::TNode<Number> tmp15;
734 56 : compiler::TNode<Number> tmp16;
735 56 : compiler::TNode<Object> tmp17;
736 56 : compiler::TNode<Number> tmp18;
737 56 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
738 56 : compiler::CodeAssemblerLabel label0(&ca_);
739 112 : compiler::CodeAssemblerLabel label1(&ca_);
740 56 : CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp18}, compiler::TNode<Number>{tmp16}, &label0, &label1);
741 56 : if (label0.is_used()) {
742 56 : ca_.Bind(&label0);
743 56 : ca_.Goto(&block5, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp18, tmp16);
744 : }
745 56 : if (label1.is_used()) {
746 56 : ca_.Bind(&label1);
747 56 : ca_.Goto(&block6, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp18, tmp16);
748 56 : }
749 : }
750 :
751 56 : if (block5.is_used()) {
752 56 : compiler::TNode<Context> tmp19;
753 56 : compiler::TNode<JSReceiver> tmp20;
754 56 : compiler::TNode<JSReceiver> tmp21;
755 56 : compiler::TNode<Object> tmp22;
756 56 : compiler::TNode<Object> tmp23;
757 56 : compiler::TNode<JSReceiver> tmp24;
758 56 : compiler::TNode<Number> tmp25;
759 56 : compiler::TNode<Number> tmp26;
760 56 : compiler::TNode<Object> tmp27;
761 56 : compiler::TNode<Number> tmp28;
762 56 : compiler::TNode<Number> tmp29;
763 56 : compiler::TNode<Number> tmp30;
764 56 : ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
765 56 : ca_.Goto(&block1, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28);
766 : }
767 :
768 56 : if (block6.is_used()) {
769 56 : compiler::TNode<Context> tmp31;
770 56 : compiler::TNode<JSReceiver> tmp32;
771 56 : compiler::TNode<JSReceiver> tmp33;
772 56 : compiler::TNode<Object> tmp34;
773 56 : compiler::TNode<Object> tmp35;
774 56 : compiler::TNode<JSReceiver> tmp36;
775 56 : compiler::TNode<Number> tmp37;
776 56 : compiler::TNode<Number> tmp38;
777 56 : compiler::TNode<Object> tmp39;
778 56 : compiler::TNode<Number> tmp40;
779 56 : compiler::TNode<Number> tmp41;
780 56 : compiler::TNode<Number> tmp42;
781 56 : ca_.Bind(&block6, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42);
782 56 : ca_.Goto(&block2, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40);
783 : }
784 :
785 56 : if (block1.is_used()) {
786 56 : compiler::TNode<Context> tmp43;
787 56 : compiler::TNode<JSReceiver> tmp44;
788 56 : compiler::TNode<JSReceiver> tmp45;
789 56 : compiler::TNode<Object> tmp46;
790 56 : compiler::TNode<Object> tmp47;
791 56 : compiler::TNode<JSReceiver> tmp48;
792 56 : compiler::TNode<Number> tmp49;
793 56 : compiler::TNode<Number> tmp50;
794 56 : compiler::TNode<Object> tmp51;
795 56 : compiler::TNode<Number> tmp52;
796 56 : ca_.Bind(&block1, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
797 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 54);
798 56 : compiler::TNode<Oddball> tmp53;
799 56 : USE(tmp53);
800 56 : tmp53 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).HasProperty_Inline(compiler::TNode<Context>{tmp43}, compiler::TNode<JSReceiver>{tmp48}, compiler::TNode<Object>{tmp52}));
801 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 57);
802 56 : compiler::TNode<Oddball> tmp54;
803 56 : USE(tmp54);
804 56 : tmp54 = BaseBuiltinsFromDSLAssembler(state_).True();
805 56 : compiler::TNode<BoolT> tmp55;
806 56 : USE(tmp55);
807 56 : tmp55 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp53}, compiler::TNode<HeapObject>{tmp54}));
808 56 : ca_.Branch(tmp55, &block7, &block8, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53);
809 : }
810 :
811 56 : if (block7.is_used()) {
812 56 : compiler::TNode<Context> tmp56;
813 56 : compiler::TNode<JSReceiver> tmp57;
814 56 : compiler::TNode<JSReceiver> tmp58;
815 56 : compiler::TNode<Object> tmp59;
816 56 : compiler::TNode<Object> tmp60;
817 56 : compiler::TNode<JSReceiver> tmp61;
818 56 : compiler::TNode<Number> tmp62;
819 56 : compiler::TNode<Number> tmp63;
820 56 : compiler::TNode<Object> tmp64;
821 56 : compiler::TNode<Number> tmp65;
822 56 : compiler::TNode<Oddball> tmp66;
823 56 : ca_.Bind(&block7, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
824 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 59);
825 56 : compiler::TNode<Object> tmp67;
826 56 : USE(tmp67);
827 56 : tmp67 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp56}, compiler::TNode<Object>{tmp61}, compiler::TNode<Object>{tmp65}));
828 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 62);
829 56 : compiler::TNode<Object> tmp68;
830 56 : USE(tmp68);
831 56 : tmp68 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp56}, compiler::TNode<JSReceiver>{tmp58}, compiler::TNode<Object>{tmp59}, compiler::TNode<Object>{tmp67}, compiler::TNode<Object>{tmp65}, compiler::TNode<Object>{tmp61}));
832 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 57);
833 56 : ca_.Goto(&block8, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66);
834 : }
835 :
836 56 : if (block8.is_used()) {
837 56 : compiler::TNode<Context> tmp69;
838 56 : compiler::TNode<JSReceiver> tmp70;
839 56 : compiler::TNode<JSReceiver> tmp71;
840 56 : compiler::TNode<Object> tmp72;
841 56 : compiler::TNode<Object> tmp73;
842 56 : compiler::TNode<JSReceiver> tmp74;
843 56 : compiler::TNode<Number> tmp75;
844 56 : compiler::TNode<Number> tmp76;
845 56 : compiler::TNode<Object> tmp77;
846 56 : compiler::TNode<Number> tmp78;
847 56 : compiler::TNode<Oddball> tmp79;
848 56 : ca_.Bind(&block8, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79);
849 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 48);
850 56 : ca_.Goto(&block4, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78);
851 : }
852 :
853 56 : if (block4.is_used()) {
854 56 : compiler::TNode<Context> tmp80;
855 56 : compiler::TNode<JSReceiver> tmp81;
856 56 : compiler::TNode<JSReceiver> tmp82;
857 56 : compiler::TNode<Object> tmp83;
858 56 : compiler::TNode<Object> tmp84;
859 56 : compiler::TNode<JSReceiver> tmp85;
860 56 : compiler::TNode<Number> tmp86;
861 56 : compiler::TNode<Number> tmp87;
862 56 : compiler::TNode<Object> tmp88;
863 56 : compiler::TNode<Number> tmp89;
864 56 : ca_.Bind(&block4, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89);
865 56 : compiler::TNode<Number> tmp90;
866 56 : USE(tmp90);
867 56 : tmp90 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
868 56 : compiler::TNode<Number> tmp91;
869 56 : USE(tmp91);
870 56 : tmp91 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp89}, compiler::TNode<Number>{tmp90}));
871 56 : ca_.Goto(&block3, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp91);
872 : }
873 :
874 56 : if (block2.is_used()) {
875 56 : compiler::TNode<Context> tmp92;
876 56 : compiler::TNode<JSReceiver> tmp93;
877 56 : compiler::TNode<JSReceiver> tmp94;
878 56 : compiler::TNode<Object> tmp95;
879 56 : compiler::TNode<Object> tmp96;
880 56 : compiler::TNode<JSReceiver> tmp97;
881 56 : compiler::TNode<Number> tmp98;
882 56 : compiler::TNode<Number> tmp99;
883 56 : compiler::TNode<Object> tmp100;
884 56 : compiler::TNode<Number> tmp101;
885 56 : ca_.Bind(&block2, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101);
886 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 67);
887 56 : compiler::TNode<Oddball> tmp102;
888 56 : USE(tmp102);
889 56 : tmp102 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
890 56 : CodeStubAssembler(state_).Return(tmp102);
891 56 : }
892 56 : }
893 :
894 56 : compiler::TNode<Object> ArrayForeachBuiltinsFromDSLAssembler::FastArrayForEach(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_len, compiler::TNode<JSReceiver> p_callbackfn, compiler::TNode<Object> p_thisArg, compiler::CodeAssemblerLabel* label_Bailout, compiler::TypedCodeAssemblerVariable<Smi>* label_Bailout_parameter_0) {
895 56 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
896 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
897 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Number, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
898 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
899 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
900 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
901 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSReceiver, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
902 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
903 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
904 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
905 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T, JSArray, Smi, JSReceiver, Object, Smi> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
906 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T, JSArray, Smi, JSReceiver, Object> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
907 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
908 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T, JSArray, Smi, JSReceiver, Object, Smi> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
909 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T, JSArray, Smi, JSReceiver, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
910 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
911 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
912 112 : compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
913 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
914 56 : ca_.Goto(&block0, p_context, p_o, p_len, p_callbackfn, p_thisArg);
915 :
916 56 : if (block0.is_used()) {
917 56 : compiler::TNode<Context> tmp0;
918 56 : compiler::TNode<JSReceiver> tmp1;
919 56 : compiler::TNode<Number> tmp2;
920 56 : compiler::TNode<JSReceiver> tmp3;
921 56 : compiler::TNode<Object> tmp4;
922 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
923 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 92);
924 56 : compiler::TNode<Smi> tmp5;
925 56 : USE(tmp5);
926 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
927 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 93);
928 56 : compiler::TNode<Smi> tmp6;
929 56 : USE(tmp6);
930 56 : compiler::CodeAssemblerLabel label0(&ca_);
931 56 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp2}, &label0);
932 56 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp2, tmp6);
933 56 : if (label0.is_used()) {
934 56 : ca_.Bind(&label0);
935 56 : ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp2);
936 56 : }
937 : }
938 :
939 56 : if (block6.is_used()) {
940 56 : compiler::TNode<Context> tmp7;
941 56 : compiler::TNode<JSReceiver> tmp8;
942 56 : compiler::TNode<Number> tmp9;
943 56 : compiler::TNode<JSReceiver> tmp10;
944 56 : compiler::TNode<Object> tmp11;
945 56 : compiler::TNode<Smi> tmp12;
946 56 : compiler::TNode<Number> tmp13;
947 56 : ca_.Bind(&block6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
948 56 : ca_.Goto(&block4, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12);
949 : }
950 :
951 56 : if (block5.is_used()) {
952 56 : compiler::TNode<Context> tmp14;
953 56 : compiler::TNode<JSReceiver> tmp15;
954 56 : compiler::TNode<Number> tmp16;
955 56 : compiler::TNode<JSReceiver> tmp17;
956 56 : compiler::TNode<Object> tmp18;
957 56 : compiler::TNode<Smi> tmp19;
958 56 : compiler::TNode<Number> tmp20;
959 56 : compiler::TNode<Smi> tmp21;
960 56 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
961 56 : ca_.Goto(&block3, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp21);
962 : }
963 :
964 56 : if (block4.is_used()) {
965 56 : compiler::TNode<Context> tmp22;
966 56 : compiler::TNode<JSReceiver> tmp23;
967 56 : compiler::TNode<Number> tmp24;
968 56 : compiler::TNode<JSReceiver> tmp25;
969 56 : compiler::TNode<Object> tmp26;
970 56 : compiler::TNode<Smi> tmp27;
971 56 : ca_.Bind(&block4, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
972 56 : ca_.Goto(&block1, tmp27);
973 : }
974 :
975 56 : if (block3.is_used()) {
976 56 : compiler::TNode<Context> tmp28;
977 56 : compiler::TNode<JSReceiver> tmp29;
978 56 : compiler::TNode<Number> tmp30;
979 56 : compiler::TNode<JSReceiver> tmp31;
980 56 : compiler::TNode<Object> tmp32;
981 56 : compiler::TNode<Smi> tmp33;
982 56 : compiler::TNode<Smi> tmp34;
983 56 : ca_.Bind(&block3, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
984 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 94);
985 56 : compiler::TNode<JSArray> tmp35;
986 56 : USE(tmp35);
987 56 : compiler::CodeAssemblerLabel label0(&ca_);
988 56 : tmp35 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp28}, compiler::TNode<HeapObject>{tmp29}, &label0);
989 56 : ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp29, tmp35);
990 56 : if (label0.is_used()) {
991 56 : ca_.Bind(&label0);
992 56 : ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp29);
993 56 : }
994 : }
995 :
996 56 : if (block10.is_used()) {
997 56 : compiler::TNode<Context> tmp36;
998 56 : compiler::TNode<JSReceiver> tmp37;
999 56 : compiler::TNode<Number> tmp38;
1000 56 : compiler::TNode<JSReceiver> tmp39;
1001 56 : compiler::TNode<Object> tmp40;
1002 56 : compiler::TNode<Smi> tmp41;
1003 56 : compiler::TNode<Smi> tmp42;
1004 56 : compiler::TNode<JSReceiver> tmp43;
1005 56 : ca_.Bind(&block10, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
1006 56 : ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
1007 : }
1008 :
1009 56 : if (block9.is_used()) {
1010 56 : compiler::TNode<Context> tmp44;
1011 56 : compiler::TNode<JSReceiver> tmp45;
1012 56 : compiler::TNode<Number> tmp46;
1013 56 : compiler::TNode<JSReceiver> tmp47;
1014 56 : compiler::TNode<Object> tmp48;
1015 56 : compiler::TNode<Smi> tmp49;
1016 56 : compiler::TNode<Smi> tmp50;
1017 56 : compiler::TNode<JSReceiver> tmp51;
1018 56 : compiler::TNode<JSArray> tmp52;
1019 56 : ca_.Bind(&block9, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
1020 56 : ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp52);
1021 : }
1022 :
1023 56 : if (block8.is_used()) {
1024 56 : compiler::TNode<Context> tmp53;
1025 56 : compiler::TNode<JSReceiver> tmp54;
1026 56 : compiler::TNode<Number> tmp55;
1027 56 : compiler::TNode<JSReceiver> tmp56;
1028 56 : compiler::TNode<Object> tmp57;
1029 56 : compiler::TNode<Smi> tmp58;
1030 56 : compiler::TNode<Smi> tmp59;
1031 56 : ca_.Bind(&block8, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
1032 56 : ca_.Goto(&block1, tmp58);
1033 : }
1034 :
1035 56 : if (block7.is_used()) {
1036 56 : compiler::TNode<Context> tmp60;
1037 56 : compiler::TNode<JSReceiver> tmp61;
1038 56 : compiler::TNode<Number> tmp62;
1039 56 : compiler::TNode<JSReceiver> tmp63;
1040 56 : compiler::TNode<Object> tmp64;
1041 56 : compiler::TNode<Smi> tmp65;
1042 56 : compiler::TNode<Smi> tmp66;
1043 56 : compiler::TNode<JSArray> tmp67;
1044 56 : ca_.Bind(&block7, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
1045 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 95);
1046 56 : compiler::TNode<Map> tmp68;
1047 56 : USE(tmp68);
1048 56 : tmp68 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp67}));
1049 56 : compiler::TNode<Int32T> tmp69;
1050 56 : USE(tmp69);
1051 56 : tmp69 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp68}));
1052 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 96);
1053 56 : compiler::TNode<BoolT> tmp70;
1054 56 : USE(tmp70);
1055 56 : tmp70 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindGreaterThan(compiler::TNode<Int32T>{tmp69}, HOLEY_ELEMENTS));
1056 56 : ca_.Branch(tmp70, &block11, &block12, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp69);
1057 : }
1058 :
1059 56 : if (block11.is_used()) {
1060 56 : compiler::TNode<Context> tmp71;
1061 56 : compiler::TNode<JSReceiver> tmp72;
1062 56 : compiler::TNode<Number> tmp73;
1063 56 : compiler::TNode<JSReceiver> tmp74;
1064 56 : compiler::TNode<Object> tmp75;
1065 56 : compiler::TNode<Smi> tmp76;
1066 56 : compiler::TNode<Smi> tmp77;
1067 56 : compiler::TNode<JSArray> tmp78;
1068 56 : compiler::TNode<Int32T> tmp79;
1069 56 : ca_.Bind(&block11, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79);
1070 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 97);
1071 56 : compiler::TypedCodeAssemblerVariable<Smi> result_0_0(&ca_);
1072 112 : compiler::CodeAssemblerLabel label0(&ca_);
1073 56 : ArrayForeachBuiltinsFromDSLAssembler(state_).VisitAllElements16FixedDoubleArray(compiler::TNode<Context>{tmp71}, compiler::TNode<JSArray>{tmp78}, compiler::TNode<Smi>{tmp77}, compiler::TNode<JSReceiver>{tmp74}, compiler::TNode<Object>{tmp75}, &label0, &result_0_0);
1074 56 : ca_.Goto(&block14, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp78, tmp77, tmp74, tmp75);
1075 56 : if (label0.is_used()) {
1076 56 : ca_.Bind(&label0);
1077 56 : ca_.Goto(&block15, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp78, tmp77, tmp74, tmp75, result_0_0.value());
1078 56 : }
1079 : }
1080 :
1081 56 : if (block15.is_used()) {
1082 56 : compiler::TNode<Context> tmp80;
1083 56 : compiler::TNode<JSReceiver> tmp81;
1084 56 : compiler::TNode<Number> tmp82;
1085 56 : compiler::TNode<JSReceiver> tmp83;
1086 56 : compiler::TNode<Object> tmp84;
1087 56 : compiler::TNode<Smi> tmp85;
1088 56 : compiler::TNode<Smi> tmp86;
1089 56 : compiler::TNode<JSArray> tmp87;
1090 56 : compiler::TNode<Int32T> tmp88;
1091 56 : compiler::TNode<JSArray> tmp89;
1092 56 : compiler::TNode<Smi> tmp90;
1093 56 : compiler::TNode<JSReceiver> tmp91;
1094 56 : compiler::TNode<Object> tmp92;
1095 56 : compiler::TNode<Smi> tmp93;
1096 56 : ca_.Bind(&block15, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93);
1097 56 : ca_.Goto(&block1, tmp93);
1098 : }
1099 :
1100 56 : if (block14.is_used()) {
1101 56 : compiler::TNode<Context> tmp94;
1102 56 : compiler::TNode<JSReceiver> tmp95;
1103 56 : compiler::TNode<Number> tmp96;
1104 56 : compiler::TNode<JSReceiver> tmp97;
1105 56 : compiler::TNode<Object> tmp98;
1106 56 : compiler::TNode<Smi> tmp99;
1107 56 : compiler::TNode<Smi> tmp100;
1108 56 : compiler::TNode<JSArray> tmp101;
1109 56 : compiler::TNode<Int32T> tmp102;
1110 56 : compiler::TNode<JSArray> tmp103;
1111 56 : compiler::TNode<Smi> tmp104;
1112 56 : compiler::TNode<JSReceiver> tmp105;
1113 56 : compiler::TNode<Object> tmp106;
1114 56 : ca_.Bind(&block14, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106);
1115 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 96);
1116 56 : ca_.Goto(&block13, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102);
1117 : }
1118 :
1119 56 : if (block12.is_used()) {
1120 56 : compiler::TNode<Context> tmp107;
1121 56 : compiler::TNode<JSReceiver> tmp108;
1122 56 : compiler::TNode<Number> tmp109;
1123 56 : compiler::TNode<JSReceiver> tmp110;
1124 56 : compiler::TNode<Object> tmp111;
1125 56 : compiler::TNode<Smi> tmp112;
1126 56 : compiler::TNode<Smi> tmp113;
1127 56 : compiler::TNode<JSArray> tmp114;
1128 56 : compiler::TNode<Int32T> tmp115;
1129 56 : ca_.Bind(&block12, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
1130 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 100);
1131 56 : compiler::TypedCodeAssemblerVariable<Smi> result_0_0(&ca_);
1132 112 : compiler::CodeAssemblerLabel label0(&ca_);
1133 56 : ArrayForeachBuiltinsFromDSLAssembler(state_).VisitAllElements10FixedArray(compiler::TNode<Context>{tmp107}, compiler::TNode<JSArray>{tmp114}, compiler::TNode<Smi>{tmp113}, compiler::TNode<JSReceiver>{tmp110}, compiler::TNode<Object>{tmp111}, &label0, &result_0_0);
1134 56 : ca_.Goto(&block16, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp114, tmp113, tmp110, tmp111);
1135 56 : if (label0.is_used()) {
1136 56 : ca_.Bind(&label0);
1137 56 : ca_.Goto(&block17, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp114, tmp113, tmp110, tmp111, result_0_0.value());
1138 56 : }
1139 : }
1140 :
1141 56 : if (block17.is_used()) {
1142 56 : compiler::TNode<Context> tmp116;
1143 56 : compiler::TNode<JSReceiver> tmp117;
1144 56 : compiler::TNode<Number> tmp118;
1145 56 : compiler::TNode<JSReceiver> tmp119;
1146 56 : compiler::TNode<Object> tmp120;
1147 56 : compiler::TNode<Smi> tmp121;
1148 56 : compiler::TNode<Smi> tmp122;
1149 56 : compiler::TNode<JSArray> tmp123;
1150 56 : compiler::TNode<Int32T> tmp124;
1151 56 : compiler::TNode<JSArray> tmp125;
1152 56 : compiler::TNode<Smi> tmp126;
1153 56 : compiler::TNode<JSReceiver> tmp127;
1154 56 : compiler::TNode<Object> tmp128;
1155 56 : compiler::TNode<Smi> tmp129;
1156 56 : ca_.Bind(&block17, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129);
1157 56 : ca_.Goto(&block1, tmp129);
1158 : }
1159 :
1160 56 : if (block16.is_used()) {
1161 56 : compiler::TNode<Context> tmp130;
1162 56 : compiler::TNode<JSReceiver> tmp131;
1163 56 : compiler::TNode<Number> tmp132;
1164 56 : compiler::TNode<JSReceiver> tmp133;
1165 56 : compiler::TNode<Object> tmp134;
1166 56 : compiler::TNode<Smi> tmp135;
1167 56 : compiler::TNode<Smi> tmp136;
1168 56 : compiler::TNode<JSArray> tmp137;
1169 56 : compiler::TNode<Int32T> tmp138;
1170 56 : compiler::TNode<JSArray> tmp139;
1171 56 : compiler::TNode<Smi> tmp140;
1172 56 : compiler::TNode<JSReceiver> tmp141;
1173 56 : compiler::TNode<Object> tmp142;
1174 56 : ca_.Bind(&block16, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142);
1175 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 96);
1176 56 : ca_.Goto(&block13, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138);
1177 : }
1178 :
1179 56 : if (block13.is_used()) {
1180 56 : compiler::TNode<Context> tmp143;
1181 56 : compiler::TNode<JSReceiver> tmp144;
1182 56 : compiler::TNode<Number> tmp145;
1183 56 : compiler::TNode<JSReceiver> tmp146;
1184 56 : compiler::TNode<Object> tmp147;
1185 56 : compiler::TNode<Smi> tmp148;
1186 56 : compiler::TNode<Smi> tmp149;
1187 56 : compiler::TNode<JSArray> tmp150;
1188 56 : compiler::TNode<Int32T> tmp151;
1189 56 : ca_.Bind(&block13, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151);
1190 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 103);
1191 56 : compiler::TNode<Oddball> tmp152;
1192 56 : USE(tmp152);
1193 56 : tmp152 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1194 56 : ca_.Goto(&block2, tmp143, tmp144, tmp145, tmp146, tmp147, tmp152);
1195 : }
1196 :
1197 56 : if (block2.is_used()) {
1198 56 : compiler::TNode<Context> tmp153;
1199 56 : compiler::TNode<JSReceiver> tmp154;
1200 56 : compiler::TNode<Number> tmp155;
1201 56 : compiler::TNode<JSReceiver> tmp156;
1202 56 : compiler::TNode<Object> tmp157;
1203 56 : compiler::TNode<Object> tmp158;
1204 56 : ca_.Bind(&block2, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158);
1205 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 89);
1206 56 : ca_.Goto(&block18, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158);
1207 : }
1208 :
1209 56 : if (block1.is_used()) {
1210 56 : compiler::TNode<Smi> tmp159;
1211 56 : ca_.Bind(&block1, &tmp159);
1212 56 : *label_Bailout_parameter_0 = tmp159;
1213 56 : ca_.Goto(label_Bailout);
1214 : }
1215 :
1216 56 : compiler::TNode<Context> tmp160;
1217 56 : compiler::TNode<JSReceiver> tmp161;
1218 56 : compiler::TNode<Number> tmp162;
1219 56 : compiler::TNode<JSReceiver> tmp163;
1220 56 : compiler::TNode<Object> tmp164;
1221 56 : compiler::TNode<Object> tmp165;
1222 56 : ca_.Bind(&block18, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
1223 112 : return compiler::TNode<Object>{tmp165};
1224 : }
1225 :
1226 336 : TF_BUILTIN(ArrayForEach, CodeStubAssembler) {
1227 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
1228 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
1229 56 : USE(parameter0);
1230 56 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
1231 56 : CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
1232 56 : TNode<Object> parameter1 = arguments_impl.GetReceiver();
1233 56 : auto arguments = &arguments_impl;
1234 56 : USE(arguments);
1235 56 : USE(parameter1);
1236 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1237 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1238 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1239 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1240 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1241 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1242 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Object, JSReceiver> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1243 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1244 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1245 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver, Object> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1246 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver, Object> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1247 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver, Object, Number, JSReceiver, Number, JSReceiver, Object, Smi> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1248 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver, Object, Number, JSReceiver, Number, JSReceiver, Object, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1249 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver, Object, Number, Smi> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1250 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver, Object, Number, Smi> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1251 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1252 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1253 56 : ca_.Goto(&block0, parameter0, parameter1);
1254 :
1255 56 : if (block0.is_used()) {
1256 56 : compiler::TNode<Context> tmp0;
1257 56 : compiler::TNode<Object> tmp1;
1258 56 : ca_.Bind(&block0, &tmp0, &tmp1);
1259 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 110);
1260 56 : compiler::TNode<BoolT> tmp2;
1261 56 : USE(tmp2);
1262 56 : tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp1}));
1263 56 : ca_.Branch(tmp2, &block5, &block6, tmp0, tmp1);
1264 : }
1265 :
1266 56 : if (block5.is_used()) {
1267 56 : compiler::TNode<Context> tmp3;
1268 56 : compiler::TNode<Object> tmp4;
1269 56 : ca_.Bind(&block5, &tmp3, &tmp4);
1270 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 111);
1271 56 : ca_.Goto(&block2, tmp3, tmp4);
1272 : }
1273 :
1274 56 : if (block6.is_used()) {
1275 56 : compiler::TNode<Context> tmp5;
1276 56 : compiler::TNode<Object> tmp6;
1277 56 : ca_.Bind(&block6, &tmp5, &tmp6);
1278 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 115);
1279 56 : compiler::TNode<JSReceiver> tmp7;
1280 56 : USE(tmp7);
1281 56 : tmp7 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp5}, compiler::TNode<Object>{tmp6}));
1282 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 118);
1283 56 : compiler::TNode<Number> tmp8;
1284 56 : USE(tmp8);
1285 56 : tmp8 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp5}, compiler::TNode<Object>{tmp7}));
1286 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 121);
1287 56 : compiler::TNode<IntPtrT> tmp9;
1288 56 : USE(tmp9);
1289 56 : tmp9 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).GetArgumentsLength(arguments));
1290 56 : compiler::TNode<IntPtrT> tmp10;
1291 56 : USE(tmp10);
1292 56 : tmp10 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
1293 56 : compiler::TNode<BoolT> tmp11;
1294 56 : USE(tmp11);
1295 56 : tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp10}));
1296 56 : ca_.Branch(tmp11, &block7, &block8, tmp5, tmp6, tmp7, tmp8);
1297 : }
1298 :
1299 56 : if (block7.is_used()) {
1300 56 : compiler::TNode<Context> tmp12;
1301 56 : compiler::TNode<Object> tmp13;
1302 56 : compiler::TNode<JSReceiver> tmp14;
1303 56 : compiler::TNode<Number> tmp15;
1304 56 : ca_.Bind(&block7, &tmp12, &tmp13, &tmp14, &tmp15);
1305 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 122);
1306 56 : ca_.Goto(&block4, tmp12, tmp13);
1307 : }
1308 :
1309 56 : if (block8.is_used()) {
1310 56 : compiler::TNode<Context> tmp16;
1311 56 : compiler::TNode<Object> tmp17;
1312 56 : compiler::TNode<JSReceiver> tmp18;
1313 56 : compiler::TNode<Number> tmp19;
1314 56 : ca_.Bind(&block8, &tmp16, &tmp17, &tmp18, &tmp19);
1315 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 124);
1316 56 : compiler::TNode<IntPtrT> tmp20;
1317 56 : USE(tmp20);
1318 56 : tmp20 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
1319 56 : compiler::TNode<Object> tmp21;
1320 56 : USE(tmp21);
1321 56 : tmp21 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp20}));
1322 56 : compiler::TNode<JSReceiver> tmp22;
1323 56 : USE(tmp22);
1324 56 : compiler::CodeAssemblerLabel label0(&ca_);
1325 56 : tmp22 = BaseBuiltinsFromDSLAssembler(state_).Cast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context>{tmp16}, compiler::TNode<Object>{tmp21}, &label0);
1326 56 : ca_.Goto(&block9, tmp16, tmp17, tmp18, tmp19, tmp21, tmp22);
1327 56 : if (label0.is_used()) {
1328 56 : ca_.Bind(&label0);
1329 56 : ca_.Goto(&block10, tmp16, tmp17, tmp18, tmp19, tmp21);
1330 56 : }
1331 : }
1332 :
1333 56 : if (block10.is_used()) {
1334 56 : compiler::TNode<Context> tmp23;
1335 56 : compiler::TNode<Object> tmp24;
1336 56 : compiler::TNode<JSReceiver> tmp25;
1337 56 : compiler::TNode<Number> tmp26;
1338 56 : compiler::TNode<Object> tmp27;
1339 56 : ca_.Bind(&block10, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
1340 56 : ca_.Goto(&block4, tmp23, tmp24);
1341 : }
1342 :
1343 56 : if (block9.is_used()) {
1344 56 : compiler::TNode<Context> tmp28;
1345 56 : compiler::TNode<Object> tmp29;
1346 56 : compiler::TNode<JSReceiver> tmp30;
1347 56 : compiler::TNode<Number> tmp31;
1348 56 : compiler::TNode<Object> tmp32;
1349 56 : compiler::TNode<JSReceiver> tmp33;
1350 56 : ca_.Bind(&block9, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
1351 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 127);
1352 56 : compiler::TNode<IntPtrT> tmp34;
1353 56 : USE(tmp34);
1354 56 : tmp34 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).GetArgumentsLength(arguments));
1355 56 : compiler::TNode<IntPtrT> tmp35;
1356 56 : USE(tmp35);
1357 56 : tmp35 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
1358 56 : compiler::TNode<BoolT> tmp36;
1359 56 : USE(tmp36);
1360 56 : tmp36 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp34}, compiler::TNode<IntPtrT>{tmp35}));
1361 56 : ca_.Branch(tmp36, &block11, &block12, tmp28, tmp29, tmp30, tmp31, tmp33);
1362 : }
1363 :
1364 56 : if (block11.is_used()) {
1365 56 : compiler::TNode<Context> tmp37;
1366 56 : compiler::TNode<Object> tmp38;
1367 56 : compiler::TNode<JSReceiver> tmp39;
1368 56 : compiler::TNode<Number> tmp40;
1369 56 : compiler::TNode<JSReceiver> tmp41;
1370 56 : ca_.Bind(&block11, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41);
1371 56 : compiler::TNode<IntPtrT> tmp42;
1372 56 : USE(tmp42);
1373 56 : tmp42 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
1374 56 : compiler::TNode<Object> tmp43;
1375 56 : USE(tmp43);
1376 56 : tmp43 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp42}));
1377 56 : ca_.Goto(&block14, tmp37, tmp38, tmp39, tmp40, tmp41, tmp43);
1378 : }
1379 :
1380 56 : if (block12.is_used()) {
1381 56 : compiler::TNode<Context> tmp44;
1382 56 : compiler::TNode<Object> tmp45;
1383 56 : compiler::TNode<JSReceiver> tmp46;
1384 56 : compiler::TNode<Number> tmp47;
1385 56 : compiler::TNode<JSReceiver> tmp48;
1386 56 : ca_.Bind(&block12, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48);
1387 56 : compiler::TNode<Oddball> tmp49;
1388 56 : USE(tmp49);
1389 56 : tmp49 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1390 56 : ca_.Goto(&block13, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49);
1391 : }
1392 :
1393 56 : if (block14.is_used()) {
1394 56 : compiler::TNode<Context> tmp50;
1395 56 : compiler::TNode<Object> tmp51;
1396 56 : compiler::TNode<JSReceiver> tmp52;
1397 56 : compiler::TNode<Number> tmp53;
1398 56 : compiler::TNode<JSReceiver> tmp54;
1399 56 : compiler::TNode<Object> tmp55;
1400 56 : ca_.Bind(&block14, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55);
1401 56 : ca_.Goto(&block13, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55);
1402 : }
1403 :
1404 56 : if (block13.is_used()) {
1405 56 : compiler::TNode<Context> tmp56;
1406 56 : compiler::TNode<Object> tmp57;
1407 56 : compiler::TNode<JSReceiver> tmp58;
1408 56 : compiler::TNode<Number> tmp59;
1409 56 : compiler::TNode<JSReceiver> tmp60;
1410 56 : compiler::TNode<Object> tmp61;
1411 56 : ca_.Bind(&block13, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61);
1412 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 130);
1413 56 : compiler::TNode<Number> tmp62;
1414 56 : USE(tmp62);
1415 56 : tmp62 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
1416 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 132);
1417 56 : compiler::TNode<Object> tmp63;
1418 56 : USE(tmp63);
1419 56 : compiler::TypedCodeAssemblerVariable<Smi> result_0_0(&ca_);
1420 112 : compiler::CodeAssemblerLabel label0(&ca_);
1421 56 : tmp63 = ArrayForeachBuiltinsFromDSLAssembler(state_).FastArrayForEach(compiler::TNode<Context>{tmp56}, compiler::TNode<JSReceiver>{tmp58}, compiler::TNode<Number>{tmp59}, compiler::TNode<JSReceiver>{tmp60}, compiler::TNode<Object>{tmp61}, &label0, &result_0_0);
1422 56 : ca_.Goto(&block17, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp58, tmp59, tmp60, tmp61, tmp63);
1423 56 : if (label0.is_used()) {
1424 56 : ca_.Bind(&label0);
1425 56 : ca_.Goto(&block18, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp58, tmp59, tmp60, tmp61, result_0_0.value());
1426 56 : }
1427 : }
1428 :
1429 56 : if (block18.is_used()) {
1430 56 : compiler::TNode<Context> tmp64;
1431 56 : compiler::TNode<Object> tmp65;
1432 56 : compiler::TNode<JSReceiver> tmp66;
1433 56 : compiler::TNode<Number> tmp67;
1434 56 : compiler::TNode<JSReceiver> tmp68;
1435 56 : compiler::TNode<Object> tmp69;
1436 56 : compiler::TNode<Number> tmp70;
1437 56 : compiler::TNode<JSReceiver> tmp71;
1438 56 : compiler::TNode<Number> tmp72;
1439 56 : compiler::TNode<JSReceiver> tmp73;
1440 56 : compiler::TNode<Object> tmp74;
1441 56 : compiler::TNode<Smi> tmp75;
1442 56 : ca_.Bind(&block18, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75);
1443 56 : ca_.Goto(&block16, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp75);
1444 : }
1445 :
1446 56 : if (block17.is_used()) {
1447 56 : compiler::TNode<Context> tmp76;
1448 56 : compiler::TNode<Object> tmp77;
1449 56 : compiler::TNode<JSReceiver> tmp78;
1450 56 : compiler::TNode<Number> tmp79;
1451 56 : compiler::TNode<JSReceiver> tmp80;
1452 56 : compiler::TNode<Object> tmp81;
1453 56 : compiler::TNode<Number> tmp82;
1454 56 : compiler::TNode<JSReceiver> tmp83;
1455 56 : compiler::TNode<Number> tmp84;
1456 56 : compiler::TNode<JSReceiver> tmp85;
1457 56 : compiler::TNode<Object> tmp86;
1458 56 : compiler::TNode<Object> tmp87;
1459 56 : ca_.Bind(&block17, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87);
1460 56 : arguments->PopAndReturn(tmp87);
1461 : }
1462 :
1463 56 : if (block16.is_used()) {
1464 56 : compiler::TNode<Context> tmp88;
1465 56 : compiler::TNode<Object> tmp89;
1466 56 : compiler::TNode<JSReceiver> tmp90;
1467 56 : compiler::TNode<Number> tmp91;
1468 56 : compiler::TNode<JSReceiver> tmp92;
1469 56 : compiler::TNode<Object> tmp93;
1470 56 : compiler::TNode<Number> tmp94;
1471 56 : compiler::TNode<Smi> tmp95;
1472 56 : ca_.Bind(&block16, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95);
1473 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 136);
1474 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 131);
1475 56 : ca_.Goto(&block15, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp95, tmp95);
1476 : }
1477 :
1478 56 : if (block15.is_used()) {
1479 56 : compiler::TNode<Context> tmp96;
1480 56 : compiler::TNode<Object> tmp97;
1481 56 : compiler::TNode<JSReceiver> tmp98;
1482 56 : compiler::TNode<Number> tmp99;
1483 56 : compiler::TNode<JSReceiver> tmp100;
1484 56 : compiler::TNode<Object> tmp101;
1485 56 : compiler::TNode<Number> tmp102;
1486 56 : compiler::TNode<Smi> tmp103;
1487 56 : ca_.Bind(&block15, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103);
1488 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 140);
1489 56 : compiler::TNode<Oddball> tmp104;
1490 56 : USE(tmp104);
1491 56 : tmp104 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1492 56 : compiler::TNode<Oddball> tmp105;
1493 56 : USE(tmp105);
1494 56 : tmp105 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1495 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 139);
1496 56 : compiler::TNode<Object> tmp106;
1497 56 : tmp106 = CodeStubAssembler(state_).CallBuiltin(Builtins::kArrayForEachLoopContinuation, tmp96, tmp98, tmp100, tmp101, tmp104, tmp98, tmp102, tmp99, tmp105);
1498 56 : USE(tmp106);
1499 56 : arguments->PopAndReturn(tmp106);
1500 : }
1501 :
1502 56 : if (block4.is_used()) {
1503 56 : compiler::TNode<Context> tmp107;
1504 56 : compiler::TNode<Object> tmp108;
1505 56 : ca_.Bind(&block4, &tmp107, &tmp108);
1506 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 143);
1507 56 : compiler::TNode<IntPtrT> tmp109;
1508 56 : USE(tmp109);
1509 56 : tmp109 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
1510 56 : compiler::TNode<Object> tmp110;
1511 56 : USE(tmp110);
1512 56 : tmp110 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp109}));
1513 56 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp107}, MessageTemplate::kCalledNonCallable, compiler::TNode<Object>{tmp110});
1514 : }
1515 :
1516 56 : if (block2.is_used()) {
1517 56 : compiler::TNode<Context> tmp111;
1518 56 : compiler::TNode<Object> tmp112;
1519 56 : ca_.Bind(&block2, &tmp111, &tmp112);
1520 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 147);
1521 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 146);
1522 56 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp111}, MessageTemplate::kCalledOnNullOrUndefined, "Array.prototype.forEach");
1523 56 : }
1524 56 : }
1525 :
1526 56 : void ArrayForeachBuiltinsFromDSLAssembler::VisitAllElements16FixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_o, compiler::TNode<Smi> p_len, compiler::TNode<JSReceiver> p_callbackfn, compiler::TNode<Object> p_thisArg, compiler::CodeAssemblerLabel* label_Bailout, compiler::TypedCodeAssemblerVariable<Smi>* label_Bailout_parameter_0) {
1527 56 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1528 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1529 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1530 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1531 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1532 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1533 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1534 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1535 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Smi, JSArray> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1536 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1537 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1538 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1539 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, Smi> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1540 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, Smi, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1541 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1542 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1543 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object, Context, JSReceiver, Object, Object, Smi, JSArray> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1544 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1545 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1546 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1547 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1548 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1549 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1550 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1551 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1552 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1553 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1554 112 : compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1555 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1556 56 : ca_.Goto(&block0, p_context, p_o, p_len, p_callbackfn, p_thisArg);
1557 :
1558 56 : if (block0.is_used()) {
1559 56 : compiler::TNode<Context> tmp0;
1560 56 : compiler::TNode<JSArray> tmp1;
1561 56 : compiler::TNode<Smi> tmp2;
1562 56 : compiler::TNode<JSReceiver> tmp3;
1563 56 : compiler::TNode<Object> tmp4;
1564 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
1565 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 74);
1566 56 : compiler::TNode<Smi> tmp5;
1567 56 : USE(tmp5);
1568 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
1569 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 76);
1570 56 : compiler::TNode<JSArray> tmp6;
1571 56 : USE(tmp6);
1572 56 : compiler::CodeAssemblerLabel label0(&ca_);
1573 56 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp1}, &label0);
1574 56 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, ca_.Uninitialized<JSArray>(), ca_.Uninitialized<JSArray>(), ca_.Uninitialized<Map>(), tmp1, tmp6);
1575 56 : if (label0.is_used()) {
1576 56 : ca_.Bind(&label0);
1577 56 : ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, ca_.Uninitialized<JSArray>(), ca_.Uninitialized<JSArray>(), ca_.Uninitialized<Map>(), tmp1);
1578 56 : }
1579 : }
1580 :
1581 56 : if (block6.is_used()) {
1582 56 : compiler::TNode<Context> tmp7;
1583 56 : compiler::TNode<JSArray> tmp8;
1584 56 : compiler::TNode<Smi> tmp9;
1585 56 : compiler::TNode<JSReceiver> tmp10;
1586 56 : compiler::TNode<Object> tmp11;
1587 56 : compiler::TNode<Smi> tmp12;
1588 56 : compiler::TNode<JSArray> tmp13;
1589 56 : compiler::TNode<JSArray> tmp14;
1590 56 : compiler::TNode<Map> tmp15;
1591 56 : compiler::TNode<JSArray> tmp16;
1592 56 : ca_.Bind(&block6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
1593 56 : ca_.Goto(&block4, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15);
1594 : }
1595 :
1596 56 : if (block5.is_used()) {
1597 56 : compiler::TNode<Context> tmp17;
1598 56 : compiler::TNode<JSArray> tmp18;
1599 56 : compiler::TNode<Smi> tmp19;
1600 56 : compiler::TNode<JSReceiver> tmp20;
1601 56 : compiler::TNode<Object> tmp21;
1602 56 : compiler::TNode<Smi> tmp22;
1603 56 : compiler::TNode<JSArray> tmp23;
1604 56 : compiler::TNode<JSArray> tmp24;
1605 56 : compiler::TNode<Map> tmp25;
1606 56 : compiler::TNode<JSArray> tmp26;
1607 56 : compiler::TNode<JSArray> tmp27;
1608 56 : ca_.Bind(&block5, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
1609 56 : ca_.Goto(&block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp27);
1610 : }
1611 :
1612 56 : if (block4.is_used()) {
1613 56 : compiler::TNode<Context> tmp28;
1614 56 : compiler::TNode<JSArray> tmp29;
1615 56 : compiler::TNode<Smi> tmp30;
1616 56 : compiler::TNode<JSReceiver> tmp31;
1617 56 : compiler::TNode<Object> tmp32;
1618 56 : compiler::TNode<Smi> tmp33;
1619 56 : compiler::TNode<JSArray> tmp34;
1620 56 : compiler::TNode<JSArray> tmp35;
1621 56 : compiler::TNode<Map> tmp36;
1622 56 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
1623 56 : ca_.Goto(&block1, tmp33);
1624 : }
1625 :
1626 56 : if (block3.is_used()) {
1627 56 : compiler::TNode<Context> tmp37;
1628 56 : compiler::TNode<JSArray> tmp38;
1629 56 : compiler::TNode<Smi> tmp39;
1630 56 : compiler::TNode<JSReceiver> tmp40;
1631 56 : compiler::TNode<Object> tmp41;
1632 56 : compiler::TNode<Smi> tmp42;
1633 56 : compiler::TNode<JSArray> tmp43;
1634 56 : compiler::TNode<JSArray> tmp44;
1635 56 : compiler::TNode<Map> tmp45;
1636 56 : compiler::TNode<JSArray> tmp46;
1637 56 : ca_.Bind(&block3, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46);
1638 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 909);
1639 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 910);
1640 56 : compiler::TNode<Map> tmp47;
1641 56 : USE(tmp47);
1642 56 : tmp47 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp46}));
1643 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 76);
1644 56 : ca_.Goto(&block7, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp46, tmp46, tmp47, tmp46, tmp46);
1645 : }
1646 :
1647 56 : if (block7.is_used()) {
1648 56 : compiler::TNode<Context> tmp48;
1649 56 : compiler::TNode<JSArray> tmp49;
1650 56 : compiler::TNode<Smi> tmp50;
1651 56 : compiler::TNode<JSReceiver> tmp51;
1652 56 : compiler::TNode<Object> tmp52;
1653 56 : compiler::TNode<Smi> tmp53;
1654 56 : compiler::TNode<JSArray> tmp54;
1655 56 : compiler::TNode<JSArray> tmp55;
1656 56 : compiler::TNode<Map> tmp56;
1657 56 : compiler::TNode<JSArray> tmp57;
1658 56 : compiler::TNode<JSArray> tmp58;
1659 56 : ca_.Bind(&block7, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
1660 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 79);
1661 56 : ca_.Goto(&block10, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56);
1662 : }
1663 :
1664 56 : if (block10.is_used()) {
1665 56 : compiler::TNode<Context> tmp59;
1666 56 : compiler::TNode<JSArray> tmp60;
1667 56 : compiler::TNode<Smi> tmp61;
1668 56 : compiler::TNode<JSReceiver> tmp62;
1669 56 : compiler::TNode<Object> tmp63;
1670 56 : compiler::TNode<Smi> tmp64;
1671 56 : compiler::TNode<JSArray> tmp65;
1672 56 : compiler::TNode<JSArray> tmp66;
1673 56 : compiler::TNode<Map> tmp67;
1674 56 : ca_.Bind(&block10, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
1675 56 : compiler::TNode<BoolT> tmp68;
1676 56 : USE(tmp68);
1677 56 : tmp68 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp64}, compiler::TNode<Smi>{tmp61}));
1678 56 : ca_.Branch(tmp68, &block8, &block9, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67);
1679 : }
1680 :
1681 56 : if (block8.is_used()) {
1682 56 : compiler::TNode<Context> tmp69;
1683 56 : compiler::TNode<JSArray> tmp70;
1684 56 : compiler::TNode<Smi> tmp71;
1685 56 : compiler::TNode<JSReceiver> tmp72;
1686 56 : compiler::TNode<Object> tmp73;
1687 56 : compiler::TNode<Smi> tmp74;
1688 56 : compiler::TNode<JSArray> tmp75;
1689 56 : compiler::TNode<JSArray> tmp76;
1690 56 : compiler::TNode<Map> tmp77;
1691 56 : ca_.Bind(&block8, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
1692 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 81);
1693 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 914);
1694 56 : ca_.Goto(&block14, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp74, tmp76);
1695 : }
1696 :
1697 56 : if (block14.is_used()) {
1698 56 : compiler::TNode<Context> tmp78;
1699 56 : compiler::TNode<JSArray> tmp79;
1700 56 : compiler::TNode<Smi> tmp80;
1701 56 : compiler::TNode<JSReceiver> tmp81;
1702 56 : compiler::TNode<Object> tmp82;
1703 56 : compiler::TNode<Smi> tmp83;
1704 56 : compiler::TNode<JSArray> tmp84;
1705 56 : compiler::TNode<JSArray> tmp85;
1706 56 : compiler::TNode<Map> tmp86;
1707 56 : compiler::TNode<Smi> tmp87;
1708 56 : compiler::TNode<JSArray> tmp88;
1709 56 : ca_.Bind(&block14, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88);
1710 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 81);
1711 56 : compiler::TNode<Smi> tmp89;
1712 56 : USE(tmp89);
1713 56 : tmp89 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp88}));
1714 56 : compiler::TNode<BoolT> tmp90;
1715 56 : USE(tmp90);
1716 56 : tmp90 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThanOrEqual(compiler::TNode<Smi>{tmp87}, compiler::TNode<Smi>{tmp89}));
1717 56 : ca_.Branch(tmp90, &block12, &block13, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86);
1718 : }
1719 :
1720 56 : if (block12.is_used()) {
1721 56 : compiler::TNode<Context> tmp91;
1722 56 : compiler::TNode<JSArray> tmp92;
1723 56 : compiler::TNode<Smi> tmp93;
1724 56 : compiler::TNode<JSReceiver> tmp94;
1725 56 : compiler::TNode<Object> tmp95;
1726 56 : compiler::TNode<Smi> tmp96;
1727 56 : compiler::TNode<JSArray> tmp97;
1728 56 : compiler::TNode<JSArray> tmp98;
1729 56 : compiler::TNode<Map> tmp99;
1730 56 : ca_.Bind(&block12, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99);
1731 56 : ca_.Goto(&block1, tmp96);
1732 : }
1733 :
1734 56 : if (block13.is_used()) {
1735 56 : compiler::TNode<Context> tmp100;
1736 56 : compiler::TNode<JSArray> tmp101;
1737 56 : compiler::TNode<Smi> tmp102;
1738 56 : compiler::TNode<JSReceiver> tmp103;
1739 56 : compiler::TNode<Object> tmp104;
1740 56 : compiler::TNode<Smi> tmp105;
1741 56 : compiler::TNode<JSArray> tmp106;
1742 56 : compiler::TNode<JSArray> tmp107;
1743 56 : compiler::TNode<Map> tmp108;
1744 56 : ca_.Bind(&block13, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108);
1745 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 914);
1746 56 : ca_.Goto(&block17, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp107);
1747 : }
1748 :
1749 56 : if (block17.is_used()) {
1750 56 : compiler::TNode<Context> tmp109;
1751 56 : compiler::TNode<JSArray> tmp110;
1752 56 : compiler::TNode<Smi> tmp111;
1753 56 : compiler::TNode<JSReceiver> tmp112;
1754 56 : compiler::TNode<Object> tmp113;
1755 56 : compiler::TNode<Smi> tmp114;
1756 56 : compiler::TNode<JSArray> tmp115;
1757 56 : compiler::TNode<JSArray> tmp116;
1758 56 : compiler::TNode<Map> tmp117;
1759 56 : compiler::TNode<JSArray> tmp118;
1760 56 : ca_.Bind(&block17, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
1761 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 82);
1762 56 : compiler::TNode<Object> tmp119;
1763 56 : USE(tmp119);
1764 56 : compiler::CodeAssemblerLabel label0(&ca_);
1765 56 : tmp119 = BaseBuiltinsFromDSLAssembler(state_).LoadElementNoHole16FixedDoubleArray(compiler::TNode<Context>{tmp109}, compiler::TNode<JSArray>{tmp118}, compiler::TNode<Smi>{tmp114}, &label0);
1766 56 : ca_.Goto(&block18, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp114, tmp119);
1767 56 : if (label0.is_used()) {
1768 56 : ca_.Bind(&label0);
1769 56 : ca_.Goto(&block19, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp114);
1770 56 : }
1771 : }
1772 :
1773 56 : if (block19.is_used()) {
1774 56 : compiler::TNode<Context> tmp120;
1775 56 : compiler::TNode<JSArray> tmp121;
1776 56 : compiler::TNode<Smi> tmp122;
1777 56 : compiler::TNode<JSReceiver> tmp123;
1778 56 : compiler::TNode<Object> tmp124;
1779 56 : compiler::TNode<Smi> tmp125;
1780 56 : compiler::TNode<JSArray> tmp126;
1781 56 : compiler::TNode<JSArray> tmp127;
1782 56 : compiler::TNode<Map> tmp128;
1783 56 : compiler::TNode<JSArray> tmp129;
1784 56 : compiler::TNode<Smi> tmp130;
1785 56 : ca_.Bind(&block19, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130);
1786 56 : ca_.Goto(&block16, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128);
1787 : }
1788 :
1789 56 : if (block18.is_used()) {
1790 56 : compiler::TNode<Context> tmp131;
1791 56 : compiler::TNode<JSArray> tmp132;
1792 56 : compiler::TNode<Smi> tmp133;
1793 56 : compiler::TNode<JSReceiver> tmp134;
1794 56 : compiler::TNode<Object> tmp135;
1795 56 : compiler::TNode<Smi> tmp136;
1796 56 : compiler::TNode<JSArray> tmp137;
1797 56 : compiler::TNode<JSArray> tmp138;
1798 56 : compiler::TNode<Map> tmp139;
1799 56 : compiler::TNode<JSArray> tmp140;
1800 56 : compiler::TNode<Smi> tmp141;
1801 56 : compiler::TNode<Object> tmp142;
1802 56 : ca_.Bind(&block18, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142);
1803 56 : ca_.Goto(&block15, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp142);
1804 : }
1805 :
1806 56 : if (block16.is_used()) {
1807 56 : compiler::TNode<Context> tmp143;
1808 56 : compiler::TNode<JSArray> tmp144;
1809 56 : compiler::TNode<Smi> tmp145;
1810 56 : compiler::TNode<JSReceiver> tmp146;
1811 56 : compiler::TNode<Object> tmp147;
1812 56 : compiler::TNode<Smi> tmp148;
1813 56 : compiler::TNode<JSArray> tmp149;
1814 56 : compiler::TNode<JSArray> tmp150;
1815 56 : compiler::TNode<Map> tmp151;
1816 56 : ca_.Bind(&block16, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151);
1817 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 83);
1818 56 : ca_.Goto(&block11, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151);
1819 : }
1820 :
1821 56 : if (block15.is_used()) {
1822 56 : compiler::TNode<Context> tmp152;
1823 56 : compiler::TNode<JSArray> tmp153;
1824 56 : compiler::TNode<Smi> tmp154;
1825 56 : compiler::TNode<JSReceiver> tmp155;
1826 56 : compiler::TNode<Object> tmp156;
1827 56 : compiler::TNode<Smi> tmp157;
1828 56 : compiler::TNode<JSArray> tmp158;
1829 56 : compiler::TNode<JSArray> tmp159;
1830 56 : compiler::TNode<Map> tmp160;
1831 56 : compiler::TNode<Object> tmp161;
1832 56 : ca_.Bind(&block15, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161);
1833 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 82);
1834 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
1835 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 914);
1836 56 : ca_.Goto(&block20, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp152, tmp155, tmp156, tmp161, tmp157, tmp159);
1837 : }
1838 :
1839 56 : if (block20.is_used()) {
1840 56 : compiler::TNode<Context> tmp162;
1841 56 : compiler::TNode<JSArray> tmp163;
1842 56 : compiler::TNode<Smi> tmp164;
1843 56 : compiler::TNode<JSReceiver> tmp165;
1844 56 : compiler::TNode<Object> tmp166;
1845 56 : compiler::TNode<Smi> tmp167;
1846 56 : compiler::TNode<JSArray> tmp168;
1847 56 : compiler::TNode<JSArray> tmp169;
1848 56 : compiler::TNode<Map> tmp170;
1849 56 : compiler::TNode<Object> tmp171;
1850 56 : compiler::TNode<Context> tmp172;
1851 56 : compiler::TNode<JSReceiver> tmp173;
1852 56 : compiler::TNode<Object> tmp174;
1853 56 : compiler::TNode<Object> tmp175;
1854 56 : compiler::TNode<Smi> tmp176;
1855 56 : compiler::TNode<JSArray> tmp177;
1856 56 : ca_.Bind(&block20, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177);
1857 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
1858 56 : compiler::TNode<Object> tmp178;
1859 56 : USE(tmp178);
1860 56 : tmp178 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp172}, compiler::TNode<JSReceiver>{tmp173}, compiler::TNode<Object>{tmp174}, compiler::TNode<Object>{tmp175}, compiler::TNode<Object>{tmp176}, compiler::TNode<Object>{tmp177}));
1861 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 918);
1862 56 : compiler::TNode<Map> tmp179;
1863 56 : USE(tmp179);
1864 56 : tmp179 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp168}));
1865 56 : compiler::TNode<BoolT> tmp180;
1866 56 : USE(tmp180);
1867 56 : tmp180 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<HeapObject>{tmp179}, compiler::TNode<HeapObject>{tmp170}));
1868 56 : ca_.Branch(tmp180, &block24, &block25, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171);
1869 : }
1870 :
1871 56 : if (block24.is_used()) {
1872 56 : compiler::TNode<Context> tmp181;
1873 56 : compiler::TNode<JSArray> tmp182;
1874 56 : compiler::TNode<Smi> tmp183;
1875 56 : compiler::TNode<JSReceiver> tmp184;
1876 56 : compiler::TNode<Object> tmp185;
1877 56 : compiler::TNode<Smi> tmp186;
1878 56 : compiler::TNode<JSArray> tmp187;
1879 56 : compiler::TNode<JSArray> tmp188;
1880 56 : compiler::TNode<Map> tmp189;
1881 56 : compiler::TNode<Object> tmp190;
1882 56 : ca_.Bind(&block24, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190);
1883 56 : ca_.Goto(&block22, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190);
1884 : }
1885 :
1886 56 : if (block25.is_used()) {
1887 56 : compiler::TNode<Context> tmp191;
1888 56 : compiler::TNode<JSArray> tmp192;
1889 56 : compiler::TNode<Smi> tmp193;
1890 56 : compiler::TNode<JSReceiver> tmp194;
1891 56 : compiler::TNode<Object> tmp195;
1892 56 : compiler::TNode<Smi> tmp196;
1893 56 : compiler::TNode<JSArray> tmp197;
1894 56 : compiler::TNode<JSArray> tmp198;
1895 56 : compiler::TNode<Map> tmp199;
1896 56 : compiler::TNode<Object> tmp200;
1897 56 : ca_.Bind(&block25, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200);
1898 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 925);
1899 56 : compiler::TNode<BoolT> tmp201;
1900 56 : USE(tmp201);
1901 56 : tmp201 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
1902 56 : ca_.Branch(tmp201, &block26, &block27, tmp191, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200);
1903 : }
1904 :
1905 56 : if (block26.is_used()) {
1906 56 : compiler::TNode<Context> tmp202;
1907 56 : compiler::TNode<JSArray> tmp203;
1908 56 : compiler::TNode<Smi> tmp204;
1909 56 : compiler::TNode<JSReceiver> tmp205;
1910 56 : compiler::TNode<Object> tmp206;
1911 56 : compiler::TNode<Smi> tmp207;
1912 56 : compiler::TNode<JSArray> tmp208;
1913 56 : compiler::TNode<JSArray> tmp209;
1914 56 : compiler::TNode<Map> tmp210;
1915 56 : compiler::TNode<Object> tmp211;
1916 56 : ca_.Bind(&block26, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211);
1917 56 : ca_.Goto(&block22, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211);
1918 : }
1919 :
1920 56 : if (block27.is_used()) {
1921 56 : compiler::TNode<Context> tmp212;
1922 56 : compiler::TNode<JSArray> tmp213;
1923 56 : compiler::TNode<Smi> tmp214;
1924 56 : compiler::TNode<JSReceiver> tmp215;
1925 56 : compiler::TNode<Object> tmp216;
1926 56 : compiler::TNode<Smi> tmp217;
1927 56 : compiler::TNode<JSArray> tmp218;
1928 56 : compiler::TNode<JSArray> tmp219;
1929 56 : compiler::TNode<Map> tmp220;
1930 56 : compiler::TNode<Object> tmp221;
1931 56 : ca_.Bind(&block27, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221);
1932 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 926);
1933 56 : compiler::TNode<JSArray> tmp222;
1934 56 : USE(tmp222);
1935 56 : tmp222 = (compiler::TNode<JSArray>{tmp218});
1936 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 85);
1937 56 : ca_.Goto(&block23, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp222, tmp220, tmp221);
1938 : }
1939 :
1940 56 : if (block23.is_used()) {
1941 56 : compiler::TNode<Context> tmp223;
1942 56 : compiler::TNode<JSArray> tmp224;
1943 56 : compiler::TNode<Smi> tmp225;
1944 56 : compiler::TNode<JSReceiver> tmp226;
1945 56 : compiler::TNode<Object> tmp227;
1946 56 : compiler::TNode<Smi> tmp228;
1947 56 : compiler::TNode<JSArray> tmp229;
1948 56 : compiler::TNode<JSArray> tmp230;
1949 56 : compiler::TNode<Map> tmp231;
1950 56 : compiler::TNode<Object> tmp232;
1951 56 : ca_.Bind(&block23, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232);
1952 56 : ca_.Goto(&block21, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, tmp232);
1953 : }
1954 :
1955 56 : if (block22.is_used()) {
1956 56 : compiler::TNode<Context> tmp233;
1957 56 : compiler::TNode<JSArray> tmp234;
1958 56 : compiler::TNode<Smi> tmp235;
1959 56 : compiler::TNode<JSReceiver> tmp236;
1960 56 : compiler::TNode<Object> tmp237;
1961 56 : compiler::TNode<Smi> tmp238;
1962 56 : compiler::TNode<JSArray> tmp239;
1963 56 : compiler::TNode<JSArray> tmp240;
1964 56 : compiler::TNode<Map> tmp241;
1965 56 : compiler::TNode<Object> tmp242;
1966 56 : ca_.Bind(&block22, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242);
1967 56 : compiler::TNode<Smi> tmp243;
1968 56 : USE(tmp243);
1969 56 : tmp243 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1970 56 : compiler::TNode<Smi> tmp244;
1971 56 : USE(tmp244);
1972 56 : tmp244 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp238}, compiler::TNode<Smi>{tmp243}));
1973 56 : ca_.Goto(&block1, tmp244);
1974 : }
1975 :
1976 56 : if (block21.is_used()) {
1977 56 : compiler::TNode<Context> tmp245;
1978 56 : compiler::TNode<JSArray> tmp246;
1979 56 : compiler::TNode<Smi> tmp247;
1980 56 : compiler::TNode<JSReceiver> tmp248;
1981 56 : compiler::TNode<Object> tmp249;
1982 56 : compiler::TNode<Smi> tmp250;
1983 56 : compiler::TNode<JSArray> tmp251;
1984 56 : compiler::TNode<JSArray> tmp252;
1985 56 : compiler::TNode<Map> tmp253;
1986 56 : compiler::TNode<Object> tmp254;
1987 56 : ca_.Bind(&block21, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254);
1988 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 79);
1989 56 : ca_.Goto(&block11, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, tmp252, tmp253);
1990 : }
1991 :
1992 56 : if (block11.is_used()) {
1993 56 : compiler::TNode<Context> tmp255;
1994 56 : compiler::TNode<JSArray> tmp256;
1995 56 : compiler::TNode<Smi> tmp257;
1996 56 : compiler::TNode<JSReceiver> tmp258;
1997 56 : compiler::TNode<Object> tmp259;
1998 56 : compiler::TNode<Smi> tmp260;
1999 56 : compiler::TNode<JSArray> tmp261;
2000 56 : compiler::TNode<JSArray> tmp262;
2001 56 : compiler::TNode<Map> tmp263;
2002 56 : ca_.Bind(&block11, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263);
2003 56 : compiler::TNode<Smi> tmp264;
2004 56 : USE(tmp264);
2005 56 : tmp264 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
2006 56 : compiler::TNode<Smi> tmp265;
2007 56 : USE(tmp265);
2008 56 : tmp265 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp260}, compiler::TNode<Smi>{tmp264}));
2009 56 : ca_.Goto(&block10, tmp255, tmp256, tmp257, tmp258, tmp259, tmp265, tmp261, tmp262, tmp263);
2010 : }
2011 :
2012 56 : if (block9.is_used()) {
2013 56 : compiler::TNode<Context> tmp266;
2014 56 : compiler::TNode<JSArray> tmp267;
2015 56 : compiler::TNode<Smi> tmp268;
2016 56 : compiler::TNode<JSReceiver> tmp269;
2017 56 : compiler::TNode<Object> tmp270;
2018 56 : compiler::TNode<Smi> tmp271;
2019 56 : compiler::TNode<JSArray> tmp272;
2020 56 : compiler::TNode<JSArray> tmp273;
2021 56 : compiler::TNode<Map> tmp274;
2022 56 : ca_.Bind(&block9, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274);
2023 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 73);
2024 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 70);
2025 56 : ca_.Goto(&block2, tmp266, tmp267, tmp268, tmp269, tmp270);
2026 : }
2027 :
2028 56 : if (block2.is_used()) {
2029 56 : compiler::TNode<Context> tmp275;
2030 56 : compiler::TNode<JSArray> tmp276;
2031 56 : compiler::TNode<Smi> tmp277;
2032 56 : compiler::TNode<JSReceiver> tmp278;
2033 56 : compiler::TNode<Object> tmp279;
2034 56 : ca_.Bind(&block2, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279);
2035 56 : ca_.Goto(&block28, tmp275, tmp276, tmp277, tmp278, tmp279);
2036 : }
2037 :
2038 56 : if (block1.is_used()) {
2039 56 : compiler::TNode<Smi> tmp280;
2040 56 : ca_.Bind(&block1, &tmp280);
2041 56 : *label_Bailout_parameter_0 = tmp280;
2042 56 : ca_.Goto(label_Bailout);
2043 : }
2044 :
2045 56 : compiler::TNode<Context> tmp281;
2046 56 : compiler::TNode<JSArray> tmp282;
2047 56 : compiler::TNode<Smi> tmp283;
2048 56 : compiler::TNode<JSReceiver> tmp284;
2049 56 : compiler::TNode<Object> tmp285;
2050 112 : ca_.Bind(&block28, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285);
2051 56 : }
2052 :
2053 56 : void ArrayForeachBuiltinsFromDSLAssembler::VisitAllElements10FixedArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_o, compiler::TNode<Smi> p_len, compiler::TNode<JSReceiver> p_callbackfn, compiler::TNode<Object> p_thisArg, compiler::CodeAssemblerLabel* label_Bailout, compiler::TypedCodeAssemblerVariable<Smi>* label_Bailout_parameter_0) {
2054 56 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2055 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2056 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2057 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2058 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2059 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2060 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2061 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2062 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Smi, JSArray> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2063 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2064 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2065 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2066 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, Smi> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2067 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, Smi, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2068 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2069 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2070 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object, Context, JSReceiver, Object, Object, Smi, JSArray> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2071 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2072 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2073 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2074 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2075 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2076 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2077 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2078 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2079 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2080 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2081 112 : compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2082 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2083 56 : ca_.Goto(&block0, p_context, p_o, p_len, p_callbackfn, p_thisArg);
2084 :
2085 56 : if (block0.is_used()) {
2086 56 : compiler::TNode<Context> tmp0;
2087 56 : compiler::TNode<JSArray> tmp1;
2088 56 : compiler::TNode<Smi> tmp2;
2089 56 : compiler::TNode<JSReceiver> tmp3;
2090 56 : compiler::TNode<Object> tmp4;
2091 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
2092 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 74);
2093 56 : compiler::TNode<Smi> tmp5;
2094 56 : USE(tmp5);
2095 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
2096 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 76);
2097 56 : compiler::TNode<JSArray> tmp6;
2098 56 : USE(tmp6);
2099 56 : compiler::CodeAssemblerLabel label0(&ca_);
2100 56 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp1}, &label0);
2101 56 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, ca_.Uninitialized<JSArray>(), ca_.Uninitialized<JSArray>(), ca_.Uninitialized<Map>(), tmp1, tmp6);
2102 56 : if (label0.is_used()) {
2103 56 : ca_.Bind(&label0);
2104 56 : ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, ca_.Uninitialized<JSArray>(), ca_.Uninitialized<JSArray>(), ca_.Uninitialized<Map>(), tmp1);
2105 56 : }
2106 : }
2107 :
2108 56 : if (block6.is_used()) {
2109 56 : compiler::TNode<Context> tmp7;
2110 56 : compiler::TNode<JSArray> tmp8;
2111 56 : compiler::TNode<Smi> tmp9;
2112 56 : compiler::TNode<JSReceiver> tmp10;
2113 56 : compiler::TNode<Object> tmp11;
2114 56 : compiler::TNode<Smi> tmp12;
2115 56 : compiler::TNode<JSArray> tmp13;
2116 56 : compiler::TNode<JSArray> tmp14;
2117 56 : compiler::TNode<Map> tmp15;
2118 56 : compiler::TNode<JSArray> tmp16;
2119 56 : ca_.Bind(&block6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
2120 56 : ca_.Goto(&block4, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15);
2121 : }
2122 :
2123 56 : if (block5.is_used()) {
2124 56 : compiler::TNode<Context> tmp17;
2125 56 : compiler::TNode<JSArray> tmp18;
2126 56 : compiler::TNode<Smi> tmp19;
2127 56 : compiler::TNode<JSReceiver> tmp20;
2128 56 : compiler::TNode<Object> tmp21;
2129 56 : compiler::TNode<Smi> tmp22;
2130 56 : compiler::TNode<JSArray> tmp23;
2131 56 : compiler::TNode<JSArray> tmp24;
2132 56 : compiler::TNode<Map> tmp25;
2133 56 : compiler::TNode<JSArray> tmp26;
2134 56 : compiler::TNode<JSArray> tmp27;
2135 56 : ca_.Bind(&block5, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
2136 56 : ca_.Goto(&block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp27);
2137 : }
2138 :
2139 56 : if (block4.is_used()) {
2140 56 : compiler::TNode<Context> tmp28;
2141 56 : compiler::TNode<JSArray> tmp29;
2142 56 : compiler::TNode<Smi> tmp30;
2143 56 : compiler::TNode<JSReceiver> tmp31;
2144 56 : compiler::TNode<Object> tmp32;
2145 56 : compiler::TNode<Smi> tmp33;
2146 56 : compiler::TNode<JSArray> tmp34;
2147 56 : compiler::TNode<JSArray> tmp35;
2148 56 : compiler::TNode<Map> tmp36;
2149 56 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
2150 56 : ca_.Goto(&block1, tmp33);
2151 : }
2152 :
2153 56 : if (block3.is_used()) {
2154 56 : compiler::TNode<Context> tmp37;
2155 56 : compiler::TNode<JSArray> tmp38;
2156 56 : compiler::TNode<Smi> tmp39;
2157 56 : compiler::TNode<JSReceiver> tmp40;
2158 56 : compiler::TNode<Object> tmp41;
2159 56 : compiler::TNode<Smi> tmp42;
2160 56 : compiler::TNode<JSArray> tmp43;
2161 56 : compiler::TNode<JSArray> tmp44;
2162 56 : compiler::TNode<Map> tmp45;
2163 56 : compiler::TNode<JSArray> tmp46;
2164 56 : ca_.Bind(&block3, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46);
2165 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 909);
2166 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 910);
2167 56 : compiler::TNode<Map> tmp47;
2168 56 : USE(tmp47);
2169 56 : tmp47 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp46}));
2170 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 76);
2171 56 : ca_.Goto(&block7, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp46, tmp46, tmp47, tmp46, tmp46);
2172 : }
2173 :
2174 56 : if (block7.is_used()) {
2175 56 : compiler::TNode<Context> tmp48;
2176 56 : compiler::TNode<JSArray> tmp49;
2177 56 : compiler::TNode<Smi> tmp50;
2178 56 : compiler::TNode<JSReceiver> tmp51;
2179 56 : compiler::TNode<Object> tmp52;
2180 56 : compiler::TNode<Smi> tmp53;
2181 56 : compiler::TNode<JSArray> tmp54;
2182 56 : compiler::TNode<JSArray> tmp55;
2183 56 : compiler::TNode<Map> tmp56;
2184 56 : compiler::TNode<JSArray> tmp57;
2185 56 : compiler::TNode<JSArray> tmp58;
2186 56 : ca_.Bind(&block7, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
2187 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 79);
2188 56 : ca_.Goto(&block10, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56);
2189 : }
2190 :
2191 56 : if (block10.is_used()) {
2192 56 : compiler::TNode<Context> tmp59;
2193 56 : compiler::TNode<JSArray> tmp60;
2194 56 : compiler::TNode<Smi> tmp61;
2195 56 : compiler::TNode<JSReceiver> tmp62;
2196 56 : compiler::TNode<Object> tmp63;
2197 56 : compiler::TNode<Smi> tmp64;
2198 56 : compiler::TNode<JSArray> tmp65;
2199 56 : compiler::TNode<JSArray> tmp66;
2200 56 : compiler::TNode<Map> tmp67;
2201 56 : ca_.Bind(&block10, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
2202 56 : compiler::TNode<BoolT> tmp68;
2203 56 : USE(tmp68);
2204 56 : tmp68 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp64}, compiler::TNode<Smi>{tmp61}));
2205 56 : ca_.Branch(tmp68, &block8, &block9, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67);
2206 : }
2207 :
2208 56 : if (block8.is_used()) {
2209 56 : compiler::TNode<Context> tmp69;
2210 56 : compiler::TNode<JSArray> tmp70;
2211 56 : compiler::TNode<Smi> tmp71;
2212 56 : compiler::TNode<JSReceiver> tmp72;
2213 56 : compiler::TNode<Object> tmp73;
2214 56 : compiler::TNode<Smi> tmp74;
2215 56 : compiler::TNode<JSArray> tmp75;
2216 56 : compiler::TNode<JSArray> tmp76;
2217 56 : compiler::TNode<Map> tmp77;
2218 56 : ca_.Bind(&block8, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
2219 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 81);
2220 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 914);
2221 56 : ca_.Goto(&block14, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp74, tmp76);
2222 : }
2223 :
2224 56 : if (block14.is_used()) {
2225 56 : compiler::TNode<Context> tmp78;
2226 56 : compiler::TNode<JSArray> tmp79;
2227 56 : compiler::TNode<Smi> tmp80;
2228 56 : compiler::TNode<JSReceiver> tmp81;
2229 56 : compiler::TNode<Object> tmp82;
2230 56 : compiler::TNode<Smi> tmp83;
2231 56 : compiler::TNode<JSArray> tmp84;
2232 56 : compiler::TNode<JSArray> tmp85;
2233 56 : compiler::TNode<Map> tmp86;
2234 56 : compiler::TNode<Smi> tmp87;
2235 56 : compiler::TNode<JSArray> tmp88;
2236 56 : ca_.Bind(&block14, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88);
2237 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 81);
2238 56 : compiler::TNode<Smi> tmp89;
2239 56 : USE(tmp89);
2240 56 : tmp89 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp88}));
2241 56 : compiler::TNode<BoolT> tmp90;
2242 56 : USE(tmp90);
2243 56 : tmp90 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThanOrEqual(compiler::TNode<Smi>{tmp87}, compiler::TNode<Smi>{tmp89}));
2244 56 : ca_.Branch(tmp90, &block12, &block13, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86);
2245 : }
2246 :
2247 56 : if (block12.is_used()) {
2248 56 : compiler::TNode<Context> tmp91;
2249 56 : compiler::TNode<JSArray> tmp92;
2250 56 : compiler::TNode<Smi> tmp93;
2251 56 : compiler::TNode<JSReceiver> tmp94;
2252 56 : compiler::TNode<Object> tmp95;
2253 56 : compiler::TNode<Smi> tmp96;
2254 56 : compiler::TNode<JSArray> tmp97;
2255 56 : compiler::TNode<JSArray> tmp98;
2256 56 : compiler::TNode<Map> tmp99;
2257 56 : ca_.Bind(&block12, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99);
2258 56 : ca_.Goto(&block1, tmp96);
2259 : }
2260 :
2261 56 : if (block13.is_used()) {
2262 56 : compiler::TNode<Context> tmp100;
2263 56 : compiler::TNode<JSArray> tmp101;
2264 56 : compiler::TNode<Smi> tmp102;
2265 56 : compiler::TNode<JSReceiver> tmp103;
2266 56 : compiler::TNode<Object> tmp104;
2267 56 : compiler::TNode<Smi> tmp105;
2268 56 : compiler::TNode<JSArray> tmp106;
2269 56 : compiler::TNode<JSArray> tmp107;
2270 56 : compiler::TNode<Map> tmp108;
2271 56 : ca_.Bind(&block13, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108);
2272 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 914);
2273 56 : ca_.Goto(&block17, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp107);
2274 : }
2275 :
2276 56 : if (block17.is_used()) {
2277 56 : compiler::TNode<Context> tmp109;
2278 56 : compiler::TNode<JSArray> tmp110;
2279 56 : compiler::TNode<Smi> tmp111;
2280 56 : compiler::TNode<JSReceiver> tmp112;
2281 56 : compiler::TNode<Object> tmp113;
2282 56 : compiler::TNode<Smi> tmp114;
2283 56 : compiler::TNode<JSArray> tmp115;
2284 56 : compiler::TNode<JSArray> tmp116;
2285 56 : compiler::TNode<Map> tmp117;
2286 56 : compiler::TNode<JSArray> tmp118;
2287 56 : ca_.Bind(&block17, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
2288 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 82);
2289 56 : compiler::TNode<Object> tmp119;
2290 56 : USE(tmp119);
2291 56 : compiler::CodeAssemblerLabel label0(&ca_);
2292 56 : tmp119 = BaseBuiltinsFromDSLAssembler(state_).LoadElementNoHole10FixedArray(compiler::TNode<Context>{tmp109}, compiler::TNode<JSArray>{tmp118}, compiler::TNode<Smi>{tmp114}, &label0);
2293 56 : ca_.Goto(&block18, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp114, tmp119);
2294 56 : if (label0.is_used()) {
2295 56 : ca_.Bind(&label0);
2296 56 : ca_.Goto(&block19, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp114);
2297 56 : }
2298 : }
2299 :
2300 56 : if (block19.is_used()) {
2301 56 : compiler::TNode<Context> tmp120;
2302 56 : compiler::TNode<JSArray> tmp121;
2303 56 : compiler::TNode<Smi> tmp122;
2304 56 : compiler::TNode<JSReceiver> tmp123;
2305 56 : compiler::TNode<Object> tmp124;
2306 56 : compiler::TNode<Smi> tmp125;
2307 56 : compiler::TNode<JSArray> tmp126;
2308 56 : compiler::TNode<JSArray> tmp127;
2309 56 : compiler::TNode<Map> tmp128;
2310 56 : compiler::TNode<JSArray> tmp129;
2311 56 : compiler::TNode<Smi> tmp130;
2312 56 : ca_.Bind(&block19, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130);
2313 56 : ca_.Goto(&block16, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128);
2314 : }
2315 :
2316 56 : if (block18.is_used()) {
2317 56 : compiler::TNode<Context> tmp131;
2318 56 : compiler::TNode<JSArray> tmp132;
2319 56 : compiler::TNode<Smi> tmp133;
2320 56 : compiler::TNode<JSReceiver> tmp134;
2321 56 : compiler::TNode<Object> tmp135;
2322 56 : compiler::TNode<Smi> tmp136;
2323 56 : compiler::TNode<JSArray> tmp137;
2324 56 : compiler::TNode<JSArray> tmp138;
2325 56 : compiler::TNode<Map> tmp139;
2326 56 : compiler::TNode<JSArray> tmp140;
2327 56 : compiler::TNode<Smi> tmp141;
2328 56 : compiler::TNode<Object> tmp142;
2329 56 : ca_.Bind(&block18, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142);
2330 56 : ca_.Goto(&block15, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp142);
2331 : }
2332 :
2333 56 : if (block16.is_used()) {
2334 56 : compiler::TNode<Context> tmp143;
2335 56 : compiler::TNode<JSArray> tmp144;
2336 56 : compiler::TNode<Smi> tmp145;
2337 56 : compiler::TNode<JSReceiver> tmp146;
2338 56 : compiler::TNode<Object> tmp147;
2339 56 : compiler::TNode<Smi> tmp148;
2340 56 : compiler::TNode<JSArray> tmp149;
2341 56 : compiler::TNode<JSArray> tmp150;
2342 56 : compiler::TNode<Map> tmp151;
2343 56 : ca_.Bind(&block16, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151);
2344 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 83);
2345 56 : ca_.Goto(&block11, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151);
2346 : }
2347 :
2348 56 : if (block15.is_used()) {
2349 56 : compiler::TNode<Context> tmp152;
2350 56 : compiler::TNode<JSArray> tmp153;
2351 56 : compiler::TNode<Smi> tmp154;
2352 56 : compiler::TNode<JSReceiver> tmp155;
2353 56 : compiler::TNode<Object> tmp156;
2354 56 : compiler::TNode<Smi> tmp157;
2355 56 : compiler::TNode<JSArray> tmp158;
2356 56 : compiler::TNode<JSArray> tmp159;
2357 56 : compiler::TNode<Map> tmp160;
2358 56 : compiler::TNode<Object> tmp161;
2359 56 : ca_.Bind(&block15, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161);
2360 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 82);
2361 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
2362 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 914);
2363 56 : ca_.Goto(&block20, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp152, tmp155, tmp156, tmp161, tmp157, tmp159);
2364 : }
2365 :
2366 56 : if (block20.is_used()) {
2367 56 : compiler::TNode<Context> tmp162;
2368 56 : compiler::TNode<JSArray> tmp163;
2369 56 : compiler::TNode<Smi> tmp164;
2370 56 : compiler::TNode<JSReceiver> tmp165;
2371 56 : compiler::TNode<Object> tmp166;
2372 56 : compiler::TNode<Smi> tmp167;
2373 56 : compiler::TNode<JSArray> tmp168;
2374 56 : compiler::TNode<JSArray> tmp169;
2375 56 : compiler::TNode<Map> tmp170;
2376 56 : compiler::TNode<Object> tmp171;
2377 56 : compiler::TNode<Context> tmp172;
2378 56 : compiler::TNode<JSReceiver> tmp173;
2379 56 : compiler::TNode<Object> tmp174;
2380 56 : compiler::TNode<Object> tmp175;
2381 56 : compiler::TNode<Smi> tmp176;
2382 56 : compiler::TNode<JSArray> tmp177;
2383 56 : ca_.Bind(&block20, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177);
2384 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
2385 56 : compiler::TNode<Object> tmp178;
2386 56 : USE(tmp178);
2387 56 : tmp178 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp172}, compiler::TNode<JSReceiver>{tmp173}, compiler::TNode<Object>{tmp174}, compiler::TNode<Object>{tmp175}, compiler::TNode<Object>{tmp176}, compiler::TNode<Object>{tmp177}));
2388 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 918);
2389 56 : compiler::TNode<Map> tmp179;
2390 56 : USE(tmp179);
2391 56 : tmp179 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp168}));
2392 56 : compiler::TNode<BoolT> tmp180;
2393 56 : USE(tmp180);
2394 56 : tmp180 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<HeapObject>{tmp179}, compiler::TNode<HeapObject>{tmp170}));
2395 56 : ca_.Branch(tmp180, &block24, &block25, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171);
2396 : }
2397 :
2398 56 : if (block24.is_used()) {
2399 56 : compiler::TNode<Context> tmp181;
2400 56 : compiler::TNode<JSArray> tmp182;
2401 56 : compiler::TNode<Smi> tmp183;
2402 56 : compiler::TNode<JSReceiver> tmp184;
2403 56 : compiler::TNode<Object> tmp185;
2404 56 : compiler::TNode<Smi> tmp186;
2405 56 : compiler::TNode<JSArray> tmp187;
2406 56 : compiler::TNode<JSArray> tmp188;
2407 56 : compiler::TNode<Map> tmp189;
2408 56 : compiler::TNode<Object> tmp190;
2409 56 : ca_.Bind(&block24, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190);
2410 56 : ca_.Goto(&block22, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190);
2411 : }
2412 :
2413 56 : if (block25.is_used()) {
2414 56 : compiler::TNode<Context> tmp191;
2415 56 : compiler::TNode<JSArray> tmp192;
2416 56 : compiler::TNode<Smi> tmp193;
2417 56 : compiler::TNode<JSReceiver> tmp194;
2418 56 : compiler::TNode<Object> tmp195;
2419 56 : compiler::TNode<Smi> tmp196;
2420 56 : compiler::TNode<JSArray> tmp197;
2421 56 : compiler::TNode<JSArray> tmp198;
2422 56 : compiler::TNode<Map> tmp199;
2423 56 : compiler::TNode<Object> tmp200;
2424 56 : ca_.Bind(&block25, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200);
2425 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 925);
2426 56 : compiler::TNode<BoolT> tmp201;
2427 56 : USE(tmp201);
2428 56 : tmp201 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
2429 56 : ca_.Branch(tmp201, &block26, &block27, tmp191, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200);
2430 : }
2431 :
2432 56 : if (block26.is_used()) {
2433 56 : compiler::TNode<Context> tmp202;
2434 56 : compiler::TNode<JSArray> tmp203;
2435 56 : compiler::TNode<Smi> tmp204;
2436 56 : compiler::TNode<JSReceiver> tmp205;
2437 56 : compiler::TNode<Object> tmp206;
2438 56 : compiler::TNode<Smi> tmp207;
2439 56 : compiler::TNode<JSArray> tmp208;
2440 56 : compiler::TNode<JSArray> tmp209;
2441 56 : compiler::TNode<Map> tmp210;
2442 56 : compiler::TNode<Object> tmp211;
2443 56 : ca_.Bind(&block26, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211);
2444 56 : ca_.Goto(&block22, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211);
2445 : }
2446 :
2447 56 : if (block27.is_used()) {
2448 56 : compiler::TNode<Context> tmp212;
2449 56 : compiler::TNode<JSArray> tmp213;
2450 56 : compiler::TNode<Smi> tmp214;
2451 56 : compiler::TNode<JSReceiver> tmp215;
2452 56 : compiler::TNode<Object> tmp216;
2453 56 : compiler::TNode<Smi> tmp217;
2454 56 : compiler::TNode<JSArray> tmp218;
2455 56 : compiler::TNode<JSArray> tmp219;
2456 56 : compiler::TNode<Map> tmp220;
2457 56 : compiler::TNode<Object> tmp221;
2458 56 : ca_.Bind(&block27, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221);
2459 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 926);
2460 56 : compiler::TNode<JSArray> tmp222;
2461 56 : USE(tmp222);
2462 56 : tmp222 = (compiler::TNode<JSArray>{tmp218});
2463 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 85);
2464 56 : ca_.Goto(&block23, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp222, tmp220, tmp221);
2465 : }
2466 :
2467 56 : if (block23.is_used()) {
2468 56 : compiler::TNode<Context> tmp223;
2469 56 : compiler::TNode<JSArray> tmp224;
2470 56 : compiler::TNode<Smi> tmp225;
2471 56 : compiler::TNode<JSReceiver> tmp226;
2472 56 : compiler::TNode<Object> tmp227;
2473 56 : compiler::TNode<Smi> tmp228;
2474 56 : compiler::TNode<JSArray> tmp229;
2475 56 : compiler::TNode<JSArray> tmp230;
2476 56 : compiler::TNode<Map> tmp231;
2477 56 : compiler::TNode<Object> tmp232;
2478 56 : ca_.Bind(&block23, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232);
2479 56 : ca_.Goto(&block21, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, tmp232);
2480 : }
2481 :
2482 56 : if (block22.is_used()) {
2483 56 : compiler::TNode<Context> tmp233;
2484 56 : compiler::TNode<JSArray> tmp234;
2485 56 : compiler::TNode<Smi> tmp235;
2486 56 : compiler::TNode<JSReceiver> tmp236;
2487 56 : compiler::TNode<Object> tmp237;
2488 56 : compiler::TNode<Smi> tmp238;
2489 56 : compiler::TNode<JSArray> tmp239;
2490 56 : compiler::TNode<JSArray> tmp240;
2491 56 : compiler::TNode<Map> tmp241;
2492 56 : compiler::TNode<Object> tmp242;
2493 56 : ca_.Bind(&block22, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242);
2494 56 : compiler::TNode<Smi> tmp243;
2495 56 : USE(tmp243);
2496 56 : tmp243 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
2497 56 : compiler::TNode<Smi> tmp244;
2498 56 : USE(tmp244);
2499 56 : tmp244 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp238}, compiler::TNode<Smi>{tmp243}));
2500 56 : ca_.Goto(&block1, tmp244);
2501 : }
2502 :
2503 56 : if (block21.is_used()) {
2504 56 : compiler::TNode<Context> tmp245;
2505 56 : compiler::TNode<JSArray> tmp246;
2506 56 : compiler::TNode<Smi> tmp247;
2507 56 : compiler::TNode<JSReceiver> tmp248;
2508 56 : compiler::TNode<Object> tmp249;
2509 56 : compiler::TNode<Smi> tmp250;
2510 56 : compiler::TNode<JSArray> tmp251;
2511 56 : compiler::TNode<JSArray> tmp252;
2512 56 : compiler::TNode<Map> tmp253;
2513 56 : compiler::TNode<Object> tmp254;
2514 56 : ca_.Bind(&block21, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254);
2515 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 79);
2516 56 : ca_.Goto(&block11, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, tmp252, tmp253);
2517 : }
2518 :
2519 56 : if (block11.is_used()) {
2520 56 : compiler::TNode<Context> tmp255;
2521 56 : compiler::TNode<JSArray> tmp256;
2522 56 : compiler::TNode<Smi> tmp257;
2523 56 : compiler::TNode<JSReceiver> tmp258;
2524 56 : compiler::TNode<Object> tmp259;
2525 56 : compiler::TNode<Smi> tmp260;
2526 56 : compiler::TNode<JSArray> tmp261;
2527 56 : compiler::TNode<JSArray> tmp262;
2528 56 : compiler::TNode<Map> tmp263;
2529 56 : ca_.Bind(&block11, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263);
2530 56 : compiler::TNode<Smi> tmp264;
2531 56 : USE(tmp264);
2532 56 : tmp264 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
2533 56 : compiler::TNode<Smi> tmp265;
2534 56 : USE(tmp265);
2535 56 : tmp265 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp260}, compiler::TNode<Smi>{tmp264}));
2536 56 : ca_.Goto(&block10, tmp255, tmp256, tmp257, tmp258, tmp259, tmp265, tmp261, tmp262, tmp263);
2537 : }
2538 :
2539 56 : if (block9.is_used()) {
2540 56 : compiler::TNode<Context> tmp266;
2541 56 : compiler::TNode<JSArray> tmp267;
2542 56 : compiler::TNode<Smi> tmp268;
2543 56 : compiler::TNode<JSReceiver> tmp269;
2544 56 : compiler::TNode<Object> tmp270;
2545 56 : compiler::TNode<Smi> tmp271;
2546 56 : compiler::TNode<JSArray> tmp272;
2547 56 : compiler::TNode<JSArray> tmp273;
2548 56 : compiler::TNode<Map> tmp274;
2549 56 : ca_.Bind(&block9, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274);
2550 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 73);
2551 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 70);
2552 56 : ca_.Goto(&block2, tmp266, tmp267, tmp268, tmp269, tmp270);
2553 : }
2554 :
2555 56 : if (block2.is_used()) {
2556 56 : compiler::TNode<Context> tmp275;
2557 56 : compiler::TNode<JSArray> tmp276;
2558 56 : compiler::TNode<Smi> tmp277;
2559 56 : compiler::TNode<JSReceiver> tmp278;
2560 56 : compiler::TNode<Object> tmp279;
2561 56 : ca_.Bind(&block2, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279);
2562 56 : ca_.Goto(&block28, tmp275, tmp276, tmp277, tmp278, tmp279);
2563 : }
2564 :
2565 56 : if (block1.is_used()) {
2566 56 : compiler::TNode<Smi> tmp280;
2567 56 : ca_.Bind(&block1, &tmp280);
2568 56 : *label_Bailout_parameter_0 = tmp280;
2569 56 : ca_.Goto(label_Bailout);
2570 : }
2571 :
2572 56 : compiler::TNode<Context> tmp281;
2573 56 : compiler::TNode<JSArray> tmp282;
2574 56 : compiler::TNode<Smi> tmp283;
2575 56 : compiler::TNode<JSReceiver> tmp284;
2576 56 : compiler::TNode<Object> tmp285;
2577 112 : ca_.Bind(&block28, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285);
2578 56 : }
2579 :
2580 : } // namespace internal
2581 86739 : } // namespace v8
2582 :
|