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