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/objects/free-space.h"
10 : #include "src/objects/js-generator.h"
11 : #include "src/objects/js-promise.h"
12 : #include "src/objects/js-regexp-string-iterator.h"
13 : #include "src/objects/module.h"
14 : #include "src/objects/stack-frame-info.h"
15 : #include "src/builtins/builtins-regexp-gen.h"
16 : #include "src/builtins/builtins-array-gen.h"
17 : #include "src/builtins/builtins-collections-gen.h"
18 : #include "src/builtins/builtins-data-view-gen.h"
19 : #include "src/builtins/builtins-iterator-gen.h"
20 : #include "src/builtins/builtins-proxy-gen.h"
21 : #include "src/builtins/builtins-proxy-gen.h"
22 : #include "src/builtins/builtins-regexp-gen.h"
23 : #include "src/builtins/builtins-regexp-gen.h"
24 : #include "src/builtins/builtins-regexp-gen.h"
25 : #include "src/builtins/builtins-typed-array-gen.h"
26 : #include "src/builtins/builtins-constructor-gen.h"
27 : #include "src/builtins/builtins-typed-array-gen.h"
28 : #include "src/builtins/builtins-typed-array-gen.h"
29 : #include "src/builtins/builtins-typed-array-gen.h"
30 : #include "src/builtins/builtins-typed-array-gen.h"
31 : #include "src/builtins/builtins-typed-array-gen.h"
32 : #include "src/builtins/builtins-typed-array-gen.h"
33 : #include "src/builtins/builtins-typed-array-gen.h"
34 : #include "src/builtins/builtins-typed-array-gen.h"
35 : #include "torque-generated/builtins-base-from-dsl-gen.h"
36 : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
37 : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
38 : #include "torque-generated/builtins-array-from-dsl-gen.h"
39 : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
40 : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
41 : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
42 : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
43 : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
44 : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
45 : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
46 : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
47 : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
48 : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
49 : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
50 : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
51 : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
52 : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
53 : #include "torque-generated/builtins-collections-from-dsl-gen.h"
54 : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
55 : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
56 : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
57 : #include "torque-generated/builtins-object-from-dsl-gen.h"
58 : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
59 : #include "torque-generated/builtins-regexp-from-dsl-gen.h"
60 : #include "torque-generated/builtins-regexp-replace-from-dsl-gen.h"
61 : #include "torque-generated/builtins-string-from-dsl-gen.h"
62 : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
63 : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
64 : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
65 : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
66 : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
67 : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
68 : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
69 : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
70 : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
71 : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
72 : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
73 : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
74 : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
75 : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
76 : #include "torque-generated/builtins-test-from-dsl-gen.h"
77 :
78 : namespace v8 {
79 : namespace internal {
80 :
81 224 : TF_BUILTIN(ArrayForEachLoopEagerDeoptContinuation, CodeStubAssembler) {
82 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
83 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
84 : USE(parameter0);
85 : compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kReceiver));
86 : USE(parameter1);
87 : compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kCallback));
88 : USE(parameter2);
89 : compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kThisArg));
90 : USE(parameter3);
91 : compiler::TNode<Object> parameter4 = UncheckedCast<Object>(Parameter(Descriptor::kInitialK));
92 : USE(parameter4);
93 : compiler::TNode<Object> parameter5 = UncheckedCast<Object>(Parameter(Descriptor::kLength));
94 : USE(parameter5);
95 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
96 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
97 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
98 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
99 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
100 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
101 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
102 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
103 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
104 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
105 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
106 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
107 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
108 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
109 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object, Number> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
110 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
111 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Number> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
112 : ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3, parameter4, parameter5);
113 :
114 56 : if (block0.is_used()) {
115 : compiler::TNode<Context> tmp0;
116 : compiler::TNode<Object> tmp1;
117 : compiler::TNode<Object> tmp2;
118 : compiler::TNode<Object> tmp3;
119 : compiler::TNode<Object> tmp4;
120 : compiler::TNode<Object> tmp5;
121 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
122 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 13);
123 : compiler::TNode<JSReceiver> tmp6;
124 : USE(tmp6);
125 56 : compiler::CodeAssemblerLabel label0(&ca_);
126 112 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
127 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp1, tmp6);
128 56 : if (label0.is_used()) {
129 56 : ca_.Bind(&label0);
130 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp1);
131 : }
132 : }
133 :
134 56 : if (block4.is_used()) {
135 : compiler::TNode<Context> tmp7;
136 : compiler::TNode<Object> tmp8;
137 : compiler::TNode<Object> tmp9;
138 : compiler::TNode<Object> tmp10;
139 : compiler::TNode<Object> tmp11;
140 : compiler::TNode<Object> tmp12;
141 : compiler::TNode<Object> tmp13;
142 : ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
143 : ca_.Goto(&block2, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12);
144 : }
145 :
146 56 : if (block3.is_used()) {
147 : compiler::TNode<Context> tmp14;
148 : compiler::TNode<Object> tmp15;
149 : compiler::TNode<Object> tmp16;
150 : compiler::TNode<Object> tmp17;
151 : compiler::TNode<Object> tmp18;
152 : compiler::TNode<Object> tmp19;
153 : compiler::TNode<Object> tmp20;
154 : compiler::TNode<JSReceiver> tmp21;
155 : ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
156 : ca_.Goto(&block1, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp21);
157 : }
158 :
159 56 : if (block2.is_used()) {
160 : compiler::TNode<Context> tmp22;
161 : compiler::TNode<Object> tmp23;
162 : compiler::TNode<Object> tmp24;
163 : compiler::TNode<Object> tmp25;
164 : compiler::TNode<Object> tmp26;
165 : compiler::TNode<Object> tmp27;
166 : ca_.Bind(&block2, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
167 112 : CodeStubAssembler(state_).Unreachable();
168 : }
169 :
170 56 : if (block1.is_used()) {
171 : compiler::TNode<Context> tmp28;
172 : compiler::TNode<Object> tmp29;
173 : compiler::TNode<Object> tmp30;
174 : compiler::TNode<Object> tmp31;
175 : compiler::TNode<Object> tmp32;
176 : compiler::TNode<Object> tmp33;
177 : compiler::TNode<JSReceiver> tmp34;
178 : ca_.Bind(&block1, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
179 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 14);
180 : compiler::TNode<JSReceiver> tmp35;
181 : USE(tmp35);
182 56 : compiler::CodeAssemblerLabel label0(&ca_);
183 112 : tmp35 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp28}, compiler::TNode<Object>{tmp30}, &label0);
184 : ca_.Goto(&block7, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30, tmp35);
185 56 : if (label0.is_used()) {
186 56 : ca_.Bind(&label0);
187 : ca_.Goto(&block8, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
188 : }
189 : }
190 :
191 56 : if (block8.is_used()) {
192 : compiler::TNode<Context> tmp36;
193 : compiler::TNode<Object> tmp37;
194 : compiler::TNode<Object> tmp38;
195 : compiler::TNode<Object> tmp39;
196 : compiler::TNode<Object> tmp40;
197 : compiler::TNode<Object> tmp41;
198 : compiler::TNode<JSReceiver> tmp42;
199 : compiler::TNode<Object> tmp43;
200 : ca_.Bind(&block8, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
201 : ca_.Goto(&block6, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
202 : }
203 :
204 56 : if (block7.is_used()) {
205 : compiler::TNode<Context> tmp44;
206 : compiler::TNode<Object> tmp45;
207 : compiler::TNode<Object> tmp46;
208 : compiler::TNode<Object> tmp47;
209 : compiler::TNode<Object> tmp48;
210 : compiler::TNode<Object> tmp49;
211 : compiler::TNode<JSReceiver> tmp50;
212 : compiler::TNode<Object> tmp51;
213 : compiler::TNode<JSReceiver> tmp52;
214 : ca_.Bind(&block7, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
215 : ca_.Goto(&block5, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp52);
216 : }
217 :
218 56 : if (block6.is_used()) {
219 : compiler::TNode<Context> tmp53;
220 : compiler::TNode<Object> tmp54;
221 : compiler::TNode<Object> tmp55;
222 : compiler::TNode<Object> tmp56;
223 : compiler::TNode<Object> tmp57;
224 : compiler::TNode<Object> tmp58;
225 : compiler::TNode<JSReceiver> tmp59;
226 : ca_.Bind(&block6, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
227 112 : CodeStubAssembler(state_).Unreachable();
228 : }
229 :
230 56 : if (block5.is_used()) {
231 : compiler::TNode<Context> tmp60;
232 : compiler::TNode<Object> tmp61;
233 : compiler::TNode<Object> tmp62;
234 : compiler::TNode<Object> tmp63;
235 : compiler::TNode<Object> tmp64;
236 : compiler::TNode<Object> tmp65;
237 : compiler::TNode<JSReceiver> tmp66;
238 : compiler::TNode<JSReceiver> tmp67;
239 : ca_.Bind(&block5, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
240 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 15);
241 : compiler::TNode<Number> tmp68;
242 : USE(tmp68);
243 56 : compiler::CodeAssemblerLabel label0(&ca_);
244 112 : tmp68 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{tmp64}, &label0);
245 : ca_.Goto(&block11, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp64, tmp68);
246 56 : if (label0.is_used()) {
247 56 : ca_.Bind(&label0);
248 : ca_.Goto(&block12, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp64);
249 : }
250 : }
251 :
252 56 : if (block12.is_used()) {
253 : compiler::TNode<Context> tmp69;
254 : compiler::TNode<Object> tmp70;
255 : compiler::TNode<Object> tmp71;
256 : compiler::TNode<Object> tmp72;
257 : compiler::TNode<Object> tmp73;
258 : compiler::TNode<Object> tmp74;
259 : compiler::TNode<JSReceiver> tmp75;
260 : compiler::TNode<JSReceiver> tmp76;
261 : compiler::TNode<Object> tmp77;
262 : ca_.Bind(&block12, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
263 : ca_.Goto(&block10, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76);
264 : }
265 :
266 56 : if (block11.is_used()) {
267 : compiler::TNode<Context> tmp78;
268 : compiler::TNode<Object> tmp79;
269 : compiler::TNode<Object> tmp80;
270 : compiler::TNode<Object> tmp81;
271 : compiler::TNode<Object> tmp82;
272 : compiler::TNode<Object> tmp83;
273 : compiler::TNode<JSReceiver> tmp84;
274 : compiler::TNode<JSReceiver> tmp85;
275 : compiler::TNode<Object> tmp86;
276 : compiler::TNode<Number> tmp87;
277 : ca_.Bind(&block11, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87);
278 : ca_.Goto(&block9, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp87);
279 : }
280 :
281 56 : if (block10.is_used()) {
282 : compiler::TNode<Context> tmp88;
283 : compiler::TNode<Object> tmp89;
284 : compiler::TNode<Object> tmp90;
285 : compiler::TNode<Object> tmp91;
286 : compiler::TNode<Object> tmp92;
287 : compiler::TNode<Object> tmp93;
288 : compiler::TNode<JSReceiver> tmp94;
289 : compiler::TNode<JSReceiver> tmp95;
290 : ca_.Bind(&block10, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95);
291 112 : CodeStubAssembler(state_).Unreachable();
292 : }
293 :
294 56 : if (block9.is_used()) {
295 : compiler::TNode<Context> tmp96;
296 : compiler::TNode<Object> tmp97;
297 : compiler::TNode<Object> tmp98;
298 : compiler::TNode<Object> tmp99;
299 : compiler::TNode<Object> tmp100;
300 : compiler::TNode<Object> tmp101;
301 : compiler::TNode<JSReceiver> tmp102;
302 : compiler::TNode<JSReceiver> tmp103;
303 : compiler::TNode<Number> tmp104;
304 : ca_.Bind(&block9, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104);
305 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 16);
306 : compiler::TNode<Number> tmp105;
307 : USE(tmp105);
308 56 : compiler::CodeAssemblerLabel label0(&ca_);
309 112 : tmp105 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{tmp101}, &label0);
310 : ca_.Goto(&block15, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp101, tmp105);
311 56 : if (label0.is_used()) {
312 56 : ca_.Bind(&label0);
313 : ca_.Goto(&block16, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp101);
314 : }
315 : }
316 :
317 56 : if (block16.is_used()) {
318 : compiler::TNode<Context> tmp106;
319 : compiler::TNode<Object> tmp107;
320 : compiler::TNode<Object> tmp108;
321 : compiler::TNode<Object> tmp109;
322 : compiler::TNode<Object> tmp110;
323 : compiler::TNode<Object> tmp111;
324 : compiler::TNode<JSReceiver> tmp112;
325 : compiler::TNode<JSReceiver> tmp113;
326 : compiler::TNode<Number> tmp114;
327 : compiler::TNode<Object> tmp115;
328 : ca_.Bind(&block16, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
329 : ca_.Goto(&block14, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114);
330 : }
331 :
332 56 : if (block15.is_used()) {
333 : compiler::TNode<Context> tmp116;
334 : compiler::TNode<Object> tmp117;
335 : compiler::TNode<Object> tmp118;
336 : compiler::TNode<Object> tmp119;
337 : compiler::TNode<Object> tmp120;
338 : compiler::TNode<Object> tmp121;
339 : compiler::TNode<JSReceiver> tmp122;
340 : compiler::TNode<JSReceiver> tmp123;
341 : compiler::TNode<Number> tmp124;
342 : compiler::TNode<Object> tmp125;
343 : compiler::TNode<Number> tmp126;
344 : ca_.Bind(&block15, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
345 : ca_.Goto(&block13, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp126);
346 : }
347 :
348 56 : if (block14.is_used()) {
349 : compiler::TNode<Context> tmp127;
350 : compiler::TNode<Object> tmp128;
351 : compiler::TNode<Object> tmp129;
352 : compiler::TNode<Object> tmp130;
353 : compiler::TNode<Object> tmp131;
354 : compiler::TNode<Object> tmp132;
355 : compiler::TNode<JSReceiver> tmp133;
356 : compiler::TNode<JSReceiver> tmp134;
357 : compiler::TNode<Number> tmp135;
358 : ca_.Bind(&block14, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135);
359 112 : CodeStubAssembler(state_).Unreachable();
360 : }
361 :
362 56 : if (block13.is_used()) {
363 : compiler::TNode<Context> tmp136;
364 : compiler::TNode<Object> tmp137;
365 : compiler::TNode<Object> tmp138;
366 : compiler::TNode<Object> tmp139;
367 : compiler::TNode<Object> tmp140;
368 : compiler::TNode<Object> tmp141;
369 : compiler::TNode<JSReceiver> tmp142;
370 : compiler::TNode<JSReceiver> tmp143;
371 : compiler::TNode<Number> tmp144;
372 : compiler::TNode<Number> tmp145;
373 : ca_.Bind(&block13, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145);
374 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 19);
375 : compiler::TNode<Oddball> tmp146;
376 : USE(tmp146);
377 112 : tmp146 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
378 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 20);
379 : compiler::TNode<Oddball> tmp147;
380 : USE(tmp147);
381 112 : tmp147 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
382 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 18);
383 : compiler::TNode<Object> tmp148;
384 112 : tmp148 = CodeStubAssembler(state_).CallBuiltin(Builtins::kArrayForEachLoopContinuation, tmp136, tmp142, tmp143, tmp139, tmp146, tmp142, tmp144, tmp145, tmp147);
385 : USE(tmp148);
386 112 : CodeStubAssembler(state_).Return(tmp148);
387 : }
388 56 : }
389 :
390 224 : TF_BUILTIN(ArrayForEachLoopLazyDeoptContinuation, CodeStubAssembler) {
391 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
392 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
393 : USE(parameter0);
394 : compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kReceiver));
395 : USE(parameter1);
396 : compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kCallback));
397 : USE(parameter2);
398 : compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kThisArg));
399 : USE(parameter3);
400 : compiler::TNode<Object> parameter4 = UncheckedCast<Object>(Parameter(Descriptor::kInitialK));
401 : USE(parameter4);
402 : compiler::TNode<Object> parameter5 = UncheckedCast<Object>(Parameter(Descriptor::kLength));
403 : USE(parameter5);
404 : compiler::TNode<Object> parameter6 = UncheckedCast<Object>(Parameter(Descriptor::kResult));
405 : USE(parameter6);
406 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
407 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
408 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
409 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
410 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
411 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
412 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
413 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
414 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
415 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
416 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
417 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
418 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
419 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
420 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object, Number> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
421 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
422 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Number> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
423 : ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3, parameter4, parameter5, parameter6);
424 :
425 56 : if (block0.is_used()) {
426 : compiler::TNode<Context> tmp0;
427 : compiler::TNode<Object> tmp1;
428 : compiler::TNode<Object> tmp2;
429 : compiler::TNode<Object> tmp3;
430 : compiler::TNode<Object> tmp4;
431 : compiler::TNode<Object> tmp5;
432 : compiler::TNode<Object> tmp6;
433 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
434 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 30);
435 : compiler::TNode<JSReceiver> tmp7;
436 : USE(tmp7);
437 56 : compiler::CodeAssemblerLabel label0(&ca_);
438 112 : tmp7 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
439 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp1, tmp7);
440 56 : if (label0.is_used()) {
441 56 : ca_.Bind(&label0);
442 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp1);
443 : }
444 : }
445 :
446 56 : if (block4.is_used()) {
447 : compiler::TNode<Context> tmp8;
448 : compiler::TNode<Object> tmp9;
449 : compiler::TNode<Object> tmp10;
450 : compiler::TNode<Object> tmp11;
451 : compiler::TNode<Object> tmp12;
452 : compiler::TNode<Object> tmp13;
453 : compiler::TNode<Object> tmp14;
454 : compiler::TNode<Object> tmp15;
455 : ca_.Bind(&block4, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
456 : ca_.Goto(&block2, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
457 : }
458 :
459 56 : if (block3.is_used()) {
460 : compiler::TNode<Context> tmp16;
461 : compiler::TNode<Object> tmp17;
462 : compiler::TNode<Object> tmp18;
463 : compiler::TNode<Object> tmp19;
464 : compiler::TNode<Object> tmp20;
465 : compiler::TNode<Object> tmp21;
466 : compiler::TNode<Object> tmp22;
467 : compiler::TNode<Object> tmp23;
468 : compiler::TNode<JSReceiver> tmp24;
469 : ca_.Bind(&block3, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
470 : ca_.Goto(&block1, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp24);
471 : }
472 :
473 56 : if (block2.is_used()) {
474 : compiler::TNode<Context> tmp25;
475 : compiler::TNode<Object> tmp26;
476 : compiler::TNode<Object> tmp27;
477 : compiler::TNode<Object> tmp28;
478 : compiler::TNode<Object> tmp29;
479 : compiler::TNode<Object> tmp30;
480 : compiler::TNode<Object> tmp31;
481 : ca_.Bind(&block2, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
482 112 : CodeStubAssembler(state_).Unreachable();
483 : }
484 :
485 56 : if (block1.is_used()) {
486 : compiler::TNode<Context> tmp32;
487 : compiler::TNode<Object> tmp33;
488 : compiler::TNode<Object> tmp34;
489 : compiler::TNode<Object> tmp35;
490 : compiler::TNode<Object> tmp36;
491 : compiler::TNode<Object> tmp37;
492 : compiler::TNode<Object> tmp38;
493 : compiler::TNode<JSReceiver> tmp39;
494 : ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
495 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 31);
496 : compiler::TNode<JSReceiver> tmp40;
497 : USE(tmp40);
498 56 : compiler::CodeAssemblerLabel label0(&ca_);
499 112 : tmp40 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp32}, compiler::TNode<Object>{tmp34}, &label0);
500 : ca_.Goto(&block7, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp34, tmp40);
501 56 : if (label0.is_used()) {
502 56 : ca_.Bind(&label0);
503 : ca_.Goto(&block8, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp34);
504 : }
505 : }
506 :
507 56 : if (block8.is_used()) {
508 : compiler::TNode<Context> tmp41;
509 : compiler::TNode<Object> tmp42;
510 : compiler::TNode<Object> tmp43;
511 : compiler::TNode<Object> tmp44;
512 : compiler::TNode<Object> tmp45;
513 : compiler::TNode<Object> tmp46;
514 : compiler::TNode<Object> tmp47;
515 : compiler::TNode<JSReceiver> tmp48;
516 : compiler::TNode<Object> tmp49;
517 : ca_.Bind(&block8, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
518 : ca_.Goto(&block6, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48);
519 : }
520 :
521 56 : if (block7.is_used()) {
522 : compiler::TNode<Context> tmp50;
523 : compiler::TNode<Object> tmp51;
524 : compiler::TNode<Object> tmp52;
525 : compiler::TNode<Object> tmp53;
526 : compiler::TNode<Object> tmp54;
527 : compiler::TNode<Object> tmp55;
528 : compiler::TNode<Object> tmp56;
529 : compiler::TNode<JSReceiver> tmp57;
530 : compiler::TNode<Object> tmp58;
531 : compiler::TNode<JSReceiver> tmp59;
532 : ca_.Bind(&block7, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
533 : ca_.Goto(&block5, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp59);
534 : }
535 :
536 56 : if (block6.is_used()) {
537 : compiler::TNode<Context> tmp60;
538 : compiler::TNode<Object> tmp61;
539 : compiler::TNode<Object> tmp62;
540 : compiler::TNode<Object> tmp63;
541 : compiler::TNode<Object> tmp64;
542 : compiler::TNode<Object> tmp65;
543 : compiler::TNode<Object> tmp66;
544 : compiler::TNode<JSReceiver> tmp67;
545 : ca_.Bind(&block6, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
546 112 : CodeStubAssembler(state_).Unreachable();
547 : }
548 :
549 56 : if (block5.is_used()) {
550 : compiler::TNode<Context> tmp68;
551 : compiler::TNode<Object> tmp69;
552 : compiler::TNode<Object> tmp70;
553 : compiler::TNode<Object> tmp71;
554 : compiler::TNode<Object> tmp72;
555 : compiler::TNode<Object> tmp73;
556 : compiler::TNode<Object> tmp74;
557 : compiler::TNode<JSReceiver> tmp75;
558 : compiler::TNode<JSReceiver> tmp76;
559 : ca_.Bind(&block5, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76);
560 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 32);
561 : compiler::TNode<Number> tmp77;
562 : USE(tmp77);
563 56 : compiler::CodeAssemblerLabel label0(&ca_);
564 112 : tmp77 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{tmp72}, &label0);
565 : ca_.Goto(&block11, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp72, tmp77);
566 56 : if (label0.is_used()) {
567 56 : ca_.Bind(&label0);
568 : ca_.Goto(&block12, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp72);
569 : }
570 : }
571 :
572 56 : if (block12.is_used()) {
573 : compiler::TNode<Context> tmp78;
574 : compiler::TNode<Object> tmp79;
575 : compiler::TNode<Object> tmp80;
576 : compiler::TNode<Object> tmp81;
577 : compiler::TNode<Object> tmp82;
578 : compiler::TNode<Object> tmp83;
579 : compiler::TNode<Object> tmp84;
580 : compiler::TNode<JSReceiver> tmp85;
581 : compiler::TNode<JSReceiver> tmp86;
582 : compiler::TNode<Object> tmp87;
583 : ca_.Bind(&block12, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87);
584 : ca_.Goto(&block10, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86);
585 : }
586 :
587 56 : if (block11.is_used()) {
588 : compiler::TNode<Context> tmp88;
589 : compiler::TNode<Object> tmp89;
590 : compiler::TNode<Object> tmp90;
591 : compiler::TNode<Object> tmp91;
592 : compiler::TNode<Object> tmp92;
593 : compiler::TNode<Object> tmp93;
594 : compiler::TNode<Object> tmp94;
595 : compiler::TNode<JSReceiver> tmp95;
596 : compiler::TNode<JSReceiver> tmp96;
597 : compiler::TNode<Object> tmp97;
598 : compiler::TNode<Number> tmp98;
599 : ca_.Bind(&block11, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98);
600 : ca_.Goto(&block9, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp98);
601 : }
602 :
603 56 : if (block10.is_used()) {
604 : compiler::TNode<Context> tmp99;
605 : compiler::TNode<Object> tmp100;
606 : compiler::TNode<Object> tmp101;
607 : compiler::TNode<Object> tmp102;
608 : compiler::TNode<Object> tmp103;
609 : compiler::TNode<Object> tmp104;
610 : compiler::TNode<Object> tmp105;
611 : compiler::TNode<JSReceiver> tmp106;
612 : compiler::TNode<JSReceiver> tmp107;
613 : ca_.Bind(&block10, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
614 112 : CodeStubAssembler(state_).Unreachable();
615 : }
616 :
617 56 : if (block9.is_used()) {
618 : compiler::TNode<Context> tmp108;
619 : compiler::TNode<Object> tmp109;
620 : compiler::TNode<Object> tmp110;
621 : compiler::TNode<Object> tmp111;
622 : compiler::TNode<Object> tmp112;
623 : compiler::TNode<Object> tmp113;
624 : compiler::TNode<Object> tmp114;
625 : compiler::TNode<JSReceiver> tmp115;
626 : compiler::TNode<JSReceiver> tmp116;
627 : compiler::TNode<Number> tmp117;
628 : ca_.Bind(&block9, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117);
629 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 33);
630 : compiler::TNode<Number> tmp118;
631 : USE(tmp118);
632 56 : compiler::CodeAssemblerLabel label0(&ca_);
633 112 : tmp118 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{tmp113}, &label0);
634 : ca_.Goto(&block15, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp113, tmp118);
635 56 : if (label0.is_used()) {
636 56 : ca_.Bind(&label0);
637 : ca_.Goto(&block16, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp113);
638 : }
639 : }
640 :
641 56 : if (block16.is_used()) {
642 : compiler::TNode<Context> tmp119;
643 : compiler::TNode<Object> tmp120;
644 : compiler::TNode<Object> tmp121;
645 : compiler::TNode<Object> tmp122;
646 : compiler::TNode<Object> tmp123;
647 : compiler::TNode<Object> tmp124;
648 : compiler::TNode<Object> tmp125;
649 : compiler::TNode<JSReceiver> tmp126;
650 : compiler::TNode<JSReceiver> tmp127;
651 : compiler::TNode<Number> tmp128;
652 : compiler::TNode<Object> tmp129;
653 : ca_.Bind(&block16, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129);
654 : ca_.Goto(&block14, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128);
655 : }
656 :
657 56 : if (block15.is_used()) {
658 : compiler::TNode<Context> tmp130;
659 : compiler::TNode<Object> tmp131;
660 : compiler::TNode<Object> tmp132;
661 : compiler::TNode<Object> tmp133;
662 : compiler::TNode<Object> tmp134;
663 : compiler::TNode<Object> tmp135;
664 : compiler::TNode<Object> tmp136;
665 : compiler::TNode<JSReceiver> tmp137;
666 : compiler::TNode<JSReceiver> tmp138;
667 : compiler::TNode<Number> tmp139;
668 : compiler::TNode<Object> tmp140;
669 : compiler::TNode<Number> tmp141;
670 : ca_.Bind(&block15, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141);
671 : ca_.Goto(&block13, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp141);
672 : }
673 :
674 56 : if (block14.is_used()) {
675 : compiler::TNode<Context> tmp142;
676 : compiler::TNode<Object> tmp143;
677 : compiler::TNode<Object> tmp144;
678 : compiler::TNode<Object> tmp145;
679 : compiler::TNode<Object> tmp146;
680 : compiler::TNode<Object> tmp147;
681 : compiler::TNode<Object> tmp148;
682 : compiler::TNode<JSReceiver> tmp149;
683 : compiler::TNode<JSReceiver> tmp150;
684 : compiler::TNode<Number> tmp151;
685 : ca_.Bind(&block14, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151);
686 112 : CodeStubAssembler(state_).Unreachable();
687 : }
688 :
689 56 : if (block13.is_used()) {
690 : compiler::TNode<Context> tmp152;
691 : compiler::TNode<Object> tmp153;
692 : compiler::TNode<Object> tmp154;
693 : compiler::TNode<Object> tmp155;
694 : compiler::TNode<Object> tmp156;
695 : compiler::TNode<Object> tmp157;
696 : compiler::TNode<Object> tmp158;
697 : compiler::TNode<JSReceiver> tmp159;
698 : compiler::TNode<JSReceiver> tmp160;
699 : compiler::TNode<Number> tmp161;
700 : compiler::TNode<Number> tmp162;
701 : ca_.Bind(&block13, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162);
702 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 36);
703 : compiler::TNode<Oddball> tmp163;
704 : USE(tmp163);
705 112 : tmp163 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
706 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 37);
707 : compiler::TNode<Oddball> tmp164;
708 : USE(tmp164);
709 112 : tmp164 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
710 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 35);
711 : compiler::TNode<Object> tmp165;
712 112 : tmp165 = CodeStubAssembler(state_).CallBuiltin(Builtins::kArrayForEachLoopContinuation, tmp152, tmp159, tmp160, tmp155, tmp163, tmp159, tmp161, tmp162, tmp164);
713 : USE(tmp165);
714 112 : CodeStubAssembler(state_).Return(tmp165);
715 : }
716 56 : }
717 :
718 224 : TF_BUILTIN(ArrayForEachLoopContinuation, CodeStubAssembler) {
719 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
720 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
721 : USE(parameter0);
722 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
723 : USE(parameter1);
724 : compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kCallbackfn));
725 : USE(parameter2);
726 : compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kThisArg));
727 : USE(parameter3);
728 : compiler::TNode<Object> parameter4 = UncheckedCast<Object>(Parameter(Descriptor::kArray));
729 : USE(parameter4);
730 : compiler::TNode<JSReceiver> parameter5 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kO));
731 : USE(parameter5);
732 : compiler::TNode<Number> parameter6 = UncheckedCast<Number>(Parameter(Descriptor::kInitialK));
733 : USE(parameter6);
734 : compiler::TNode<Number> parameter7 = UncheckedCast<Number>(Parameter(Descriptor::kLen));
735 : USE(parameter7);
736 : compiler::TNode<Object> parameter8 = UncheckedCast<Object>(Parameter(Descriptor::kTo));
737 : USE(parameter8);
738 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
739 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
740 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
741 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
742 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
743 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Oddball> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
744 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Oddball> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
745 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
746 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
747 : ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3, parameter4, parameter5, parameter6, parameter7, parameter8);
748 :
749 56 : if (block0.is_used()) {
750 : compiler::TNode<Context> tmp0;
751 : compiler::TNode<JSReceiver> tmp1;
752 : compiler::TNode<JSReceiver> tmp2;
753 : compiler::TNode<Object> tmp3;
754 : compiler::TNode<Object> tmp4;
755 : compiler::TNode<JSReceiver> tmp5;
756 : compiler::TNode<Number> tmp6;
757 : compiler::TNode<Number> tmp7;
758 : compiler::TNode<Object> tmp8;
759 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
760 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 48);
761 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp6);
762 : }
763 :
764 56 : if (block3.is_used()) {
765 : compiler::TNode<Context> tmp9;
766 : compiler::TNode<JSReceiver> tmp10;
767 : compiler::TNode<JSReceiver> tmp11;
768 : compiler::TNode<Object> tmp12;
769 : compiler::TNode<Object> tmp13;
770 : compiler::TNode<JSReceiver> tmp14;
771 : compiler::TNode<Number> tmp15;
772 : compiler::TNode<Number> tmp16;
773 : compiler::TNode<Object> tmp17;
774 : compiler::TNode<Number> tmp18;
775 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
776 56 : compiler::CodeAssemblerLabel label0(&ca_);
777 56 : compiler::CodeAssemblerLabel label1(&ca_);
778 112 : CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp18}, compiler::TNode<Number>{tmp16}, &label0, &label1);
779 56 : if (label0.is_used()) {
780 56 : ca_.Bind(&label0);
781 : ca_.Goto(&block5, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp18, tmp16);
782 : }
783 56 : if (label1.is_used()) {
784 56 : ca_.Bind(&label1);
785 : ca_.Goto(&block6, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp18, tmp16);
786 : }
787 : }
788 :
789 56 : if (block5.is_used()) {
790 : compiler::TNode<Context> tmp19;
791 : compiler::TNode<JSReceiver> tmp20;
792 : compiler::TNode<JSReceiver> tmp21;
793 : compiler::TNode<Object> tmp22;
794 : compiler::TNode<Object> tmp23;
795 : compiler::TNode<JSReceiver> tmp24;
796 : compiler::TNode<Number> tmp25;
797 : compiler::TNode<Number> tmp26;
798 : compiler::TNode<Object> tmp27;
799 : compiler::TNode<Number> tmp28;
800 : compiler::TNode<Number> tmp29;
801 : compiler::TNode<Number> tmp30;
802 : ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
803 : ca_.Goto(&block1, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28);
804 : }
805 :
806 56 : if (block6.is_used()) {
807 : compiler::TNode<Context> tmp31;
808 : compiler::TNode<JSReceiver> tmp32;
809 : compiler::TNode<JSReceiver> tmp33;
810 : compiler::TNode<Object> tmp34;
811 : compiler::TNode<Object> tmp35;
812 : compiler::TNode<JSReceiver> tmp36;
813 : compiler::TNode<Number> tmp37;
814 : compiler::TNode<Number> tmp38;
815 : compiler::TNode<Object> tmp39;
816 : compiler::TNode<Number> tmp40;
817 : compiler::TNode<Number> tmp41;
818 : compiler::TNode<Number> tmp42;
819 : ca_.Bind(&block6, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42);
820 : ca_.Goto(&block2, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40);
821 : }
822 :
823 56 : if (block1.is_used()) {
824 : compiler::TNode<Context> tmp43;
825 : compiler::TNode<JSReceiver> tmp44;
826 : compiler::TNode<JSReceiver> tmp45;
827 : compiler::TNode<Object> tmp46;
828 : compiler::TNode<Object> tmp47;
829 : compiler::TNode<JSReceiver> tmp48;
830 : compiler::TNode<Number> tmp49;
831 : compiler::TNode<Number> tmp50;
832 : compiler::TNode<Object> tmp51;
833 : compiler::TNode<Number> tmp52;
834 : ca_.Bind(&block1, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
835 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 54);
836 : compiler::TNode<Oddball> tmp53;
837 : USE(tmp53);
838 112 : tmp53 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).HasProperty_Inline(compiler::TNode<Context>{tmp43}, compiler::TNode<JSReceiver>{tmp48}, compiler::TNode<Object>{tmp52}));
839 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 57);
840 : compiler::TNode<Oddball> tmp54;
841 : USE(tmp54);
842 112 : tmp54 = BaseBuiltinsFromDSLAssembler(state_).True();
843 : compiler::TNode<BoolT> tmp55;
844 : USE(tmp55);
845 112 : tmp55 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp53}, compiler::TNode<HeapObject>{tmp54}));
846 56 : ca_.Branch(tmp55, &block7, &block8, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53);
847 : }
848 :
849 56 : if (block7.is_used()) {
850 : compiler::TNode<Context> tmp56;
851 : compiler::TNode<JSReceiver> tmp57;
852 : compiler::TNode<JSReceiver> tmp58;
853 : compiler::TNode<Object> tmp59;
854 : compiler::TNode<Object> tmp60;
855 : compiler::TNode<JSReceiver> tmp61;
856 : compiler::TNode<Number> tmp62;
857 : compiler::TNode<Number> tmp63;
858 : compiler::TNode<Object> tmp64;
859 : compiler::TNode<Number> tmp65;
860 : compiler::TNode<Oddball> tmp66;
861 : ca_.Bind(&block7, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
862 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 59);
863 : compiler::TNode<Object> tmp67;
864 : USE(tmp67);
865 112 : tmp67 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp56}, compiler::TNode<Object>{tmp61}, compiler::TNode<Object>{tmp65}));
866 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 62);
867 : compiler::TNode<Object> tmp68;
868 : USE(tmp68);
869 168 : 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}));
870 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 57);
871 : ca_.Goto(&block8, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66);
872 : }
873 :
874 56 : if (block8.is_used()) {
875 : compiler::TNode<Context> tmp69;
876 : compiler::TNode<JSReceiver> tmp70;
877 : compiler::TNode<JSReceiver> tmp71;
878 : compiler::TNode<Object> tmp72;
879 : compiler::TNode<Object> tmp73;
880 : compiler::TNode<JSReceiver> tmp74;
881 : compiler::TNode<Number> tmp75;
882 : compiler::TNode<Number> tmp76;
883 : compiler::TNode<Object> tmp77;
884 : compiler::TNode<Number> tmp78;
885 : compiler::TNode<Oddball> tmp79;
886 : ca_.Bind(&block8, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79);
887 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 48);
888 : ca_.Goto(&block4, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78);
889 : }
890 :
891 56 : if (block4.is_used()) {
892 : compiler::TNode<Context> tmp80;
893 : compiler::TNode<JSReceiver> tmp81;
894 : compiler::TNode<JSReceiver> tmp82;
895 : compiler::TNode<Object> tmp83;
896 : compiler::TNode<Object> tmp84;
897 : compiler::TNode<JSReceiver> tmp85;
898 : compiler::TNode<Number> tmp86;
899 : compiler::TNode<Number> tmp87;
900 : compiler::TNode<Object> tmp88;
901 : compiler::TNode<Number> tmp89;
902 : ca_.Bind(&block4, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89);
903 : compiler::TNode<Number> tmp90;
904 : USE(tmp90);
905 112 : tmp90 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
906 : compiler::TNode<Number> tmp91;
907 : USE(tmp91);
908 168 : tmp91 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp89}, compiler::TNode<Number>{tmp90}));
909 : ca_.Goto(&block3, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp91);
910 : }
911 :
912 56 : if (block2.is_used()) {
913 : compiler::TNode<Context> tmp92;
914 : compiler::TNode<JSReceiver> tmp93;
915 : compiler::TNode<JSReceiver> tmp94;
916 : compiler::TNode<Object> tmp95;
917 : compiler::TNode<Object> tmp96;
918 : compiler::TNode<JSReceiver> tmp97;
919 : compiler::TNode<Number> tmp98;
920 : compiler::TNode<Number> tmp99;
921 : compiler::TNode<Object> tmp100;
922 : compiler::TNode<Number> tmp101;
923 : ca_.Bind(&block2, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101);
924 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 67);
925 : compiler::TNode<Oddball> tmp102;
926 : USE(tmp102);
927 112 : tmp102 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
928 112 : CodeStubAssembler(state_).Return(tmp102);
929 : }
930 56 : }
931 :
932 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) {
933 56 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
934 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
935 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Number, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
936 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
937 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
938 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
939 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSReceiver, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
940 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
941 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
942 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
943 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
944 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
945 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
946 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
947 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
948 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
949 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
950 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
951 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, JSArray> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
952 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
953 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
954 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
955 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, JSArray, Smi> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
956 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, JSArray, Smi, Object> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
957 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
958 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, JSArray, Smi> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
959 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, JSArray, Smi, Object> block33(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
960 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, Object> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
961 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
962 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
963 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Object, Context, JSReceiver, Object, Object, Smi, JSArray> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
964 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
965 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
966 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
967 : compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
968 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Object> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
969 : ca_.Goto(&block0, p_context, p_o, p_len, p_callbackfn, p_thisArg);
970 :
971 56 : if (block0.is_used()) {
972 : compiler::TNode<Context> tmp0;
973 : compiler::TNode<JSReceiver> tmp1;
974 : compiler::TNode<Number> tmp2;
975 : compiler::TNode<JSReceiver> tmp3;
976 : compiler::TNode<Object> tmp4;
977 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
978 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 73);
979 : compiler::TNode<Smi> tmp5;
980 : USE(tmp5);
981 168 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
982 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 74);
983 : compiler::TNode<Smi> tmp6;
984 : USE(tmp6);
985 56 : compiler::CodeAssemblerLabel label0(&ca_);
986 168 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp2}, &label0);
987 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp2, tmp6);
988 56 : if (label0.is_used()) {
989 56 : ca_.Bind(&label0);
990 : ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp2);
991 : }
992 : }
993 :
994 56 : if (block6.is_used()) {
995 : compiler::TNode<Context> tmp7;
996 : compiler::TNode<JSReceiver> tmp8;
997 : compiler::TNode<Number> tmp9;
998 : compiler::TNode<JSReceiver> tmp10;
999 : compiler::TNode<Object> tmp11;
1000 : compiler::TNode<Smi> tmp12;
1001 : compiler::TNode<Number> tmp13;
1002 : ca_.Bind(&block6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
1003 : ca_.Goto(&block4, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12);
1004 : }
1005 :
1006 56 : if (block5.is_used()) {
1007 : compiler::TNode<Context> tmp14;
1008 : compiler::TNode<JSReceiver> tmp15;
1009 : compiler::TNode<Number> tmp16;
1010 : compiler::TNode<JSReceiver> tmp17;
1011 : compiler::TNode<Object> tmp18;
1012 : compiler::TNode<Smi> tmp19;
1013 : compiler::TNode<Number> tmp20;
1014 : compiler::TNode<Smi> tmp21;
1015 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
1016 : ca_.Goto(&block3, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp21);
1017 : }
1018 :
1019 56 : if (block4.is_used()) {
1020 : compiler::TNode<Context> tmp22;
1021 : compiler::TNode<JSReceiver> tmp23;
1022 : compiler::TNode<Number> tmp24;
1023 : compiler::TNode<JSReceiver> tmp25;
1024 : compiler::TNode<Object> tmp26;
1025 : compiler::TNode<Smi> tmp27;
1026 : ca_.Bind(&block4, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
1027 : ca_.Goto(&block1, tmp27);
1028 : }
1029 :
1030 56 : if (block3.is_used()) {
1031 : compiler::TNode<Context> tmp28;
1032 : compiler::TNode<JSReceiver> tmp29;
1033 : compiler::TNode<Number> tmp30;
1034 : compiler::TNode<JSReceiver> tmp31;
1035 : compiler::TNode<Object> tmp32;
1036 : compiler::TNode<Smi> tmp33;
1037 : compiler::TNode<Smi> tmp34;
1038 : ca_.Bind(&block3, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
1039 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 75);
1040 : compiler::TNode<JSArray> tmp35;
1041 : USE(tmp35);
1042 56 : compiler::CodeAssemblerLabel label0(&ca_);
1043 168 : tmp35 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp28}, compiler::TNode<HeapObject>{tmp29}, &label0);
1044 : ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp29, tmp35);
1045 56 : if (label0.is_used()) {
1046 56 : ca_.Bind(&label0);
1047 : ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp29);
1048 : }
1049 : }
1050 :
1051 56 : if (block10.is_used()) {
1052 : compiler::TNode<Context> tmp36;
1053 : compiler::TNode<JSReceiver> tmp37;
1054 : compiler::TNode<Number> tmp38;
1055 : compiler::TNode<JSReceiver> tmp39;
1056 : compiler::TNode<Object> tmp40;
1057 : compiler::TNode<Smi> tmp41;
1058 : compiler::TNode<Smi> tmp42;
1059 : compiler::TNode<JSReceiver> tmp43;
1060 : ca_.Bind(&block10, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
1061 : ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
1062 : }
1063 :
1064 56 : if (block9.is_used()) {
1065 : compiler::TNode<Context> tmp44;
1066 : compiler::TNode<JSReceiver> tmp45;
1067 : compiler::TNode<Number> tmp46;
1068 : compiler::TNode<JSReceiver> tmp47;
1069 : compiler::TNode<Object> tmp48;
1070 : compiler::TNode<Smi> tmp49;
1071 : compiler::TNode<Smi> tmp50;
1072 : compiler::TNode<JSReceiver> tmp51;
1073 : compiler::TNode<JSArray> tmp52;
1074 : ca_.Bind(&block9, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
1075 : ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp52);
1076 : }
1077 :
1078 56 : if (block8.is_used()) {
1079 : compiler::TNode<Context> tmp53;
1080 : compiler::TNode<JSReceiver> tmp54;
1081 : compiler::TNode<Number> tmp55;
1082 : compiler::TNode<JSReceiver> tmp56;
1083 : compiler::TNode<Object> tmp57;
1084 : compiler::TNode<Smi> tmp58;
1085 : compiler::TNode<Smi> tmp59;
1086 : ca_.Bind(&block8, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
1087 : ca_.Goto(&block1, tmp58);
1088 : }
1089 :
1090 56 : if (block7.is_used()) {
1091 : compiler::TNode<Context> tmp60;
1092 : compiler::TNode<JSReceiver> tmp61;
1093 : compiler::TNode<Number> tmp62;
1094 : compiler::TNode<JSReceiver> tmp63;
1095 : compiler::TNode<Object> tmp64;
1096 : compiler::TNode<Smi> tmp65;
1097 : compiler::TNode<Smi> tmp66;
1098 : compiler::TNode<JSArray> tmp67;
1099 : ca_.Bind(&block7, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
1100 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 76);
1101 : compiler::TNode<JSArray> tmp68;
1102 : USE(tmp68);
1103 : compiler::TNode<JSArray> tmp69;
1104 : USE(tmp69);
1105 : compiler::TNode<Map> tmp70;
1106 : USE(tmp70);
1107 : compiler::TNode<BoolT> tmp71;
1108 : USE(tmp71);
1109 : compiler::TNode<BoolT> tmp72;
1110 : USE(tmp72);
1111 : compiler::TNode<BoolT> tmp73;
1112 : USE(tmp73);
1113 224 : std::tie(tmp68, tmp69, tmp70, tmp71, tmp72, tmp73) = BaseBuiltinsFromDSLAssembler(state_).NewFastJSArrayWitness(compiler::TNode<JSArray>{tmp67}).Flatten();
1114 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 79);
1115 : ca_.Goto(&block13, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
1116 : }
1117 :
1118 56 : if (block13.is_used()) {
1119 : compiler::TNode<Context> tmp74;
1120 : compiler::TNode<JSReceiver> tmp75;
1121 : compiler::TNode<Number> tmp76;
1122 : compiler::TNode<JSReceiver> tmp77;
1123 : compiler::TNode<Object> tmp78;
1124 : compiler::TNode<Smi> tmp79;
1125 : compiler::TNode<Smi> tmp80;
1126 : compiler::TNode<JSArray> tmp81;
1127 : compiler::TNode<JSArray> tmp82;
1128 : compiler::TNode<JSArray> tmp83;
1129 : compiler::TNode<Map> tmp84;
1130 : compiler::TNode<BoolT> tmp85;
1131 : compiler::TNode<BoolT> tmp86;
1132 : compiler::TNode<BoolT> tmp87;
1133 : ca_.Bind(&block13, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87);
1134 : compiler::TNode<BoolT> tmp88;
1135 : USE(tmp88);
1136 112 : tmp88 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp79}, compiler::TNode<Smi>{tmp80}));
1137 56 : ca_.Branch(tmp88, &block11, &block12, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87);
1138 : }
1139 :
1140 56 : if (block11.is_used()) {
1141 : compiler::TNode<Context> tmp89;
1142 : compiler::TNode<JSReceiver> tmp90;
1143 : compiler::TNode<Number> tmp91;
1144 : compiler::TNode<JSReceiver> tmp92;
1145 : compiler::TNode<Object> tmp93;
1146 : compiler::TNode<Smi> tmp94;
1147 : compiler::TNode<Smi> tmp95;
1148 : compiler::TNode<JSArray> tmp96;
1149 : compiler::TNode<JSArray> tmp97;
1150 : compiler::TNode<JSArray> tmp98;
1151 : compiler::TNode<Map> tmp99;
1152 : compiler::TNode<BoolT> tmp100;
1153 : compiler::TNode<BoolT> tmp101;
1154 : compiler::TNode<BoolT> tmp102;
1155 : ca_.Bind(&block11, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102);
1156 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 2084);
1157 56 : compiler::TNode<IntPtrT> tmp103 = ca_.IntPtrConstant(HeapObject::kMapOffset);
1158 : USE(tmp103);
1159 112 : compiler::TNode<Map>tmp104 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp97, tmp103});
1160 : compiler::TNode<BoolT> tmp105;
1161 : USE(tmp105);
1162 112 : tmp105 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<HeapObject>{tmp104}, compiler::TNode<HeapObject>{tmp99}));
1163 56 : ca_.Branch(tmp105, &block18, &block19, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102);
1164 : }
1165 :
1166 56 : if (block18.is_used()) {
1167 : compiler::TNode<Context> tmp106;
1168 : compiler::TNode<JSReceiver> tmp107;
1169 : compiler::TNode<Number> tmp108;
1170 : compiler::TNode<JSReceiver> tmp109;
1171 : compiler::TNode<Object> tmp110;
1172 : compiler::TNode<Smi> tmp111;
1173 : compiler::TNode<Smi> tmp112;
1174 : compiler::TNode<JSArray> tmp113;
1175 : compiler::TNode<JSArray> tmp114;
1176 : compiler::TNode<JSArray> tmp115;
1177 : compiler::TNode<Map> tmp116;
1178 : compiler::TNode<BoolT> tmp117;
1179 : compiler::TNode<BoolT> tmp118;
1180 : compiler::TNode<BoolT> tmp119;
1181 : ca_.Bind(&block18, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119);
1182 : ca_.Goto(&block16, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119);
1183 : }
1184 :
1185 56 : if (block19.is_used()) {
1186 : compiler::TNode<Context> tmp120;
1187 : compiler::TNode<JSReceiver> tmp121;
1188 : compiler::TNode<Number> tmp122;
1189 : compiler::TNode<JSReceiver> tmp123;
1190 : compiler::TNode<Object> tmp124;
1191 : compiler::TNode<Smi> tmp125;
1192 : compiler::TNode<Smi> tmp126;
1193 : compiler::TNode<JSArray> tmp127;
1194 : compiler::TNode<JSArray> tmp128;
1195 : compiler::TNode<JSArray> tmp129;
1196 : compiler::TNode<Map> tmp130;
1197 : compiler::TNode<BoolT> tmp131;
1198 : compiler::TNode<BoolT> tmp132;
1199 : compiler::TNode<BoolT> tmp133;
1200 : ca_.Bind(&block19, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133);
1201 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 2091);
1202 : compiler::TNode<BoolT> tmp134;
1203 : USE(tmp134);
1204 112 : tmp134 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
1205 56 : ca_.Branch(tmp134, &block20, &block21, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133);
1206 : }
1207 :
1208 56 : if (block20.is_used()) {
1209 : compiler::TNode<Context> tmp135;
1210 : compiler::TNode<JSReceiver> tmp136;
1211 : compiler::TNode<Number> tmp137;
1212 : compiler::TNode<JSReceiver> tmp138;
1213 : compiler::TNode<Object> tmp139;
1214 : compiler::TNode<Smi> tmp140;
1215 : compiler::TNode<Smi> tmp141;
1216 : compiler::TNode<JSArray> tmp142;
1217 : compiler::TNode<JSArray> tmp143;
1218 : compiler::TNode<JSArray> tmp144;
1219 : compiler::TNode<Map> tmp145;
1220 : compiler::TNode<BoolT> tmp146;
1221 : compiler::TNode<BoolT> tmp147;
1222 : compiler::TNode<BoolT> tmp148;
1223 : ca_.Bind(&block20, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148);
1224 : ca_.Goto(&block16, tmp135, tmp136, tmp137, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148);
1225 : }
1226 :
1227 56 : if (block21.is_used()) {
1228 : compiler::TNode<Context> tmp149;
1229 : compiler::TNode<JSReceiver> tmp150;
1230 : compiler::TNode<Number> tmp151;
1231 : compiler::TNode<JSReceiver> tmp152;
1232 : compiler::TNode<Object> tmp153;
1233 : compiler::TNode<Smi> tmp154;
1234 : compiler::TNode<Smi> tmp155;
1235 : compiler::TNode<JSArray> tmp156;
1236 : compiler::TNode<JSArray> tmp157;
1237 : compiler::TNode<JSArray> tmp158;
1238 : compiler::TNode<Map> tmp159;
1239 : compiler::TNode<BoolT> tmp160;
1240 : compiler::TNode<BoolT> tmp161;
1241 : compiler::TNode<BoolT> tmp162;
1242 : ca_.Bind(&block21, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162);
1243 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 2092);
1244 : compiler::TNode<JSArray> tmp163;
1245 : USE(tmp163);
1246 : tmp163 = (compiler::TNode<JSArray>{tmp157});
1247 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 80);
1248 : ca_.Goto(&block17, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp163, tmp159, tmp160, tmp161, tmp162);
1249 : }
1250 :
1251 56 : if (block17.is_used()) {
1252 : compiler::TNode<Context> tmp164;
1253 : compiler::TNode<JSReceiver> tmp165;
1254 : compiler::TNode<Number> tmp166;
1255 : compiler::TNode<JSReceiver> tmp167;
1256 : compiler::TNode<Object> tmp168;
1257 : compiler::TNode<Smi> tmp169;
1258 : compiler::TNode<Smi> tmp170;
1259 : compiler::TNode<JSArray> tmp171;
1260 : compiler::TNode<JSArray> tmp172;
1261 : compiler::TNode<JSArray> tmp173;
1262 : compiler::TNode<Map> tmp174;
1263 : compiler::TNode<BoolT> tmp175;
1264 : compiler::TNode<BoolT> tmp176;
1265 : compiler::TNode<BoolT> tmp177;
1266 : ca_.Bind(&block17, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177);
1267 : ca_.Goto(&block15, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177);
1268 : }
1269 :
1270 56 : if (block16.is_used()) {
1271 : compiler::TNode<Context> tmp178;
1272 : compiler::TNode<JSReceiver> tmp179;
1273 : compiler::TNode<Number> tmp180;
1274 : compiler::TNode<JSReceiver> tmp181;
1275 : compiler::TNode<Object> tmp182;
1276 : compiler::TNode<Smi> tmp183;
1277 : compiler::TNode<Smi> tmp184;
1278 : compiler::TNode<JSArray> tmp185;
1279 : compiler::TNode<JSArray> tmp186;
1280 : compiler::TNode<JSArray> tmp187;
1281 : compiler::TNode<Map> tmp188;
1282 : compiler::TNode<BoolT> tmp189;
1283 : compiler::TNode<BoolT> tmp190;
1284 : compiler::TNode<BoolT> tmp191;
1285 : ca_.Bind(&block16, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191);
1286 : ca_.Goto(&block1, tmp183);
1287 : }
1288 :
1289 56 : if (block15.is_used()) {
1290 : compiler::TNode<Context> tmp192;
1291 : compiler::TNode<JSReceiver> tmp193;
1292 : compiler::TNode<Number> tmp194;
1293 : compiler::TNode<JSReceiver> tmp195;
1294 : compiler::TNode<Object> tmp196;
1295 : compiler::TNode<Smi> tmp197;
1296 : compiler::TNode<Smi> tmp198;
1297 : compiler::TNode<JSArray> tmp199;
1298 : compiler::TNode<JSArray> tmp200;
1299 : compiler::TNode<JSArray> tmp201;
1300 : compiler::TNode<Map> tmp202;
1301 : compiler::TNode<BoolT> tmp203;
1302 : compiler::TNode<BoolT> tmp204;
1303 : compiler::TNode<BoolT> tmp205;
1304 : ca_.Bind(&block15, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205);
1305 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 83);
1306 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 2080);
1307 : ca_.Goto(&block24, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp197, tmp201);
1308 : }
1309 :
1310 56 : if (block24.is_used()) {
1311 : compiler::TNode<Context> tmp206;
1312 : compiler::TNode<JSReceiver> tmp207;
1313 : compiler::TNode<Number> tmp208;
1314 : compiler::TNode<JSReceiver> tmp209;
1315 : compiler::TNode<Object> tmp210;
1316 : compiler::TNode<Smi> tmp211;
1317 : compiler::TNode<Smi> tmp212;
1318 : compiler::TNode<JSArray> tmp213;
1319 : compiler::TNode<JSArray> tmp214;
1320 : compiler::TNode<JSArray> tmp215;
1321 : compiler::TNode<Map> tmp216;
1322 : compiler::TNode<BoolT> tmp217;
1323 : compiler::TNode<BoolT> tmp218;
1324 : compiler::TNode<BoolT> tmp219;
1325 : compiler::TNode<Smi> tmp220;
1326 : compiler::TNode<JSArray> tmp221;
1327 : ca_.Bind(&block24, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221);
1328 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 83);
1329 : compiler::TNode<Smi> tmp222;
1330 : USE(tmp222);
1331 168 : tmp222 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp221}));
1332 : compiler::TNode<BoolT> tmp223;
1333 : USE(tmp223);
1334 112 : tmp223 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThanOrEqual(compiler::TNode<Smi>{tmp220}, compiler::TNode<Smi>{tmp222}));
1335 56 : ca_.Branch(tmp223, &block22, &block23, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219);
1336 : }
1337 :
1338 56 : if (block22.is_used()) {
1339 : compiler::TNode<Context> tmp224;
1340 : compiler::TNode<JSReceiver> tmp225;
1341 : compiler::TNode<Number> tmp226;
1342 : compiler::TNode<JSReceiver> tmp227;
1343 : compiler::TNode<Object> tmp228;
1344 : compiler::TNode<Smi> tmp229;
1345 : compiler::TNode<Smi> tmp230;
1346 : compiler::TNode<JSArray> tmp231;
1347 : compiler::TNode<JSArray> tmp232;
1348 : compiler::TNode<JSArray> tmp233;
1349 : compiler::TNode<Map> tmp234;
1350 : compiler::TNode<BoolT> tmp235;
1351 : compiler::TNode<BoolT> tmp236;
1352 : compiler::TNode<BoolT> tmp237;
1353 : ca_.Bind(&block22, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237);
1354 : ca_.Goto(&block1, tmp229);
1355 : }
1356 :
1357 56 : if (block23.is_used()) {
1358 : compiler::TNode<Context> tmp238;
1359 : compiler::TNode<JSReceiver> tmp239;
1360 : compiler::TNode<Number> tmp240;
1361 : compiler::TNode<JSReceiver> tmp241;
1362 : compiler::TNode<Object> tmp242;
1363 : compiler::TNode<Smi> tmp243;
1364 : compiler::TNode<Smi> tmp244;
1365 : compiler::TNode<JSArray> tmp245;
1366 : compiler::TNode<JSArray> tmp246;
1367 : compiler::TNode<JSArray> tmp247;
1368 : compiler::TNode<Map> tmp248;
1369 : compiler::TNode<BoolT> tmp249;
1370 : compiler::TNode<BoolT> tmp250;
1371 : compiler::TNode<BoolT> tmp251;
1372 : ca_.Bind(&block23, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251);
1373 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
1374 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 2097);
1375 56 : ca_.Branch(tmp249, &block28, &block29, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, tmp243, tmp238, tmp243);
1376 : }
1377 :
1378 56 : if (block28.is_used()) {
1379 : compiler::TNode<Context> tmp252;
1380 : compiler::TNode<JSReceiver> tmp253;
1381 : compiler::TNode<Number> tmp254;
1382 : compiler::TNode<JSReceiver> tmp255;
1383 : compiler::TNode<Object> tmp256;
1384 : compiler::TNode<Smi> tmp257;
1385 : compiler::TNode<Smi> tmp258;
1386 : compiler::TNode<JSArray> tmp259;
1387 : compiler::TNode<JSArray> tmp260;
1388 : compiler::TNode<JSArray> tmp261;
1389 : compiler::TNode<Map> tmp262;
1390 : compiler::TNode<BoolT> tmp263;
1391 : compiler::TNode<BoolT> tmp264;
1392 : compiler::TNode<BoolT> tmp265;
1393 : compiler::TNode<Smi> tmp266;
1394 : compiler::TNode<Context> tmp267;
1395 : compiler::TNode<Smi> tmp268;
1396 : ca_.Bind(&block28, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268);
1397 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 2098);
1398 : compiler::TNode<Object> tmp269;
1399 : USE(tmp269);
1400 56 : compiler::CodeAssemblerLabel label0(&ca_);
1401 168 : tmp269 = BaseBuiltinsFromDSLAssembler(state_).LoadElementNoHole16FixedDoubleArray(compiler::TNode<Context>{tmp267}, compiler::TNode<JSArray>{tmp261}, compiler::TNode<Smi>{tmp268}, &label0);
1402 : ca_.Goto(&block31, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp261, tmp268, tmp269);
1403 56 : if (label0.is_used()) {
1404 56 : ca_.Bind(&label0);
1405 : ca_.Goto(&block32, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp261, tmp268);
1406 : }
1407 : }
1408 :
1409 56 : if (block32.is_used()) {
1410 : compiler::TNode<Context> tmp270;
1411 : compiler::TNode<JSReceiver> tmp271;
1412 : compiler::TNode<Number> tmp272;
1413 : compiler::TNode<JSReceiver> tmp273;
1414 : compiler::TNode<Object> tmp274;
1415 : compiler::TNode<Smi> tmp275;
1416 : compiler::TNode<Smi> tmp276;
1417 : compiler::TNode<JSArray> tmp277;
1418 : compiler::TNode<JSArray> tmp278;
1419 : compiler::TNode<JSArray> tmp279;
1420 : compiler::TNode<Map> tmp280;
1421 : compiler::TNode<BoolT> tmp281;
1422 : compiler::TNode<BoolT> tmp282;
1423 : compiler::TNode<BoolT> tmp283;
1424 : compiler::TNode<Smi> tmp284;
1425 : compiler::TNode<Context> tmp285;
1426 : compiler::TNode<Smi> tmp286;
1427 : compiler::TNode<JSArray> tmp287;
1428 : compiler::TNode<Smi> tmp288;
1429 : ca_.Bind(&block32, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288);
1430 : ca_.Goto(&block26, tmp270, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283);
1431 : }
1432 :
1433 56 : if (block31.is_used()) {
1434 : compiler::TNode<Context> tmp289;
1435 : compiler::TNode<JSReceiver> tmp290;
1436 : compiler::TNode<Number> tmp291;
1437 : compiler::TNode<JSReceiver> tmp292;
1438 : compiler::TNode<Object> tmp293;
1439 : compiler::TNode<Smi> tmp294;
1440 : compiler::TNode<Smi> tmp295;
1441 : compiler::TNode<JSArray> tmp296;
1442 : compiler::TNode<JSArray> tmp297;
1443 : compiler::TNode<JSArray> tmp298;
1444 : compiler::TNode<Map> tmp299;
1445 : compiler::TNode<BoolT> tmp300;
1446 : compiler::TNode<BoolT> tmp301;
1447 : compiler::TNode<BoolT> tmp302;
1448 : compiler::TNode<Smi> tmp303;
1449 : compiler::TNode<Context> tmp304;
1450 : compiler::TNode<Smi> tmp305;
1451 : compiler::TNode<JSArray> tmp306;
1452 : compiler::TNode<Smi> tmp307;
1453 : compiler::TNode<Object> tmp308;
1454 : ca_.Bind(&block31, &tmp289, &tmp290, &tmp291, &tmp292, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308);
1455 : ca_.Goto(&block27, tmp289, tmp290, tmp291, tmp292, tmp293, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp308);
1456 : }
1457 :
1458 56 : if (block29.is_used()) {
1459 : compiler::TNode<Context> tmp309;
1460 : compiler::TNode<JSReceiver> tmp310;
1461 : compiler::TNode<Number> tmp311;
1462 : compiler::TNode<JSReceiver> tmp312;
1463 : compiler::TNode<Object> tmp313;
1464 : compiler::TNode<Smi> tmp314;
1465 : compiler::TNode<Smi> tmp315;
1466 : compiler::TNode<JSArray> tmp316;
1467 : compiler::TNode<JSArray> tmp317;
1468 : compiler::TNode<JSArray> tmp318;
1469 : compiler::TNode<Map> tmp319;
1470 : compiler::TNode<BoolT> tmp320;
1471 : compiler::TNode<BoolT> tmp321;
1472 : compiler::TNode<BoolT> tmp322;
1473 : compiler::TNode<Smi> tmp323;
1474 : compiler::TNode<Context> tmp324;
1475 : compiler::TNode<Smi> tmp325;
1476 : ca_.Bind(&block29, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325);
1477 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 2101);
1478 : compiler::TNode<Object> tmp326;
1479 : USE(tmp326);
1480 56 : compiler::CodeAssemblerLabel label0(&ca_);
1481 168 : tmp326 = BaseBuiltinsFromDSLAssembler(state_).LoadElementNoHole10FixedArray(compiler::TNode<Context>{tmp324}, compiler::TNode<JSArray>{tmp318}, compiler::TNode<Smi>{tmp325}, &label0);
1482 : ca_.Goto(&block33, tmp309, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp318, tmp325, tmp326);
1483 56 : if (label0.is_used()) {
1484 56 : ca_.Bind(&label0);
1485 : ca_.Goto(&block34, tmp309, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp318, tmp325);
1486 : }
1487 : }
1488 :
1489 56 : if (block34.is_used()) {
1490 : compiler::TNode<Context> tmp327;
1491 : compiler::TNode<JSReceiver> tmp328;
1492 : compiler::TNode<Number> tmp329;
1493 : compiler::TNode<JSReceiver> tmp330;
1494 : compiler::TNode<Object> tmp331;
1495 : compiler::TNode<Smi> tmp332;
1496 : compiler::TNode<Smi> tmp333;
1497 : compiler::TNode<JSArray> tmp334;
1498 : compiler::TNode<JSArray> tmp335;
1499 : compiler::TNode<JSArray> tmp336;
1500 : compiler::TNode<Map> tmp337;
1501 : compiler::TNode<BoolT> tmp338;
1502 : compiler::TNode<BoolT> tmp339;
1503 : compiler::TNode<BoolT> tmp340;
1504 : compiler::TNode<Smi> tmp341;
1505 : compiler::TNode<Context> tmp342;
1506 : compiler::TNode<Smi> tmp343;
1507 : compiler::TNode<JSArray> tmp344;
1508 : compiler::TNode<Smi> tmp345;
1509 : ca_.Bind(&block34, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345);
1510 : ca_.Goto(&block26, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334, tmp335, tmp336, tmp337, tmp338, tmp339, tmp340);
1511 : }
1512 :
1513 56 : if (block33.is_used()) {
1514 : compiler::TNode<Context> tmp346;
1515 : compiler::TNode<JSReceiver> tmp347;
1516 : compiler::TNode<Number> tmp348;
1517 : compiler::TNode<JSReceiver> tmp349;
1518 : compiler::TNode<Object> tmp350;
1519 : compiler::TNode<Smi> tmp351;
1520 : compiler::TNode<Smi> tmp352;
1521 : compiler::TNode<JSArray> tmp353;
1522 : compiler::TNode<JSArray> tmp354;
1523 : compiler::TNode<JSArray> tmp355;
1524 : compiler::TNode<Map> tmp356;
1525 : compiler::TNode<BoolT> tmp357;
1526 : compiler::TNode<BoolT> tmp358;
1527 : compiler::TNode<BoolT> tmp359;
1528 : compiler::TNode<Smi> tmp360;
1529 : compiler::TNode<Context> tmp361;
1530 : compiler::TNode<Smi> tmp362;
1531 : compiler::TNode<JSArray> tmp363;
1532 : compiler::TNode<Smi> tmp364;
1533 : compiler::TNode<Object> tmp365;
1534 : ca_.Bind(&block33, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355, &tmp356, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365);
1535 : ca_.Goto(&block27, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp365);
1536 : }
1537 :
1538 56 : if (block27.is_used()) {
1539 : compiler::TNode<Context> tmp366;
1540 : compiler::TNode<JSReceiver> tmp367;
1541 : compiler::TNode<Number> tmp368;
1542 : compiler::TNode<JSReceiver> tmp369;
1543 : compiler::TNode<Object> tmp370;
1544 : compiler::TNode<Smi> tmp371;
1545 : compiler::TNode<Smi> tmp372;
1546 : compiler::TNode<JSArray> tmp373;
1547 : compiler::TNode<JSArray> tmp374;
1548 : compiler::TNode<JSArray> tmp375;
1549 : compiler::TNode<Map> tmp376;
1550 : compiler::TNode<BoolT> tmp377;
1551 : compiler::TNode<BoolT> tmp378;
1552 : compiler::TNode<BoolT> tmp379;
1553 : compiler::TNode<Smi> tmp380;
1554 : compiler::TNode<Context> tmp381;
1555 : compiler::TNode<Smi> tmp382;
1556 : compiler::TNode<Object> tmp383;
1557 : ca_.Bind(&block27, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377, &tmp378, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383);
1558 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
1559 : ca_.Goto(&block25, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377, tmp378, tmp379, tmp383);
1560 : }
1561 :
1562 56 : if (block26.is_used()) {
1563 : compiler::TNode<Context> tmp384;
1564 : compiler::TNode<JSReceiver> tmp385;
1565 : compiler::TNode<Number> tmp386;
1566 : compiler::TNode<JSReceiver> tmp387;
1567 : compiler::TNode<Object> tmp388;
1568 : compiler::TNode<Smi> tmp389;
1569 : compiler::TNode<Smi> tmp390;
1570 : compiler::TNode<JSArray> tmp391;
1571 : compiler::TNode<JSArray> tmp392;
1572 : compiler::TNode<JSArray> tmp393;
1573 : compiler::TNode<Map> tmp394;
1574 : compiler::TNode<BoolT> tmp395;
1575 : compiler::TNode<BoolT> tmp396;
1576 : compiler::TNode<BoolT> tmp397;
1577 : ca_.Bind(&block26, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397);
1578 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 85);
1579 : ca_.Goto(&block14, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp396, tmp397);
1580 : }
1581 :
1582 56 : if (block25.is_used()) {
1583 : compiler::TNode<Context> tmp398;
1584 : compiler::TNode<JSReceiver> tmp399;
1585 : compiler::TNode<Number> tmp400;
1586 : compiler::TNode<JSReceiver> tmp401;
1587 : compiler::TNode<Object> tmp402;
1588 : compiler::TNode<Smi> tmp403;
1589 : compiler::TNode<Smi> tmp404;
1590 : compiler::TNode<JSArray> tmp405;
1591 : compiler::TNode<JSArray> tmp406;
1592 : compiler::TNode<JSArray> tmp407;
1593 : compiler::TNode<Map> tmp408;
1594 : compiler::TNode<BoolT> tmp409;
1595 : compiler::TNode<BoolT> tmp410;
1596 : compiler::TNode<BoolT> tmp411;
1597 : compiler::TNode<Object> tmp412;
1598 : ca_.Bind(&block25, &tmp398, &tmp399, &tmp400, &tmp401, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412);
1599 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
1600 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 86);
1601 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 2080);
1602 : ca_.Goto(&block35, tmp398, tmp399, tmp400, tmp401, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp398, tmp401, tmp402, tmp412, tmp403, tmp407);
1603 : }
1604 :
1605 56 : if (block35.is_used()) {
1606 : compiler::TNode<Context> tmp413;
1607 : compiler::TNode<JSReceiver> tmp414;
1608 : compiler::TNode<Number> tmp415;
1609 : compiler::TNode<JSReceiver> tmp416;
1610 : compiler::TNode<Object> tmp417;
1611 : compiler::TNode<Smi> tmp418;
1612 : compiler::TNode<Smi> tmp419;
1613 : compiler::TNode<JSArray> tmp420;
1614 : compiler::TNode<JSArray> tmp421;
1615 : compiler::TNode<JSArray> tmp422;
1616 : compiler::TNode<Map> tmp423;
1617 : compiler::TNode<BoolT> tmp424;
1618 : compiler::TNode<BoolT> tmp425;
1619 : compiler::TNode<BoolT> tmp426;
1620 : compiler::TNode<Object> tmp427;
1621 : compiler::TNode<Context> tmp428;
1622 : compiler::TNode<JSReceiver> tmp429;
1623 : compiler::TNode<Object> tmp430;
1624 : compiler::TNode<Object> tmp431;
1625 : compiler::TNode<Smi> tmp432;
1626 : compiler::TNode<JSArray> tmp433;
1627 : ca_.Bind(&block35, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420, &tmp421, &tmp422, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433);
1628 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 86);
1629 : compiler::TNode<Object> tmp434;
1630 : USE(tmp434);
1631 168 : tmp434 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp428}, compiler::TNode<JSReceiver>{tmp429}, compiler::TNode<Object>{tmp430}, compiler::TNode<Object>{tmp431}, compiler::TNode<Object>{tmp432}, compiler::TNode<Object>{tmp433}));
1632 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 79);
1633 : ca_.Goto(&block14, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, tmp421, tmp422, tmp423, tmp424, tmp425, tmp426);
1634 : }
1635 :
1636 56 : if (block14.is_used()) {
1637 : compiler::TNode<Context> tmp435;
1638 : compiler::TNode<JSReceiver> tmp436;
1639 : compiler::TNode<Number> tmp437;
1640 : compiler::TNode<JSReceiver> tmp438;
1641 : compiler::TNode<Object> tmp439;
1642 : compiler::TNode<Smi> tmp440;
1643 : compiler::TNode<Smi> tmp441;
1644 : compiler::TNode<JSArray> tmp442;
1645 : compiler::TNode<JSArray> tmp443;
1646 : compiler::TNode<JSArray> tmp444;
1647 : compiler::TNode<Map> tmp445;
1648 : compiler::TNode<BoolT> tmp446;
1649 : compiler::TNode<BoolT> tmp447;
1650 : compiler::TNode<BoolT> tmp448;
1651 : ca_.Bind(&block14, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442, &tmp443, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448);
1652 : compiler::TNode<Smi> tmp449;
1653 : USE(tmp449);
1654 168 : tmp449 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1655 : compiler::TNode<Smi> tmp450;
1656 : USE(tmp450);
1657 112 : tmp450 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp440}, compiler::TNode<Smi>{tmp449}));
1658 : ca_.Goto(&block13, tmp435, tmp436, tmp437, tmp438, tmp439, tmp450, tmp441, tmp442, tmp443, tmp444, tmp445, tmp446, tmp447, tmp448);
1659 : }
1660 :
1661 56 : if (block12.is_used()) {
1662 : compiler::TNode<Context> tmp451;
1663 : compiler::TNode<JSReceiver> tmp452;
1664 : compiler::TNode<Number> tmp453;
1665 : compiler::TNode<JSReceiver> tmp454;
1666 : compiler::TNode<Object> tmp455;
1667 : compiler::TNode<Smi> tmp456;
1668 : compiler::TNode<Smi> tmp457;
1669 : compiler::TNode<JSArray> tmp458;
1670 : compiler::TNode<JSArray> tmp459;
1671 : compiler::TNode<JSArray> tmp460;
1672 : compiler::TNode<Map> tmp461;
1673 : compiler::TNode<BoolT> tmp462;
1674 : compiler::TNode<BoolT> tmp463;
1675 : compiler::TNode<BoolT> tmp464;
1676 : ca_.Bind(&block12, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463, &tmp464);
1677 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 88);
1678 : compiler::TNode<Oddball> tmp465;
1679 : USE(tmp465);
1680 168 : tmp465 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1681 : ca_.Goto(&block2, tmp451, tmp452, tmp453, tmp454, tmp455, tmp465);
1682 : }
1683 :
1684 56 : if (block2.is_used()) {
1685 : compiler::TNode<Context> tmp466;
1686 : compiler::TNode<JSReceiver> tmp467;
1687 : compiler::TNode<Number> tmp468;
1688 : compiler::TNode<JSReceiver> tmp469;
1689 : compiler::TNode<Object> tmp470;
1690 : compiler::TNode<Object> tmp471;
1691 : ca_.Bind(&block2, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471);
1692 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 70);
1693 : ca_.Goto(&block36, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471);
1694 : }
1695 :
1696 56 : if (block1.is_used()) {
1697 : compiler::TNode<Smi> tmp472;
1698 : ca_.Bind(&block1, &tmp472);
1699 : *label_Bailout_parameter_0 = tmp472;
1700 56 : ca_.Goto(label_Bailout);
1701 : }
1702 :
1703 : compiler::TNode<Context> tmp473;
1704 : compiler::TNode<JSReceiver> tmp474;
1705 : compiler::TNode<Number> tmp475;
1706 : compiler::TNode<JSReceiver> tmp476;
1707 : compiler::TNode<Object> tmp477;
1708 : compiler::TNode<Object> tmp478;
1709 : ca_.Bind(&block36, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478);
1710 112 : return compiler::TNode<Object>{tmp478};
1711 : }
1712 :
1713 224 : TF_BUILTIN(ArrayForEach, CodeStubAssembler) {
1714 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
1715 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
1716 : USE(parameter0);
1717 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
1718 56 : TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
1719 56 : TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
1720 56 : BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
1721 : CodeStubArguments arguments(this, torque_arguments);
1722 56 : TNode<Object> parameter1 = arguments.GetReceiver();
1723 : USE(parameter1);
1724 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1725 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1726 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1727 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1728 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1729 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1730 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, JSReceiver> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1731 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1732 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1733 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver, Object> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1734 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver, Object> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1735 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver, Object, Number, JSReceiver, Number, JSReceiver, Object, Smi> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1736 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver, Object, Number, JSReceiver, Number, JSReceiver, Object, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1737 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver, Object, Number, Smi> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1738 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver, Object, Number, Smi> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1739 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1740 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1741 : ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
1742 :
1743 56 : if (block0.is_used()) {
1744 : compiler::TNode<Context> tmp0;
1745 : compiler::TNode<Object> tmp1;
1746 : compiler::TNode<RawPtrT> tmp2;
1747 : compiler::TNode<RawPtrT> tmp3;
1748 : compiler::TNode<IntPtrT> tmp4;
1749 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
1750 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 95);
1751 : compiler::TNode<BoolT> tmp5;
1752 : USE(tmp5);
1753 168 : tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp1}));
1754 56 : ca_.Branch(tmp5, &block5, &block6, tmp0, tmp1, tmp2, tmp3, tmp4);
1755 : }
1756 :
1757 56 : if (block5.is_used()) {
1758 : compiler::TNode<Context> tmp6;
1759 : compiler::TNode<Object> tmp7;
1760 : compiler::TNode<RawPtrT> tmp8;
1761 : compiler::TNode<RawPtrT> tmp9;
1762 : compiler::TNode<IntPtrT> tmp10;
1763 : ca_.Bind(&block5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
1764 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 96);
1765 : ca_.Goto(&block2, tmp6, tmp7, tmp8, tmp9, tmp10);
1766 : }
1767 :
1768 56 : if (block6.is_used()) {
1769 : compiler::TNode<Context> tmp11;
1770 : compiler::TNode<Object> tmp12;
1771 : compiler::TNode<RawPtrT> tmp13;
1772 : compiler::TNode<RawPtrT> tmp14;
1773 : compiler::TNode<IntPtrT> tmp15;
1774 : ca_.Bind(&block6, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
1775 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 100);
1776 : compiler::TNode<JSReceiver> tmp16;
1777 : USE(tmp16);
1778 112 : tmp16 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp11}, compiler::TNode<Object>{tmp12}));
1779 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 103);
1780 : compiler::TNode<Number> tmp17;
1781 : USE(tmp17);
1782 112 : tmp17 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp11}, compiler::TNode<Object>{tmp16}));
1783 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 106);
1784 : compiler::TNode<IntPtrT> tmp18;
1785 : USE(tmp18);
1786 112 : tmp18 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
1787 : compiler::TNode<BoolT> tmp19;
1788 : USE(tmp19);
1789 168 : tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp15}, compiler::TNode<IntPtrT>{tmp18}));
1790 56 : ca_.Branch(tmp19, &block7, &block8, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
1791 : }
1792 :
1793 56 : if (block7.is_used()) {
1794 : compiler::TNode<Context> tmp20;
1795 : compiler::TNode<Object> tmp21;
1796 : compiler::TNode<RawPtrT> tmp22;
1797 : compiler::TNode<RawPtrT> tmp23;
1798 : compiler::TNode<IntPtrT> tmp24;
1799 : compiler::TNode<JSReceiver> tmp25;
1800 : compiler::TNode<Number> tmp26;
1801 : ca_.Bind(&block7, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
1802 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 107);
1803 : ca_.Goto(&block4, tmp20, tmp21, tmp22, tmp23, tmp24);
1804 : }
1805 :
1806 56 : if (block8.is_used()) {
1807 : compiler::TNode<Context> tmp27;
1808 : compiler::TNode<Object> tmp28;
1809 : compiler::TNode<RawPtrT> tmp29;
1810 : compiler::TNode<RawPtrT> tmp30;
1811 : compiler::TNode<IntPtrT> tmp31;
1812 : compiler::TNode<JSReceiver> tmp32;
1813 : compiler::TNode<Number> tmp33;
1814 : ca_.Bind(&block8, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
1815 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 109);
1816 : compiler::TNode<IntPtrT> tmp34;
1817 : USE(tmp34);
1818 112 : tmp34 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
1819 : compiler::TNode<Object> tmp35;
1820 : USE(tmp35);
1821 112 : tmp35 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp29}, compiler::TNode<RawPtrT>{tmp30}, compiler::TNode<IntPtrT>{tmp31}}, compiler::TNode<IntPtrT>{tmp34}));
1822 : compiler::TNode<JSReceiver> tmp36;
1823 : USE(tmp36);
1824 56 : compiler::CodeAssemblerLabel label0(&ca_);
1825 112 : tmp36 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp27}, compiler::TNode<Object>{tmp35}, &label0);
1826 : ca_.Goto(&block9, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp35, tmp36);
1827 56 : if (label0.is_used()) {
1828 56 : ca_.Bind(&label0);
1829 : ca_.Goto(&block10, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp35);
1830 : }
1831 : }
1832 :
1833 56 : if (block10.is_used()) {
1834 : compiler::TNode<Context> tmp37;
1835 : compiler::TNode<Object> tmp38;
1836 : compiler::TNode<RawPtrT> tmp39;
1837 : compiler::TNode<RawPtrT> tmp40;
1838 : compiler::TNode<IntPtrT> tmp41;
1839 : compiler::TNode<JSReceiver> tmp42;
1840 : compiler::TNode<Number> tmp43;
1841 : compiler::TNode<Object> tmp44;
1842 : ca_.Bind(&block10, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44);
1843 : ca_.Goto(&block4, tmp37, tmp38, tmp39, tmp40, tmp41);
1844 : }
1845 :
1846 56 : if (block9.is_used()) {
1847 : compiler::TNode<Context> tmp45;
1848 : compiler::TNode<Object> tmp46;
1849 : compiler::TNode<RawPtrT> tmp47;
1850 : compiler::TNode<RawPtrT> tmp48;
1851 : compiler::TNode<IntPtrT> tmp49;
1852 : compiler::TNode<JSReceiver> tmp50;
1853 : compiler::TNode<Number> tmp51;
1854 : compiler::TNode<Object> tmp52;
1855 : compiler::TNode<JSReceiver> tmp53;
1856 : ca_.Bind(&block9, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
1857 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 112);
1858 : compiler::TNode<IntPtrT> tmp54;
1859 : USE(tmp54);
1860 112 : tmp54 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
1861 : compiler::TNode<BoolT> tmp55;
1862 : USE(tmp55);
1863 168 : tmp55 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp49}, compiler::TNode<IntPtrT>{tmp54}));
1864 56 : ca_.Branch(tmp55, &block11, &block12, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp53);
1865 : }
1866 :
1867 56 : if (block11.is_used()) {
1868 : compiler::TNode<Context> tmp56;
1869 : compiler::TNode<Object> tmp57;
1870 : compiler::TNode<RawPtrT> tmp58;
1871 : compiler::TNode<RawPtrT> tmp59;
1872 : compiler::TNode<IntPtrT> tmp60;
1873 : compiler::TNode<JSReceiver> tmp61;
1874 : compiler::TNode<Number> tmp62;
1875 : compiler::TNode<JSReceiver> tmp63;
1876 : ca_.Bind(&block11, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63);
1877 : compiler::TNode<IntPtrT> tmp64;
1878 : USE(tmp64);
1879 112 : tmp64 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
1880 : compiler::TNode<Object> tmp65;
1881 : USE(tmp65);
1882 112 : tmp65 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp58}, compiler::TNode<RawPtrT>{tmp59}, compiler::TNode<IntPtrT>{tmp60}}, compiler::TNode<IntPtrT>{tmp64}));
1883 : ca_.Goto(&block14, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp65);
1884 : }
1885 :
1886 56 : if (block12.is_used()) {
1887 : compiler::TNode<Context> tmp66;
1888 : compiler::TNode<Object> tmp67;
1889 : compiler::TNode<RawPtrT> tmp68;
1890 : compiler::TNode<RawPtrT> tmp69;
1891 : compiler::TNode<IntPtrT> tmp70;
1892 : compiler::TNode<JSReceiver> tmp71;
1893 : compiler::TNode<Number> tmp72;
1894 : compiler::TNode<JSReceiver> tmp73;
1895 : ca_.Bind(&block12, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73);
1896 : compiler::TNode<Oddball> tmp74;
1897 : USE(tmp74);
1898 112 : tmp74 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1899 : ca_.Goto(&block13, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74);
1900 : }
1901 :
1902 56 : if (block14.is_used()) {
1903 : compiler::TNode<Context> tmp75;
1904 : compiler::TNode<Object> tmp76;
1905 : compiler::TNode<RawPtrT> tmp77;
1906 : compiler::TNode<RawPtrT> tmp78;
1907 : compiler::TNode<IntPtrT> tmp79;
1908 : compiler::TNode<JSReceiver> tmp80;
1909 : compiler::TNode<Number> tmp81;
1910 : compiler::TNode<JSReceiver> tmp82;
1911 : compiler::TNode<Object> tmp83;
1912 : ca_.Bind(&block14, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83);
1913 : ca_.Goto(&block13, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83);
1914 : }
1915 :
1916 56 : if (block13.is_used()) {
1917 : compiler::TNode<Context> tmp84;
1918 : compiler::TNode<Object> tmp85;
1919 : compiler::TNode<RawPtrT> tmp86;
1920 : compiler::TNode<RawPtrT> tmp87;
1921 : compiler::TNode<IntPtrT> tmp88;
1922 : compiler::TNode<JSReceiver> tmp89;
1923 : compiler::TNode<Number> tmp90;
1924 : compiler::TNode<JSReceiver> tmp91;
1925 : compiler::TNode<Object> tmp92;
1926 : ca_.Bind(&block13, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
1927 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 115);
1928 : compiler::TNode<Number> tmp93;
1929 : USE(tmp93);
1930 112 : tmp93 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
1931 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 117);
1932 : compiler::TNode<Object> tmp94;
1933 : USE(tmp94);
1934 : compiler::TypedCodeAssemblerVariable<Smi> result_0_0(&ca_);
1935 56 : compiler::CodeAssemblerLabel label0(&ca_);
1936 112 : tmp94 = ArrayForeachBuiltinsFromDSLAssembler(state_).FastArrayForEach(compiler::TNode<Context>{tmp84}, compiler::TNode<JSReceiver>{tmp89}, compiler::TNode<Number>{tmp90}, compiler::TNode<JSReceiver>{tmp91}, compiler::TNode<Object>{tmp92}, &label0, &result_0_0);
1937 : ca_.Goto(&block17, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp89, tmp90, tmp91, tmp92, tmp94);
1938 56 : if (label0.is_used()) {
1939 56 : ca_.Bind(&label0);
1940 : ca_.Goto(&block18, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp89, tmp90, tmp91, tmp92, result_0_0.value());
1941 : }
1942 : }
1943 :
1944 56 : if (block18.is_used()) {
1945 : compiler::TNode<Context> tmp95;
1946 : compiler::TNode<Object> tmp96;
1947 : compiler::TNode<RawPtrT> tmp97;
1948 : compiler::TNode<RawPtrT> tmp98;
1949 : compiler::TNode<IntPtrT> tmp99;
1950 : compiler::TNode<JSReceiver> tmp100;
1951 : compiler::TNode<Number> tmp101;
1952 : compiler::TNode<JSReceiver> tmp102;
1953 : compiler::TNode<Object> tmp103;
1954 : compiler::TNode<Number> tmp104;
1955 : compiler::TNode<JSReceiver> tmp105;
1956 : compiler::TNode<Number> tmp106;
1957 : compiler::TNode<JSReceiver> tmp107;
1958 : compiler::TNode<Object> tmp108;
1959 : compiler::TNode<Smi> tmp109;
1960 : ca_.Bind(&block18, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
1961 : ca_.Goto(&block16, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp109);
1962 : }
1963 :
1964 56 : if (block17.is_used()) {
1965 : compiler::TNode<Context> tmp110;
1966 : compiler::TNode<Object> tmp111;
1967 : compiler::TNode<RawPtrT> tmp112;
1968 : compiler::TNode<RawPtrT> tmp113;
1969 : compiler::TNode<IntPtrT> tmp114;
1970 : compiler::TNode<JSReceiver> tmp115;
1971 : compiler::TNode<Number> tmp116;
1972 : compiler::TNode<JSReceiver> tmp117;
1973 : compiler::TNode<Object> tmp118;
1974 : compiler::TNode<Number> tmp119;
1975 : compiler::TNode<JSReceiver> tmp120;
1976 : compiler::TNode<Number> tmp121;
1977 : compiler::TNode<JSReceiver> tmp122;
1978 : compiler::TNode<Object> tmp123;
1979 : compiler::TNode<Object> tmp124;
1980 : ca_.Bind(&block17, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124);
1981 56 : arguments.PopAndReturn(tmp124);
1982 : }
1983 :
1984 56 : if (block16.is_used()) {
1985 : compiler::TNode<Context> tmp125;
1986 : compiler::TNode<Object> tmp126;
1987 : compiler::TNode<RawPtrT> tmp127;
1988 : compiler::TNode<RawPtrT> tmp128;
1989 : compiler::TNode<IntPtrT> tmp129;
1990 : compiler::TNode<JSReceiver> tmp130;
1991 : compiler::TNode<Number> tmp131;
1992 : compiler::TNode<JSReceiver> tmp132;
1993 : compiler::TNode<Object> tmp133;
1994 : compiler::TNode<Number> tmp134;
1995 : compiler::TNode<Smi> tmp135;
1996 : ca_.Bind(&block16, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135);
1997 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 121);
1998 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 116);
1999 : ca_.Goto(&block15, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp135, tmp135);
2000 : }
2001 :
2002 56 : if (block15.is_used()) {
2003 : compiler::TNode<Context> tmp136;
2004 : compiler::TNode<Object> tmp137;
2005 : compiler::TNode<RawPtrT> tmp138;
2006 : compiler::TNode<RawPtrT> tmp139;
2007 : compiler::TNode<IntPtrT> tmp140;
2008 : compiler::TNode<JSReceiver> tmp141;
2009 : compiler::TNode<Number> tmp142;
2010 : compiler::TNode<JSReceiver> tmp143;
2011 : compiler::TNode<Object> tmp144;
2012 : compiler::TNode<Number> tmp145;
2013 : compiler::TNode<Smi> tmp146;
2014 : ca_.Bind(&block15, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
2015 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 125);
2016 : compiler::TNode<Oddball> tmp147;
2017 : USE(tmp147);
2018 112 : tmp147 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
2019 : compiler::TNode<Oddball> tmp148;
2020 : USE(tmp148);
2021 112 : tmp148 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
2022 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 124);
2023 : compiler::TNode<Object> tmp149;
2024 112 : tmp149 = CodeStubAssembler(state_).CallBuiltin(Builtins::kArrayForEachLoopContinuation, tmp136, tmp141, tmp143, tmp144, tmp147, tmp141, tmp145, tmp142, tmp148);
2025 : USE(tmp149);
2026 56 : arguments.PopAndReturn(tmp149);
2027 : }
2028 :
2029 56 : if (block4.is_used()) {
2030 : compiler::TNode<Context> tmp150;
2031 : compiler::TNode<Object> tmp151;
2032 : compiler::TNode<RawPtrT> tmp152;
2033 : compiler::TNode<RawPtrT> tmp153;
2034 : compiler::TNode<IntPtrT> tmp154;
2035 : ca_.Bind(&block4, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154);
2036 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 128);
2037 : compiler::TNode<IntPtrT> tmp155;
2038 : USE(tmp155);
2039 112 : tmp155 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
2040 : compiler::TNode<Object> tmp156;
2041 : USE(tmp156);
2042 112 : tmp156 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp152}, compiler::TNode<RawPtrT>{tmp153}, compiler::TNode<IntPtrT>{tmp154}}, compiler::TNode<IntPtrT>{tmp155}));
2043 112 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp150}, MessageTemplate::kCalledNonCallable, compiler::TNode<Object>{tmp156});
2044 : }
2045 :
2046 56 : if (block2.is_used()) {
2047 : compiler::TNode<Context> tmp157;
2048 : compiler::TNode<Object> tmp158;
2049 : compiler::TNode<RawPtrT> tmp159;
2050 : compiler::TNode<RawPtrT> tmp160;
2051 : compiler::TNode<IntPtrT> tmp161;
2052 : ca_.Bind(&block2, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161);
2053 56 : ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 131);
2054 112 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp157}, MessageTemplate::kCalledOnNullOrUndefined, "Array.prototype.forEach");
2055 : }
2056 56 : }
2057 :
2058 : } // namespace internal
2059 59456 : } // namespace v8
2060 :
|