Line data Source code
1 : #include "src/builtins/builtins-utils-gen.h"
2 : #include "src/builtins/builtins.h"
3 : #include "src/code-factory.h"
4 : #include "src/elements-kind.h"
5 : #include "src/heap/factory-inl.h"
6 : #include "src/objects.h"
7 : #include "src/objects/arguments.h"
8 : #include "src/objects/bigint.h"
9 : #include "src/objects/free-space.h"
10 : #include "src/objects/js-generator.h"
11 : #include "src/objects/js-promise.h"
12 : #include "src/objects/js-regexp-string-iterator.h"
13 : #include "src/objects/module.h"
14 : #include "src/objects/stack-frame-info.h"
15 : #include "src/builtins/builtins-regexp-gen.h"
16 : #include "src/builtins/builtins-array-gen.h"
17 : #include "src/builtins/builtins-collections-gen.h"
18 : #include "src/builtins/builtins-data-view-gen.h"
19 : #include "src/builtins/builtins-iterator-gen.h"
20 : #include "src/builtins/builtins-proxy-gen.h"
21 : #include "src/builtins/builtins-proxy-gen.h"
22 : #include "src/builtins/builtins-regexp-gen.h"
23 : #include "src/builtins/builtins-regexp-gen.h"
24 : #include "src/builtins/builtins-regexp-gen.h"
25 : #include "src/builtins/builtins-typed-array-gen.h"
26 : #include "src/builtins/builtins-constructor-gen.h"
27 : #include "src/builtins/builtins-typed-array-gen.h"
28 : #include "src/builtins/builtins-typed-array-gen.h"
29 : #include "src/builtins/builtins-typed-array-gen.h"
30 : #include "src/builtins/builtins-typed-array-gen.h"
31 : #include "src/builtins/builtins-typed-array-gen.h"
32 : #include "src/builtins/builtins-typed-array-gen.h"
33 : #include "src/builtins/builtins-typed-array-gen.h"
34 : #include "src/builtins/builtins-typed-array-gen.h"
35 : #include "torque-generated/builtins-base-from-dsl-gen.h"
36 : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
37 : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
38 : #include "torque-generated/builtins-array-from-dsl-gen.h"
39 : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
40 : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
41 : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
42 : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
43 : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
44 : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
45 : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
46 : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
47 : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
48 : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
49 : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
50 : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
51 : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
52 : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
53 : #include "torque-generated/builtins-collections-from-dsl-gen.h"
54 : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
55 : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
56 : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
57 : #include "torque-generated/builtins-object-from-dsl-gen.h"
58 : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
59 : #include "torque-generated/builtins-regexp-from-dsl-gen.h"
60 : #include "torque-generated/builtins-regexp-replace-from-dsl-gen.h"
61 : #include "torque-generated/builtins-string-from-dsl-gen.h"
62 : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
63 : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
64 : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
65 : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
66 : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
67 : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
68 : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
69 : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
70 : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
71 : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
72 : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
73 : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
74 : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
75 : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
76 : #include "torque-generated/builtins-test-from-dsl-gen.h"
77 :
78 : namespace v8 {
79 : namespace internal {
80 :
81 224 : TF_BUILTIN(LoadJoinElement20ATDictionaryElements, CodeStubAssembler) {
82 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
83 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
84 : USE(parameter0);
85 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
86 : USE(parameter1);
87 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
88 : USE(parameter2);
89 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
90 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
91 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
92 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
93 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
94 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
95 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
96 :
97 56 : if (block0.is_used()) {
98 : compiler::TNode<Context> tmp0;
99 : compiler::TNode<JSReceiver> tmp1;
100 : compiler::TNode<Number> tmp2;
101 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
102 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 21);
103 : compiler::TNode<JSArray> tmp3;
104 : USE(tmp3);
105 112 : tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
106 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 22);
107 56 : compiler::TNode<IntPtrT> tmp4 = ca_.IntPtrConstant(JSObject::kElementsOffset);
108 : USE(tmp4);
109 112 : compiler::TNode<FixedArrayBase>tmp5 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp3, tmp4});
110 : compiler::TNode<NumberDictionary> tmp6;
111 : USE(tmp6);
112 112 : tmp6 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
113 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 24);
114 : compiler::TNode<UintPtrT> tmp7;
115 : USE(tmp7);
116 112 : tmp7 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number>{tmp2}));
117 : compiler::TNode<IntPtrT> tmp8;
118 : USE(tmp8);
119 112 : tmp8 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp7}));
120 : compiler::TNode<Object> tmp9;
121 : USE(tmp9);
122 56 : compiler::CodeAssemblerLabel label0(&ca_);
123 56 : compiler::CodeAssemblerLabel label1(&ca_);
124 112 : tmp9 = CodeStubAssembler(state_).BasicLoadNumberDictionaryElement(compiler::TNode<NumberDictionary>{tmp6}, compiler::TNode<IntPtrT>{tmp8}, &label0, &label1);
125 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp8, tmp9);
126 56 : if (label0.is_used()) {
127 56 : ca_.Bind(&label0);
128 : ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp8);
129 : }
130 56 : if (label1.is_used()) {
131 56 : ca_.Bind(&label1);
132 : ca_.Goto(&block7, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp8);
133 : }
134 : }
135 :
136 56 : if (block6.is_used()) {
137 : compiler::TNode<Context> tmp10;
138 : compiler::TNode<JSReceiver> tmp11;
139 : compiler::TNode<Number> tmp12;
140 : compiler::TNode<JSArray> tmp13;
141 : compiler::TNode<NumberDictionary> tmp14;
142 : compiler::TNode<NumberDictionary> tmp15;
143 : compiler::TNode<IntPtrT> tmp16;
144 : ca_.Bind(&block6, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
145 : ca_.Goto(&block4, tmp10, tmp11, tmp12, tmp13, tmp14);
146 : }
147 :
148 56 : if (block7.is_used()) {
149 : compiler::TNode<Context> tmp17;
150 : compiler::TNode<JSReceiver> tmp18;
151 : compiler::TNode<Number> tmp19;
152 : compiler::TNode<JSArray> tmp20;
153 : compiler::TNode<NumberDictionary> tmp21;
154 : compiler::TNode<NumberDictionary> tmp22;
155 : compiler::TNode<IntPtrT> tmp23;
156 : ca_.Bind(&block7, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
157 : ca_.Goto(&block2, tmp17, tmp18, tmp19, tmp20, tmp21);
158 : }
159 :
160 56 : if (block5.is_used()) {
161 : compiler::TNode<Context> tmp24;
162 : compiler::TNode<JSReceiver> tmp25;
163 : compiler::TNode<Number> tmp26;
164 : compiler::TNode<JSArray> tmp27;
165 : compiler::TNode<NumberDictionary> tmp28;
166 : compiler::TNode<NumberDictionary> tmp29;
167 : compiler::TNode<IntPtrT> tmp30;
168 : compiler::TNode<Object> tmp31;
169 : ca_.Bind(&block5, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
170 112 : CodeStubAssembler(state_).Return(tmp31);
171 : }
172 :
173 56 : if (block4.is_used()) {
174 : compiler::TNode<Context> tmp32;
175 : compiler::TNode<JSReceiver> tmp33;
176 : compiler::TNode<Number> tmp34;
177 : compiler::TNode<JSArray> tmp35;
178 : compiler::TNode<NumberDictionary> tmp36;
179 : ca_.Bind(&block4, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
180 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 28);
181 : compiler::TNode<Object> tmp37;
182 : USE(tmp37);
183 112 : tmp37 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp32}, compiler::TNode<Object>{tmp33}, compiler::TNode<Object>{tmp34}));
184 112 : CodeStubAssembler(state_).Return(tmp37);
185 : }
186 :
187 56 : if (block2.is_used()) {
188 : compiler::TNode<Context> tmp38;
189 : compiler::TNode<JSReceiver> tmp39;
190 : compiler::TNode<Number> tmp40;
191 : compiler::TNode<JSArray> tmp41;
192 : compiler::TNode<NumberDictionary> tmp42;
193 : ca_.Bind(&block2, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42);
194 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 31);
195 : compiler::TNode<String> tmp43;
196 : USE(tmp43);
197 112 : tmp43 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
198 112 : CodeStubAssembler(state_).Return(tmp43);
199 : }
200 56 : }
201 :
202 224 : TF_BUILTIN(LoadJoinElement25ATFastSmiOrObjectElements, CodeStubAssembler) {
203 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
204 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
205 : USE(parameter0);
206 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
207 : USE(parameter1);
208 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
209 : USE(parameter2);
210 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
211 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
212 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
213 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
214 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
215 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
216 :
217 56 : if (block0.is_used()) {
218 : compiler::TNode<Context> tmp0;
219 : compiler::TNode<JSReceiver> tmp1;
220 : compiler::TNode<Number> tmp2;
221 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
222 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 37);
223 : compiler::TNode<JSArray> tmp3;
224 : USE(tmp3);
225 112 : tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
226 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 38);
227 56 : compiler::TNode<IntPtrT> tmp4 = ca_.IntPtrConstant(JSObject::kElementsOffset);
228 : USE(tmp4);
229 112 : compiler::TNode<FixedArrayBase>tmp5 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp3, tmp4});
230 : compiler::TNode<FixedArray> tmp6;
231 : USE(tmp6);
232 112 : tmp6 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
233 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 39);
234 : compiler::TNode<Smi> tmp7;
235 : USE(tmp7);
236 112 : tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
237 : compiler::TNode<Object> tmp8;
238 : USE(tmp8);
239 112 : tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp6}, compiler::TNode<Smi>{tmp7}));
240 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 40);
241 : compiler::TNode<Oddball> tmp9;
242 : USE(tmp9);
243 112 : tmp9 = BaseBuiltinsFromDSLAssembler(state_).Hole();
244 : compiler::TNode<BoolT> tmp10;
245 : USE(tmp10);
246 112 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp8}, compiler::TNode<HeapObject>{tmp9}));
247 56 : ca_.Branch(tmp10, &block1, &block2, tmp0, tmp1, tmp2, tmp3, tmp6, tmp8);
248 : }
249 :
250 56 : if (block1.is_used()) {
251 : compiler::TNode<Context> tmp11;
252 : compiler::TNode<JSReceiver> tmp12;
253 : compiler::TNode<Number> tmp13;
254 : compiler::TNode<JSArray> tmp14;
255 : compiler::TNode<FixedArray> tmp15;
256 : compiler::TNode<Object> tmp16;
257 : ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
258 : compiler::TNode<String> tmp17;
259 : USE(tmp17);
260 112 : tmp17 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
261 : ca_.Goto(&block4, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
262 : }
263 :
264 56 : if (block2.is_used()) {
265 : compiler::TNode<Context> tmp18;
266 : compiler::TNode<JSReceiver> tmp19;
267 : compiler::TNode<Number> tmp20;
268 : compiler::TNode<JSArray> tmp21;
269 : compiler::TNode<FixedArray> tmp22;
270 : compiler::TNode<Object> tmp23;
271 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
272 : ca_.Goto(&block3, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp23);
273 : }
274 :
275 56 : if (block4.is_used()) {
276 : compiler::TNode<Context> tmp24;
277 : compiler::TNode<JSReceiver> tmp25;
278 : compiler::TNode<Number> tmp26;
279 : compiler::TNode<JSArray> tmp27;
280 : compiler::TNode<FixedArray> tmp28;
281 : compiler::TNode<Object> tmp29;
282 : compiler::TNode<String> tmp30;
283 : ca_.Bind(&block4, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
284 : ca_.Goto(&block3, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30);
285 : }
286 :
287 56 : if (block3.is_used()) {
288 : compiler::TNode<Context> tmp31;
289 : compiler::TNode<JSReceiver> tmp32;
290 : compiler::TNode<Number> tmp33;
291 : compiler::TNode<JSArray> tmp34;
292 : compiler::TNode<FixedArray> tmp35;
293 : compiler::TNode<Object> tmp36;
294 : compiler::TNode<Object> tmp37;
295 : ca_.Bind(&block3, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
296 112 : CodeStubAssembler(state_).Return(tmp37);
297 : }
298 56 : }
299 :
300 224 : TF_BUILTIN(LoadJoinElement20ATFastDoubleElements, CodeStubAssembler) {
301 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
302 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
303 : USE(parameter0);
304 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
305 : USE(parameter1);
306 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
307 : USE(parameter2);
308 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
309 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
310 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi, Float64T> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
311 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
312 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
313 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
314 :
315 56 : if (block0.is_used()) {
316 : compiler::TNode<Context> tmp0;
317 : compiler::TNode<JSReceiver> tmp1;
318 : compiler::TNode<Number> tmp2;
319 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
320 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 45);
321 : compiler::TNode<JSArray> tmp3;
322 : USE(tmp3);
323 112 : tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
324 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 47);
325 56 : compiler::TNode<IntPtrT> tmp4 = ca_.IntPtrConstant(JSObject::kElementsOffset);
326 : USE(tmp4);
327 112 : compiler::TNode<FixedArrayBase>tmp5 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp3, tmp4});
328 : compiler::TNode<FixedDoubleArray> tmp6;
329 : USE(tmp6);
330 112 : tmp6 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
331 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 46);
332 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
333 : compiler::TNode<Smi> tmp7;
334 : USE(tmp7);
335 112 : tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
336 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
337 : compiler::TNode<Float64T> tmp8;
338 : USE(tmp8);
339 56 : compiler::CodeAssemblerLabel label0(&ca_);
340 112 : tmp8 = CodeStubAssembler(state_).LoadDoubleWithHoleCheck(compiler::TNode<FixedDoubleArray>{tmp6}, compiler::TNode<Smi>{tmp7}, &label0);
341 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp7, tmp8);
342 56 : if (label0.is_used()) {
343 56 : ca_.Bind(&label0);
344 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp7);
345 : }
346 : }
347 :
348 56 : if (block4.is_used()) {
349 : compiler::TNode<Context> tmp9;
350 : compiler::TNode<JSReceiver> tmp10;
351 : compiler::TNode<Number> tmp11;
352 : compiler::TNode<JSArray> tmp12;
353 : compiler::TNode<FixedDoubleArray> tmp13;
354 : compiler::TNode<FixedDoubleArray> tmp14;
355 : compiler::TNode<Smi> tmp15;
356 : ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
357 : ca_.Goto(&block2, tmp9, tmp10, tmp11, tmp12, tmp13);
358 : }
359 :
360 56 : if (block3.is_used()) {
361 : compiler::TNode<Context> tmp16;
362 : compiler::TNode<JSReceiver> tmp17;
363 : compiler::TNode<Number> tmp18;
364 : compiler::TNode<JSArray> tmp19;
365 : compiler::TNode<FixedDoubleArray> tmp20;
366 : compiler::TNode<FixedDoubleArray> tmp21;
367 : compiler::TNode<Smi> tmp22;
368 : compiler::TNode<Float64T> tmp23;
369 : ca_.Bind(&block3, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
370 : ca_.Goto(&block1, tmp16, tmp17, tmp18, tmp19, tmp20, tmp23);
371 : }
372 :
373 56 : if (block2.is_used()) {
374 : compiler::TNode<Context> tmp24;
375 : compiler::TNode<JSReceiver> tmp25;
376 : compiler::TNode<Number> tmp26;
377 : compiler::TNode<JSArray> tmp27;
378 : compiler::TNode<FixedDoubleArray> tmp28;
379 : ca_.Bind(&block2, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
380 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
381 : compiler::TNode<String> tmp29;
382 : USE(tmp29);
383 112 : tmp29 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
384 112 : CodeStubAssembler(state_).Return(tmp29);
385 : }
386 :
387 56 : if (block1.is_used()) {
388 : compiler::TNode<Context> tmp30;
389 : compiler::TNode<JSReceiver> tmp31;
390 : compiler::TNode<Number> tmp32;
391 : compiler::TNode<JSArray> tmp33;
392 : compiler::TNode<FixedDoubleArray> tmp34;
393 : compiler::TNode<Float64T> tmp35;
394 : ca_.Bind(&block1, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
395 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
396 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 50);
397 : compiler::TNode<HeapNumber> tmp36;
398 : USE(tmp36);
399 168 : tmp36 = ca_.UncheckedCast<HeapNumber>(CodeStubAssembler(state_).AllocateHeapNumberWithValue(compiler::TNode<Float64T>{tmp35}));
400 112 : CodeStubAssembler(state_).Return(tmp36);
401 : }
402 56 : }
403 :
404 224 : TF_BUILTIN(ConvertToLocaleString, CodeStubAssembler) {
405 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
406 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
407 : USE(parameter0);
408 : compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kElement));
409 : USE(parameter1);
410 : compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kLocales));
411 : USE(parameter2);
412 : compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kOptions));
413 : USE(parameter3);
414 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
415 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
416 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
417 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
418 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
419 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
420 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
421 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
422 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
423 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
424 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
425 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
426 : ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3);
427 :
428 56 : if (block0.is_used()) {
429 : compiler::TNode<Context> tmp0;
430 : compiler::TNode<Object> tmp1;
431 : compiler::TNode<Object> tmp2;
432 : compiler::TNode<Object> tmp3;
433 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
434 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 65);
435 : compiler::TNode<BoolT> tmp4;
436 : USE(tmp4);
437 168 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp1}));
438 56 : ca_.Branch(tmp4, &block1, &block2, tmp0, tmp1, tmp2, tmp3);
439 : }
440 :
441 56 : if (block1.is_used()) {
442 : compiler::TNode<Context> tmp5;
443 : compiler::TNode<Object> tmp6;
444 : compiler::TNode<Object> tmp7;
445 : compiler::TNode<Object> tmp8;
446 : ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
447 : compiler::TNode<String> tmp9;
448 : USE(tmp9);
449 112 : tmp9 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
450 112 : CodeStubAssembler(state_).Return(tmp9);
451 : }
452 :
453 56 : if (block2.is_used()) {
454 : compiler::TNode<Context> tmp10;
455 : compiler::TNode<Object> tmp11;
456 : compiler::TNode<Object> tmp12;
457 : compiler::TNode<Object> tmp13;
458 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13);
459 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 67);
460 : compiler::TNode<Object> tmp14;
461 : USE(tmp14);
462 112 : tmp14 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("toLocaleString"));
463 : compiler::TNode<Object> tmp15;
464 : USE(tmp15);
465 112 : tmp15 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp11}, compiler::TNode<Object>{tmp14}));
466 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 69);
467 : compiler::TNode<JSReceiver> tmp16;
468 : USE(tmp16);
469 56 : compiler::CodeAssemblerLabel label0(&ca_);
470 112 : tmp16 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp15}, &label0);
471 : ca_.Goto(&block5, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15, tmp16);
472 56 : if (label0.is_used()) {
473 56 : ca_.Bind(&label0);
474 : ca_.Goto(&block6, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15);
475 : }
476 : }
477 :
478 56 : if (block6.is_used()) {
479 : compiler::TNode<Context> tmp17;
480 : compiler::TNode<Object> tmp18;
481 : compiler::TNode<Object> tmp19;
482 : compiler::TNode<Object> tmp20;
483 : compiler::TNode<Object> tmp21;
484 : compiler::TNode<Object> tmp22;
485 : ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
486 : ca_.Goto(&block4, tmp17, tmp18, tmp19, tmp20, tmp21);
487 : }
488 :
489 56 : if (block5.is_used()) {
490 : compiler::TNode<Context> tmp23;
491 : compiler::TNode<Object> tmp24;
492 : compiler::TNode<Object> tmp25;
493 : compiler::TNode<Object> tmp26;
494 : compiler::TNode<Object> tmp27;
495 : compiler::TNode<Object> tmp28;
496 : compiler::TNode<JSReceiver> tmp29;
497 : ca_.Bind(&block5, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
498 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 70);
499 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
500 : compiler::TNode<BoolT> tmp30;
501 : USE(tmp30);
502 168 : tmp30 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp25}));
503 56 : ca_.Branch(tmp30, &block7, &block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp29, ca_.Uninitialized<Object>());
504 : }
505 :
506 56 : if (block7.is_used()) {
507 : compiler::TNode<Context> tmp31;
508 : compiler::TNode<Object> tmp32;
509 : compiler::TNode<Object> tmp33;
510 : compiler::TNode<Object> tmp34;
511 : compiler::TNode<Object> tmp35;
512 : compiler::TNode<JSReceiver> tmp36;
513 : compiler::TNode<Object> tmp37;
514 : ca_.Bind(&block7, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
515 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 72);
516 : compiler::TNode<Object> tmp38;
517 : USE(tmp38);
518 168 : tmp38 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp31}, compiler::TNode<JSReceiver>{tmp36}, compiler::TNode<Object>{tmp32}));
519 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
520 : ca_.Goto(&block9, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp38);
521 : }
522 :
523 56 : if (block8.is_used()) {
524 : compiler::TNode<Context> tmp39;
525 : compiler::TNode<Object> tmp40;
526 : compiler::TNode<Object> tmp41;
527 : compiler::TNode<Object> tmp42;
528 : compiler::TNode<Object> tmp43;
529 : compiler::TNode<JSReceiver> tmp44;
530 : compiler::TNode<Object> tmp45;
531 : ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
532 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
533 : compiler::TNode<BoolT> tmp46;
534 : USE(tmp46);
535 168 : tmp46 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp42}));
536 56 : ca_.Branch(tmp46, &block10, &block11, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45);
537 : }
538 :
539 56 : if (block10.is_used()) {
540 : compiler::TNode<Context> tmp47;
541 : compiler::TNode<Object> tmp48;
542 : compiler::TNode<Object> tmp49;
543 : compiler::TNode<Object> tmp50;
544 : compiler::TNode<Object> tmp51;
545 : compiler::TNode<JSReceiver> tmp52;
546 : compiler::TNode<Object> tmp53;
547 : ca_.Bind(&block10, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
548 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 74);
549 : compiler::TNode<Object> tmp54;
550 : USE(tmp54);
551 168 : tmp54 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp47}, compiler::TNode<JSReceiver>{tmp52}, compiler::TNode<Object>{tmp48}, compiler::TNode<Object>{tmp49}));
552 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
553 : ca_.Goto(&block12, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp54);
554 : }
555 :
556 56 : if (block11.is_used()) {
557 : compiler::TNode<Context> tmp55;
558 : compiler::TNode<Object> tmp56;
559 : compiler::TNode<Object> tmp57;
560 : compiler::TNode<Object> tmp58;
561 : compiler::TNode<Object> tmp59;
562 : compiler::TNode<JSReceiver> tmp60;
563 : compiler::TNode<Object> tmp61;
564 : ca_.Bind(&block11, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61);
565 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 76);
566 : compiler::TNode<Object> tmp62;
567 : USE(tmp62);
568 168 : tmp62 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp55}, compiler::TNode<JSReceiver>{tmp60}, compiler::TNode<Object>{tmp56}, compiler::TNode<Object>{tmp57}, compiler::TNode<Object>{tmp58}));
569 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
570 : ca_.Goto(&block12, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp62);
571 : }
572 :
573 56 : if (block12.is_used()) {
574 : compiler::TNode<Context> tmp63;
575 : compiler::TNode<Object> tmp64;
576 : compiler::TNode<Object> tmp65;
577 : compiler::TNode<Object> tmp66;
578 : compiler::TNode<Object> tmp67;
579 : compiler::TNode<JSReceiver> tmp68;
580 : compiler::TNode<Object> tmp69;
581 : ca_.Bind(&block12, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
582 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
583 : ca_.Goto(&block9, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69);
584 : }
585 :
586 56 : if (block9.is_used()) {
587 : compiler::TNode<Context> tmp70;
588 : compiler::TNode<Object> tmp71;
589 : compiler::TNode<Object> tmp72;
590 : compiler::TNode<Object> tmp73;
591 : compiler::TNode<Object> tmp74;
592 : compiler::TNode<JSReceiver> tmp75;
593 : compiler::TNode<Object> tmp76;
594 : ca_.Bind(&block9, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76);
595 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 78);
596 : compiler::TNode<String> tmp77;
597 : USE(tmp77);
598 224 : tmp77 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp70}, compiler::TNode<Object>{tmp76}));
599 112 : CodeStubAssembler(state_).Return(tmp77);
600 : }
601 :
602 56 : if (block4.is_used()) {
603 : compiler::TNode<Context> tmp78;
604 : compiler::TNode<Object> tmp79;
605 : compiler::TNode<Object> tmp80;
606 : compiler::TNode<Object> tmp81;
607 : compiler::TNode<Object> tmp82;
608 : ca_.Bind(&block4, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82);
609 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 81);
610 112 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp78}, MessageTemplate::kCalledNonCallable, compiler::TNode<Object>{tmp82});
611 : }
612 56 : }
613 :
614 112 : void ArrayJoinBuiltinsFromDSLAssembler::CannotUseSameArrayAccessor7JSArray(compiler::TNode<Context> p_context, compiler::TNode<BuiltinPtr> p_loadFn, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<Map> p_originalMap, compiler::TNode<Number> p_originalLen, compiler::CodeAssemblerLabel* label_Cannot, compiler::CodeAssemblerLabel* label_Can) {
615 112 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
616 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
617 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
618 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
619 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
620 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
621 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
622 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
623 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
624 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
625 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
626 : ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_originalMap, p_originalLen);
627 :
628 112 : if (block0.is_used()) {
629 : compiler::TNode<Context> tmp0;
630 : compiler::TNode<BuiltinPtr> tmp1;
631 : compiler::TNode<JSReceiver> tmp2;
632 : compiler::TNode<Map> tmp3;
633 : compiler::TNode<Number> tmp4;
634 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
635 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 96);
636 : compiler::TNode<BoolT> tmp5;
637 : USE(tmp5);
638 224 : tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp1}, compiler::TNode<Smi>{ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor))}));
639 112 : ca_.Branch(tmp5, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4);
640 : }
641 :
642 112 : if (block3.is_used()) {
643 : compiler::TNode<Context> tmp6;
644 : compiler::TNode<BuiltinPtr> tmp7;
645 : compiler::TNode<JSReceiver> tmp8;
646 : compiler::TNode<Map> tmp9;
647 : compiler::TNode<Number> tmp10;
648 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
649 : ca_.Goto(&block2);
650 : }
651 :
652 112 : if (block4.is_used()) {
653 : compiler::TNode<Context> tmp11;
654 : compiler::TNode<BuiltinPtr> tmp12;
655 : compiler::TNode<JSReceiver> tmp13;
656 : compiler::TNode<Map> tmp14;
657 : compiler::TNode<Number> tmp15;
658 : ca_.Bind(&block4, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
659 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 98);
660 : compiler::TNode<JSArray> tmp16;
661 : USE(tmp16);
662 336 : tmp16 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp11}, compiler::TNode<Object>{tmp13}));
663 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 99);
664 112 : compiler::TNode<IntPtrT> tmp17 = ca_.IntPtrConstant(HeapObject::kMapOffset);
665 : USE(tmp17);
666 224 : compiler::TNode<Map>tmp18 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp16, tmp17});
667 : compiler::TNode<BoolT> tmp19;
668 : USE(tmp19);
669 224 : tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<HeapObject>{tmp14}, compiler::TNode<HeapObject>{tmp18}));
670 112 : ca_.Branch(tmp19, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
671 : }
672 :
673 112 : if (block5.is_used()) {
674 : compiler::TNode<Context> tmp20;
675 : compiler::TNode<BuiltinPtr> tmp21;
676 : compiler::TNode<JSReceiver> tmp22;
677 : compiler::TNode<Map> tmp23;
678 : compiler::TNode<Number> tmp24;
679 : compiler::TNode<JSArray> tmp25;
680 : ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
681 : ca_.Goto(&block1);
682 : }
683 :
684 112 : if (block6.is_used()) {
685 : compiler::TNode<Context> tmp26;
686 : compiler::TNode<BuiltinPtr> tmp27;
687 : compiler::TNode<JSReceiver> tmp28;
688 : compiler::TNode<Map> tmp29;
689 : compiler::TNode<Number> tmp30;
690 : compiler::TNode<JSArray> tmp31;
691 : ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
692 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 100);
693 112 : compiler::TNode<IntPtrT> tmp32 = ca_.IntPtrConstant(JSArray::kLengthOffset);
694 : USE(tmp32);
695 336 : compiler::TNode<Number>tmp33 = CodeStubAssembler(state_).LoadReference<Number>(CodeStubAssembler::Reference{tmp31, tmp32});
696 : compiler::TNode<BoolT> tmp34;
697 : USE(tmp34);
698 336 : tmp34 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp33}));
699 112 : ca_.Branch(tmp34, &block7, &block8, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31);
700 : }
701 :
702 112 : if (block7.is_used()) {
703 : compiler::TNode<Context> tmp35;
704 : compiler::TNode<BuiltinPtr> tmp36;
705 : compiler::TNode<JSReceiver> tmp37;
706 : compiler::TNode<Map> tmp38;
707 : compiler::TNode<Number> tmp39;
708 : compiler::TNode<JSArray> tmp40;
709 : ca_.Bind(&block7, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40);
710 : ca_.Goto(&block1);
711 : }
712 :
713 112 : if (block8.is_used()) {
714 : compiler::TNode<Context> tmp41;
715 : compiler::TNode<BuiltinPtr> tmp42;
716 : compiler::TNode<JSReceiver> tmp43;
717 : compiler::TNode<Map> tmp44;
718 : compiler::TNode<Number> tmp45;
719 : compiler::TNode<JSArray> tmp46;
720 : ca_.Bind(&block8, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46);
721 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 101);
722 : compiler::TNode<BoolT> tmp47;
723 : USE(tmp47);
724 224 : tmp47 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
725 112 : ca_.Branch(tmp47, &block9, &block10, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46);
726 : }
727 :
728 112 : if (block9.is_used()) {
729 : compiler::TNode<Context> tmp48;
730 : compiler::TNode<BuiltinPtr> tmp49;
731 : compiler::TNode<JSReceiver> tmp50;
732 : compiler::TNode<Map> tmp51;
733 : compiler::TNode<Number> tmp52;
734 : compiler::TNode<JSArray> tmp53;
735 : ca_.Bind(&block9, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
736 : ca_.Goto(&block1);
737 : }
738 :
739 112 : if (block10.is_used()) {
740 : compiler::TNode<Context> tmp54;
741 : compiler::TNode<BuiltinPtr> tmp55;
742 : compiler::TNode<JSReceiver> tmp56;
743 : compiler::TNode<Map> tmp57;
744 : compiler::TNode<Number> tmp58;
745 : compiler::TNode<JSArray> tmp59;
746 : ca_.Bind(&block10, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
747 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 102);
748 : ca_.Goto(&block2);
749 : }
750 :
751 112 : if (block1.is_used()) {
752 : ca_.Bind(&block1);
753 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
754 112 : ca_.Goto(label_Cannot);
755 : }
756 :
757 112 : if (block2.is_used()) {
758 : ca_.Bind(&block2);
759 112 : ca_.Goto(label_Can);
760 : }
761 112 : }
762 :
763 112 : void ArrayJoinBuiltinsFromDSLAssembler::CannotUseSameArrayAccessor12JSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<BuiltinPtr> p_loadFn, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<Map> p_initialMap, compiler::TNode<Number> p_initialLen, compiler::CodeAssemblerLabel* label_Cannot, compiler::CodeAssemblerLabel* label_Can) {
764 112 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
765 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
766 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
767 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
768 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
769 : ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_initialMap, p_initialLen);
770 :
771 112 : if (block0.is_used()) {
772 : compiler::TNode<Context> tmp0;
773 : compiler::TNode<BuiltinPtr> tmp1;
774 : compiler::TNode<JSReceiver> tmp2;
775 : compiler::TNode<Map> tmp3;
776 : compiler::TNode<Number> tmp4;
777 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
778 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 109);
779 : compiler::TNode<JSTypedArray> tmp5;
780 : USE(tmp5);
781 336 : tmp5 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
782 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 110);
783 112 : compiler::TNode<IntPtrT> tmp6 = ca_.IntPtrConstant(JSArrayBufferView::kBufferOffset);
784 : USE(tmp6);
785 224 : compiler::TNode<JSArrayBuffer>tmp7 = CodeStubAssembler(state_).LoadReference<JSArrayBuffer>(CodeStubAssembler::Reference{tmp5, tmp6});
786 : compiler::TNode<BoolT> tmp8;
787 : USE(tmp8);
788 224 : tmp8 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsDetachedBuffer(compiler::TNode<JSArrayBuffer>{tmp7}));
789 112 : ca_.Branch(tmp8, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
790 : }
791 :
792 112 : if (block3.is_used()) {
793 : compiler::TNode<Context> tmp9;
794 : compiler::TNode<BuiltinPtr> tmp10;
795 : compiler::TNode<JSReceiver> tmp11;
796 : compiler::TNode<Map> tmp12;
797 : compiler::TNode<Number> tmp13;
798 : compiler::TNode<JSTypedArray> tmp14;
799 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
800 : ca_.Goto(&block1);
801 : }
802 :
803 112 : if (block4.is_used()) {
804 : compiler::TNode<Context> tmp15;
805 : compiler::TNode<BuiltinPtr> tmp16;
806 : compiler::TNode<JSReceiver> tmp17;
807 : compiler::TNode<Map> tmp18;
808 : compiler::TNode<Number> tmp19;
809 : compiler::TNode<JSTypedArray> tmp20;
810 : ca_.Bind(&block4, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
811 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 111);
812 : ca_.Goto(&block2);
813 : }
814 :
815 112 : if (block1.is_used()) {
816 : ca_.Bind(&block1);
817 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
818 112 : ca_.Goto(label_Cannot);
819 : }
820 :
821 112 : if (block2.is_used()) {
822 : ca_.Bind(&block2);
823 112 : ca_.Goto(label_Can);
824 : }
825 112 : }
826 :
827 672 : compiler::TNode<IntPtrT> ArrayJoinBuiltinsFromDSLAssembler::AddStringLength(compiler::TNode<Context> p_context, compiler::TNode<IntPtrT> p_lenA, compiler::TNode<IntPtrT> p_lenB) {
828 672 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
829 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
830 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
831 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
832 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
833 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
834 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
835 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
836 : ca_.Goto(&block0, p_context, p_lenA, p_lenB);
837 :
838 672 : if (block0.is_used()) {
839 : compiler::TNode<Context> tmp0;
840 : compiler::TNode<IntPtrT> tmp1;
841 : compiler::TNode<IntPtrT> tmp2;
842 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
843 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 120);
844 : compiler::TNode<IntPtrT> tmp3;
845 : USE(tmp3);
846 672 : compiler::CodeAssemblerLabel label0(&ca_);
847 1344 : tmp3 = CodeStubAssembler(state_).TryIntPtrAdd(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp2}, &label0);
848 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp1, tmp2, tmp3);
849 672 : if (label0.is_used()) {
850 672 : ca_.Bind(&label0);
851 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp1, tmp2);
852 : }
853 : }
854 :
855 672 : if (block5.is_used()) {
856 : compiler::TNode<Context> tmp4;
857 : compiler::TNode<IntPtrT> tmp5;
858 : compiler::TNode<IntPtrT> tmp6;
859 : compiler::TNode<IntPtrT> tmp7;
860 : compiler::TNode<IntPtrT> tmp8;
861 : ca_.Bind(&block5, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
862 : ca_.Goto(&block3, tmp4, tmp5, tmp6);
863 : }
864 :
865 672 : if (block4.is_used()) {
866 : compiler::TNode<Context> tmp9;
867 : compiler::TNode<IntPtrT> tmp10;
868 : compiler::TNode<IntPtrT> tmp11;
869 : compiler::TNode<IntPtrT> tmp12;
870 : compiler::TNode<IntPtrT> tmp13;
871 : compiler::TNode<IntPtrT> tmp14;
872 : ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
873 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 121);
874 : compiler::TNode<IntPtrT> tmp15;
875 : USE(tmp15);
876 2016 : tmp15 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(String::kMaxLength));
877 : compiler::TNode<BoolT> tmp16;
878 : USE(tmp16);
879 2016 : tmp16 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp15}));
880 672 : ca_.Branch(tmp16, &block6, &block7, tmp9, tmp10, tmp11, tmp14);
881 : }
882 :
883 672 : if (block6.is_used()) {
884 : compiler::TNode<Context> tmp17;
885 : compiler::TNode<IntPtrT> tmp18;
886 : compiler::TNode<IntPtrT> tmp19;
887 : compiler::TNode<IntPtrT> tmp20;
888 : ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20);
889 : ca_.Goto(&block3, tmp17, tmp18, tmp19);
890 : }
891 :
892 672 : if (block7.is_used()) {
893 : compiler::TNode<Context> tmp21;
894 : compiler::TNode<IntPtrT> tmp22;
895 : compiler::TNode<IntPtrT> tmp23;
896 : compiler::TNode<IntPtrT> tmp24;
897 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23, &tmp24);
898 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 122);
899 : ca_.Goto(&block1, tmp21, tmp22, tmp23, tmp24);
900 : }
901 :
902 672 : if (block3.is_used()) {
903 : compiler::TNode<Context> tmp25;
904 : compiler::TNode<IntPtrT> tmp26;
905 : compiler::TNode<IntPtrT> tmp27;
906 : ca_.Bind(&block3, &tmp25, &tmp26, &tmp27);
907 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 125);
908 1344 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp25);
909 1344 : CodeStubAssembler(state_).Unreachable();
910 : }
911 :
912 672 : if (block1.is_used()) {
913 : compiler::TNode<Context> tmp29;
914 : compiler::TNode<IntPtrT> tmp30;
915 : compiler::TNode<IntPtrT> tmp31;
916 : compiler::TNode<IntPtrT> tmp32;
917 : ca_.Bind(&block1, &tmp29, &tmp30, &tmp31, &tmp32);
918 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 117);
919 : ca_.Goto(&block8, tmp29, tmp30, tmp31, tmp32);
920 : }
921 :
922 : compiler::TNode<Context> tmp33;
923 : compiler::TNode<IntPtrT> tmp34;
924 : compiler::TNode<IntPtrT> tmp35;
925 : compiler::TNode<IntPtrT> tmp36;
926 : ca_.Bind(&block8, &tmp33, &tmp34, &tmp35, &tmp36);
927 1344 : return compiler::TNode<IntPtrT>{tmp36};
928 : }
929 :
930 224 : ArrayJoinBuiltinsFromDSLAssembler::Buffer ArrayJoinBuiltinsFromDSLAssembler::NewBuffer(compiler::TNode<UintPtrT> p_len, compiler::TNode<String> p_sep) {
931 224 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
932 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
933 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
934 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
935 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
936 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, FixedArray, IntPtrT, IntPtrT, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
937 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, FixedArray, IntPtrT, IntPtrT, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
938 : ca_.Goto(&block0, p_len, p_sep);
939 :
940 224 : if (block0.is_used()) {
941 : compiler::TNode<UintPtrT> tmp0;
942 : compiler::TNode<String> tmp1;
943 : ca_.Bind(&block0, &tmp0, &tmp1);
944 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 217);
945 : compiler::TNode<UintPtrT> tmp2;
946 : USE(tmp2);
947 672 : tmp2 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
948 : compiler::TNode<BoolT> tmp3;
949 : USE(tmp3);
950 672 : tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp0}, compiler::TNode<UintPtrT>{tmp2}));
951 224 : ca_.Branch(tmp3, &block2, &block3, tmp0, tmp1);
952 : }
953 :
954 224 : if (block2.is_used()) {
955 : compiler::TNode<UintPtrT> tmp4;
956 : compiler::TNode<String> tmp5;
957 : ca_.Bind(&block2, &tmp4, &tmp5);
958 : ca_.Goto(&block5, tmp4, tmp5);
959 : }
960 :
961 224 : if (block3.is_used()) {
962 : compiler::TNode<UintPtrT> tmp6;
963 : compiler::TNode<String> tmp7;
964 : ca_.Bind(&block3, &tmp6, &tmp7);
965 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 219);
966 : compiler::TNode<IntPtrT> tmp8;
967 : USE(tmp8);
968 448 : tmp8 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp6}));
969 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 217);
970 : ca_.Goto(&block4, tmp6, tmp7, tmp8);
971 : }
972 :
973 224 : if (block5.is_used()) {
974 : compiler::TNode<UintPtrT> tmp9;
975 : compiler::TNode<String> tmp10;
976 : ca_.Bind(&block5, &tmp9, &tmp10);
977 : compiler::TNode<IntPtrT> tmp11;
978 : USE(tmp11);
979 672 : tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
980 : ca_.Goto(&block4, tmp9, tmp10, tmp11);
981 : }
982 :
983 224 : if (block4.is_used()) {
984 : compiler::TNode<UintPtrT> tmp12;
985 : compiler::TNode<String> tmp13;
986 : compiler::TNode<IntPtrT> tmp14;
987 : ca_.Bind(&block4, &tmp12, &tmp13, &tmp14);
988 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 222);
989 : compiler::TNode<FixedArray> tmp15;
990 : USE(tmp15);
991 448 : tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateZeroedFixedArray(compiler::TNode<IntPtrT>{tmp14}));
992 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 225);
993 : compiler::TNode<Int32T> tmp16;
994 : USE(tmp16);
995 448 : tmp16 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp13}));
996 : compiler::TNode<BoolT> tmp17;
997 : USE(tmp17);
998 448 : tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp16}));
999 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 221);
1000 : compiler::TNode<IntPtrT> tmp18;
1001 : USE(tmp18);
1002 672 : tmp18 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
1003 : compiler::TNode<IntPtrT> tmp19;
1004 : USE(tmp19);
1005 672 : tmp19 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
1006 : ca_.Goto(&block1, tmp12, tmp13, tmp15, tmp18, tmp19, tmp17);
1007 : }
1008 :
1009 224 : if (block1.is_used()) {
1010 : compiler::TNode<UintPtrT> tmp20;
1011 : compiler::TNode<String> tmp21;
1012 : compiler::TNode<FixedArray> tmp22;
1013 : compiler::TNode<IntPtrT> tmp23;
1014 : compiler::TNode<IntPtrT> tmp24;
1015 : compiler::TNode<BoolT> tmp25;
1016 : ca_.Bind(&block1, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
1017 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 216);
1018 : ca_.Goto(&block6, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25);
1019 : }
1020 :
1021 : compiler::TNode<UintPtrT> tmp26;
1022 : compiler::TNode<String> tmp27;
1023 : compiler::TNode<FixedArray> tmp28;
1024 : compiler::TNode<IntPtrT> tmp29;
1025 : compiler::TNode<IntPtrT> tmp30;
1026 : compiler::TNode<BoolT> tmp31;
1027 : ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
1028 448 : return ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp28}, compiler::TNode<IntPtrT>{tmp29}, compiler::TNode<IntPtrT>{tmp30}, compiler::TNode<BoolT>{tmp31}};
1029 : }
1030 :
1031 224 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::BufferJoin(compiler::TNode<Context> p_context, ArrayJoinBuiltinsFromDSLAssembler::Buffer p_buffer, compiler::TNode<String> p_sep) {
1032 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1033 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1034 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1035 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1036 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1037 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1038 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1039 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1040 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1041 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1042 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1043 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1044 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1045 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1046 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1047 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1048 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1049 : ca_.Goto(&block0, p_context, p_buffer.fixedArray, p_buffer.index, p_buffer.totalStringLength, p_buffer.isOneByte, p_sep);
1050 :
1051 224 : if (block0.is_used()) {
1052 : compiler::TNode<Context> tmp0;
1053 : compiler::TNode<FixedArray> tmp1;
1054 : compiler::TNode<IntPtrT> tmp2;
1055 : compiler::TNode<IntPtrT> tmp3;
1056 : compiler::TNode<BoolT> tmp4;
1057 : compiler::TNode<String> tmp5;
1058 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
1059 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 232);
1060 : compiler::TNode<IntPtrT> tmp6;
1061 : USE(tmp6);
1062 672 : tmp6 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
1063 : compiler::TNode<BoolT> tmp7;
1064 : USE(tmp7);
1065 672 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp6}));
1066 224 : ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
1067 : }
1068 :
1069 224 : if (block2.is_used()) {
1070 : compiler::TNode<Context> tmp8;
1071 : compiler::TNode<FixedArray> tmp9;
1072 : compiler::TNode<IntPtrT> tmp10;
1073 : compiler::TNode<IntPtrT> tmp11;
1074 : compiler::TNode<BoolT> tmp12;
1075 : compiler::TNode<String> tmp13;
1076 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
1077 : compiler::TNode<String> tmp14;
1078 : USE(tmp14);
1079 672 : tmp14 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
1080 : ca_.Goto(&block1, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
1081 : }
1082 :
1083 224 : if (block3.is_used()) {
1084 : compiler::TNode<Context> tmp15;
1085 : compiler::TNode<FixedArray> tmp16;
1086 : compiler::TNode<IntPtrT> tmp17;
1087 : compiler::TNode<IntPtrT> tmp18;
1088 : compiler::TNode<BoolT> tmp19;
1089 : compiler::TNode<String> tmp20;
1090 : ca_.Bind(&block3, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
1091 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 235);
1092 : compiler::TNode<IntPtrT> tmp21;
1093 : USE(tmp21);
1094 672 : tmp21 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
1095 : compiler::TNode<BoolT> tmp22;
1096 : USE(tmp22);
1097 672 : tmp22 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp17}, compiler::TNode<IntPtrT>{tmp21}));
1098 224 : ca_.Branch(tmp22, &block4, &block5, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
1099 : }
1100 :
1101 224 : if (block4.is_used()) {
1102 : compiler::TNode<Context> tmp23;
1103 : compiler::TNode<FixedArray> tmp24;
1104 : compiler::TNode<IntPtrT> tmp25;
1105 : compiler::TNode<IntPtrT> tmp26;
1106 : compiler::TNode<BoolT> tmp27;
1107 : compiler::TNode<String> tmp28;
1108 : ca_.Bind(&block4, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
1109 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 236);
1110 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 237);
1111 : compiler::TNode<Object> tmp29;
1112 : USE(tmp29);
1113 448 : tmp29 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, 0));
1114 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 240);
1115 : compiler::TNode<String> tmp30;
1116 : USE(tmp30);
1117 224 : compiler::CodeAssemblerLabel label0(&ca_);
1118 672 : tmp30 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp23}, compiler::TNode<Object>{tmp29}, &label0);
1119 : ca_.Goto(&block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29, tmp30);
1120 224 : if (label0.is_used()) {
1121 224 : ca_.Bind(&label0);
1122 : ca_.Goto(&block9, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29);
1123 : }
1124 : }
1125 :
1126 224 : if (block9.is_used()) {
1127 : compiler::TNode<Context> tmp31;
1128 : compiler::TNode<FixedArray> tmp32;
1129 : compiler::TNode<IntPtrT> tmp33;
1130 : compiler::TNode<IntPtrT> tmp34;
1131 : compiler::TNode<BoolT> tmp35;
1132 : compiler::TNode<String> tmp36;
1133 : compiler::TNode<FixedArray> tmp37;
1134 : compiler::TNode<Object> tmp38;
1135 : compiler::TNode<Object> tmp39;
1136 : ca_.Bind(&block9, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
1137 : ca_.Goto(&block7, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38);
1138 : }
1139 :
1140 224 : if (block8.is_used()) {
1141 : compiler::TNode<Context> tmp40;
1142 : compiler::TNode<FixedArray> tmp41;
1143 : compiler::TNode<IntPtrT> tmp42;
1144 : compiler::TNode<IntPtrT> tmp43;
1145 : compiler::TNode<BoolT> tmp44;
1146 : compiler::TNode<String> tmp45;
1147 : compiler::TNode<FixedArray> tmp46;
1148 : compiler::TNode<Object> tmp47;
1149 : compiler::TNode<Object> tmp48;
1150 : compiler::TNode<String> tmp49;
1151 : ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
1152 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 241);
1153 : ca_.Goto(&block1, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp49);
1154 : }
1155 :
1156 224 : if (block7.is_used()) {
1157 : compiler::TNode<Context> tmp50;
1158 : compiler::TNode<FixedArray> tmp51;
1159 : compiler::TNode<IntPtrT> tmp52;
1160 : compiler::TNode<IntPtrT> tmp53;
1161 : compiler::TNode<BoolT> tmp54;
1162 : compiler::TNode<String> tmp55;
1163 : compiler::TNode<FixedArray> tmp56;
1164 : compiler::TNode<Object> tmp57;
1165 : ca_.Bind(&block7, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
1166 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 246);
1167 : compiler::TNode<Number> tmp58;
1168 : USE(tmp58);
1169 224 : compiler::CodeAssemblerLabel label0(&ca_);
1170 672 : tmp58 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp57)}, &label0);
1171 : ca_.Goto(&block12, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57), tmp58);
1172 224 : if (label0.is_used()) {
1173 224 : ca_.Bind(&label0);
1174 : ca_.Goto(&block13, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57));
1175 : }
1176 : }
1177 :
1178 224 : if (block13.is_used()) {
1179 : compiler::TNode<Context> tmp59;
1180 : compiler::TNode<FixedArray> tmp60;
1181 : compiler::TNode<IntPtrT> tmp61;
1182 : compiler::TNode<IntPtrT> tmp62;
1183 : compiler::TNode<BoolT> tmp63;
1184 : compiler::TNode<String> tmp64;
1185 : compiler::TNode<FixedArray> tmp65;
1186 : compiler::TNode<Object> tmp66;
1187 : compiler::TNode<Object> tmp67;
1188 : ca_.Bind(&block13, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
1189 : ca_.Goto(&block11, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66);
1190 : }
1191 :
1192 224 : if (block12.is_used()) {
1193 : compiler::TNode<Context> tmp68;
1194 : compiler::TNode<FixedArray> tmp69;
1195 : compiler::TNode<IntPtrT> tmp70;
1196 : compiler::TNode<IntPtrT> tmp71;
1197 : compiler::TNode<BoolT> tmp72;
1198 : compiler::TNode<String> tmp73;
1199 : compiler::TNode<FixedArray> tmp74;
1200 : compiler::TNode<Object> tmp75;
1201 : compiler::TNode<Object> tmp76;
1202 : compiler::TNode<Number> tmp77;
1203 : ca_.Bind(&block12, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
1204 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 247);
1205 : compiler::TNode<String> tmp78;
1206 448 : tmp78 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp68, tmp73, tmp77));
1207 : USE(tmp78);
1208 : ca_.Goto(&block1, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp78);
1209 : }
1210 :
1211 224 : if (block11.is_used()) {
1212 : compiler::TNode<Context> tmp79;
1213 : compiler::TNode<FixedArray> tmp80;
1214 : compiler::TNode<IntPtrT> tmp81;
1215 : compiler::TNode<IntPtrT> tmp82;
1216 : compiler::TNode<BoolT> tmp83;
1217 : compiler::TNode<String> tmp84;
1218 : compiler::TNode<FixedArray> tmp85;
1219 : compiler::TNode<Object> tmp86;
1220 : ca_.Bind(&block11, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86);
1221 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 249);
1222 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 250);
1223 448 : CodeStubAssembler(state_).Unreachable();
1224 : }
1225 :
1226 224 : if (block5.is_used()) {
1227 : compiler::TNode<Context> tmp87;
1228 : compiler::TNode<FixedArray> tmp88;
1229 : compiler::TNode<IntPtrT> tmp89;
1230 : compiler::TNode<IntPtrT> tmp90;
1231 : compiler::TNode<BoolT> tmp91;
1232 : compiler::TNode<String> tmp92;
1233 : ca_.Bind(&block5, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
1234 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 255);
1235 : compiler::TNode<UintPtrT> tmp93;
1236 : USE(tmp93);
1237 448 : tmp93 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).Unsigned(compiler::TNode<IntPtrT>{tmp90}));
1238 : compiler::TNode<Uint32T> tmp94;
1239 : USE(tmp94);
1240 672 : tmp94 = ca_.UncheckedCast<Uint32T>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATuint329ATuintptr(compiler::TNode<UintPtrT>{tmp93}));
1241 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 256);
1242 224 : ca_.Branch(tmp91, &block14, &block15, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp94);
1243 : }
1244 :
1245 224 : if (block14.is_used()) {
1246 : compiler::TNode<Context> tmp95;
1247 : compiler::TNode<FixedArray> tmp96;
1248 : compiler::TNode<IntPtrT> tmp97;
1249 : compiler::TNode<IntPtrT> tmp98;
1250 : compiler::TNode<BoolT> tmp99;
1251 : compiler::TNode<String> tmp100;
1252 : compiler::TNode<Uint32T> tmp101;
1253 : ca_.Bind(&block14, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101);
1254 : compiler::TNode<String> tmp102;
1255 : USE(tmp102);
1256 448 : tmp102 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqOneByteString(compiler::TNode<Context>{tmp95}, compiler::TNode<Uint32T>{tmp101}));
1257 : ca_.Goto(&block17, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102);
1258 : }
1259 :
1260 224 : if (block15.is_used()) {
1261 : compiler::TNode<Context> tmp103;
1262 : compiler::TNode<FixedArray> tmp104;
1263 : compiler::TNode<IntPtrT> tmp105;
1264 : compiler::TNode<IntPtrT> tmp106;
1265 : compiler::TNode<BoolT> tmp107;
1266 : compiler::TNode<String> tmp108;
1267 : compiler::TNode<Uint32T> tmp109;
1268 : ca_.Bind(&block15, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
1269 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 257);
1270 : compiler::TNode<String> tmp110;
1271 : USE(tmp110);
1272 448 : tmp110 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqTwoByteString(compiler::TNode<Context>{tmp103}, compiler::TNode<Uint32T>{tmp109}));
1273 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 256);
1274 : ca_.Goto(&block16, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110);
1275 : }
1276 :
1277 224 : if (block17.is_used()) {
1278 : compiler::TNode<Context> tmp111;
1279 : compiler::TNode<FixedArray> tmp112;
1280 : compiler::TNode<IntPtrT> tmp113;
1281 : compiler::TNode<IntPtrT> tmp114;
1282 : compiler::TNode<BoolT> tmp115;
1283 : compiler::TNode<String> tmp116;
1284 : compiler::TNode<Uint32T> tmp117;
1285 : compiler::TNode<String> tmp118;
1286 : ca_.Bind(&block17, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
1287 : ca_.Goto(&block16, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
1288 : }
1289 :
1290 224 : if (block16.is_used()) {
1291 : compiler::TNode<Context> tmp119;
1292 : compiler::TNode<FixedArray> tmp120;
1293 : compiler::TNode<IntPtrT> tmp121;
1294 : compiler::TNode<IntPtrT> tmp122;
1295 : compiler::TNode<BoolT> tmp123;
1296 : compiler::TNode<String> tmp124;
1297 : compiler::TNode<Uint32T> tmp125;
1298 : compiler::TNode<String> tmp126;
1299 : ca_.Bind(&block16, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
1300 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 259);
1301 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 258);
1302 : compiler::TNode<String> tmp127;
1303 : USE(tmp127);
1304 224 : tmp127 = ca_.UncheckedCast<String>(ArrayBuiltinsAssembler(state_).CallJSArrayArrayJoinConcatToSequentialString(compiler::TNode<FixedArray>{tmp120}, compiler::TNode<IntPtrT>{tmp121}, compiler::TNode<String>{tmp124}, compiler::TNode<String>{tmp126}));
1305 : ca_.Goto(&block1, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp127);
1306 : }
1307 :
1308 224 : if (block1.is_used()) {
1309 : compiler::TNode<Context> tmp128;
1310 : compiler::TNode<FixedArray> tmp129;
1311 : compiler::TNode<IntPtrT> tmp130;
1312 : compiler::TNode<IntPtrT> tmp131;
1313 : compiler::TNode<BoolT> tmp132;
1314 : compiler::TNode<String> tmp133;
1315 : compiler::TNode<String> tmp134;
1316 : ca_.Bind(&block1, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134);
1317 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 229);
1318 : ca_.Goto(&block18, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134);
1319 : }
1320 :
1321 : compiler::TNode<Context> tmp135;
1322 : compiler::TNode<FixedArray> tmp136;
1323 : compiler::TNode<IntPtrT> tmp137;
1324 : compiler::TNode<IntPtrT> tmp138;
1325 : compiler::TNode<BoolT> tmp139;
1326 : compiler::TNode<String> tmp140;
1327 : compiler::TNode<String> tmp141;
1328 : ca_.Bind(&block18, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141);
1329 448 : return compiler::TNode<String>{tmp141};
1330 : }
1331 :
1332 112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoin7JSArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lenNumber, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
1333 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1334 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1335 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver, JSArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1336 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1337 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1338 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1339 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1340 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1341 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1342 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1343 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1344 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1345 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1346 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block18(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1347 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1348 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1349 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1350 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1351 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number, Smi> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1352 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1353 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1354 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1355 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1356 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1357 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1358 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1359 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1360 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1361 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1362 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1363 : ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
1364 :
1365 112 : if (block0.is_used()) {
1366 : compiler::TNode<Context> tmp0;
1367 : compiler::TNode<JSReceiver> tmp1;
1368 : compiler::TNode<String> tmp2;
1369 : compiler::TNode<Number> tmp3;
1370 : compiler::TNode<Object> tmp4;
1371 : compiler::TNode<Object> tmp5;
1372 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
1373 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 333);
1374 112 : compiler::TNode<IntPtrT> tmp6 = ca_.IntPtrConstant(HeapObject::kMapOffset);
1375 : USE(tmp6);
1376 224 : compiler::TNode<Map>tmp7 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp6});
1377 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 334);
1378 : compiler::TNode<Int32T> tmp8;
1379 : USE(tmp8);
1380 224 : tmp8 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp7}));
1381 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 335);
1382 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 338);
1383 : compiler::TNode<JSArray> tmp9;
1384 : USE(tmp9);
1385 112 : compiler::CodeAssemblerLabel label0(&ca_);
1386 336 : tmp9 = BaseBuiltinsFromDSLAssembler(state_).Cast7JSArray(compiler::TNode<HeapObject>{tmp1}, &label0);
1387 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp8, ca_.Uninitialized<BuiltinPtr>(), tmp1, tmp9);
1388 112 : if (label0.is_used()) {
1389 112 : ca_.Bind(&label0);
1390 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp8, ca_.Uninitialized<BuiltinPtr>(), tmp1);
1391 : }
1392 : }
1393 :
1394 112 : if (block5.is_used()) {
1395 : compiler::TNode<Context> tmp10;
1396 : compiler::TNode<JSReceiver> tmp11;
1397 : compiler::TNode<String> tmp12;
1398 : compiler::TNode<Number> tmp13;
1399 : compiler::TNode<Object> tmp14;
1400 : compiler::TNode<Object> tmp15;
1401 : compiler::TNode<Map> tmp16;
1402 : compiler::TNode<Int32T> tmp17;
1403 : compiler::TNode<BuiltinPtr> tmp18;
1404 : compiler::TNode<JSReceiver> tmp19;
1405 : ca_.Bind(&block5, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
1406 : ca_.Goto(&block3, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18);
1407 : }
1408 :
1409 112 : if (block4.is_used()) {
1410 : compiler::TNode<Context> tmp20;
1411 : compiler::TNode<JSReceiver> tmp21;
1412 : compiler::TNode<String> tmp22;
1413 : compiler::TNode<Number> tmp23;
1414 : compiler::TNode<Object> tmp24;
1415 : compiler::TNode<Object> tmp25;
1416 : compiler::TNode<Map> tmp26;
1417 : compiler::TNode<Int32T> tmp27;
1418 : compiler::TNode<BuiltinPtr> tmp28;
1419 : compiler::TNode<JSReceiver> tmp29;
1420 : compiler::TNode<JSArray> tmp30;
1421 : ca_.Bind(&block4, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
1422 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 339);
1423 112 : compiler::TNode<IntPtrT> tmp31 = ca_.IntPtrConstant(JSArray::kLengthOffset);
1424 : USE(tmp31);
1425 336 : compiler::TNode<Number>tmp32 = CodeStubAssembler(state_).LoadReference<Number>(CodeStubAssembler::Reference{tmp30, tmp31});
1426 : compiler::TNode<BoolT> tmp33;
1427 : USE(tmp33);
1428 336 : tmp33 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp32}, compiler::TNode<Number>{tmp23}));
1429 112 : ca_.Branch(tmp33, &block6, &block7, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp30);
1430 : }
1431 :
1432 112 : if (block6.is_used()) {
1433 : compiler::TNode<Context> tmp34;
1434 : compiler::TNode<JSReceiver> tmp35;
1435 : compiler::TNode<String> tmp36;
1436 : compiler::TNode<Number> tmp37;
1437 : compiler::TNode<Object> tmp38;
1438 : compiler::TNode<Object> tmp39;
1439 : compiler::TNode<Map> tmp40;
1440 : compiler::TNode<Int32T> tmp41;
1441 : compiler::TNode<BuiltinPtr> tmp42;
1442 : compiler::TNode<JSArray> tmp43;
1443 : ca_.Bind(&block6, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
1444 : ca_.Goto(&block3, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
1445 : }
1446 :
1447 112 : if (block7.is_used()) {
1448 : compiler::TNode<Context> tmp44;
1449 : compiler::TNode<JSReceiver> tmp45;
1450 : compiler::TNode<String> tmp46;
1451 : compiler::TNode<Number> tmp47;
1452 : compiler::TNode<Object> tmp48;
1453 : compiler::TNode<Object> tmp49;
1454 : compiler::TNode<Map> tmp50;
1455 : compiler::TNode<Int32T> tmp51;
1456 : compiler::TNode<BuiltinPtr> tmp52;
1457 : compiler::TNode<JSArray> tmp53;
1458 : ca_.Bind(&block7, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
1459 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 340);
1460 : compiler::TNode<BoolT> tmp54;
1461 : USE(tmp54);
1462 448 : tmp54 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsPrototypeInitialArrayPrototype(compiler::TNode<Context>{tmp44}, compiler::TNode<Map>{tmp50}));
1463 : compiler::TNode<BoolT> tmp55;
1464 : USE(tmp55);
1465 224 : tmp55 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp54}));
1466 112 : ca_.Branch(tmp55, &block8, &block9, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53);
1467 : }
1468 :
1469 112 : if (block8.is_used()) {
1470 : compiler::TNode<Context> tmp56;
1471 : compiler::TNode<JSReceiver> tmp57;
1472 : compiler::TNode<String> tmp58;
1473 : compiler::TNode<Number> tmp59;
1474 : compiler::TNode<Object> tmp60;
1475 : compiler::TNode<Object> tmp61;
1476 : compiler::TNode<Map> tmp62;
1477 : compiler::TNode<Int32T> tmp63;
1478 : compiler::TNode<BuiltinPtr> tmp64;
1479 : compiler::TNode<JSArray> tmp65;
1480 : ca_.Bind(&block8, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65);
1481 : ca_.Goto(&block3, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64);
1482 : }
1483 :
1484 112 : if (block9.is_used()) {
1485 : compiler::TNode<Context> tmp66;
1486 : compiler::TNode<JSReceiver> tmp67;
1487 : compiler::TNode<String> tmp68;
1488 : compiler::TNode<Number> tmp69;
1489 : compiler::TNode<Object> tmp70;
1490 : compiler::TNode<Object> tmp71;
1491 : compiler::TNode<Map> tmp72;
1492 : compiler::TNode<Int32T> tmp73;
1493 : compiler::TNode<BuiltinPtr> tmp74;
1494 : compiler::TNode<JSArray> tmp75;
1495 : ca_.Bind(&block9, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75);
1496 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 341);
1497 : compiler::TNode<BoolT> tmp76;
1498 : USE(tmp76);
1499 224 : tmp76 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
1500 112 : ca_.Branch(tmp76, &block10, &block11, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75);
1501 : }
1502 :
1503 112 : if (block10.is_used()) {
1504 : compiler::TNode<Context> tmp77;
1505 : compiler::TNode<JSReceiver> tmp78;
1506 : compiler::TNode<String> tmp79;
1507 : compiler::TNode<Number> tmp80;
1508 : compiler::TNode<Object> tmp81;
1509 : compiler::TNode<Object> tmp82;
1510 : compiler::TNode<Map> tmp83;
1511 : compiler::TNode<Int32T> tmp84;
1512 : compiler::TNode<BuiltinPtr> tmp85;
1513 : compiler::TNode<JSArray> tmp86;
1514 : ca_.Bind(&block10, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86);
1515 : ca_.Goto(&block3, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85);
1516 : }
1517 :
1518 112 : if (block11.is_used()) {
1519 : compiler::TNode<Context> tmp87;
1520 : compiler::TNode<JSReceiver> tmp88;
1521 : compiler::TNode<String> tmp89;
1522 : compiler::TNode<Number> tmp90;
1523 : compiler::TNode<Object> tmp91;
1524 : compiler::TNode<Object> tmp92;
1525 : compiler::TNode<Map> tmp93;
1526 : compiler::TNode<Int32T> tmp94;
1527 : compiler::TNode<BuiltinPtr> tmp95;
1528 : compiler::TNode<JSArray> tmp96;
1529 : ca_.Bind(&block11, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96);
1530 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
1531 : compiler::TNode<BoolT> tmp97;
1532 : USE(tmp97);
1533 224 : tmp97 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp94}, HOLEY_ELEMENTS));
1534 112 : ca_.Branch(tmp97, &block12, &block13, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96);
1535 : }
1536 :
1537 112 : if (block12.is_used()) {
1538 : compiler::TNode<Context> tmp98;
1539 : compiler::TNode<JSReceiver> tmp99;
1540 : compiler::TNode<String> tmp100;
1541 : compiler::TNode<Number> tmp101;
1542 : compiler::TNode<Object> tmp102;
1543 : compiler::TNode<Object> tmp103;
1544 : compiler::TNode<Map> tmp104;
1545 : compiler::TNode<Int32T> tmp105;
1546 : compiler::TNode<BuiltinPtr> tmp106;
1547 : compiler::TNode<JSArray> tmp107;
1548 : ca_.Bind(&block12, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
1549 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 344);
1550 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
1551 : ca_.Goto(&block14, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATFastSmiOrObjectElements)), tmp107);
1552 : }
1553 :
1554 112 : if (block13.is_used()) {
1555 : compiler::TNode<Context> tmp108;
1556 : compiler::TNode<JSReceiver> tmp109;
1557 : compiler::TNode<String> tmp110;
1558 : compiler::TNode<Number> tmp111;
1559 : compiler::TNode<Object> tmp112;
1560 : compiler::TNode<Object> tmp113;
1561 : compiler::TNode<Map> tmp114;
1562 : compiler::TNode<Int32T> tmp115;
1563 : compiler::TNode<BuiltinPtr> tmp116;
1564 : compiler::TNode<JSArray> tmp117;
1565 : ca_.Bind(&block13, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117);
1566 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
1567 : compiler::TNode<BoolT> tmp118;
1568 : USE(tmp118);
1569 224 : tmp118 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp115}, HOLEY_DOUBLE_ELEMENTS));
1570 112 : ca_.Branch(tmp118, &block15, &block16, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117);
1571 : }
1572 :
1573 112 : if (block15.is_used()) {
1574 : compiler::TNode<Context> tmp119;
1575 : compiler::TNode<JSReceiver> tmp120;
1576 : compiler::TNode<String> tmp121;
1577 : compiler::TNode<Number> tmp122;
1578 : compiler::TNode<Object> tmp123;
1579 : compiler::TNode<Object> tmp124;
1580 : compiler::TNode<Map> tmp125;
1581 : compiler::TNode<Int32T> tmp126;
1582 : compiler::TNode<BuiltinPtr> tmp127;
1583 : compiler::TNode<JSArray> tmp128;
1584 : ca_.Bind(&block15, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128);
1585 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 346);
1586 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
1587 : ca_.Goto(&block17, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATFastDoubleElements)), tmp128);
1588 : }
1589 :
1590 112 : if (block16.is_used()) {
1591 : compiler::TNode<Context> tmp129;
1592 : compiler::TNode<JSReceiver> tmp130;
1593 : compiler::TNode<String> tmp131;
1594 : compiler::TNode<Number> tmp132;
1595 : compiler::TNode<Object> tmp133;
1596 : compiler::TNode<Object> tmp134;
1597 : compiler::TNode<Map> tmp135;
1598 : compiler::TNode<Int32T> tmp136;
1599 : compiler::TNode<BuiltinPtr> tmp137;
1600 : compiler::TNode<JSArray> tmp138;
1601 : ca_.Bind(&block16, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
1602 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 347);
1603 : compiler::TNode<Int32T> tmp139;
1604 : USE(tmp139);
1605 336 : tmp139 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(DICTIONARY_ELEMENTS));
1606 : compiler::TNode<BoolT> tmp140;
1607 : USE(tmp140);
1608 224 : tmp140 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp136}, compiler::TNode<Int32T>{tmp139}));
1609 112 : ca_.Branch(tmp140, &block18, &block19, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138);
1610 : }
1611 :
1612 112 : if (block18.is_used()) {
1613 : compiler::TNode<Context> tmp141;
1614 : compiler::TNode<JSReceiver> tmp142;
1615 : compiler::TNode<String> tmp143;
1616 : compiler::TNode<Number> tmp144;
1617 : compiler::TNode<Object> tmp145;
1618 : compiler::TNode<Object> tmp146;
1619 : compiler::TNode<Map> tmp147;
1620 : compiler::TNode<Int32T> tmp148;
1621 : compiler::TNode<BuiltinPtr> tmp149;
1622 : compiler::TNode<JSArray> tmp150;
1623 : ca_.Bind(&block18, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150);
1624 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 350);
1625 112 : compiler::TNode<IntPtrT> tmp151 = ca_.IntPtrConstant(JSObject::kElementsOffset);
1626 : USE(tmp151);
1627 224 : compiler::TNode<FixedArrayBase>tmp152 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp150, tmp151});
1628 : compiler::TNode<NumberDictionary> tmp153;
1629 : USE(tmp153);
1630 336 : tmp153 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp141}, compiler::TNode<Object>{tmp152}));
1631 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 349);
1632 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 351);
1633 : compiler::TNode<Smi> tmp154;
1634 : USE(tmp154);
1635 224 : tmp154 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).GetNumberDictionaryNumberOfElements(compiler::TNode<NumberDictionary>{tmp153}));
1636 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 352);
1637 : compiler::TNode<Smi> tmp155;
1638 : USE(tmp155);
1639 336 : tmp155 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
1640 : compiler::TNode<BoolT> tmp156;
1641 : USE(tmp156);
1642 224 : tmp156 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp154}, compiler::TNode<Smi>{tmp155}));
1643 112 : ca_.Branch(tmp156, &block21, &block22, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp153, tmp154);
1644 : }
1645 :
1646 112 : if (block21.is_used()) {
1647 : compiler::TNode<Context> tmp157;
1648 : compiler::TNode<JSReceiver> tmp158;
1649 : compiler::TNode<String> tmp159;
1650 : compiler::TNode<Number> tmp160;
1651 : compiler::TNode<Object> tmp161;
1652 : compiler::TNode<Object> tmp162;
1653 : compiler::TNode<Map> tmp163;
1654 : compiler::TNode<Int32T> tmp164;
1655 : compiler::TNode<BuiltinPtr> tmp165;
1656 : compiler::TNode<JSArray> tmp166;
1657 : compiler::TNode<NumberDictionary> tmp167;
1658 : compiler::TNode<Smi> tmp168;
1659 : ca_.Bind(&block21, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168);
1660 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 353);
1661 : compiler::TNode<String> tmp169;
1662 : USE(tmp169);
1663 336 : tmp169 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
1664 : compiler::TNode<BoolT> tmp170;
1665 : USE(tmp170);
1666 224 : tmp170 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp159}, compiler::TNode<HeapObject>{tmp169}));
1667 112 : ca_.Branch(tmp170, &block24, &block25, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168);
1668 : }
1669 :
1670 112 : if (block24.is_used()) {
1671 : compiler::TNode<Context> tmp171;
1672 : compiler::TNode<JSReceiver> tmp172;
1673 : compiler::TNode<String> tmp173;
1674 : compiler::TNode<Number> tmp174;
1675 : compiler::TNode<Object> tmp175;
1676 : compiler::TNode<Object> tmp176;
1677 : compiler::TNode<Map> tmp177;
1678 : compiler::TNode<Int32T> tmp178;
1679 : compiler::TNode<BuiltinPtr> tmp179;
1680 : compiler::TNode<JSArray> tmp180;
1681 : compiler::TNode<NumberDictionary> tmp181;
1682 : compiler::TNode<Smi> tmp182;
1683 : ca_.Bind(&block24, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182);
1684 : compiler::TNode<String> tmp183;
1685 : USE(tmp183);
1686 336 : tmp183 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
1687 : ca_.Goto(&block1, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp183);
1688 : }
1689 :
1690 112 : if (block25.is_used()) {
1691 : compiler::TNode<Context> tmp184;
1692 : compiler::TNode<JSReceiver> tmp185;
1693 : compiler::TNode<String> tmp186;
1694 : compiler::TNode<Number> tmp187;
1695 : compiler::TNode<Object> tmp188;
1696 : compiler::TNode<Object> tmp189;
1697 : compiler::TNode<Map> tmp190;
1698 : compiler::TNode<Int32T> tmp191;
1699 : compiler::TNode<BuiltinPtr> tmp192;
1700 : compiler::TNode<JSArray> tmp193;
1701 : compiler::TNode<NumberDictionary> tmp194;
1702 : compiler::TNode<Smi> tmp195;
1703 : ca_.Bind(&block25, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195);
1704 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 356);
1705 : compiler::TNode<Number> tmp196;
1706 : USE(tmp196);
1707 336 : tmp196 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
1708 : compiler::TNode<Number> tmp197;
1709 : USE(tmp197);
1710 336 : tmp197 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp187}, compiler::TNode<Number>{tmp196}));
1711 : compiler::TNode<Smi> tmp198;
1712 : USE(tmp198);
1713 112 : compiler::CodeAssemblerLabel label0(&ca_);
1714 336 : tmp198 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp197}, &label0);
1715 : ca_.Goto(&block28, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195, tmp197, tmp198);
1716 112 : if (label0.is_used()) {
1717 112 : ca_.Bind(&label0);
1718 : ca_.Goto(&block29, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195, tmp197);
1719 : }
1720 : }
1721 :
1722 112 : if (block29.is_used()) {
1723 : compiler::TNode<Context> tmp199;
1724 : compiler::TNode<JSReceiver> tmp200;
1725 : compiler::TNode<String> tmp201;
1726 : compiler::TNode<Number> tmp202;
1727 : compiler::TNode<Object> tmp203;
1728 : compiler::TNode<Object> tmp204;
1729 : compiler::TNode<Map> tmp205;
1730 : compiler::TNode<Int32T> tmp206;
1731 : compiler::TNode<BuiltinPtr> tmp207;
1732 : compiler::TNode<JSArray> tmp208;
1733 : compiler::TNode<NumberDictionary> tmp209;
1734 : compiler::TNode<Smi> tmp210;
1735 : compiler::TNode<Number> tmp211;
1736 : ca_.Bind(&block29, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211);
1737 : ca_.Goto(&block27, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210);
1738 : }
1739 :
1740 112 : if (block28.is_used()) {
1741 : compiler::TNode<Context> tmp212;
1742 : compiler::TNode<JSReceiver> tmp213;
1743 : compiler::TNode<String> tmp214;
1744 : compiler::TNode<Number> tmp215;
1745 : compiler::TNode<Object> tmp216;
1746 : compiler::TNode<Object> tmp217;
1747 : compiler::TNode<Map> tmp218;
1748 : compiler::TNode<Int32T> tmp219;
1749 : compiler::TNode<BuiltinPtr> tmp220;
1750 : compiler::TNode<JSArray> tmp221;
1751 : compiler::TNode<NumberDictionary> tmp222;
1752 : compiler::TNode<Smi> tmp223;
1753 : compiler::TNode<Number> tmp224;
1754 : compiler::TNode<Smi> tmp225;
1755 : ca_.Bind(&block28, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225);
1756 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 355);
1757 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 357);
1758 : compiler::TNode<String> tmp226;
1759 224 : tmp226 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp212, tmp214, tmp225));
1760 : USE(tmp226);
1761 : ca_.Goto(&block1, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp226);
1762 : }
1763 :
1764 112 : if (block27.is_used()) {
1765 : compiler::TNode<Context> tmp227;
1766 : compiler::TNode<JSReceiver> tmp228;
1767 : compiler::TNode<String> tmp229;
1768 : compiler::TNode<Number> tmp230;
1769 : compiler::TNode<Object> tmp231;
1770 : compiler::TNode<Object> tmp232;
1771 : compiler::TNode<Map> tmp233;
1772 : compiler::TNode<Int32T> tmp234;
1773 : compiler::TNode<BuiltinPtr> tmp235;
1774 : compiler::TNode<JSArray> tmp236;
1775 : compiler::TNode<NumberDictionary> tmp237;
1776 : compiler::TNode<Smi> tmp238;
1777 : ca_.Bind(&block27, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238);
1778 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 360);
1779 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp227);
1780 224 : CodeStubAssembler(state_).Unreachable();
1781 : }
1782 :
1783 112 : if (block22.is_used()) {
1784 : compiler::TNode<Context> tmp240;
1785 : compiler::TNode<JSReceiver> tmp241;
1786 : compiler::TNode<String> tmp242;
1787 : compiler::TNode<Number> tmp243;
1788 : compiler::TNode<Object> tmp244;
1789 : compiler::TNode<Object> tmp245;
1790 : compiler::TNode<Map> tmp246;
1791 : compiler::TNode<Int32T> tmp247;
1792 : compiler::TNode<BuiltinPtr> tmp248;
1793 : compiler::TNode<JSArray> tmp249;
1794 : compiler::TNode<NumberDictionary> tmp250;
1795 : compiler::TNode<Smi> tmp251;
1796 : ca_.Bind(&block22, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251);
1797 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 363);
1798 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 352);
1799 : ca_.Goto(&block23, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATDictionaryElements)), tmp249, tmp250, tmp251);
1800 : }
1801 :
1802 112 : if (block23.is_used()) {
1803 : compiler::TNode<Context> tmp252;
1804 : compiler::TNode<JSReceiver> tmp253;
1805 : compiler::TNode<String> tmp254;
1806 : compiler::TNode<Number> tmp255;
1807 : compiler::TNode<Object> tmp256;
1808 : compiler::TNode<Object> tmp257;
1809 : compiler::TNode<Map> tmp258;
1810 : compiler::TNode<Int32T> tmp259;
1811 : compiler::TNode<BuiltinPtr> tmp260;
1812 : compiler::TNode<JSArray> tmp261;
1813 : compiler::TNode<NumberDictionary> tmp262;
1814 : compiler::TNode<Smi> tmp263;
1815 : ca_.Bind(&block23, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263);
1816 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 348);
1817 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 347);
1818 : ca_.Goto(&block20, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261);
1819 : }
1820 :
1821 112 : if (block19.is_used()) {
1822 : compiler::TNode<Context> tmp264;
1823 : compiler::TNode<JSReceiver> tmp265;
1824 : compiler::TNode<String> tmp266;
1825 : compiler::TNode<Number> tmp267;
1826 : compiler::TNode<Object> tmp268;
1827 : compiler::TNode<Object> tmp269;
1828 : compiler::TNode<Map> tmp270;
1829 : compiler::TNode<Int32T> tmp271;
1830 : compiler::TNode<BuiltinPtr> tmp272;
1831 : compiler::TNode<JSArray> tmp273;
1832 : ca_.Bind(&block19, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272, &tmp273);
1833 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 367);
1834 : ca_.Goto(&block3, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, tmp272);
1835 : }
1836 :
1837 112 : if (block20.is_used()) {
1838 : compiler::TNode<Context> tmp274;
1839 : compiler::TNode<JSReceiver> tmp275;
1840 : compiler::TNode<String> tmp276;
1841 : compiler::TNode<Number> tmp277;
1842 : compiler::TNode<Object> tmp278;
1843 : compiler::TNode<Object> tmp279;
1844 : compiler::TNode<Map> tmp280;
1845 : compiler::TNode<Int32T> tmp281;
1846 : compiler::TNode<BuiltinPtr> tmp282;
1847 : compiler::TNode<JSArray> tmp283;
1848 : ca_.Bind(&block20, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283);
1849 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
1850 : ca_.Goto(&block17, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283);
1851 : }
1852 :
1853 112 : if (block17.is_used()) {
1854 : compiler::TNode<Context> tmp284;
1855 : compiler::TNode<JSReceiver> tmp285;
1856 : compiler::TNode<String> tmp286;
1857 : compiler::TNode<Number> tmp287;
1858 : compiler::TNode<Object> tmp288;
1859 : compiler::TNode<Object> tmp289;
1860 : compiler::TNode<Map> tmp290;
1861 : compiler::TNode<Int32T> tmp291;
1862 : compiler::TNode<BuiltinPtr> tmp292;
1863 : compiler::TNode<JSArray> tmp293;
1864 : ca_.Bind(&block17, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292, &tmp293);
1865 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
1866 : ca_.Goto(&block14, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, tmp292, tmp293);
1867 : }
1868 :
1869 112 : if (block14.is_used()) {
1870 : compiler::TNode<Context> tmp294;
1871 : compiler::TNode<JSReceiver> tmp295;
1872 : compiler::TNode<String> tmp296;
1873 : compiler::TNode<Number> tmp297;
1874 : compiler::TNode<Object> tmp298;
1875 : compiler::TNode<Object> tmp299;
1876 : compiler::TNode<Map> tmp300;
1877 : compiler::TNode<Int32T> tmp301;
1878 : compiler::TNode<BuiltinPtr> tmp302;
1879 : compiler::TNode<JSArray> tmp303;
1880 : ca_.Bind(&block14, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303);
1881 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 337);
1882 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 370);
1883 : ca_.Goto(&block2, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302);
1884 : }
1885 :
1886 112 : if (block3.is_used()) {
1887 : compiler::TNode<Context> tmp304;
1888 : compiler::TNode<JSReceiver> tmp305;
1889 : compiler::TNode<String> tmp306;
1890 : compiler::TNode<Number> tmp307;
1891 : compiler::TNode<Object> tmp308;
1892 : compiler::TNode<Object> tmp309;
1893 : compiler::TNode<Map> tmp310;
1894 : compiler::TNode<Int32T> tmp311;
1895 : compiler::TNode<BuiltinPtr> tmp312;
1896 : ca_.Bind(&block3, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312);
1897 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 371);
1898 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 337);
1899 : ca_.Goto(&block2, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)));
1900 : }
1901 :
1902 112 : if (block2.is_used()) {
1903 : compiler::TNode<Context> tmp313;
1904 : compiler::TNode<JSReceiver> tmp314;
1905 : compiler::TNode<String> tmp315;
1906 : compiler::TNode<Number> tmp316;
1907 : compiler::TNode<Object> tmp317;
1908 : compiler::TNode<Object> tmp318;
1909 : compiler::TNode<Map> tmp319;
1910 : compiler::TNode<Int32T> tmp320;
1911 : compiler::TNode<BuiltinPtr> tmp321;
1912 : ca_.Bind(&block2, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321);
1913 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 374);
1914 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 373);
1915 : compiler::TNode<String> tmp322;
1916 : USE(tmp322);
1917 336 : tmp322 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoinImpl7JSArray(compiler::TNode<Context>{tmp313}, compiler::TNode<JSReceiver>{tmp314}, compiler::TNode<String>{tmp315}, compiler::TNode<Number>{tmp316}, p_useToLocaleString, compiler::TNode<Object>{tmp317}, compiler::TNode<Object>{tmp318}, compiler::TNode<BuiltinPtr>{tmp321}));
1918 : ca_.Goto(&block1, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp322);
1919 : }
1920 :
1921 112 : if (block1.is_used()) {
1922 : compiler::TNode<Context> tmp323;
1923 : compiler::TNode<JSReceiver> tmp324;
1924 : compiler::TNode<String> tmp325;
1925 : compiler::TNode<Number> tmp326;
1926 : compiler::TNode<Object> tmp327;
1927 : compiler::TNode<Object> tmp328;
1928 : compiler::TNode<Object> tmp329;
1929 : ca_.Bind(&block1, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329);
1930 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 326);
1931 : ca_.Goto(&block30, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329);
1932 : }
1933 :
1934 : compiler::TNode<Context> tmp330;
1935 : compiler::TNode<JSReceiver> tmp331;
1936 : compiler::TNode<String> tmp332;
1937 : compiler::TNode<Number> tmp333;
1938 : compiler::TNode<Object> tmp334;
1939 : compiler::TNode<Object> tmp335;
1940 : compiler::TNode<Object> tmp336;
1941 : ca_.Bind(&block30, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
1942 224 : return compiler::TNode<Object>{tmp336};
1943 : }
1944 :
1945 112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoin12JSTypedArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lenNumber, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
1946 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1947 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1948 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1949 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1950 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1951 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1952 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1953 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1954 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1955 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1956 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1957 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1958 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1959 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1960 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1961 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1962 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1963 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1964 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1965 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1966 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1967 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1968 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1969 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1970 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1971 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1972 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1973 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1974 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block33(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1975 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1976 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1977 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1978 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1979 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1980 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1981 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1982 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1983 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1984 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1985 : ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
1986 :
1987 112 : if (block0.is_used()) {
1988 : compiler::TNode<Context> tmp0;
1989 : compiler::TNode<JSReceiver> tmp1;
1990 : compiler::TNode<String> tmp2;
1991 : compiler::TNode<Number> tmp3;
1992 : compiler::TNode<Object> tmp4;
1993 : compiler::TNode<Object> tmp5;
1994 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
1995 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 380);
1996 112 : compiler::TNode<IntPtrT> tmp6 = ca_.IntPtrConstant(HeapObject::kMapOffset);
1997 : USE(tmp6);
1998 224 : compiler::TNode<Map>tmp7 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp6});
1999 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 381);
2000 : compiler::TNode<Int32T> tmp8;
2001 : USE(tmp8);
2002 224 : tmp8 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp7}));
2003 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 382);
2004 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
2005 : compiler::TNode<BoolT> tmp9;
2006 : USE(tmp9);
2007 224 : tmp9 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindGreaterThan(compiler::TNode<Int32T>{tmp8}, UINT32_ELEMENTS));
2008 112 : ca_.Branch(tmp9, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp8, ca_.Uninitialized<BuiltinPtr>());
2009 : }
2010 :
2011 112 : if (block2.is_used()) {
2012 : compiler::TNode<Context> tmp10;
2013 : compiler::TNode<JSReceiver> tmp11;
2014 : compiler::TNode<String> tmp12;
2015 : compiler::TNode<Number> tmp13;
2016 : compiler::TNode<Object> tmp14;
2017 : compiler::TNode<Object> tmp15;
2018 : compiler::TNode<Map> tmp16;
2019 : compiler::TNode<Int32T> tmp17;
2020 : compiler::TNode<BuiltinPtr> tmp18;
2021 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
2022 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
2023 : compiler::TNode<Int32T> tmp19;
2024 : USE(tmp19);
2025 336 : tmp19 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT32_ELEMENTS));
2026 : compiler::TNode<BoolT> tmp20;
2027 : USE(tmp20);
2028 224 : tmp20 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp17}, compiler::TNode<Int32T>{tmp19}));
2029 112 : ca_.Branch(tmp20, &block5, &block6, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18);
2030 : }
2031 :
2032 112 : if (block5.is_used()) {
2033 : compiler::TNode<Context> tmp21;
2034 : compiler::TNode<JSReceiver> tmp22;
2035 : compiler::TNode<String> tmp23;
2036 : compiler::TNode<Number> tmp24;
2037 : compiler::TNode<Object> tmp25;
2038 : compiler::TNode<Object> tmp26;
2039 : compiler::TNode<Map> tmp27;
2040 : compiler::TNode<Int32T> tmp28;
2041 : compiler::TNode<BuiltinPtr> tmp29;
2042 : ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
2043 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 386);
2044 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
2045 : ca_.Goto(&block7, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt32Array)));
2046 : }
2047 :
2048 112 : if (block6.is_used()) {
2049 : compiler::TNode<Context> tmp30;
2050 : compiler::TNode<JSReceiver> tmp31;
2051 : compiler::TNode<String> tmp32;
2052 : compiler::TNode<Number> tmp33;
2053 : compiler::TNode<Object> tmp34;
2054 : compiler::TNode<Object> tmp35;
2055 : compiler::TNode<Map> tmp36;
2056 : compiler::TNode<Int32T> tmp37;
2057 : compiler::TNode<BuiltinPtr> tmp38;
2058 : ca_.Bind(&block6, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
2059 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
2060 : compiler::TNode<Int32T> tmp39;
2061 : USE(tmp39);
2062 336 : tmp39 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT32_ELEMENTS));
2063 : compiler::TNode<BoolT> tmp40;
2064 : USE(tmp40);
2065 224 : tmp40 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp37}, compiler::TNode<Int32T>{tmp39}));
2066 112 : ca_.Branch(tmp40, &block8, &block9, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38);
2067 : }
2068 :
2069 112 : if (block8.is_used()) {
2070 : compiler::TNode<Context> tmp41;
2071 : compiler::TNode<JSReceiver> tmp42;
2072 : compiler::TNode<String> tmp43;
2073 : compiler::TNode<Number> tmp44;
2074 : compiler::TNode<Object> tmp45;
2075 : compiler::TNode<Object> tmp46;
2076 : compiler::TNode<Map> tmp47;
2077 : compiler::TNode<Int32T> tmp48;
2078 : compiler::TNode<BuiltinPtr> tmp49;
2079 : ca_.Bind(&block8, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
2080 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 388);
2081 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
2082 : ca_.Goto(&block10, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat32Array)));
2083 : }
2084 :
2085 112 : if (block9.is_used()) {
2086 : compiler::TNode<Context> tmp50;
2087 : compiler::TNode<JSReceiver> tmp51;
2088 : compiler::TNode<String> tmp52;
2089 : compiler::TNode<Number> tmp53;
2090 : compiler::TNode<Object> tmp54;
2091 : compiler::TNode<Object> tmp55;
2092 : compiler::TNode<Map> tmp56;
2093 : compiler::TNode<Int32T> tmp57;
2094 : compiler::TNode<BuiltinPtr> tmp58;
2095 : ca_.Bind(&block9, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
2096 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
2097 : compiler::TNode<Int32T> tmp59;
2098 : USE(tmp59);
2099 336 : tmp59 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT64_ELEMENTS));
2100 : compiler::TNode<BoolT> tmp60;
2101 : USE(tmp60);
2102 224 : tmp60 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp57}, compiler::TNode<Int32T>{tmp59}));
2103 112 : ca_.Branch(tmp60, &block11, &block12, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58);
2104 : }
2105 :
2106 112 : if (block11.is_used()) {
2107 : compiler::TNode<Context> tmp61;
2108 : compiler::TNode<JSReceiver> tmp62;
2109 : compiler::TNode<String> tmp63;
2110 : compiler::TNode<Number> tmp64;
2111 : compiler::TNode<Object> tmp65;
2112 : compiler::TNode<Object> tmp66;
2113 : compiler::TNode<Map> tmp67;
2114 : compiler::TNode<Int32T> tmp68;
2115 : compiler::TNode<BuiltinPtr> tmp69;
2116 : ca_.Bind(&block11, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
2117 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 390);
2118 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
2119 : ca_.Goto(&block13, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat64Array)));
2120 : }
2121 :
2122 112 : if (block12.is_used()) {
2123 : compiler::TNode<Context> tmp70;
2124 : compiler::TNode<JSReceiver> tmp71;
2125 : compiler::TNode<String> tmp72;
2126 : compiler::TNode<Number> tmp73;
2127 : compiler::TNode<Object> tmp74;
2128 : compiler::TNode<Object> tmp75;
2129 : compiler::TNode<Map> tmp76;
2130 : compiler::TNode<Int32T> tmp77;
2131 : compiler::TNode<BuiltinPtr> tmp78;
2132 : ca_.Bind(&block12, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78);
2133 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
2134 : compiler::TNode<Int32T> tmp79;
2135 : USE(tmp79);
2136 336 : tmp79 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_CLAMPED_ELEMENTS));
2137 : compiler::TNode<BoolT> tmp80;
2138 : USE(tmp80);
2139 224 : tmp80 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp77}, compiler::TNode<Int32T>{tmp79}));
2140 112 : ca_.Branch(tmp80, &block14, &block15, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78);
2141 : }
2142 :
2143 112 : if (block14.is_used()) {
2144 : compiler::TNode<Context> tmp81;
2145 : compiler::TNode<JSReceiver> tmp82;
2146 : compiler::TNode<String> tmp83;
2147 : compiler::TNode<Number> tmp84;
2148 : compiler::TNode<Object> tmp85;
2149 : compiler::TNode<Object> tmp86;
2150 : compiler::TNode<Map> tmp87;
2151 : compiler::TNode<Int32T> tmp88;
2152 : compiler::TNode<BuiltinPtr> tmp89;
2153 : ca_.Bind(&block14, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89);
2154 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 392);
2155 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
2156 : ca_.Goto(&block16, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement24ATFixedUint8ClampedArray)));
2157 : }
2158 :
2159 112 : if (block15.is_used()) {
2160 : compiler::TNode<Context> tmp90;
2161 : compiler::TNode<JSReceiver> tmp91;
2162 : compiler::TNode<String> tmp92;
2163 : compiler::TNode<Number> tmp93;
2164 : compiler::TNode<Object> tmp94;
2165 : compiler::TNode<Object> tmp95;
2166 : compiler::TNode<Map> tmp96;
2167 : compiler::TNode<Int32T> tmp97;
2168 : compiler::TNode<BuiltinPtr> tmp98;
2169 : ca_.Bind(&block15, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98);
2170 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
2171 : compiler::TNode<Int32T> tmp99;
2172 : USE(tmp99);
2173 336 : tmp99 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGUINT64_ELEMENTS));
2174 : compiler::TNode<BoolT> tmp100;
2175 : USE(tmp100);
2176 224 : tmp100 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp97}, compiler::TNode<Int32T>{tmp99}));
2177 112 : ca_.Branch(tmp100, &block17, &block18, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98);
2178 : }
2179 :
2180 112 : if (block17.is_used()) {
2181 : compiler::TNode<Context> tmp101;
2182 : compiler::TNode<JSReceiver> tmp102;
2183 : compiler::TNode<String> tmp103;
2184 : compiler::TNode<Number> tmp104;
2185 : compiler::TNode<Object> tmp105;
2186 : compiler::TNode<Object> tmp106;
2187 : compiler::TNode<Map> tmp107;
2188 : compiler::TNode<Int32T> tmp108;
2189 : compiler::TNode<BuiltinPtr> tmp109;
2190 : ca_.Bind(&block17, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
2191 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 394);
2192 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
2193 : ca_.Goto(&block19, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement21ATFixedBigUint64Array)));
2194 : }
2195 :
2196 112 : if (block18.is_used()) {
2197 : compiler::TNode<Context> tmp110;
2198 : compiler::TNode<JSReceiver> tmp111;
2199 : compiler::TNode<String> tmp112;
2200 : compiler::TNode<Number> tmp113;
2201 : compiler::TNode<Object> tmp114;
2202 : compiler::TNode<Object> tmp115;
2203 : compiler::TNode<Map> tmp116;
2204 : compiler::TNode<Int32T> tmp117;
2205 : compiler::TNode<BuiltinPtr> tmp118;
2206 : ca_.Bind(&block18, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
2207 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 395);
2208 : compiler::TNode<Int32T> tmp119;
2209 : USE(tmp119);
2210 336 : tmp119 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGINT64_ELEMENTS));
2211 : compiler::TNode<BoolT> tmp120;
2212 : USE(tmp120);
2213 224 : tmp120 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp117}, compiler::TNode<Int32T>{tmp119}));
2214 112 : ca_.Branch(tmp120, &block20, &block21, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
2215 : }
2216 :
2217 112 : if (block20.is_used()) {
2218 : compiler::TNode<Context> tmp121;
2219 : compiler::TNode<JSReceiver> tmp122;
2220 : compiler::TNode<String> tmp123;
2221 : compiler::TNode<Number> tmp124;
2222 : compiler::TNode<Object> tmp125;
2223 : compiler::TNode<Object> tmp126;
2224 : compiler::TNode<Map> tmp127;
2225 : compiler::TNode<Int32T> tmp128;
2226 : compiler::TNode<BuiltinPtr> tmp129;
2227 : ca_.Bind(&block20, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129);
2228 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 396);
2229 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 395);
2230 : ca_.Goto(&block22, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement20ATFixedBigInt64Array)));
2231 : }
2232 :
2233 112 : if (block21.is_used()) {
2234 : compiler::TNode<Context> tmp130;
2235 : compiler::TNode<JSReceiver> tmp131;
2236 : compiler::TNode<String> tmp132;
2237 : compiler::TNode<Number> tmp133;
2238 : compiler::TNode<Object> tmp134;
2239 : compiler::TNode<Object> tmp135;
2240 : compiler::TNode<Map> tmp136;
2241 : compiler::TNode<Int32T> tmp137;
2242 : compiler::TNode<BuiltinPtr> tmp138;
2243 : ca_.Bind(&block21, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
2244 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 398);
2245 224 : CodeStubAssembler(state_).Unreachable();
2246 : }
2247 :
2248 112 : if (block22.is_used()) {
2249 : compiler::TNode<Context> tmp139;
2250 : compiler::TNode<JSReceiver> tmp140;
2251 : compiler::TNode<String> tmp141;
2252 : compiler::TNode<Number> tmp142;
2253 : compiler::TNode<Object> tmp143;
2254 : compiler::TNode<Object> tmp144;
2255 : compiler::TNode<Map> tmp145;
2256 : compiler::TNode<Int32T> tmp146;
2257 : compiler::TNode<BuiltinPtr> tmp147;
2258 : ca_.Bind(&block22, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147);
2259 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
2260 : ca_.Goto(&block19, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147);
2261 : }
2262 :
2263 112 : if (block19.is_used()) {
2264 : compiler::TNode<Context> tmp148;
2265 : compiler::TNode<JSReceiver> tmp149;
2266 : compiler::TNode<String> tmp150;
2267 : compiler::TNode<Number> tmp151;
2268 : compiler::TNode<Object> tmp152;
2269 : compiler::TNode<Object> tmp153;
2270 : compiler::TNode<Map> tmp154;
2271 : compiler::TNode<Int32T> tmp155;
2272 : compiler::TNode<BuiltinPtr> tmp156;
2273 : ca_.Bind(&block19, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156);
2274 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
2275 : ca_.Goto(&block16, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156);
2276 : }
2277 :
2278 112 : if (block16.is_used()) {
2279 : compiler::TNode<Context> tmp157;
2280 : compiler::TNode<JSReceiver> tmp158;
2281 : compiler::TNode<String> tmp159;
2282 : compiler::TNode<Number> tmp160;
2283 : compiler::TNode<Object> tmp161;
2284 : compiler::TNode<Object> tmp162;
2285 : compiler::TNode<Map> tmp163;
2286 : compiler::TNode<Int32T> tmp164;
2287 : compiler::TNode<BuiltinPtr> tmp165;
2288 : ca_.Bind(&block16, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
2289 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
2290 : ca_.Goto(&block13, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165);
2291 : }
2292 :
2293 112 : if (block13.is_used()) {
2294 : compiler::TNode<Context> tmp166;
2295 : compiler::TNode<JSReceiver> tmp167;
2296 : compiler::TNode<String> tmp168;
2297 : compiler::TNode<Number> tmp169;
2298 : compiler::TNode<Object> tmp170;
2299 : compiler::TNode<Object> tmp171;
2300 : compiler::TNode<Map> tmp172;
2301 : compiler::TNode<Int32T> tmp173;
2302 : compiler::TNode<BuiltinPtr> tmp174;
2303 : ca_.Bind(&block13, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174);
2304 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
2305 : ca_.Goto(&block10, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174);
2306 : }
2307 :
2308 112 : if (block10.is_used()) {
2309 : compiler::TNode<Context> tmp175;
2310 : compiler::TNode<JSReceiver> tmp176;
2311 : compiler::TNode<String> tmp177;
2312 : compiler::TNode<Number> tmp178;
2313 : compiler::TNode<Object> tmp179;
2314 : compiler::TNode<Object> tmp180;
2315 : compiler::TNode<Map> tmp181;
2316 : compiler::TNode<Int32T> tmp182;
2317 : compiler::TNode<BuiltinPtr> tmp183;
2318 : ca_.Bind(&block10, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183);
2319 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
2320 : ca_.Goto(&block7, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183);
2321 : }
2322 :
2323 112 : if (block7.is_used()) {
2324 : compiler::TNode<Context> tmp184;
2325 : compiler::TNode<JSReceiver> tmp185;
2326 : compiler::TNode<String> tmp186;
2327 : compiler::TNode<Number> tmp187;
2328 : compiler::TNode<Object> tmp188;
2329 : compiler::TNode<Object> tmp189;
2330 : compiler::TNode<Map> tmp190;
2331 : compiler::TNode<Int32T> tmp191;
2332 : compiler::TNode<BuiltinPtr> tmp192;
2333 : ca_.Bind(&block7, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192);
2334 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
2335 : ca_.Goto(&block4, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192);
2336 : }
2337 :
2338 112 : if (block3.is_used()) {
2339 : compiler::TNode<Context> tmp193;
2340 : compiler::TNode<JSReceiver> tmp194;
2341 : compiler::TNode<String> tmp195;
2342 : compiler::TNode<Number> tmp196;
2343 : compiler::TNode<Object> tmp197;
2344 : compiler::TNode<Object> tmp198;
2345 : compiler::TNode<Map> tmp199;
2346 : compiler::TNode<Int32T> tmp200;
2347 : compiler::TNode<BuiltinPtr> tmp201;
2348 : ca_.Bind(&block3, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201);
2349 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
2350 : compiler::TNode<Int32T> tmp202;
2351 : USE(tmp202);
2352 336 : tmp202 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_ELEMENTS));
2353 : compiler::TNode<BoolT> tmp203;
2354 : USE(tmp203);
2355 224 : tmp203 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp200}, compiler::TNode<Int32T>{tmp202}));
2356 112 : ca_.Branch(tmp203, &block23, &block24, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201);
2357 : }
2358 :
2359 112 : if (block23.is_used()) {
2360 : compiler::TNode<Context> tmp204;
2361 : compiler::TNode<JSReceiver> tmp205;
2362 : compiler::TNode<String> tmp206;
2363 : compiler::TNode<Number> tmp207;
2364 : compiler::TNode<Object> tmp208;
2365 : compiler::TNode<Object> tmp209;
2366 : compiler::TNode<Map> tmp210;
2367 : compiler::TNode<Int32T> tmp211;
2368 : compiler::TNode<BuiltinPtr> tmp212;
2369 : ca_.Bind(&block23, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211, &tmp212);
2370 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 402);
2371 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
2372 : ca_.Goto(&block25, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedUint8Array)));
2373 : }
2374 :
2375 112 : if (block24.is_used()) {
2376 : compiler::TNode<Context> tmp213;
2377 : compiler::TNode<JSReceiver> tmp214;
2378 : compiler::TNode<String> tmp215;
2379 : compiler::TNode<Number> tmp216;
2380 : compiler::TNode<Object> tmp217;
2381 : compiler::TNode<Object> tmp218;
2382 : compiler::TNode<Map> tmp219;
2383 : compiler::TNode<Int32T> tmp220;
2384 : compiler::TNode<BuiltinPtr> tmp221;
2385 : ca_.Bind(&block24, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221);
2386 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
2387 : compiler::TNode<Int32T> tmp222;
2388 : USE(tmp222);
2389 336 : tmp222 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT8_ELEMENTS));
2390 : compiler::TNode<BoolT> tmp223;
2391 : USE(tmp223);
2392 224 : tmp223 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp220}, compiler::TNode<Int32T>{tmp222}));
2393 112 : ca_.Branch(tmp223, &block26, &block27, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221);
2394 : }
2395 :
2396 112 : if (block26.is_used()) {
2397 : compiler::TNode<Context> tmp224;
2398 : compiler::TNode<JSReceiver> tmp225;
2399 : compiler::TNode<String> tmp226;
2400 : compiler::TNode<Number> tmp227;
2401 : compiler::TNode<Object> tmp228;
2402 : compiler::TNode<Object> tmp229;
2403 : compiler::TNode<Map> tmp230;
2404 : compiler::TNode<Int32T> tmp231;
2405 : compiler::TNode<BuiltinPtr> tmp232;
2406 : ca_.Bind(&block26, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232);
2407 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 404);
2408 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
2409 : ca_.Goto(&block28, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement16ATFixedInt8Array)));
2410 : }
2411 :
2412 112 : if (block27.is_used()) {
2413 : compiler::TNode<Context> tmp233;
2414 : compiler::TNode<JSReceiver> tmp234;
2415 : compiler::TNode<String> tmp235;
2416 : compiler::TNode<Number> tmp236;
2417 : compiler::TNode<Object> tmp237;
2418 : compiler::TNode<Object> tmp238;
2419 : compiler::TNode<Map> tmp239;
2420 : compiler::TNode<Int32T> tmp240;
2421 : compiler::TNode<BuiltinPtr> tmp241;
2422 : ca_.Bind(&block27, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241);
2423 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
2424 : compiler::TNode<Int32T> tmp242;
2425 : USE(tmp242);
2426 336 : tmp242 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT16_ELEMENTS));
2427 : compiler::TNode<BoolT> tmp243;
2428 : USE(tmp243);
2429 224 : tmp243 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp240}, compiler::TNode<Int32T>{tmp242}));
2430 112 : ca_.Branch(tmp243, &block29, &block30, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241);
2431 : }
2432 :
2433 112 : if (block29.is_used()) {
2434 : compiler::TNode<Context> tmp244;
2435 : compiler::TNode<JSReceiver> tmp245;
2436 : compiler::TNode<String> tmp246;
2437 : compiler::TNode<Number> tmp247;
2438 : compiler::TNode<Object> tmp248;
2439 : compiler::TNode<Object> tmp249;
2440 : compiler::TNode<Map> tmp250;
2441 : compiler::TNode<Int32T> tmp251;
2442 : compiler::TNode<BuiltinPtr> tmp252;
2443 : ca_.Bind(&block29, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252);
2444 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 406);
2445 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
2446 : ca_.Goto(&block31, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint16Array)));
2447 : }
2448 :
2449 112 : if (block30.is_used()) {
2450 : compiler::TNode<Context> tmp253;
2451 : compiler::TNode<JSReceiver> tmp254;
2452 : compiler::TNode<String> tmp255;
2453 : compiler::TNode<Number> tmp256;
2454 : compiler::TNode<Object> tmp257;
2455 : compiler::TNode<Object> tmp258;
2456 : compiler::TNode<Map> tmp259;
2457 : compiler::TNode<Int32T> tmp260;
2458 : compiler::TNode<BuiltinPtr> tmp261;
2459 : ca_.Bind(&block30, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261);
2460 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
2461 : compiler::TNode<Int32T> tmp262;
2462 : USE(tmp262);
2463 336 : tmp262 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT16_ELEMENTS));
2464 : compiler::TNode<BoolT> tmp263;
2465 : USE(tmp263);
2466 224 : tmp263 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp260}, compiler::TNode<Int32T>{tmp262}));
2467 112 : ca_.Branch(tmp263, &block32, &block33, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261);
2468 : }
2469 :
2470 112 : if (block32.is_used()) {
2471 : compiler::TNode<Context> tmp264;
2472 : compiler::TNode<JSReceiver> tmp265;
2473 : compiler::TNode<String> tmp266;
2474 : compiler::TNode<Number> tmp267;
2475 : compiler::TNode<Object> tmp268;
2476 : compiler::TNode<Object> tmp269;
2477 : compiler::TNode<Map> tmp270;
2478 : compiler::TNode<Int32T> tmp271;
2479 : compiler::TNode<BuiltinPtr> tmp272;
2480 : ca_.Bind(&block32, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272);
2481 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 408);
2482 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
2483 : ca_.Goto(&block34, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt16Array)));
2484 : }
2485 :
2486 112 : if (block33.is_used()) {
2487 : compiler::TNode<Context> tmp273;
2488 : compiler::TNode<JSReceiver> tmp274;
2489 : compiler::TNode<String> tmp275;
2490 : compiler::TNode<Number> tmp276;
2491 : compiler::TNode<Object> tmp277;
2492 : compiler::TNode<Object> tmp278;
2493 : compiler::TNode<Map> tmp279;
2494 : compiler::TNode<Int32T> tmp280;
2495 : compiler::TNode<BuiltinPtr> tmp281;
2496 : ca_.Bind(&block33, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281);
2497 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 409);
2498 : compiler::TNode<Int32T> tmp282;
2499 : USE(tmp282);
2500 336 : tmp282 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT32_ELEMENTS));
2501 : compiler::TNode<BoolT> tmp283;
2502 : USE(tmp283);
2503 224 : tmp283 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp280}, compiler::TNode<Int32T>{tmp282}));
2504 112 : ca_.Branch(tmp283, &block35, &block36, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281);
2505 : }
2506 :
2507 112 : if (block35.is_used()) {
2508 : compiler::TNode<Context> tmp284;
2509 : compiler::TNode<JSReceiver> tmp285;
2510 : compiler::TNode<String> tmp286;
2511 : compiler::TNode<Number> tmp287;
2512 : compiler::TNode<Object> tmp288;
2513 : compiler::TNode<Object> tmp289;
2514 : compiler::TNode<Map> tmp290;
2515 : compiler::TNode<Int32T> tmp291;
2516 : compiler::TNode<BuiltinPtr> tmp292;
2517 : ca_.Bind(&block35, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292);
2518 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 410);
2519 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 409);
2520 : ca_.Goto(&block37, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint32Array)));
2521 : }
2522 :
2523 112 : if (block36.is_used()) {
2524 : compiler::TNode<Context> tmp293;
2525 : compiler::TNode<JSReceiver> tmp294;
2526 : compiler::TNode<String> tmp295;
2527 : compiler::TNode<Number> tmp296;
2528 : compiler::TNode<Object> tmp297;
2529 : compiler::TNode<Object> tmp298;
2530 : compiler::TNode<Map> tmp299;
2531 : compiler::TNode<Int32T> tmp300;
2532 : compiler::TNode<BuiltinPtr> tmp301;
2533 : ca_.Bind(&block36, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301);
2534 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 412);
2535 224 : CodeStubAssembler(state_).Unreachable();
2536 : }
2537 :
2538 112 : if (block37.is_used()) {
2539 : compiler::TNode<Context> tmp302;
2540 : compiler::TNode<JSReceiver> tmp303;
2541 : compiler::TNode<String> tmp304;
2542 : compiler::TNode<Number> tmp305;
2543 : compiler::TNode<Object> tmp306;
2544 : compiler::TNode<Object> tmp307;
2545 : compiler::TNode<Map> tmp308;
2546 : compiler::TNode<Int32T> tmp309;
2547 : compiler::TNode<BuiltinPtr> tmp310;
2548 : ca_.Bind(&block37, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310);
2549 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
2550 : ca_.Goto(&block34, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310);
2551 : }
2552 :
2553 112 : if (block34.is_used()) {
2554 : compiler::TNode<Context> tmp311;
2555 : compiler::TNode<JSReceiver> tmp312;
2556 : compiler::TNode<String> tmp313;
2557 : compiler::TNode<Number> tmp314;
2558 : compiler::TNode<Object> tmp315;
2559 : compiler::TNode<Object> tmp316;
2560 : compiler::TNode<Map> tmp317;
2561 : compiler::TNode<Int32T> tmp318;
2562 : compiler::TNode<BuiltinPtr> tmp319;
2563 : ca_.Bind(&block34, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319);
2564 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
2565 : ca_.Goto(&block31, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp319);
2566 : }
2567 :
2568 112 : if (block31.is_used()) {
2569 : compiler::TNode<Context> tmp320;
2570 : compiler::TNode<JSReceiver> tmp321;
2571 : compiler::TNode<String> tmp322;
2572 : compiler::TNode<Number> tmp323;
2573 : compiler::TNode<Object> tmp324;
2574 : compiler::TNode<Object> tmp325;
2575 : compiler::TNode<Map> tmp326;
2576 : compiler::TNode<Int32T> tmp327;
2577 : compiler::TNode<BuiltinPtr> tmp328;
2578 : ca_.Bind(&block31, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328);
2579 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
2580 : ca_.Goto(&block28, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328);
2581 : }
2582 :
2583 112 : if (block28.is_used()) {
2584 : compiler::TNode<Context> tmp329;
2585 : compiler::TNode<JSReceiver> tmp330;
2586 : compiler::TNode<String> tmp331;
2587 : compiler::TNode<Number> tmp332;
2588 : compiler::TNode<Object> tmp333;
2589 : compiler::TNode<Object> tmp334;
2590 : compiler::TNode<Map> tmp335;
2591 : compiler::TNode<Int32T> tmp336;
2592 : compiler::TNode<BuiltinPtr> tmp337;
2593 : ca_.Bind(&block28, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336, &tmp337);
2594 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
2595 : ca_.Goto(&block25, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334, tmp335, tmp336, tmp337);
2596 : }
2597 :
2598 112 : if (block25.is_used()) {
2599 : compiler::TNode<Context> tmp338;
2600 : compiler::TNode<JSReceiver> tmp339;
2601 : compiler::TNode<String> tmp340;
2602 : compiler::TNode<Number> tmp341;
2603 : compiler::TNode<Object> tmp342;
2604 : compiler::TNode<Object> tmp343;
2605 : compiler::TNode<Map> tmp344;
2606 : compiler::TNode<Int32T> tmp345;
2607 : compiler::TNode<BuiltinPtr> tmp346;
2608 : ca_.Bind(&block25, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346);
2609 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
2610 : ca_.Goto(&block4, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346);
2611 : }
2612 :
2613 112 : if (block4.is_used()) {
2614 : compiler::TNode<Context> tmp347;
2615 : compiler::TNode<JSReceiver> tmp348;
2616 : compiler::TNode<String> tmp349;
2617 : compiler::TNode<Number> tmp350;
2618 : compiler::TNode<Object> tmp351;
2619 : compiler::TNode<Object> tmp352;
2620 : compiler::TNode<Map> tmp353;
2621 : compiler::TNode<Int32T> tmp354;
2622 : compiler::TNode<BuiltinPtr> tmp355;
2623 : ca_.Bind(&block4, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355);
2624 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 416);
2625 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 415);
2626 : compiler::TNode<String> tmp356;
2627 : USE(tmp356);
2628 336 : tmp356 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoinImpl12JSTypedArray(compiler::TNode<Context>{tmp347}, compiler::TNode<JSReceiver>{tmp348}, compiler::TNode<String>{tmp349}, compiler::TNode<Number>{tmp350}, p_useToLocaleString, compiler::TNode<Object>{tmp351}, compiler::TNode<Object>{tmp352}, compiler::TNode<BuiltinPtr>{tmp355}));
2629 : ca_.Goto(&block1, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp356);
2630 : }
2631 :
2632 112 : if (block1.is_used()) {
2633 : compiler::TNode<Context> tmp357;
2634 : compiler::TNode<JSReceiver> tmp358;
2635 : compiler::TNode<String> tmp359;
2636 : compiler::TNode<Number> tmp360;
2637 : compiler::TNode<Object> tmp361;
2638 : compiler::TNode<Object> tmp362;
2639 : compiler::TNode<Object> tmp363;
2640 : ca_.Bind(&block1, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363);
2641 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 326);
2642 : ca_.Goto(&block38, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363);
2643 : }
2644 :
2645 : compiler::TNode<Context> tmp364;
2646 : compiler::TNode<JSReceiver> tmp365;
2647 : compiler::TNode<String> tmp366;
2648 : compiler::TNode<Number> tmp367;
2649 : compiler::TNode<Object> tmp368;
2650 : compiler::TNode<Object> tmp369;
2651 : compiler::TNode<Object> tmp370;
2652 : ca_.Bind(&block38, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370);
2653 224 : return compiler::TNode<Object>{tmp370};
2654 : }
2655 :
2656 672 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::LoadJoinStack(compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_IfUninitialized) {
2657 672 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2658 : compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2659 : compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2660 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2661 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2662 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2663 : ca_.Goto(&block0, p_context);
2664 :
2665 672 : if (block0.is_used()) {
2666 : compiler::TNode<Context> tmp0;
2667 : ca_.Bind(&block0, &tmp0);
2668 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 428);
2669 : compiler::TNode<Context> tmp1;
2670 : USE(tmp1);
2671 2016 : tmp1 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
2672 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 430);
2673 : compiler::TNode<IntPtrT> tmp2;
2674 : USE(tmp2);
2675 2016 : tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
2676 : compiler::TNode<Object> tmp3;
2677 : USE(tmp3);
2678 1344 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp1}, compiler::TNode<IntPtrT>{tmp2}));
2679 : compiler::TNode<HeapObject> tmp4;
2680 : USE(tmp4);
2681 2016 : tmp4 = ca_.UncheckedCast<HeapObject>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp3}));
2682 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 429);
2683 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 431);
2684 : compiler::TNode<Oddball> tmp5;
2685 : USE(tmp5);
2686 2016 : tmp5 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
2687 : compiler::TNode<BoolT> tmp6;
2688 : USE(tmp6);
2689 1344 : tmp6 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp4}, compiler::TNode<HeapObject>{tmp5}));
2690 672 : ca_.Branch(tmp6, &block3, &block4, tmp0, tmp1, tmp4);
2691 : }
2692 :
2693 672 : if (block3.is_used()) {
2694 : compiler::TNode<Context> tmp7;
2695 : compiler::TNode<Context> tmp8;
2696 : compiler::TNode<HeapObject> tmp9;
2697 : ca_.Bind(&block3, &tmp7, &tmp8, &tmp9);
2698 : ca_.Goto(&block1);
2699 : }
2700 :
2701 672 : if (block4.is_used()) {
2702 : compiler::TNode<Context> tmp10;
2703 : compiler::TNode<Context> tmp11;
2704 : compiler::TNode<HeapObject> tmp12;
2705 : ca_.Bind(&block4, &tmp10, &tmp11, &tmp12);
2706 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 433);
2707 : compiler::TNode<FixedArray> tmp13;
2708 : USE(tmp13);
2709 2016 : tmp13 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp12}));
2710 : ca_.Goto(&block2, tmp10, tmp13);
2711 : }
2712 :
2713 672 : if (block2.is_used()) {
2714 : compiler::TNode<Context> tmp14;
2715 : compiler::TNode<FixedArray> tmp15;
2716 : ca_.Bind(&block2, &tmp14, &tmp15);
2717 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 426);
2718 : ca_.Goto(&block5, tmp14, tmp15);
2719 : }
2720 :
2721 672 : if (block1.is_used()) {
2722 : ca_.Bind(&block1);
2723 672 : ca_.Goto(label_IfUninitialized);
2724 : }
2725 :
2726 : compiler::TNode<Context> tmp16;
2727 : compiler::TNode<FixedArray> tmp17;
2728 : ca_.Bind(&block5, &tmp16, &tmp17);
2729 1344 : return compiler::TNode<FixedArray>{tmp17};
2730 : }
2731 :
2732 336 : void ArrayJoinBuiltinsFromDSLAssembler::SetJoinStack(compiler::TNode<Context> p_context, compiler::TNode<FixedArray> p_stack) {
2733 336 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2734 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2735 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2736 : ca_.Goto(&block0, p_context, p_stack);
2737 :
2738 336 : if (block0.is_used()) {
2739 : compiler::TNode<Context> tmp0;
2740 : compiler::TNode<FixedArray> tmp1;
2741 : ca_.Bind(&block0, &tmp0, &tmp1);
2742 336 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 437);
2743 : compiler::TNode<Context> tmp2;
2744 : USE(tmp2);
2745 1008 : tmp2 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
2746 336 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 438);
2747 : compiler::TNode<IntPtrT> tmp3;
2748 : USE(tmp3);
2749 1008 : tmp3 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
2750 672 : CodeStubAssembler(state_).StoreContextElement(compiler::TNode<Context>{tmp2}, compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<Object>{tmp1});
2751 336 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 436);
2752 : ca_.Goto(&block1, tmp0, tmp1);
2753 : }
2754 :
2755 336 : if (block1.is_used()) {
2756 : compiler::TNode<Context> tmp4;
2757 : compiler::TNode<FixedArray> tmp5;
2758 : ca_.Bind(&block1, &tmp4, &tmp5);
2759 : ca_.Goto(&block2, tmp4, tmp5);
2760 : }
2761 :
2762 : compiler::TNode<Context> tmp6;
2763 : compiler::TNode<FixedArray> tmp7;
2764 : ca_.Bind(&block2, &tmp6, &tmp7);
2765 336 : }
2766 :
2767 224 : TF_BUILTIN(JoinStackPush, CodeStubAssembler) {
2768 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
2769 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
2770 : USE(parameter0);
2771 : compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
2772 : USE(parameter1);
2773 : compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
2774 : USE(parameter2);
2775 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2776 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2777 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2778 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2779 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2780 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2781 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2782 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2783 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2784 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
2785 :
2786 56 : if (block0.is_used()) {
2787 : compiler::TNode<Context> tmp0;
2788 : compiler::TNode<FixedArray> tmp1;
2789 : compiler::TNode<JSReceiver> tmp2;
2790 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
2791 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 446);
2792 : compiler::TNode<IntPtrT> tmp3;
2793 : USE(tmp3);
2794 112 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
2795 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 447);
2796 : compiler::TNode<IntPtrT> tmp4;
2797 : USE(tmp4);
2798 112 : tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
2799 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
2800 : }
2801 :
2802 56 : if (block3.is_used()) {
2803 : compiler::TNode<Context> tmp5;
2804 : compiler::TNode<FixedArray> tmp6;
2805 : compiler::TNode<JSReceiver> tmp7;
2806 : compiler::TNode<IntPtrT> tmp8;
2807 : compiler::TNode<IntPtrT> tmp9;
2808 : ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
2809 : compiler::TNode<BoolT> tmp10;
2810 : USE(tmp10);
2811 224 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
2812 56 : ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
2813 : }
2814 :
2815 56 : if (block1.is_used()) {
2816 : compiler::TNode<Context> tmp11;
2817 : compiler::TNode<FixedArray> tmp12;
2818 : compiler::TNode<JSReceiver> tmp13;
2819 : compiler::TNode<IntPtrT> tmp14;
2820 : compiler::TNode<IntPtrT> tmp15;
2821 : ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
2822 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 448);
2823 : compiler::TNode<Object> tmp16;
2824 : USE(tmp16);
2825 112 : tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
2826 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 451);
2827 : compiler::TNode<Oddball> tmp17;
2828 : USE(tmp17);
2829 112 : tmp17 = BaseBuiltinsFromDSLAssembler(state_).Hole();
2830 : compiler::TNode<BoolT> tmp18;
2831 : USE(tmp18);
2832 112 : tmp18 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp17}));
2833 56 : ca_.Branch(tmp18, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
2834 : }
2835 :
2836 56 : if (block5.is_used()) {
2837 : compiler::TNode<Context> tmp19;
2838 : compiler::TNode<FixedArray> tmp20;
2839 : compiler::TNode<JSReceiver> tmp21;
2840 : compiler::TNode<IntPtrT> tmp22;
2841 : compiler::TNode<IntPtrT> tmp23;
2842 : compiler::TNode<Object> tmp24;
2843 : ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
2844 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 452);
2845 112 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp20}, compiler::TNode<IntPtrT>{tmp23}, compiler::TNode<HeapObject>{tmp21});
2846 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 453);
2847 : compiler::TNode<Oddball> tmp25;
2848 : USE(tmp25);
2849 112 : tmp25 = BaseBuiltinsFromDSLAssembler(state_).True();
2850 112 : CodeStubAssembler(state_).Return(tmp25);
2851 : }
2852 :
2853 56 : if (block6.is_used()) {
2854 : compiler::TNode<Context> tmp26;
2855 : compiler::TNode<FixedArray> tmp27;
2856 : compiler::TNode<JSReceiver> tmp28;
2857 : compiler::TNode<IntPtrT> tmp29;
2858 : compiler::TNode<IntPtrT> tmp30;
2859 : compiler::TNode<Object> tmp31;
2860 : ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
2861 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 457);
2862 : compiler::TNode<BoolT> tmp32;
2863 : USE(tmp32);
2864 112 : tmp32 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp28}, compiler::TNode<Object>{tmp31}));
2865 56 : ca_.Branch(tmp32, &block7, &block8, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31);
2866 : }
2867 :
2868 56 : if (block7.is_used()) {
2869 : compiler::TNode<Context> tmp33;
2870 : compiler::TNode<FixedArray> tmp34;
2871 : compiler::TNode<JSReceiver> tmp35;
2872 : compiler::TNode<IntPtrT> tmp36;
2873 : compiler::TNode<IntPtrT> tmp37;
2874 : compiler::TNode<Object> tmp38;
2875 : ca_.Bind(&block7, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
2876 : compiler::TNode<Oddball> tmp39;
2877 : USE(tmp39);
2878 112 : tmp39 = BaseBuiltinsFromDSLAssembler(state_).False();
2879 112 : CodeStubAssembler(state_).Return(tmp39);
2880 : }
2881 :
2882 56 : if (block8.is_used()) {
2883 : compiler::TNode<Context> tmp40;
2884 : compiler::TNode<FixedArray> tmp41;
2885 : compiler::TNode<JSReceiver> tmp42;
2886 : compiler::TNode<IntPtrT> tmp43;
2887 : compiler::TNode<IntPtrT> tmp44;
2888 : compiler::TNode<Object> tmp45;
2889 : ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
2890 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 447);
2891 : ca_.Goto(&block4, tmp40, tmp41, tmp42, tmp43, tmp44);
2892 : }
2893 :
2894 56 : if (block4.is_used()) {
2895 : compiler::TNode<Context> tmp46;
2896 : compiler::TNode<FixedArray> tmp47;
2897 : compiler::TNode<JSReceiver> tmp48;
2898 : compiler::TNode<IntPtrT> tmp49;
2899 : compiler::TNode<IntPtrT> tmp50;
2900 : ca_.Bind(&block4, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
2901 : compiler::TNode<IntPtrT> tmp51;
2902 : USE(tmp51);
2903 112 : tmp51 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
2904 : compiler::TNode<IntPtrT> tmp52;
2905 : USE(tmp52);
2906 112 : tmp52 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp50}, compiler::TNode<IntPtrT>{tmp51}));
2907 : ca_.Goto(&block3, tmp46, tmp47, tmp48, tmp49, tmp52);
2908 : }
2909 :
2910 56 : if (block2.is_used()) {
2911 : compiler::TNode<Context> tmp53;
2912 : compiler::TNode<FixedArray> tmp54;
2913 : compiler::TNode<JSReceiver> tmp55;
2914 : compiler::TNode<IntPtrT> tmp56;
2915 : compiler::TNode<IntPtrT> tmp57;
2916 : ca_.Bind(&block2, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
2917 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 462);
2918 : compiler::TNode<FixedArray> tmp58;
2919 : USE(tmp58);
2920 112 : tmp58 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray>{tmp54}, compiler::TNode<IntPtrT>{tmp56}, compiler::TNode<JSReceiver>{tmp55}));
2921 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 461);
2922 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 463);
2923 112 : ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp53}, compiler::TNode<FixedArray>{tmp58});
2924 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 464);
2925 : compiler::TNode<Oddball> tmp59;
2926 : USE(tmp59);
2927 112 : tmp59 = BaseBuiltinsFromDSLAssembler(state_).True();
2928 112 : CodeStubAssembler(state_).Return(tmp59);
2929 : }
2930 56 : }
2931 :
2932 224 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPushInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::CodeAssemblerLabel* label_ReceiverAdded, compiler::CodeAssemblerLabel* label_ReceiverNotAdded) {
2933 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2934 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2935 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2936 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2937 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2938 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block10(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2939 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2940 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2941 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2942 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2943 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2944 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2945 : ca_.Goto(&block0, p_context, p_receiver);
2946 :
2947 224 : if (block0.is_used()) {
2948 : compiler::TNode<Context> tmp0;
2949 : compiler::TNode<JSReceiver> tmp1;
2950 : ca_.Bind(&block0, &tmp0, &tmp1);
2951 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 474);
2952 : compiler::TNode<FixedArray> tmp2;
2953 : USE(tmp2);
2954 224 : compiler::CodeAssemblerLabel label0(&ca_);
2955 672 : tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
2956 : ca_.Goto(&block5, tmp0, tmp1, tmp2);
2957 224 : if (label0.is_used()) {
2958 224 : ca_.Bind(&label0);
2959 : ca_.Goto(&block6, tmp0, tmp1);
2960 : }
2961 : }
2962 :
2963 224 : if (block6.is_used()) {
2964 : compiler::TNode<Context> tmp3;
2965 : compiler::TNode<JSReceiver> tmp4;
2966 : ca_.Bind(&block6, &tmp3, &tmp4);
2967 : ca_.Goto(&block4, tmp3, tmp4);
2968 : }
2969 :
2970 224 : if (block5.is_used()) {
2971 : compiler::TNode<Context> tmp5;
2972 : compiler::TNode<JSReceiver> tmp6;
2973 : compiler::TNode<FixedArray> tmp7;
2974 : ca_.Bind(&block5, &tmp5, &tmp6, &tmp7);
2975 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
2976 : compiler::TNode<Object> tmp8;
2977 : USE(tmp8);
2978 448 : tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp7}, 0));
2979 : compiler::TNode<Oddball> tmp9;
2980 : USE(tmp9);
2981 672 : tmp9 = BaseBuiltinsFromDSLAssembler(state_).Hole();
2982 : compiler::TNode<BoolT> tmp10;
2983 : USE(tmp10);
2984 448 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp8}, compiler::TNode<HeapObject>{tmp9}));
2985 224 : ca_.Branch(tmp10, &block7, &block8, tmp5, tmp6, tmp7);
2986 : }
2987 :
2988 224 : if (block7.is_used()) {
2989 : compiler::TNode<Context> tmp11;
2990 : compiler::TNode<JSReceiver> tmp12;
2991 : compiler::TNode<FixedArray> tmp13;
2992 : ca_.Bind(&block7, &tmp11, &tmp12, &tmp13);
2993 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 477);
2994 448 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp13}, 0, compiler::TNode<HeapObject>{tmp12});
2995 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
2996 : ca_.Goto(&block9, tmp11, tmp12, tmp13);
2997 : }
2998 :
2999 224 : if (block8.is_used()) {
3000 : compiler::TNode<Context> tmp14;
3001 : compiler::TNode<JSReceiver> tmp15;
3002 : compiler::TNode<FixedArray> tmp16;
3003 : ca_.Bind(&block8, &tmp14, &tmp15, &tmp16);
3004 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 478);
3005 : compiler::TNode<Oddball> tmp17;
3006 448 : tmp17 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPush, tmp14, tmp16, tmp15));
3007 : USE(tmp17);
3008 : compiler::TNode<Oddball> tmp18;
3009 : USE(tmp18);
3010 672 : tmp18 = BaseBuiltinsFromDSLAssembler(state_).False();
3011 : compiler::TNode<BoolT> tmp19;
3012 : USE(tmp19);
3013 448 : tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp17}, compiler::TNode<HeapObject>{tmp18}));
3014 224 : ca_.Branch(tmp19, &block10, &block11, tmp14, tmp15, tmp16);
3015 : }
3016 :
3017 224 : if (block10.is_used()) {
3018 : compiler::TNode<Context> tmp20;
3019 : compiler::TNode<JSReceiver> tmp21;
3020 : compiler::TNode<FixedArray> tmp22;
3021 : ca_.Bind(&block10, &tmp20, &tmp21, &tmp22);
3022 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 480);
3023 : ca_.Goto(&block2);
3024 : }
3025 :
3026 224 : if (block11.is_used()) {
3027 : compiler::TNode<Context> tmp23;
3028 : compiler::TNode<JSReceiver> tmp24;
3029 : compiler::TNode<FixedArray> tmp25;
3030 : ca_.Bind(&block11, &tmp23, &tmp24, &tmp25);
3031 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
3032 : ca_.Goto(&block9, tmp23, tmp24, tmp25);
3033 : }
3034 :
3035 224 : if (block9.is_used()) {
3036 : compiler::TNode<Context> tmp26;
3037 : compiler::TNode<JSReceiver> tmp27;
3038 : compiler::TNode<FixedArray> tmp28;
3039 : ca_.Bind(&block9, &tmp26, &tmp27, &tmp28);
3040 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
3041 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 483);
3042 : ca_.Goto(&block3, tmp26, tmp27);
3043 : }
3044 :
3045 224 : if (block4.is_used()) {
3046 : compiler::TNode<Context> tmp29;
3047 : compiler::TNode<JSReceiver> tmp30;
3048 : ca_.Bind(&block4, &tmp29, &tmp30);
3049 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 485);
3050 : compiler::TNode<IntPtrT> tmp31;
3051 : USE(tmp31);
3052 672 : tmp31 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
3053 : compiler::TNode<FixedArray> tmp32;
3054 : USE(tmp32);
3055 448 : tmp32 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp31}, CodeStubAssembler::kNone));
3056 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 484);
3057 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 486);
3058 448 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp32}, 0, compiler::TNode<HeapObject>{tmp30});
3059 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 487);
3060 672 : ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp29}, compiler::TNode<FixedArray>{tmp32});
3061 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 483);
3062 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
3063 : ca_.Goto(&block3, tmp29, tmp30);
3064 : }
3065 :
3066 224 : if (block3.is_used()) {
3067 : compiler::TNode<Context> tmp33;
3068 : compiler::TNode<JSReceiver> tmp34;
3069 : ca_.Bind(&block3, &tmp33, &tmp34);
3070 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 489);
3071 : ca_.Goto(&block1);
3072 : }
3073 :
3074 224 : if (block1.is_used()) {
3075 : ca_.Bind(&block1);
3076 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 470);
3077 224 : ca_.Goto(label_ReceiverAdded);
3078 : }
3079 :
3080 224 : if (block2.is_used()) {
3081 : ca_.Bind(&block2);
3082 224 : ca_.Goto(label_ReceiverNotAdded);
3083 : }
3084 224 : }
3085 :
3086 224 : TF_BUILTIN(JoinStackPop, CodeStubAssembler) {
3087 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3088 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3089 : USE(parameter0);
3090 : compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
3091 : USE(parameter1);
3092 : compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
3093 : USE(parameter2);
3094 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3095 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3096 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3097 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3098 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3099 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3100 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3101 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3102 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3103 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3104 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3105 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
3106 :
3107 56 : if (block0.is_used()) {
3108 : compiler::TNode<Context> tmp0;
3109 : compiler::TNode<FixedArray> tmp1;
3110 : compiler::TNode<JSReceiver> tmp2;
3111 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
3112 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 496);
3113 : compiler::TNode<IntPtrT> tmp3;
3114 : USE(tmp3);
3115 112 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
3116 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 497);
3117 : compiler::TNode<IntPtrT> tmp4;
3118 : USE(tmp4);
3119 112 : tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3120 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
3121 : }
3122 :
3123 56 : if (block3.is_used()) {
3124 : compiler::TNode<Context> tmp5;
3125 : compiler::TNode<FixedArray> tmp6;
3126 : compiler::TNode<JSReceiver> tmp7;
3127 : compiler::TNode<IntPtrT> tmp8;
3128 : compiler::TNode<IntPtrT> tmp9;
3129 : ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
3130 : compiler::TNode<BoolT> tmp10;
3131 : USE(tmp10);
3132 224 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
3133 56 : ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
3134 : }
3135 :
3136 56 : if (block1.is_used()) {
3137 : compiler::TNode<Context> tmp11;
3138 : compiler::TNode<FixedArray> tmp12;
3139 : compiler::TNode<JSReceiver> tmp13;
3140 : compiler::TNode<IntPtrT> tmp14;
3141 : compiler::TNode<IntPtrT> tmp15;
3142 : ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
3143 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 498);
3144 : compiler::TNode<Object> tmp16;
3145 : USE(tmp16);
3146 112 : tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
3147 : compiler::TNode<BoolT> tmp17;
3148 : USE(tmp17);
3149 112 : tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp13}));
3150 56 : ca_.Branch(tmp17, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15);
3151 : }
3152 :
3153 56 : if (block5.is_used()) {
3154 : compiler::TNode<Context> tmp18;
3155 : compiler::TNode<FixedArray> tmp19;
3156 : compiler::TNode<JSReceiver> tmp20;
3157 : compiler::TNode<IntPtrT> tmp21;
3158 : compiler::TNode<IntPtrT> tmp22;
3159 : ca_.Bind(&block5, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
3160 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
3161 : compiler::TNode<IntPtrT> tmp23;
3162 : USE(tmp23);
3163 112 : tmp23 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3164 : compiler::TNode<BoolT> tmp24;
3165 : USE(tmp24);
3166 168 : tmp24 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp22}, compiler::TNode<IntPtrT>{tmp23}));
3167 56 : ca_.Branch(tmp24, &block9, &block8, tmp18, tmp19, tmp20, tmp21, tmp22);
3168 : }
3169 :
3170 56 : if (block9.is_used()) {
3171 : compiler::TNode<Context> tmp25;
3172 : compiler::TNode<FixedArray> tmp26;
3173 : compiler::TNode<JSReceiver> tmp27;
3174 : compiler::TNode<IntPtrT> tmp28;
3175 : compiler::TNode<IntPtrT> tmp29;
3176 : ca_.Bind(&block9, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
3177 : compiler::TNode<IntPtrT> tmp30;
3178 : USE(tmp30);
3179 112 : tmp30 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
3180 : compiler::TNode<BoolT> tmp31;
3181 : USE(tmp31);
3182 168 : tmp31 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp28}, compiler::TNode<IntPtrT>{tmp30}));
3183 56 : ca_.Branch(tmp31, &block7, &block8, tmp25, tmp26, tmp27, tmp28, tmp29);
3184 : }
3185 :
3186 56 : if (block7.is_used()) {
3187 : compiler::TNode<Context> tmp32;
3188 : compiler::TNode<FixedArray> tmp33;
3189 : compiler::TNode<JSReceiver> tmp34;
3190 : compiler::TNode<IntPtrT> tmp35;
3191 : compiler::TNode<IntPtrT> tmp36;
3192 : ca_.Bind(&block7, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
3193 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 503);
3194 : compiler::TNode<IntPtrT> tmp37;
3195 : USE(tmp37);
3196 112 : tmp37 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
3197 : compiler::TNode<FixedArray> tmp38;
3198 : USE(tmp38);
3199 112 : tmp38 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp37}, CodeStubAssembler::kNone));
3200 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 502);
3201 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 504);
3202 112 : ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp32}, compiler::TNode<FixedArray>{tmp38});
3203 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
3204 : ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35, tmp36);
3205 : }
3206 :
3207 56 : if (block8.is_used()) {
3208 : compiler::TNode<Context> tmp39;
3209 : compiler::TNode<FixedArray> tmp40;
3210 : compiler::TNode<JSReceiver> tmp41;
3211 : compiler::TNode<IntPtrT> tmp42;
3212 : compiler::TNode<IntPtrT> tmp43;
3213 : ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
3214 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 507);
3215 : compiler::TNode<Oddball> tmp44;
3216 : USE(tmp44);
3217 112 : tmp44 = BaseBuiltinsFromDSLAssembler(state_).Hole();
3218 112 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp40}, compiler::TNode<IntPtrT>{tmp43}, compiler::TNode<HeapObject>{tmp44});
3219 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
3220 : ca_.Goto(&block10, tmp39, tmp40, tmp41, tmp42, tmp43);
3221 : }
3222 :
3223 56 : if (block10.is_used()) {
3224 : compiler::TNode<Context> tmp45;
3225 : compiler::TNode<FixedArray> tmp46;
3226 : compiler::TNode<JSReceiver> tmp47;
3227 : compiler::TNode<IntPtrT> tmp48;
3228 : compiler::TNode<IntPtrT> tmp49;
3229 : ca_.Bind(&block10, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
3230 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 509);
3231 : compiler::TNode<Oddball> tmp50;
3232 : USE(tmp50);
3233 112 : tmp50 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3234 112 : CodeStubAssembler(state_).Return(tmp50);
3235 : }
3236 :
3237 56 : if (block6.is_used()) {
3238 : compiler::TNode<Context> tmp51;
3239 : compiler::TNode<FixedArray> tmp52;
3240 : compiler::TNode<JSReceiver> tmp53;
3241 : compiler::TNode<IntPtrT> tmp54;
3242 : compiler::TNode<IntPtrT> tmp55;
3243 : ca_.Bind(&block6, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55);
3244 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 497);
3245 : ca_.Goto(&block4, tmp51, tmp52, tmp53, tmp54, tmp55);
3246 : }
3247 :
3248 56 : if (block4.is_used()) {
3249 : compiler::TNode<Context> tmp56;
3250 : compiler::TNode<FixedArray> tmp57;
3251 : compiler::TNode<JSReceiver> tmp58;
3252 : compiler::TNode<IntPtrT> tmp59;
3253 : compiler::TNode<IntPtrT> tmp60;
3254 : ca_.Bind(&block4, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60);
3255 : compiler::TNode<IntPtrT> tmp61;
3256 : USE(tmp61);
3257 112 : tmp61 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
3258 : compiler::TNode<IntPtrT> tmp62;
3259 : USE(tmp62);
3260 112 : tmp62 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp60}, compiler::TNode<IntPtrT>{tmp61}));
3261 : ca_.Goto(&block3, tmp56, tmp57, tmp58, tmp59, tmp62);
3262 : }
3263 :
3264 56 : if (block2.is_used()) {
3265 : compiler::TNode<Context> tmp63;
3266 : compiler::TNode<FixedArray> tmp64;
3267 : compiler::TNode<JSReceiver> tmp65;
3268 : compiler::TNode<IntPtrT> tmp66;
3269 : compiler::TNode<IntPtrT> tmp67;
3270 : ca_.Bind(&block2, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
3271 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 512);
3272 112 : CodeStubAssembler(state_).Unreachable();
3273 : }
3274 56 : }
3275 :
3276 448 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPopInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver) {
3277 448 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3278 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3279 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3280 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3281 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3282 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3283 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3284 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3285 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3286 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3287 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3288 : ca_.Goto(&block0, p_context, p_receiver);
3289 :
3290 448 : if (block0.is_used()) {
3291 : compiler::TNode<Context> tmp0;
3292 : compiler::TNode<JSReceiver> tmp1;
3293 : ca_.Bind(&block0, &tmp0, &tmp1);
3294 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 517);
3295 : compiler::TNode<FixedArray> tmp2;
3296 : USE(tmp2);
3297 448 : compiler::CodeAssemblerLabel label0(&ca_);
3298 1344 : tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
3299 : ca_.Goto(&block4, tmp0, tmp1, tmp2);
3300 448 : if (label0.is_used()) {
3301 448 : ca_.Bind(&label0);
3302 : ca_.Goto(&block5, tmp0, tmp1);
3303 : }
3304 : }
3305 :
3306 448 : if (block5.is_used()) {
3307 : compiler::TNode<Context> tmp3;
3308 : compiler::TNode<JSReceiver> tmp4;
3309 : ca_.Bind(&block5, &tmp3, &tmp4);
3310 : ca_.Goto(&block3, tmp3, tmp4);
3311 : }
3312 :
3313 448 : if (block4.is_used()) {
3314 : compiler::TNode<Context> tmp5;
3315 : compiler::TNode<JSReceiver> tmp6;
3316 : compiler::TNode<FixedArray> tmp7;
3317 : ca_.Bind(&block4, &tmp5, &tmp6, &tmp7);
3318 : ca_.Goto(&block2, tmp5, tmp6, tmp7);
3319 : }
3320 :
3321 448 : if (block3.is_used()) {
3322 : compiler::TNode<Context> tmp8;
3323 : compiler::TNode<JSReceiver> tmp9;
3324 : ca_.Bind(&block3, &tmp8, &tmp9);
3325 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 518);
3326 896 : CodeStubAssembler(state_).Unreachable();
3327 : }
3328 :
3329 448 : if (block2.is_used()) {
3330 : compiler::TNode<Context> tmp10;
3331 : compiler::TNode<JSReceiver> tmp11;
3332 : compiler::TNode<FixedArray> tmp12;
3333 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
3334 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 517);
3335 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 519);
3336 : compiler::TNode<IntPtrT> tmp13;
3337 : USE(tmp13);
3338 896 : tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp12}));
3339 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
3340 : compiler::TNode<Object> tmp14;
3341 : USE(tmp14);
3342 896 : tmp14 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, 0));
3343 : compiler::TNode<BoolT> tmp15;
3344 : USE(tmp15);
3345 896 : tmp15 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp14}, compiler::TNode<HeapObject>{tmp11}));
3346 448 : ca_.Branch(tmp15, &block8, &block7, tmp10, tmp11, tmp12, tmp13);
3347 : }
3348 :
3349 448 : if (block8.is_used()) {
3350 : compiler::TNode<Context> tmp16;
3351 : compiler::TNode<JSReceiver> tmp17;
3352 : compiler::TNode<FixedArray> tmp18;
3353 : compiler::TNode<IntPtrT> tmp19;
3354 : ca_.Bind(&block8, &tmp16, &tmp17, &tmp18, &tmp19);
3355 : compiler::TNode<IntPtrT> tmp20;
3356 : USE(tmp20);
3357 1344 : tmp20 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
3358 : compiler::TNode<BoolT> tmp21;
3359 : USE(tmp21);
3360 1344 : tmp21 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp19}, compiler::TNode<IntPtrT>{tmp20}));
3361 448 : ca_.Branch(tmp21, &block6, &block7, tmp16, tmp17, tmp18, tmp19);
3362 : }
3363 :
3364 448 : if (block6.is_used()) {
3365 : compiler::TNode<Context> tmp22;
3366 : compiler::TNode<JSReceiver> tmp23;
3367 : compiler::TNode<FixedArray> tmp24;
3368 : compiler::TNode<IntPtrT> tmp25;
3369 : ca_.Bind(&block6, &tmp22, &tmp23, &tmp24, &tmp25);
3370 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 524);
3371 : compiler::TNode<Oddball> tmp26;
3372 : USE(tmp26);
3373 1344 : tmp26 = BaseBuiltinsFromDSLAssembler(state_).Hole();
3374 : compiler::TNode<IntPtrT> tmp27;
3375 : USE(tmp27);
3376 1344 : tmp27 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3377 896 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, compiler::TNode<IntPtrT>{tmp27}, compiler::TNode<Object>{tmp26}, SKIP_WRITE_BARRIER);
3378 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
3379 : ca_.Goto(&block9, tmp22, tmp23, tmp24, tmp25);
3380 : }
3381 :
3382 448 : if (block7.is_used()) {
3383 : compiler::TNode<Context> tmp28;
3384 : compiler::TNode<JSReceiver> tmp29;
3385 : compiler::TNode<FixedArray> tmp30;
3386 : compiler::TNode<IntPtrT> tmp31;
3387 : ca_.Bind(&block7, &tmp28, &tmp29, &tmp30, &tmp31);
3388 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 527);
3389 : compiler::TNode<Object> tmp32;
3390 896 : tmp32 = CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPop, tmp28, tmp30, tmp29);
3391 : USE(tmp32);
3392 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
3393 : ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31);
3394 : }
3395 :
3396 448 : if (block9.is_used()) {
3397 : compiler::TNode<Context> tmp33;
3398 : compiler::TNode<JSReceiver> tmp34;
3399 : compiler::TNode<FixedArray> tmp35;
3400 : compiler::TNode<IntPtrT> tmp36;
3401 : ca_.Bind(&block9, &tmp33, &tmp34, &tmp35, &tmp36);
3402 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 516);
3403 : ca_.Goto(&block1, tmp33, tmp34);
3404 : }
3405 :
3406 448 : if (block1.is_used()) {
3407 : compiler::TNode<Context> tmp37;
3408 : compiler::TNode<JSReceiver> tmp38;
3409 : ca_.Bind(&block1, &tmp37, &tmp38);
3410 : ca_.Goto(&block10, tmp37, tmp38);
3411 : }
3412 :
3413 : compiler::TNode<Context> tmp39;
3414 : compiler::TNode<JSReceiver> tmp40;
3415 : ca_.Bind(&block10, &tmp39, &tmp40);
3416 448 : }
3417 :
3418 224 : TF_BUILTIN(ArrayPrototypeJoin, CodeStubAssembler) {
3419 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3420 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3421 : USE(parameter0);
3422 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3423 56 : TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
3424 56 : TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
3425 56 : BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
3426 : CodeStubArguments arguments(this, torque_arguments);
3427 56 : TNode<Object> parameter1 = arguments.GetReceiver();
3428 : USE(parameter1);
3429 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3430 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3431 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3432 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3433 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3434 : ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
3435 :
3436 56 : if (block0.is_used()) {
3437 : compiler::TNode<Context> tmp0;
3438 : compiler::TNode<Object> tmp1;
3439 : compiler::TNode<RawPtrT> tmp2;
3440 : compiler::TNode<RawPtrT> tmp3;
3441 : compiler::TNode<IntPtrT> tmp4;
3442 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
3443 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 561);
3444 : compiler::TNode<IntPtrT> tmp5;
3445 : USE(tmp5);
3446 112 : tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3447 : compiler::TNode<Object> tmp6;
3448 : USE(tmp6);
3449 112 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
3450 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 564);
3451 : compiler::TNode<JSReceiver> tmp7;
3452 : USE(tmp7);
3453 112 : tmp7 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
3454 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 567);
3455 : compiler::TNode<Number> tmp8;
3456 : USE(tmp8);
3457 112 : tmp8 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp7}));
3458 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 571);
3459 : compiler::TNode<Number> tmp9;
3460 : USE(tmp9);
3461 224 : tmp9 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
3462 56 : compiler::CodeAssemblerLabel label0(&ca_);
3463 56 : compiler::CodeAssemblerLabel label1(&ca_);
3464 112 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp8}, compiler::TNode<Number>{tmp9}, &label0, &label1);
3465 56 : if (label0.is_used()) {
3466 56 : ca_.Bind(&label0);
3467 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp7, tmp8, tmp8);
3468 : }
3469 56 : if (label1.is_used()) {
3470 56 : ca_.Bind(&label1);
3471 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp7, tmp8, tmp8);
3472 : }
3473 : }
3474 :
3475 56 : if (block3.is_used()) {
3476 : compiler::TNode<Context> tmp10;
3477 : compiler::TNode<Object> tmp11;
3478 : compiler::TNode<RawPtrT> tmp12;
3479 : compiler::TNode<RawPtrT> tmp13;
3480 : compiler::TNode<IntPtrT> tmp14;
3481 : compiler::TNode<Object> tmp15;
3482 : compiler::TNode<JSReceiver> tmp16;
3483 : compiler::TNode<Number> tmp17;
3484 : compiler::TNode<Number> tmp18;
3485 : ca_.Bind(&block3, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
3486 : ca_.Goto(&block1, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
3487 : }
3488 :
3489 56 : if (block4.is_used()) {
3490 : compiler::TNode<Context> tmp19;
3491 : compiler::TNode<Object> tmp20;
3492 : compiler::TNode<RawPtrT> tmp21;
3493 : compiler::TNode<RawPtrT> tmp22;
3494 : compiler::TNode<IntPtrT> tmp23;
3495 : compiler::TNode<Object> tmp24;
3496 : compiler::TNode<JSReceiver> tmp25;
3497 : compiler::TNode<Number> tmp26;
3498 : compiler::TNode<Number> tmp27;
3499 : ca_.Bind(&block4, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
3500 : ca_.Goto(&block2, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26);
3501 : }
3502 :
3503 56 : if (block1.is_used()) {
3504 : compiler::TNode<Context> tmp28;
3505 : compiler::TNode<Object> tmp29;
3506 : compiler::TNode<RawPtrT> tmp30;
3507 : compiler::TNode<RawPtrT> tmp31;
3508 : compiler::TNode<IntPtrT> tmp32;
3509 : compiler::TNode<Object> tmp33;
3510 : compiler::TNode<JSReceiver> tmp34;
3511 : compiler::TNode<Number> tmp35;
3512 : ca_.Bind(&block1, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
3513 112 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp28}, MessageTemplate::kInvalidArrayLength);
3514 : }
3515 :
3516 56 : if (block2.is_used()) {
3517 : compiler::TNode<Context> tmp36;
3518 : compiler::TNode<Object> tmp37;
3519 : compiler::TNode<RawPtrT> tmp38;
3520 : compiler::TNode<RawPtrT> tmp39;
3521 : compiler::TNode<IntPtrT> tmp40;
3522 : compiler::TNode<Object> tmp41;
3523 : compiler::TNode<JSReceiver> tmp42;
3524 : compiler::TNode<Number> tmp43;
3525 : ca_.Bind(&block2, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
3526 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 574);
3527 : compiler::TNode<Oddball> tmp44;
3528 : USE(tmp44);
3529 112 : tmp44 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3530 : compiler::TNode<Oddball> tmp45;
3531 : USE(tmp45);
3532 112 : tmp45 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3533 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 573);
3534 : compiler::TNode<Object> tmp46;
3535 : USE(tmp46);
3536 112 : tmp46 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin7JSArray(compiler::TNode<Context>{tmp36}, false, compiler::TNode<JSReceiver>{tmp42}, compiler::TNode<Number>{tmp43}, compiler::TNode<Object>{tmp41}, compiler::TNode<Object>{tmp44}, compiler::TNode<Object>{tmp45}));
3537 56 : arguments.PopAndReturn(tmp46);
3538 : }
3539 56 : }
3540 :
3541 224 : TF_BUILTIN(ArrayPrototypeToLocaleString, CodeStubAssembler) {
3542 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3543 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3544 : USE(parameter0);
3545 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3546 56 : TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
3547 56 : TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
3548 56 : BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
3549 : CodeStubArguments arguments(this, torque_arguments);
3550 56 : TNode<Object> parameter1 = arguments.GetReceiver();
3551 : USE(parameter1);
3552 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3553 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3554 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3555 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3556 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3557 : ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
3558 :
3559 56 : if (block0.is_used()) {
3560 : compiler::TNode<Context> tmp0;
3561 : compiler::TNode<Object> tmp1;
3562 : compiler::TNode<RawPtrT> tmp2;
3563 : compiler::TNode<RawPtrT> tmp3;
3564 : compiler::TNode<IntPtrT> tmp4;
3565 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
3566 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 580);
3567 : compiler::TNode<IntPtrT> tmp5;
3568 : USE(tmp5);
3569 112 : tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3570 : compiler::TNode<Object> tmp6;
3571 : USE(tmp6);
3572 112 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
3573 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 581);
3574 : compiler::TNode<IntPtrT> tmp7;
3575 : USE(tmp7);
3576 112 : tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
3577 : compiler::TNode<Object> tmp8;
3578 : USE(tmp8);
3579 112 : tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp7}));
3580 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 584);
3581 : compiler::TNode<JSReceiver> tmp9;
3582 : USE(tmp9);
3583 112 : tmp9 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
3584 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 587);
3585 : compiler::TNode<Number> tmp10;
3586 : USE(tmp10);
3587 112 : tmp10 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp9}));
3588 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 591);
3589 : compiler::TNode<Number> tmp11;
3590 : USE(tmp11);
3591 224 : tmp11 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
3592 56 : compiler::CodeAssemblerLabel label0(&ca_);
3593 56 : compiler::CodeAssemblerLabel label1(&ca_);
3594 112 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp10}, compiler::TNode<Number>{tmp11}, &label0, &label1);
3595 56 : if (label0.is_used()) {
3596 56 : ca_.Bind(&label0);
3597 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp8, tmp9, tmp10, tmp10);
3598 : }
3599 56 : if (label1.is_used()) {
3600 56 : ca_.Bind(&label1);
3601 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp8, tmp9, tmp10, tmp10);
3602 : }
3603 : }
3604 :
3605 56 : if (block3.is_used()) {
3606 : compiler::TNode<Context> tmp12;
3607 : compiler::TNode<Object> tmp13;
3608 : compiler::TNode<RawPtrT> tmp14;
3609 : compiler::TNode<RawPtrT> tmp15;
3610 : compiler::TNode<IntPtrT> tmp16;
3611 : compiler::TNode<Object> tmp17;
3612 : compiler::TNode<Object> tmp18;
3613 : compiler::TNode<JSReceiver> tmp19;
3614 : compiler::TNode<Number> tmp20;
3615 : compiler::TNode<Number> tmp21;
3616 : ca_.Bind(&block3, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
3617 : ca_.Goto(&block1, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
3618 : }
3619 :
3620 56 : if (block4.is_used()) {
3621 : compiler::TNode<Context> tmp22;
3622 : compiler::TNode<Object> tmp23;
3623 : compiler::TNode<RawPtrT> tmp24;
3624 : compiler::TNode<RawPtrT> tmp25;
3625 : compiler::TNode<IntPtrT> tmp26;
3626 : compiler::TNode<Object> tmp27;
3627 : compiler::TNode<Object> tmp28;
3628 : compiler::TNode<JSReceiver> tmp29;
3629 : compiler::TNode<Number> tmp30;
3630 : compiler::TNode<Number> tmp31;
3631 : ca_.Bind(&block4, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
3632 : ca_.Goto(&block2, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30);
3633 : }
3634 :
3635 56 : if (block1.is_used()) {
3636 : compiler::TNode<Context> tmp32;
3637 : compiler::TNode<Object> tmp33;
3638 : compiler::TNode<RawPtrT> tmp34;
3639 : compiler::TNode<RawPtrT> tmp35;
3640 : compiler::TNode<IntPtrT> tmp36;
3641 : compiler::TNode<Object> tmp37;
3642 : compiler::TNode<Object> tmp38;
3643 : compiler::TNode<JSReceiver> tmp39;
3644 : compiler::TNode<Number> tmp40;
3645 : ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40);
3646 112 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp32}, MessageTemplate::kInvalidArrayLength);
3647 : }
3648 :
3649 56 : if (block2.is_used()) {
3650 : compiler::TNode<Context> tmp41;
3651 : compiler::TNode<Object> tmp42;
3652 : compiler::TNode<RawPtrT> tmp43;
3653 : compiler::TNode<RawPtrT> tmp44;
3654 : compiler::TNode<IntPtrT> tmp45;
3655 : compiler::TNode<Object> tmp46;
3656 : compiler::TNode<Object> tmp47;
3657 : compiler::TNode<JSReceiver> tmp48;
3658 : compiler::TNode<Number> tmp49;
3659 : ca_.Bind(&block2, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
3660 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 594);
3661 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 593);
3662 : compiler::TNode<Object> tmp50;
3663 : USE(tmp50);
3664 112 : tmp50 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
3665 : compiler::TNode<Object> tmp51;
3666 : USE(tmp51);
3667 112 : tmp51 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin7JSArray(compiler::TNode<Context>{tmp41}, true, compiler::TNode<JSReceiver>{tmp48}, compiler::TNode<Number>{tmp49}, compiler::TNode<Object>{tmp50}, compiler::TNode<Object>{tmp46}, compiler::TNode<Object>{tmp47}));
3668 56 : arguments.PopAndReturn(tmp51);
3669 : }
3670 56 : }
3671 :
3672 224 : TF_BUILTIN(ArrayPrototypeToString, CodeStubAssembler) {
3673 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3674 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3675 : USE(parameter0);
3676 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3677 56 : TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
3678 56 : TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
3679 56 : BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
3680 : CodeStubArguments arguments(this, torque_arguments);
3681 56 : TNode<Object> parameter1 = arguments.GetReceiver();
3682 : USE(parameter1);
3683 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3684 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3685 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3686 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3687 : ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
3688 :
3689 56 : if (block0.is_used()) {
3690 : compiler::TNode<Context> tmp0;
3691 : compiler::TNode<Object> tmp1;
3692 : compiler::TNode<RawPtrT> tmp2;
3693 : compiler::TNode<RawPtrT> tmp3;
3694 : compiler::TNode<IntPtrT> tmp4;
3695 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
3696 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 601);
3697 : compiler::TNode<JSReceiver> tmp5;
3698 : USE(tmp5);
3699 112 : tmp5 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
3700 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 604);
3701 : compiler::TNode<Object> tmp6;
3702 : USE(tmp6);
3703 112 : tmp6 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("join"));
3704 : compiler::TNode<Object> tmp7;
3705 : USE(tmp7);
3706 112 : tmp7 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}, compiler::TNode<Object>{tmp6}));
3707 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 608);
3708 : compiler::TNode<JSReceiver> tmp8;
3709 : USE(tmp8);
3710 56 : compiler::CodeAssemblerLabel label0(&ca_);
3711 112 : tmp8 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp7}, &label0);
3712 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp7, tmp8);
3713 56 : if (label0.is_used()) {
3714 56 : ca_.Bind(&label0);
3715 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp7);
3716 : }
3717 : }
3718 :
3719 56 : if (block4.is_used()) {
3720 : compiler::TNode<Context> tmp9;
3721 : compiler::TNode<Object> tmp10;
3722 : compiler::TNode<RawPtrT> tmp11;
3723 : compiler::TNode<RawPtrT> tmp12;
3724 : compiler::TNode<IntPtrT> tmp13;
3725 : compiler::TNode<JSReceiver> tmp14;
3726 : compiler::TNode<Object> tmp15;
3727 : compiler::TNode<Object> tmp16;
3728 : ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
3729 : ca_.Goto(&block2, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15);
3730 : }
3731 :
3732 56 : if (block3.is_used()) {
3733 : compiler::TNode<Context> tmp17;
3734 : compiler::TNode<Object> tmp18;
3735 : compiler::TNode<RawPtrT> tmp19;
3736 : compiler::TNode<RawPtrT> tmp20;
3737 : compiler::TNode<IntPtrT> tmp21;
3738 : compiler::TNode<JSReceiver> tmp22;
3739 : compiler::TNode<Object> tmp23;
3740 : compiler::TNode<Object> tmp24;
3741 : compiler::TNode<JSReceiver> tmp25;
3742 : ca_.Bind(&block3, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
3743 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 611);
3744 : compiler::TNode<Object> tmp26;
3745 : USE(tmp26);
3746 168 : tmp26 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp17}, compiler::TNode<JSReceiver>{tmp25}, compiler::TNode<Object>{tmp22}));
3747 56 : arguments.PopAndReturn(tmp26);
3748 : }
3749 :
3750 56 : if (block2.is_used()) {
3751 : compiler::TNode<Context> tmp27;
3752 : compiler::TNode<Object> tmp28;
3753 : compiler::TNode<RawPtrT> tmp29;
3754 : compiler::TNode<RawPtrT> tmp30;
3755 : compiler::TNode<IntPtrT> tmp31;
3756 : compiler::TNode<JSReceiver> tmp32;
3757 : compiler::TNode<Object> tmp33;
3758 : ca_.Bind(&block2, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
3759 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 614);
3760 : compiler::TNode<Object> tmp34;
3761 112 : tmp34 = CodeStubAssembler(state_).CallBuiltin(Builtins::kObjectToString, tmp27, tmp32);
3762 : USE(tmp34);
3763 56 : arguments.PopAndReturn(tmp34);
3764 : }
3765 56 : }
3766 :
3767 224 : TF_BUILTIN(TypedArrayPrototypeJoin, CodeStubAssembler) {
3768 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3769 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3770 : USE(parameter0);
3771 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3772 56 : TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
3773 56 : TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
3774 56 : BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
3775 : CodeStubArguments arguments(this, torque_arguments);
3776 56 : TNode<Object> parameter1 = arguments.GetReceiver();
3777 : USE(parameter1);
3778 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3779 : ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
3780 :
3781 56 : if (block0.is_used()) {
3782 : compiler::TNode<Context> tmp0;
3783 : compiler::TNode<Object> tmp1;
3784 : compiler::TNode<RawPtrT> tmp2;
3785 : compiler::TNode<RawPtrT> tmp3;
3786 : compiler::TNode<IntPtrT> tmp4;
3787 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
3788 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 621);
3789 : compiler::TNode<IntPtrT> tmp5;
3790 : USE(tmp5);
3791 112 : tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3792 : compiler::TNode<Object> tmp6;
3793 : USE(tmp6);
3794 112 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
3795 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 626);
3796 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 625);
3797 : compiler::TNode<JSTypedArray> tmp7;
3798 : USE(tmp7);
3799 112 : tmp7 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.join"));
3800 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 627);
3801 56 : compiler::TNode<IntPtrT> tmp8 = ca_.IntPtrConstant(JSTypedArray::kLengthOffset);
3802 : USE(tmp8);
3803 112 : compiler::TNode<Smi>tmp9 = CodeStubAssembler(state_).LoadReference<Smi>(CodeStubAssembler::Reference{tmp7, tmp8});
3804 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 630);
3805 : compiler::TNode<Oddball> tmp10;
3806 : USE(tmp10);
3807 112 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3808 : compiler::TNode<Oddball> tmp11;
3809 : USE(tmp11);
3810 112 : tmp11 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3811 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 629);
3812 : compiler::TNode<Object> tmp12;
3813 : USE(tmp12);
3814 112 : tmp12 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp0}, false, compiler::TNode<JSReceiver>{tmp7}, compiler::TNode<Number>{tmp9}, compiler::TNode<Object>{tmp6}, compiler::TNode<Object>{tmp10}, compiler::TNode<Object>{tmp11}));
3815 56 : arguments.PopAndReturn(tmp12);
3816 : }
3817 56 : }
3818 :
3819 224 : TF_BUILTIN(TypedArrayPrototypeToLocaleString, CodeStubAssembler) {
3820 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3821 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3822 : USE(parameter0);
3823 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3824 56 : TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
3825 56 : TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
3826 56 : BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
3827 : CodeStubArguments arguments(this, torque_arguments);
3828 56 : TNode<Object> parameter1 = arguments.GetReceiver();
3829 : USE(parameter1);
3830 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3831 : ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
3832 :
3833 56 : if (block0.is_used()) {
3834 : compiler::TNode<Context> tmp0;
3835 : compiler::TNode<Object> tmp1;
3836 : compiler::TNode<RawPtrT> tmp2;
3837 : compiler::TNode<RawPtrT> tmp3;
3838 : compiler::TNode<IntPtrT> tmp4;
3839 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
3840 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 636);
3841 : compiler::TNode<IntPtrT> tmp5;
3842 : USE(tmp5);
3843 112 : tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3844 : compiler::TNode<Object> tmp6;
3845 : USE(tmp6);
3846 112 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
3847 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 637);
3848 : compiler::TNode<IntPtrT> tmp7;
3849 : USE(tmp7);
3850 112 : tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
3851 : compiler::TNode<Object> tmp8;
3852 : USE(tmp8);
3853 112 : tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp7}));
3854 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 642);
3855 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 641);
3856 : compiler::TNode<JSTypedArray> tmp9;
3857 : USE(tmp9);
3858 112 : tmp9 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.toLocaleString"));
3859 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 643);
3860 56 : compiler::TNode<IntPtrT> tmp10 = ca_.IntPtrConstant(JSTypedArray::kLengthOffset);
3861 : USE(tmp10);
3862 112 : compiler::TNode<Smi>tmp11 = CodeStubAssembler(state_).LoadReference<Smi>(CodeStubAssembler::Reference{tmp9, tmp10});
3863 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 646);
3864 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 645);
3865 : compiler::TNode<Object> tmp12;
3866 : USE(tmp12);
3867 112 : tmp12 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
3868 : compiler::TNode<Object> tmp13;
3869 : USE(tmp13);
3870 112 : tmp13 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp0}, true, compiler::TNode<JSReceiver>{tmp9}, compiler::TNode<Number>{tmp11}, compiler::TNode<Object>{tmp12}, compiler::TNode<Object>{tmp6}, compiler::TNode<Object>{tmp8}));
3871 56 : arguments.PopAndReturn(tmp13);
3872 : }
3873 56 : }
3874 :
3875 224 : TF_BUILTIN(LoadJoinElement25ATGenericElementsAccessor, CodeStubAssembler) {
3876 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3877 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3878 : USE(parameter0);
3879 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
3880 : USE(parameter1);
3881 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
3882 : USE(parameter2);
3883 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3884 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
3885 :
3886 56 : if (block0.is_used()) {
3887 : compiler::TNode<Context> tmp0;
3888 : compiler::TNode<JSReceiver> tmp1;
3889 : compiler::TNode<Number> tmp2;
3890 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
3891 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 16);
3892 : compiler::TNode<Object> tmp3;
3893 : USE(tmp3);
3894 112 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}));
3895 112 : CodeStubAssembler(state_).Return(tmp3);
3896 : }
3897 56 : }
3898 :
3899 112 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoinImpl7JSArray(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lengthNumber, bool p_useToLocaleString, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options, compiler::TNode<BuiltinPtr> p_initialLoadFn) {
3900 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3901 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3902 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3903 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3904 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3905 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3906 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3907 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3908 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3909 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3910 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3911 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3912 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3913 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3914 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3915 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3916 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3917 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3918 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3919 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, Number> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3920 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3921 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3922 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3923 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3924 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3925 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3926 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3927 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3928 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3929 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block33(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3930 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3931 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block35(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3932 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3933 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3934 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3935 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3936 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block40(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3937 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3938 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block39(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3939 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block41(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3940 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3941 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block43(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3942 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block44(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3943 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3944 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3945 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3946 : ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
3947 :
3948 112 : if (block0.is_used()) {
3949 : compiler::TNode<Context> tmp0;
3950 : compiler::TNode<JSReceiver> tmp1;
3951 : compiler::TNode<String> tmp2;
3952 : compiler::TNode<Number> tmp3;
3953 : compiler::TNode<Object> tmp4;
3954 : compiler::TNode<Object> tmp5;
3955 : compiler::TNode<BuiltinPtr> tmp6;
3956 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
3957 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
3958 112 : compiler::TNode<IntPtrT> tmp7 = ca_.IntPtrConstant(HeapObject::kMapOffset);
3959 : USE(tmp7);
3960 224 : compiler::TNode<Map>tmp8 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp7});
3961 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
3962 : compiler::TNode<UintPtrT> tmp9;
3963 : USE(tmp9);
3964 336 : tmp9 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number>{tmp3}));
3965 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
3966 : compiler::TNode<IntPtrT> tmp10;
3967 : USE(tmp10);
3968 336 : tmp10 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
3969 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 269);
3970 : compiler::TNode<IntPtrT> tmp11;
3971 : USE(tmp11);
3972 336 : tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3973 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 270);
3974 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
3975 : compiler::TNode<FixedArray> tmp12;
3976 : USE(tmp12);
3977 : compiler::TNode<IntPtrT> tmp13;
3978 : USE(tmp13);
3979 : compiler::TNode<IntPtrT> tmp14;
3980 : USE(tmp14);
3981 : compiler::TNode<BoolT> tmp15;
3982 : USE(tmp15);
3983 448 : std::tie(tmp12, tmp13, tmp14, tmp15) = ArrayJoinBuiltinsFromDSLAssembler(state_).NewBuffer(compiler::TNode<UintPtrT>{tmp9}, compiler::TNode<String>{tmp2}).Flatten();
3984 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
3985 : compiler::TNode<UintPtrT> tmp16;
3986 : USE(tmp16);
3987 336 : tmp16 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
3988 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
3989 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp8, tmp9, tmp10, tmp11, tmp6, tmp12, tmp13, tmp14, tmp15, tmp16);
3990 : }
3991 :
3992 112 : if (block4.is_used()) {
3993 : compiler::TNode<Context> tmp17;
3994 : compiler::TNode<JSReceiver> tmp18;
3995 : compiler::TNode<String> tmp19;
3996 : compiler::TNode<Number> tmp20;
3997 : compiler::TNode<Object> tmp21;
3998 : compiler::TNode<Object> tmp22;
3999 : compiler::TNode<BuiltinPtr> tmp23;
4000 : compiler::TNode<Map> tmp24;
4001 : compiler::TNode<UintPtrT> tmp25;
4002 : compiler::TNode<IntPtrT> tmp26;
4003 : compiler::TNode<IntPtrT> tmp27;
4004 : compiler::TNode<BuiltinPtr> tmp28;
4005 : compiler::TNode<FixedArray> tmp29;
4006 : compiler::TNode<IntPtrT> tmp30;
4007 : compiler::TNode<IntPtrT> tmp31;
4008 : compiler::TNode<BoolT> tmp32;
4009 : compiler::TNode<UintPtrT> tmp33;
4010 : ca_.Bind(&block4, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
4011 : compiler::TNode<BoolT> tmp34;
4012 : USE(tmp34);
4013 448 : tmp34 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp33}, compiler::TNode<UintPtrT>{tmp25}));
4014 112 : ca_.Branch(tmp34, &block2, &block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33);
4015 : }
4016 :
4017 112 : if (block2.is_used()) {
4018 : compiler::TNode<Context> tmp35;
4019 : compiler::TNode<JSReceiver> tmp36;
4020 : compiler::TNode<String> tmp37;
4021 : compiler::TNode<Number> tmp38;
4022 : compiler::TNode<Object> tmp39;
4023 : compiler::TNode<Object> tmp40;
4024 : compiler::TNode<BuiltinPtr> tmp41;
4025 : compiler::TNode<Map> tmp42;
4026 : compiler::TNode<UintPtrT> tmp43;
4027 : compiler::TNode<IntPtrT> tmp44;
4028 : compiler::TNode<IntPtrT> tmp45;
4029 : compiler::TNode<BuiltinPtr> tmp46;
4030 : compiler::TNode<FixedArray> tmp47;
4031 : compiler::TNode<IntPtrT> tmp48;
4032 : compiler::TNode<IntPtrT> tmp49;
4033 : compiler::TNode<BoolT> tmp50;
4034 : compiler::TNode<UintPtrT> tmp51;
4035 : ca_.Bind(&block2, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
4036 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 279);
4037 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
4038 112 : compiler::CodeAssemblerLabel label0(&ca_);
4039 112 : compiler::CodeAssemblerLabel label1(&ca_);
4040 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).CannotUseSameArrayAccessor7JSArray(compiler::TNode<Context>{tmp35}, compiler::TNode<BuiltinPtr>{tmp46}, compiler::TNode<JSReceiver>{tmp36}, compiler::TNode<Map>{tmp42}, compiler::TNode<Number>{tmp38}, &label0, &label1);
4041 112 : if (label0.is_used()) {
4042 112 : ca_.Bind(&label0);
4043 : ca_.Goto(&block7, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
4044 : }
4045 112 : if (label1.is_used()) {
4046 112 : ca_.Bind(&label1);
4047 : ca_.Goto(&block8, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
4048 : }
4049 : }
4050 :
4051 112 : if (block7.is_used()) {
4052 : compiler::TNode<Context> tmp52;
4053 : compiler::TNode<JSReceiver> tmp53;
4054 : compiler::TNode<String> tmp54;
4055 : compiler::TNode<Number> tmp55;
4056 : compiler::TNode<Object> tmp56;
4057 : compiler::TNode<Object> tmp57;
4058 : compiler::TNode<BuiltinPtr> tmp58;
4059 : compiler::TNode<Map> tmp59;
4060 : compiler::TNode<UintPtrT> tmp60;
4061 : compiler::TNode<IntPtrT> tmp61;
4062 : compiler::TNode<IntPtrT> tmp62;
4063 : compiler::TNode<BuiltinPtr> tmp63;
4064 : compiler::TNode<FixedArray> tmp64;
4065 : compiler::TNode<IntPtrT> tmp65;
4066 : compiler::TNode<IntPtrT> tmp66;
4067 : compiler::TNode<BoolT> tmp67;
4068 : compiler::TNode<UintPtrT> tmp68;
4069 : compiler::TNode<BuiltinPtr> tmp69;
4070 : compiler::TNode<JSReceiver> tmp70;
4071 : compiler::TNode<Map> tmp71;
4072 : compiler::TNode<Number> tmp72;
4073 : ca_.Bind(&block7, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72);
4074 : ca_.Goto(&block5, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68);
4075 : }
4076 :
4077 112 : if (block8.is_used()) {
4078 : compiler::TNode<Context> tmp73;
4079 : compiler::TNode<JSReceiver> tmp74;
4080 : compiler::TNode<String> tmp75;
4081 : compiler::TNode<Number> tmp76;
4082 : compiler::TNode<Object> tmp77;
4083 : compiler::TNode<Object> tmp78;
4084 : compiler::TNode<BuiltinPtr> tmp79;
4085 : compiler::TNode<Map> tmp80;
4086 : compiler::TNode<UintPtrT> tmp81;
4087 : compiler::TNode<IntPtrT> tmp82;
4088 : compiler::TNode<IntPtrT> tmp83;
4089 : compiler::TNode<BuiltinPtr> tmp84;
4090 : compiler::TNode<FixedArray> tmp85;
4091 : compiler::TNode<IntPtrT> tmp86;
4092 : compiler::TNode<IntPtrT> tmp87;
4093 : compiler::TNode<BoolT> tmp88;
4094 : compiler::TNode<UintPtrT> tmp89;
4095 : compiler::TNode<BuiltinPtr> tmp90;
4096 : compiler::TNode<JSReceiver> tmp91;
4097 : compiler::TNode<Map> tmp92;
4098 : compiler::TNode<Number> tmp93;
4099 : ca_.Bind(&block8, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93);
4100 : ca_.Goto(&block6, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89);
4101 : }
4102 :
4103 112 : if (block5.is_used()) {
4104 : compiler::TNode<Context> tmp94;
4105 : compiler::TNode<JSReceiver> tmp95;
4106 : compiler::TNode<String> tmp96;
4107 : compiler::TNode<Number> tmp97;
4108 : compiler::TNode<Object> tmp98;
4109 : compiler::TNode<Object> tmp99;
4110 : compiler::TNode<BuiltinPtr> tmp100;
4111 : compiler::TNode<Map> tmp101;
4112 : compiler::TNode<UintPtrT> tmp102;
4113 : compiler::TNode<IntPtrT> tmp103;
4114 : compiler::TNode<IntPtrT> tmp104;
4115 : compiler::TNode<BuiltinPtr> tmp105;
4116 : compiler::TNode<FixedArray> tmp106;
4117 : compiler::TNode<IntPtrT> tmp107;
4118 : compiler::TNode<IntPtrT> tmp108;
4119 : compiler::TNode<BoolT> tmp109;
4120 : compiler::TNode<UintPtrT> tmp110;
4121 : ca_.Bind(&block5, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110);
4122 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
4123 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
4124 : ca_.Goto(&block6, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)), tmp106, tmp107, tmp108, tmp109, tmp110);
4125 : }
4126 :
4127 112 : if (block6.is_used()) {
4128 : compiler::TNode<Context> tmp111;
4129 : compiler::TNode<JSReceiver> tmp112;
4130 : compiler::TNode<String> tmp113;
4131 : compiler::TNode<Number> tmp114;
4132 : compiler::TNode<Object> tmp115;
4133 : compiler::TNode<Object> tmp116;
4134 : compiler::TNode<BuiltinPtr> tmp117;
4135 : compiler::TNode<Map> tmp118;
4136 : compiler::TNode<UintPtrT> tmp119;
4137 : compiler::TNode<IntPtrT> tmp120;
4138 : compiler::TNode<IntPtrT> tmp121;
4139 : compiler::TNode<BuiltinPtr> tmp122;
4140 : compiler::TNode<FixedArray> tmp123;
4141 : compiler::TNode<IntPtrT> tmp124;
4142 : compiler::TNode<IntPtrT> tmp125;
4143 : compiler::TNode<BoolT> tmp126;
4144 : compiler::TNode<UintPtrT> tmp127;
4145 : ca_.Bind(&block6, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127);
4146 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
4147 : compiler::TNode<UintPtrT> tmp128;
4148 : USE(tmp128);
4149 336 : tmp128 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
4150 : compiler::TNode<BoolT> tmp129;
4151 : USE(tmp129);
4152 336 : tmp129 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp127}, compiler::TNode<UintPtrT>{tmp128}));
4153 112 : ca_.Branch(tmp129, &block9, &block10, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127);
4154 : }
4155 :
4156 112 : if (block9.is_used()) {
4157 : compiler::TNode<Context> tmp130;
4158 : compiler::TNode<JSReceiver> tmp131;
4159 : compiler::TNode<String> tmp132;
4160 : compiler::TNode<Number> tmp133;
4161 : compiler::TNode<Object> tmp134;
4162 : compiler::TNode<Object> tmp135;
4163 : compiler::TNode<BuiltinPtr> tmp136;
4164 : compiler::TNode<Map> tmp137;
4165 : compiler::TNode<UintPtrT> tmp138;
4166 : compiler::TNode<IntPtrT> tmp139;
4167 : compiler::TNode<IntPtrT> tmp140;
4168 : compiler::TNode<BuiltinPtr> tmp141;
4169 : compiler::TNode<FixedArray> tmp142;
4170 : compiler::TNode<IntPtrT> tmp143;
4171 : compiler::TNode<IntPtrT> tmp144;
4172 : compiler::TNode<BoolT> tmp145;
4173 : compiler::TNode<UintPtrT> tmp146;
4174 : ca_.Bind(&block9, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
4175 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 286);
4176 : compiler::TNode<IntPtrT> tmp147;
4177 : USE(tmp147);
4178 336 : tmp147 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
4179 : compiler::TNode<IntPtrT> tmp148;
4180 : USE(tmp148);
4181 224 : tmp148 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp140}, compiler::TNode<IntPtrT>{tmp147}));
4182 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
4183 : ca_.Goto(&block10, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp148, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146);
4184 : }
4185 :
4186 112 : if (block10.is_used()) {
4187 : compiler::TNode<Context> tmp149;
4188 : compiler::TNode<JSReceiver> tmp150;
4189 : compiler::TNode<String> tmp151;
4190 : compiler::TNode<Number> tmp152;
4191 : compiler::TNode<Object> tmp153;
4192 : compiler::TNode<Object> tmp154;
4193 : compiler::TNode<BuiltinPtr> tmp155;
4194 : compiler::TNode<Map> tmp156;
4195 : compiler::TNode<UintPtrT> tmp157;
4196 : compiler::TNode<IntPtrT> tmp158;
4197 : compiler::TNode<IntPtrT> tmp159;
4198 : compiler::TNode<BuiltinPtr> tmp160;
4199 : compiler::TNode<FixedArray> tmp161;
4200 : compiler::TNode<IntPtrT> tmp162;
4201 : compiler::TNode<IntPtrT> tmp163;
4202 : compiler::TNode<BoolT> tmp164;
4203 : compiler::TNode<UintPtrT> tmp165;
4204 : ca_.Bind(&block10, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
4205 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 290);
4206 : compiler::TNode<UintPtrT> tmp166;
4207 : USE(tmp166);
4208 336 : tmp166 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
4209 : compiler::TNode<UintPtrT> tmp167;
4210 : USE(tmp167);
4211 224 : tmp167 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp165}, compiler::TNode<UintPtrT>{tmp166}));
4212 : compiler::TNode<Number> tmp168;
4213 : USE(tmp168);
4214 336 : tmp168 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert20UT5ATSmi10HeapNumber9ATuintptr(compiler::TNode<UintPtrT>{tmp165}));
4215 560 : compiler::TNode<Object> tmp169 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp160, tmp149, tmp150, tmp168);
4216 : USE(tmp169);
4217 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
4218 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
4219 112 : if ((p_useToLocaleString)) {
4220 : ca_.Goto(&block11, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
4221 : } else {
4222 : ca_.Goto(&block12, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
4223 : }
4224 : }
4225 :
4226 112 : if (block11.is_used()) {
4227 : compiler::TNode<Context> tmp170;
4228 : compiler::TNode<JSReceiver> tmp171;
4229 : compiler::TNode<String> tmp172;
4230 : compiler::TNode<Number> tmp173;
4231 : compiler::TNode<Object> tmp174;
4232 : compiler::TNode<Object> tmp175;
4233 : compiler::TNode<BuiltinPtr> tmp176;
4234 : compiler::TNode<Map> tmp177;
4235 : compiler::TNode<UintPtrT> tmp178;
4236 : compiler::TNode<IntPtrT> tmp179;
4237 : compiler::TNode<IntPtrT> tmp180;
4238 : compiler::TNode<BuiltinPtr> tmp181;
4239 : compiler::TNode<FixedArray> tmp182;
4240 : compiler::TNode<IntPtrT> tmp183;
4241 : compiler::TNode<IntPtrT> tmp184;
4242 : compiler::TNode<BoolT> tmp185;
4243 : compiler::TNode<UintPtrT> tmp186;
4244 : compiler::TNode<Object> tmp187;
4245 : compiler::TNode<String> tmp188;
4246 : ca_.Bind(&block11, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188);
4247 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
4248 : compiler::TNode<String> tmp189;
4249 112 : tmp189 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp170, tmp187, tmp174, tmp175));
4250 : USE(tmp189);
4251 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
4252 : compiler::TNode<String> tmp190;
4253 : USE(tmp190);
4254 168 : tmp190 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
4255 : compiler::TNode<BoolT> tmp191;
4256 : USE(tmp191);
4257 112 : tmp191 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp189}, compiler::TNode<HeapObject>{tmp190}));
4258 56 : ca_.Branch(tmp191, &block14, &block15, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp189);
4259 : }
4260 :
4261 112 : if (block14.is_used()) {
4262 : compiler::TNode<Context> tmp192;
4263 : compiler::TNode<JSReceiver> tmp193;
4264 : compiler::TNode<String> tmp194;
4265 : compiler::TNode<Number> tmp195;
4266 : compiler::TNode<Object> tmp196;
4267 : compiler::TNode<Object> tmp197;
4268 : compiler::TNode<BuiltinPtr> tmp198;
4269 : compiler::TNode<Map> tmp199;
4270 : compiler::TNode<UintPtrT> tmp200;
4271 : compiler::TNode<IntPtrT> tmp201;
4272 : compiler::TNode<IntPtrT> tmp202;
4273 : compiler::TNode<BuiltinPtr> tmp203;
4274 : compiler::TNode<FixedArray> tmp204;
4275 : compiler::TNode<IntPtrT> tmp205;
4276 : compiler::TNode<IntPtrT> tmp206;
4277 : compiler::TNode<BoolT> tmp207;
4278 : compiler::TNode<UintPtrT> tmp208;
4279 : compiler::TNode<Object> tmp209;
4280 : compiler::TNode<String> tmp210;
4281 : ca_.Bind(&block14, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210);
4282 : ca_.Goto(&block4, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208);
4283 : }
4284 :
4285 112 : if (block15.is_used()) {
4286 : compiler::TNode<Context> tmp211;
4287 : compiler::TNode<JSReceiver> tmp212;
4288 : compiler::TNode<String> tmp213;
4289 : compiler::TNode<Number> tmp214;
4290 : compiler::TNode<Object> tmp215;
4291 : compiler::TNode<Object> tmp216;
4292 : compiler::TNode<BuiltinPtr> tmp217;
4293 : compiler::TNode<Map> tmp218;
4294 : compiler::TNode<UintPtrT> tmp219;
4295 : compiler::TNode<IntPtrT> tmp220;
4296 : compiler::TNode<IntPtrT> tmp221;
4297 : compiler::TNode<BuiltinPtr> tmp222;
4298 : compiler::TNode<FixedArray> tmp223;
4299 : compiler::TNode<IntPtrT> tmp224;
4300 : compiler::TNode<IntPtrT> tmp225;
4301 : compiler::TNode<BoolT> tmp226;
4302 : compiler::TNode<UintPtrT> tmp227;
4303 : compiler::TNode<Object> tmp228;
4304 : compiler::TNode<String> tmp229;
4305 : ca_.Bind(&block15, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229);
4306 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
4307 : ca_.Goto(&block13, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229);
4308 : }
4309 :
4310 112 : if (block12.is_used()) {
4311 : compiler::TNode<Context> tmp230;
4312 : compiler::TNode<JSReceiver> tmp231;
4313 : compiler::TNode<String> tmp232;
4314 : compiler::TNode<Number> tmp233;
4315 : compiler::TNode<Object> tmp234;
4316 : compiler::TNode<Object> tmp235;
4317 : compiler::TNode<BuiltinPtr> tmp236;
4318 : compiler::TNode<Map> tmp237;
4319 : compiler::TNode<UintPtrT> tmp238;
4320 : compiler::TNode<IntPtrT> tmp239;
4321 : compiler::TNode<IntPtrT> tmp240;
4322 : compiler::TNode<BuiltinPtr> tmp241;
4323 : compiler::TNode<FixedArray> tmp242;
4324 : compiler::TNode<IntPtrT> tmp243;
4325 : compiler::TNode<IntPtrT> tmp244;
4326 : compiler::TNode<BoolT> tmp245;
4327 : compiler::TNode<UintPtrT> tmp246;
4328 : compiler::TNode<Object> tmp247;
4329 : compiler::TNode<String> tmp248;
4330 : ca_.Bind(&block12, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248);
4331 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
4332 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
4333 : compiler::TNode<String> tmp249;
4334 : USE(tmp249);
4335 56 : compiler::CodeAssemblerLabel label0(&ca_);
4336 168 : tmp249 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp230}, compiler::TNode<Object>{tmp247}, &label0);
4337 : ca_.Goto(&block18, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247, tmp249);
4338 56 : if (label0.is_used()) {
4339 56 : ca_.Bind(&label0);
4340 : ca_.Goto(&block19, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247);
4341 : }
4342 : }
4343 :
4344 112 : if (block19.is_used()) {
4345 : compiler::TNode<Context> tmp250;
4346 : compiler::TNode<JSReceiver> tmp251;
4347 : compiler::TNode<String> tmp252;
4348 : compiler::TNode<Number> tmp253;
4349 : compiler::TNode<Object> tmp254;
4350 : compiler::TNode<Object> tmp255;
4351 : compiler::TNode<BuiltinPtr> tmp256;
4352 : compiler::TNode<Map> tmp257;
4353 : compiler::TNode<UintPtrT> tmp258;
4354 : compiler::TNode<IntPtrT> tmp259;
4355 : compiler::TNode<IntPtrT> tmp260;
4356 : compiler::TNode<BuiltinPtr> tmp261;
4357 : compiler::TNode<FixedArray> tmp262;
4358 : compiler::TNode<IntPtrT> tmp263;
4359 : compiler::TNode<IntPtrT> tmp264;
4360 : compiler::TNode<BoolT> tmp265;
4361 : compiler::TNode<UintPtrT> tmp266;
4362 : compiler::TNode<Object> tmp267;
4363 : compiler::TNode<String> tmp268;
4364 : compiler::TNode<Object> tmp269;
4365 : compiler::TNode<Object> tmp270;
4366 : ca_.Bind(&block19, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270);
4367 : ca_.Goto(&block17, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269);
4368 : }
4369 :
4370 112 : if (block18.is_used()) {
4371 : compiler::TNode<Context> tmp271;
4372 : compiler::TNode<JSReceiver> tmp272;
4373 : compiler::TNode<String> tmp273;
4374 : compiler::TNode<Number> tmp274;
4375 : compiler::TNode<Object> tmp275;
4376 : compiler::TNode<Object> tmp276;
4377 : compiler::TNode<BuiltinPtr> tmp277;
4378 : compiler::TNode<Map> tmp278;
4379 : compiler::TNode<UintPtrT> tmp279;
4380 : compiler::TNode<IntPtrT> tmp280;
4381 : compiler::TNode<IntPtrT> tmp281;
4382 : compiler::TNode<BuiltinPtr> tmp282;
4383 : compiler::TNode<FixedArray> tmp283;
4384 : compiler::TNode<IntPtrT> tmp284;
4385 : compiler::TNode<IntPtrT> tmp285;
4386 : compiler::TNode<BoolT> tmp286;
4387 : compiler::TNode<UintPtrT> tmp287;
4388 : compiler::TNode<Object> tmp288;
4389 : compiler::TNode<String> tmp289;
4390 : compiler::TNode<Object> tmp290;
4391 : compiler::TNode<Object> tmp291;
4392 : compiler::TNode<String> tmp292;
4393 : ca_.Bind(&block18, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292);
4394 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
4395 : compiler::TNode<String> tmp293;
4396 : USE(tmp293);
4397 168 : tmp293 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
4398 : compiler::TNode<BoolT> tmp294;
4399 : USE(tmp294);
4400 112 : tmp294 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp292}, compiler::TNode<HeapObject>{tmp293}));
4401 56 : ca_.Branch(tmp294, &block20, &block21, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp292);
4402 : }
4403 :
4404 112 : if (block20.is_used()) {
4405 : compiler::TNode<Context> tmp295;
4406 : compiler::TNode<JSReceiver> tmp296;
4407 : compiler::TNode<String> tmp297;
4408 : compiler::TNode<Number> tmp298;
4409 : compiler::TNode<Object> tmp299;
4410 : compiler::TNode<Object> tmp300;
4411 : compiler::TNode<BuiltinPtr> tmp301;
4412 : compiler::TNode<Map> tmp302;
4413 : compiler::TNode<UintPtrT> tmp303;
4414 : compiler::TNode<IntPtrT> tmp304;
4415 : compiler::TNode<IntPtrT> tmp305;
4416 : compiler::TNode<BuiltinPtr> tmp306;
4417 : compiler::TNode<FixedArray> tmp307;
4418 : compiler::TNode<IntPtrT> tmp308;
4419 : compiler::TNode<IntPtrT> tmp309;
4420 : compiler::TNode<BoolT> tmp310;
4421 : compiler::TNode<UintPtrT> tmp311;
4422 : compiler::TNode<Object> tmp312;
4423 : compiler::TNode<String> tmp313;
4424 : compiler::TNode<Object> tmp314;
4425 : compiler::TNode<String> tmp315;
4426 : ca_.Bind(&block20, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315);
4427 : ca_.Goto(&block4, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311);
4428 : }
4429 :
4430 112 : if (block21.is_used()) {
4431 : compiler::TNode<Context> tmp316;
4432 : compiler::TNode<JSReceiver> tmp317;
4433 : compiler::TNode<String> tmp318;
4434 : compiler::TNode<Number> tmp319;
4435 : compiler::TNode<Object> tmp320;
4436 : compiler::TNode<Object> tmp321;
4437 : compiler::TNode<BuiltinPtr> tmp322;
4438 : compiler::TNode<Map> tmp323;
4439 : compiler::TNode<UintPtrT> tmp324;
4440 : compiler::TNode<IntPtrT> tmp325;
4441 : compiler::TNode<IntPtrT> tmp326;
4442 : compiler::TNode<BuiltinPtr> tmp327;
4443 : compiler::TNode<FixedArray> tmp328;
4444 : compiler::TNode<IntPtrT> tmp329;
4445 : compiler::TNode<IntPtrT> tmp330;
4446 : compiler::TNode<BoolT> tmp331;
4447 : compiler::TNode<UintPtrT> tmp332;
4448 : compiler::TNode<Object> tmp333;
4449 : compiler::TNode<String> tmp334;
4450 : compiler::TNode<Object> tmp335;
4451 : compiler::TNode<String> tmp336;
4452 : ca_.Bind(&block21, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
4453 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
4454 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
4455 : ca_.Goto(&block16, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp336, tmp335);
4456 : }
4457 :
4458 112 : if (block17.is_used()) {
4459 : compiler::TNode<Context> tmp337;
4460 : compiler::TNode<JSReceiver> tmp338;
4461 : compiler::TNode<String> tmp339;
4462 : compiler::TNode<Number> tmp340;
4463 : compiler::TNode<Object> tmp341;
4464 : compiler::TNode<Object> tmp342;
4465 : compiler::TNode<BuiltinPtr> tmp343;
4466 : compiler::TNode<Map> tmp344;
4467 : compiler::TNode<UintPtrT> tmp345;
4468 : compiler::TNode<IntPtrT> tmp346;
4469 : compiler::TNode<IntPtrT> tmp347;
4470 : compiler::TNode<BuiltinPtr> tmp348;
4471 : compiler::TNode<FixedArray> tmp349;
4472 : compiler::TNode<IntPtrT> tmp350;
4473 : compiler::TNode<IntPtrT> tmp351;
4474 : compiler::TNode<BoolT> tmp352;
4475 : compiler::TNode<UintPtrT> tmp353;
4476 : compiler::TNode<Object> tmp354;
4477 : compiler::TNode<String> tmp355;
4478 : compiler::TNode<Object> tmp356;
4479 : ca_.Bind(&block17, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355, &tmp356);
4480 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
4481 : compiler::TNode<Number> tmp357;
4482 : USE(tmp357);
4483 56 : compiler::CodeAssemblerLabel label0(&ca_);
4484 168 : tmp357 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp356)}, &label0);
4485 : ca_.Goto(&block24, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, ca_.UncheckedCast<Object>(tmp356), tmp357);
4486 56 : if (label0.is_used()) {
4487 56 : ca_.Bind(&label0);
4488 : ca_.Goto(&block25, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, ca_.UncheckedCast<Object>(tmp356));
4489 : }
4490 : }
4491 :
4492 112 : if (block25.is_used()) {
4493 : compiler::TNode<Context> tmp358;
4494 : compiler::TNode<JSReceiver> tmp359;
4495 : compiler::TNode<String> tmp360;
4496 : compiler::TNode<Number> tmp361;
4497 : compiler::TNode<Object> tmp362;
4498 : compiler::TNode<Object> tmp363;
4499 : compiler::TNode<BuiltinPtr> tmp364;
4500 : compiler::TNode<Map> tmp365;
4501 : compiler::TNode<UintPtrT> tmp366;
4502 : compiler::TNode<IntPtrT> tmp367;
4503 : compiler::TNode<IntPtrT> tmp368;
4504 : compiler::TNode<BuiltinPtr> tmp369;
4505 : compiler::TNode<FixedArray> tmp370;
4506 : compiler::TNode<IntPtrT> tmp371;
4507 : compiler::TNode<IntPtrT> tmp372;
4508 : compiler::TNode<BoolT> tmp373;
4509 : compiler::TNode<UintPtrT> tmp374;
4510 : compiler::TNode<Object> tmp375;
4511 : compiler::TNode<String> tmp376;
4512 : compiler::TNode<Object> tmp377;
4513 : compiler::TNode<Object> tmp378;
4514 : ca_.Bind(&block25, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377, &tmp378);
4515 : ca_.Goto(&block23, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377);
4516 : }
4517 :
4518 112 : if (block24.is_used()) {
4519 : compiler::TNode<Context> tmp379;
4520 : compiler::TNode<JSReceiver> tmp380;
4521 : compiler::TNode<String> tmp381;
4522 : compiler::TNode<Number> tmp382;
4523 : compiler::TNode<Object> tmp383;
4524 : compiler::TNode<Object> tmp384;
4525 : compiler::TNode<BuiltinPtr> tmp385;
4526 : compiler::TNode<Map> tmp386;
4527 : compiler::TNode<UintPtrT> tmp387;
4528 : compiler::TNode<IntPtrT> tmp388;
4529 : compiler::TNode<IntPtrT> tmp389;
4530 : compiler::TNode<BuiltinPtr> tmp390;
4531 : compiler::TNode<FixedArray> tmp391;
4532 : compiler::TNode<IntPtrT> tmp392;
4533 : compiler::TNode<IntPtrT> tmp393;
4534 : compiler::TNode<BoolT> tmp394;
4535 : compiler::TNode<UintPtrT> tmp395;
4536 : compiler::TNode<Object> tmp396;
4537 : compiler::TNode<String> tmp397;
4538 : compiler::TNode<Object> tmp398;
4539 : compiler::TNode<Object> tmp399;
4540 : compiler::TNode<Number> tmp400;
4541 : ca_.Bind(&block24, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397, &tmp398, &tmp399, &tmp400);
4542 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
4543 : compiler::TNode<String> tmp401;
4544 : USE(tmp401);
4545 112 : tmp401 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp400}));
4546 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
4547 : ca_.Goto(&block22, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp396, tmp401, tmp398);
4548 : }
4549 :
4550 112 : if (block23.is_used()) {
4551 : compiler::TNode<Context> tmp402;
4552 : compiler::TNode<JSReceiver> tmp403;
4553 : compiler::TNode<String> tmp404;
4554 : compiler::TNode<Number> tmp405;
4555 : compiler::TNode<Object> tmp406;
4556 : compiler::TNode<Object> tmp407;
4557 : compiler::TNode<BuiltinPtr> tmp408;
4558 : compiler::TNode<Map> tmp409;
4559 : compiler::TNode<UintPtrT> tmp410;
4560 : compiler::TNode<IntPtrT> tmp411;
4561 : compiler::TNode<IntPtrT> tmp412;
4562 : compiler::TNode<BuiltinPtr> tmp413;
4563 : compiler::TNode<FixedArray> tmp414;
4564 : compiler::TNode<IntPtrT> tmp415;
4565 : compiler::TNode<IntPtrT> tmp416;
4566 : compiler::TNode<BoolT> tmp417;
4567 : compiler::TNode<UintPtrT> tmp418;
4568 : compiler::TNode<Object> tmp419;
4569 : compiler::TNode<String> tmp420;
4570 : compiler::TNode<Object> tmp421;
4571 : ca_.Bind(&block23, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420, &tmp421);
4572 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 307);
4573 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 308);
4574 : compiler::TNode<BoolT> tmp422;
4575 : USE(tmp422);
4576 112 : tmp422 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp421)}));
4577 56 : ca_.Branch(tmp422, &block26, &block27, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, tmp421, ca_.UncheckedCast<HeapObject>(tmp421));
4578 : }
4579 :
4580 112 : if (block26.is_used()) {
4581 : compiler::TNode<Context> tmp423;
4582 : compiler::TNode<JSReceiver> tmp424;
4583 : compiler::TNode<String> tmp425;
4584 : compiler::TNode<Number> tmp426;
4585 : compiler::TNode<Object> tmp427;
4586 : compiler::TNode<Object> tmp428;
4587 : compiler::TNode<BuiltinPtr> tmp429;
4588 : compiler::TNode<Map> tmp430;
4589 : compiler::TNode<UintPtrT> tmp431;
4590 : compiler::TNode<IntPtrT> tmp432;
4591 : compiler::TNode<IntPtrT> tmp433;
4592 : compiler::TNode<BuiltinPtr> tmp434;
4593 : compiler::TNode<FixedArray> tmp435;
4594 : compiler::TNode<IntPtrT> tmp436;
4595 : compiler::TNode<IntPtrT> tmp437;
4596 : compiler::TNode<BoolT> tmp438;
4597 : compiler::TNode<UintPtrT> tmp439;
4598 : compiler::TNode<Object> tmp440;
4599 : compiler::TNode<String> tmp441;
4600 : compiler::TNode<Object> tmp442;
4601 : compiler::TNode<HeapObject> tmp443;
4602 : ca_.Bind(&block26, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442, &tmp443);
4603 : ca_.Goto(&block4, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp439);
4604 : }
4605 :
4606 112 : if (block27.is_used()) {
4607 : compiler::TNode<Context> tmp444;
4608 : compiler::TNode<JSReceiver> tmp445;
4609 : compiler::TNode<String> tmp446;
4610 : compiler::TNode<Number> tmp447;
4611 : compiler::TNode<Object> tmp448;
4612 : compiler::TNode<Object> tmp449;
4613 : compiler::TNode<BuiltinPtr> tmp450;
4614 : compiler::TNode<Map> tmp451;
4615 : compiler::TNode<UintPtrT> tmp452;
4616 : compiler::TNode<IntPtrT> tmp453;
4617 : compiler::TNode<IntPtrT> tmp454;
4618 : compiler::TNode<BuiltinPtr> tmp455;
4619 : compiler::TNode<FixedArray> tmp456;
4620 : compiler::TNode<IntPtrT> tmp457;
4621 : compiler::TNode<IntPtrT> tmp458;
4622 : compiler::TNode<BoolT> tmp459;
4623 : compiler::TNode<UintPtrT> tmp460;
4624 : compiler::TNode<Object> tmp461;
4625 : compiler::TNode<String> tmp462;
4626 : compiler::TNode<Object> tmp463;
4627 : compiler::TNode<HeapObject> tmp464;
4628 : ca_.Bind(&block27, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463, &tmp464);
4629 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 309);
4630 : compiler::TNode<String> tmp465;
4631 112 : tmp465 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp444, tmp464));
4632 : USE(tmp465);
4633 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
4634 : ca_.Goto(&block22, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, tmp465, tmp463);
4635 : }
4636 :
4637 112 : if (block22.is_used()) {
4638 : compiler::TNode<Context> tmp466;
4639 : compiler::TNode<JSReceiver> tmp467;
4640 : compiler::TNode<String> tmp468;
4641 : compiler::TNode<Number> tmp469;
4642 : compiler::TNode<Object> tmp470;
4643 : compiler::TNode<Object> tmp471;
4644 : compiler::TNode<BuiltinPtr> tmp472;
4645 : compiler::TNode<Map> tmp473;
4646 : compiler::TNode<UintPtrT> tmp474;
4647 : compiler::TNode<IntPtrT> tmp475;
4648 : compiler::TNode<IntPtrT> tmp476;
4649 : compiler::TNode<BuiltinPtr> tmp477;
4650 : compiler::TNode<FixedArray> tmp478;
4651 : compiler::TNode<IntPtrT> tmp479;
4652 : compiler::TNode<IntPtrT> tmp480;
4653 : compiler::TNode<BoolT> tmp481;
4654 : compiler::TNode<UintPtrT> tmp482;
4655 : compiler::TNode<Object> tmp483;
4656 : compiler::TNode<String> tmp484;
4657 : compiler::TNode<Object> tmp485;
4658 : ca_.Bind(&block22, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483, &tmp484, &tmp485);
4659 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
4660 : ca_.Goto(&block16, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484, tmp485);
4661 : }
4662 :
4663 112 : if (block16.is_used()) {
4664 : compiler::TNode<Context> tmp486;
4665 : compiler::TNode<JSReceiver> tmp487;
4666 : compiler::TNode<String> tmp488;
4667 : compiler::TNode<Number> tmp489;
4668 : compiler::TNode<Object> tmp490;
4669 : compiler::TNode<Object> tmp491;
4670 : compiler::TNode<BuiltinPtr> tmp492;
4671 : compiler::TNode<Map> tmp493;
4672 : compiler::TNode<UintPtrT> tmp494;
4673 : compiler::TNode<IntPtrT> tmp495;
4674 : compiler::TNode<IntPtrT> tmp496;
4675 : compiler::TNode<BuiltinPtr> tmp497;
4676 : compiler::TNode<FixedArray> tmp498;
4677 : compiler::TNode<IntPtrT> tmp499;
4678 : compiler::TNode<IntPtrT> tmp500;
4679 : compiler::TNode<BoolT> tmp501;
4680 : compiler::TNode<UintPtrT> tmp502;
4681 : compiler::TNode<Object> tmp503;
4682 : compiler::TNode<String> tmp504;
4683 : compiler::TNode<Object> tmp505;
4684 : ca_.Bind(&block16, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504, &tmp505);
4685 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
4686 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
4687 : ca_.Goto(&block13, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503, tmp504);
4688 : }
4689 :
4690 112 : if (block13.is_used()) {
4691 : compiler::TNode<Context> tmp506;
4692 : compiler::TNode<JSReceiver> tmp507;
4693 : compiler::TNode<String> tmp508;
4694 : compiler::TNode<Number> tmp509;
4695 : compiler::TNode<Object> tmp510;
4696 : compiler::TNode<Object> tmp511;
4697 : compiler::TNode<BuiltinPtr> tmp512;
4698 : compiler::TNode<Map> tmp513;
4699 : compiler::TNode<UintPtrT> tmp514;
4700 : compiler::TNode<IntPtrT> tmp515;
4701 : compiler::TNode<IntPtrT> tmp516;
4702 : compiler::TNode<BuiltinPtr> tmp517;
4703 : compiler::TNode<FixedArray> tmp518;
4704 : compiler::TNode<IntPtrT> tmp519;
4705 : compiler::TNode<IntPtrT> tmp520;
4706 : compiler::TNode<BoolT> tmp521;
4707 : compiler::TNode<UintPtrT> tmp522;
4708 : compiler::TNode<Object> tmp523;
4709 : compiler::TNode<String> tmp524;
4710 : ca_.Bind(&block13, &tmp506, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523, &tmp524);
4711 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
4712 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
4713 : compiler::TNode<IntPtrT> tmp525;
4714 : USE(tmp525);
4715 336 : tmp525 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
4716 : compiler::TNode<BoolT> tmp526;
4717 : USE(tmp526);
4718 336 : tmp526 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp519}, compiler::TNode<IntPtrT>{tmp525}));
4719 : compiler::TNode<IntPtrT> tmp527;
4720 : USE(tmp527);
4721 336 : tmp527 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
4722 : compiler::TNode<BoolT> tmp528;
4723 : USE(tmp528);
4724 336 : tmp528 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp527}));
4725 : compiler::TNode<BoolT> tmp529;
4726 : USE(tmp529);
4727 224 : tmp529 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp526}, compiler::TNode<BoolT>{tmp528}));
4728 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
4729 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
4730 : compiler::TNode<IntPtrT> tmp530;
4731 : USE(tmp530);
4732 336 : tmp530 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
4733 : compiler::TNode<BoolT> tmp531;
4734 : USE(tmp531);
4735 336 : tmp531 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp530}));
4736 112 : ca_.Branch(tmp531, &block30, &block32, tmp506, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp522, tmp523, tmp524, tmp524, tmp516, tmp515, tmp506, tmp524, tmp516, tmp515, tmp529, tmp516, tmp515, tmp529, tmp506, tmp516, tmp515, tmp529);
4737 : }
4738 :
4739 112 : if (block32.is_used()) {
4740 : compiler::TNode<Context> tmp532;
4741 : compiler::TNode<JSReceiver> tmp533;
4742 : compiler::TNode<String> tmp534;
4743 : compiler::TNode<Number> tmp535;
4744 : compiler::TNode<Object> tmp536;
4745 : compiler::TNode<Object> tmp537;
4746 : compiler::TNode<BuiltinPtr> tmp538;
4747 : compiler::TNode<Map> tmp539;
4748 : compiler::TNode<UintPtrT> tmp540;
4749 : compiler::TNode<IntPtrT> tmp541;
4750 : compiler::TNode<IntPtrT> tmp542;
4751 : compiler::TNode<BuiltinPtr> tmp543;
4752 : compiler::TNode<FixedArray> tmp544;
4753 : compiler::TNode<IntPtrT> tmp545;
4754 : compiler::TNode<IntPtrT> tmp546;
4755 : compiler::TNode<BoolT> tmp547;
4756 : compiler::TNode<UintPtrT> tmp548;
4757 : compiler::TNode<Object> tmp549;
4758 : compiler::TNode<String> tmp550;
4759 : compiler::TNode<String> tmp551;
4760 : compiler::TNode<IntPtrT> tmp552;
4761 : compiler::TNode<IntPtrT> tmp553;
4762 : compiler::TNode<Context> tmp554;
4763 : compiler::TNode<String> tmp555;
4764 : compiler::TNode<IntPtrT> tmp556;
4765 : compiler::TNode<IntPtrT> tmp557;
4766 : compiler::TNode<BoolT> tmp558;
4767 : compiler::TNode<IntPtrT> tmp559;
4768 : compiler::TNode<IntPtrT> tmp560;
4769 : compiler::TNode<BoolT> tmp561;
4770 : compiler::TNode<Context> tmp562;
4771 : compiler::TNode<IntPtrT> tmp563;
4772 : compiler::TNode<IntPtrT> tmp564;
4773 : compiler::TNode<BoolT> tmp565;
4774 : ca_.Bind(&block32, &tmp532, &tmp533, &tmp534, &tmp535, &tmp536, &tmp537, &tmp538, &tmp539, &tmp540, &tmp541, &tmp542, &tmp543, &tmp544, &tmp545, &tmp546, &tmp547, &tmp548, &tmp549, &tmp550, &tmp551, &tmp552, &tmp553, &tmp554, &tmp555, &tmp556, &tmp557, &tmp558, &tmp559, &tmp560, &tmp561, &tmp562, &tmp563, &tmp564, &tmp565);
4775 : compiler::TNode<IntPtrT> tmp566;
4776 : USE(tmp566);
4777 336 : tmp566 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
4778 : compiler::TNode<BoolT> tmp567;
4779 : USE(tmp567);
4780 336 : tmp567 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp564}, compiler::TNode<IntPtrT>{tmp566}));
4781 112 : ca_.Branch(tmp567, &block30, &block31, tmp532, tmp533, tmp534, tmp535, tmp536, tmp537, tmp538, tmp539, tmp540, tmp541, tmp542, tmp543, tmp544, tmp545, tmp546, tmp547, tmp548, tmp549, tmp550, tmp551, tmp552, tmp553, tmp554, tmp555, tmp556, tmp557, tmp558, tmp559, tmp560, tmp561, tmp562, tmp563, tmp564, tmp565);
4782 : }
4783 :
4784 112 : if (block30.is_used()) {
4785 : compiler::TNode<Context> tmp568;
4786 : compiler::TNode<JSReceiver> tmp569;
4787 : compiler::TNode<String> tmp570;
4788 : compiler::TNode<Number> tmp571;
4789 : compiler::TNode<Object> tmp572;
4790 : compiler::TNode<Object> tmp573;
4791 : compiler::TNode<BuiltinPtr> tmp574;
4792 : compiler::TNode<Map> tmp575;
4793 : compiler::TNode<UintPtrT> tmp576;
4794 : compiler::TNode<IntPtrT> tmp577;
4795 : compiler::TNode<IntPtrT> tmp578;
4796 : compiler::TNode<BuiltinPtr> tmp579;
4797 : compiler::TNode<FixedArray> tmp580;
4798 : compiler::TNode<IntPtrT> tmp581;
4799 : compiler::TNode<IntPtrT> tmp582;
4800 : compiler::TNode<BoolT> tmp583;
4801 : compiler::TNode<UintPtrT> tmp584;
4802 : compiler::TNode<Object> tmp585;
4803 : compiler::TNode<String> tmp586;
4804 : compiler::TNode<String> tmp587;
4805 : compiler::TNode<IntPtrT> tmp588;
4806 : compiler::TNode<IntPtrT> tmp589;
4807 : compiler::TNode<Context> tmp590;
4808 : compiler::TNode<String> tmp591;
4809 : compiler::TNode<IntPtrT> tmp592;
4810 : compiler::TNode<IntPtrT> tmp593;
4811 : compiler::TNode<BoolT> tmp594;
4812 : compiler::TNode<IntPtrT> tmp595;
4813 : compiler::TNode<IntPtrT> tmp596;
4814 : compiler::TNode<BoolT> tmp597;
4815 : compiler::TNode<Context> tmp598;
4816 : compiler::TNode<IntPtrT> tmp599;
4817 : compiler::TNode<IntPtrT> tmp600;
4818 : compiler::TNode<BoolT> tmp601;
4819 : ca_.Bind(&block30, &tmp568, &tmp569, &tmp570, &tmp571, &tmp572, &tmp573, &tmp574, &tmp575, &tmp576, &tmp577, &tmp578, &tmp579, &tmp580, &tmp581, &tmp582, &tmp583, &tmp584, &tmp585, &tmp586, &tmp587, &tmp588, &tmp589, &tmp590, &tmp591, &tmp592, &tmp593, &tmp594, &tmp595, &tmp596, &tmp597, &tmp598, &tmp599, &tmp600, &tmp601);
4820 : ca_.Goto(&block29, tmp568, tmp569, tmp570, tmp571, tmp572, tmp573, tmp574, tmp575, tmp576, tmp577, tmp578, tmp579, tmp580, tmp581, tmp582, tmp583, tmp584, tmp585, tmp586, tmp587, tmp588, tmp589, tmp590, tmp591, tmp592, tmp593, tmp594, tmp595, tmp596, tmp597, tmp598, tmp599, tmp600, tmp601);
4821 : }
4822 :
4823 112 : if (block31.is_used()) {
4824 : compiler::TNode<Context> tmp602;
4825 : compiler::TNode<JSReceiver> tmp603;
4826 : compiler::TNode<String> tmp604;
4827 : compiler::TNode<Number> tmp605;
4828 : compiler::TNode<Object> tmp606;
4829 : compiler::TNode<Object> tmp607;
4830 : compiler::TNode<BuiltinPtr> tmp608;
4831 : compiler::TNode<Map> tmp609;
4832 : compiler::TNode<UintPtrT> tmp610;
4833 : compiler::TNode<IntPtrT> tmp611;
4834 : compiler::TNode<IntPtrT> tmp612;
4835 : compiler::TNode<BuiltinPtr> tmp613;
4836 : compiler::TNode<FixedArray> tmp614;
4837 : compiler::TNode<IntPtrT> tmp615;
4838 : compiler::TNode<IntPtrT> tmp616;
4839 : compiler::TNode<BoolT> tmp617;
4840 : compiler::TNode<UintPtrT> tmp618;
4841 : compiler::TNode<Object> tmp619;
4842 : compiler::TNode<String> tmp620;
4843 : compiler::TNode<String> tmp621;
4844 : compiler::TNode<IntPtrT> tmp622;
4845 : compiler::TNode<IntPtrT> tmp623;
4846 : compiler::TNode<Context> tmp624;
4847 : compiler::TNode<String> tmp625;
4848 : compiler::TNode<IntPtrT> tmp626;
4849 : compiler::TNode<IntPtrT> tmp627;
4850 : compiler::TNode<BoolT> tmp628;
4851 : compiler::TNode<IntPtrT> tmp629;
4852 : compiler::TNode<IntPtrT> tmp630;
4853 : compiler::TNode<BoolT> tmp631;
4854 : compiler::TNode<Context> tmp632;
4855 : compiler::TNode<IntPtrT> tmp633;
4856 : compiler::TNode<IntPtrT> tmp634;
4857 : compiler::TNode<BoolT> tmp635;
4858 : ca_.Bind(&block31, &tmp602, &tmp603, &tmp604, &tmp605, &tmp606, &tmp607, &tmp608, &tmp609, &tmp610, &tmp611, &tmp612, &tmp613, &tmp614, &tmp615, &tmp616, &tmp617, &tmp618, &tmp619, &tmp620, &tmp621, &tmp622, &tmp623, &tmp624, &tmp625, &tmp626, &tmp627, &tmp628, &tmp629, &tmp630, &tmp631, &tmp632, &tmp633, &tmp634, &tmp635);
4859 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
4860 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
4861 : compiler::TNode<IntPtrT> tmp636;
4862 : USE(tmp636);
4863 224 : tmp636 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp634}, compiler::TNode<IntPtrT>{tmp633}));
4864 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
4865 : compiler::TNode<IntPtrT> tmp637;
4866 : USE(tmp637);
4867 224 : tmp637 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp636}, compiler::TNode<IntPtrT>{tmp634}));
4868 : compiler::TNode<BoolT> tmp638;
4869 : USE(tmp638);
4870 336 : tmp638 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp637}, compiler::TNode<IntPtrT>{tmp633}));
4871 112 : ca_.Branch(tmp638, &block33, &block34, tmp602, tmp603, tmp604, tmp605, tmp606, tmp607, tmp608, tmp609, tmp610, tmp611, tmp612, tmp613, tmp614, tmp615, tmp616, tmp617, tmp618, tmp619, tmp620, tmp621, tmp622, tmp623, tmp624, tmp625, tmp626, tmp627, tmp628, tmp629, tmp630, tmp631, tmp632, tmp633, tmp634, tmp635, tmp633, tmp636);
4872 : }
4873 :
4874 112 : if (block33.is_used()) {
4875 : compiler::TNode<Context> tmp639;
4876 : compiler::TNode<JSReceiver> tmp640;
4877 : compiler::TNode<String> tmp641;
4878 : compiler::TNode<Number> tmp642;
4879 : compiler::TNode<Object> tmp643;
4880 : compiler::TNode<Object> tmp644;
4881 : compiler::TNode<BuiltinPtr> tmp645;
4882 : compiler::TNode<Map> tmp646;
4883 : compiler::TNode<UintPtrT> tmp647;
4884 : compiler::TNode<IntPtrT> tmp648;
4885 : compiler::TNode<IntPtrT> tmp649;
4886 : compiler::TNode<BuiltinPtr> tmp650;
4887 : compiler::TNode<FixedArray> tmp651;
4888 : compiler::TNode<IntPtrT> tmp652;
4889 : compiler::TNode<IntPtrT> tmp653;
4890 : compiler::TNode<BoolT> tmp654;
4891 : compiler::TNode<UintPtrT> tmp655;
4892 : compiler::TNode<Object> tmp656;
4893 : compiler::TNode<String> tmp657;
4894 : compiler::TNode<String> tmp658;
4895 : compiler::TNode<IntPtrT> tmp659;
4896 : compiler::TNode<IntPtrT> tmp660;
4897 : compiler::TNode<Context> tmp661;
4898 : compiler::TNode<String> tmp662;
4899 : compiler::TNode<IntPtrT> tmp663;
4900 : compiler::TNode<IntPtrT> tmp664;
4901 : compiler::TNode<BoolT> tmp665;
4902 : compiler::TNode<IntPtrT> tmp666;
4903 : compiler::TNode<IntPtrT> tmp667;
4904 : compiler::TNode<BoolT> tmp668;
4905 : compiler::TNode<Context> tmp669;
4906 : compiler::TNode<IntPtrT> tmp670;
4907 : compiler::TNode<IntPtrT> tmp671;
4908 : compiler::TNode<BoolT> tmp672;
4909 : compiler::TNode<IntPtrT> tmp673;
4910 : compiler::TNode<IntPtrT> tmp674;
4911 : ca_.Bind(&block33, &tmp639, &tmp640, &tmp641, &tmp642, &tmp643, &tmp644, &tmp645, &tmp646, &tmp647, &tmp648, &tmp649, &tmp650, &tmp651, &tmp652, &tmp653, &tmp654, &tmp655, &tmp656, &tmp657, &tmp658, &tmp659, &tmp660, &tmp661, &tmp662, &tmp663, &tmp664, &tmp665, &tmp666, &tmp667, &tmp668, &tmp669, &tmp670, &tmp671, &tmp672, &tmp673, &tmp674);
4912 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
4913 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp669);
4914 224 : CodeStubAssembler(state_).Unreachable();
4915 : }
4916 :
4917 112 : if (block34.is_used()) {
4918 : compiler::TNode<Context> tmp676;
4919 : compiler::TNode<JSReceiver> tmp677;
4920 : compiler::TNode<String> tmp678;
4921 : compiler::TNode<Number> tmp679;
4922 : compiler::TNode<Object> tmp680;
4923 : compiler::TNode<Object> tmp681;
4924 : compiler::TNode<BuiltinPtr> tmp682;
4925 : compiler::TNode<Map> tmp683;
4926 : compiler::TNode<UintPtrT> tmp684;
4927 : compiler::TNode<IntPtrT> tmp685;
4928 : compiler::TNode<IntPtrT> tmp686;
4929 : compiler::TNode<BuiltinPtr> tmp687;
4930 : compiler::TNode<FixedArray> tmp688;
4931 : compiler::TNode<IntPtrT> tmp689;
4932 : compiler::TNode<IntPtrT> tmp690;
4933 : compiler::TNode<BoolT> tmp691;
4934 : compiler::TNode<UintPtrT> tmp692;
4935 : compiler::TNode<Object> tmp693;
4936 : compiler::TNode<String> tmp694;
4937 : compiler::TNode<String> tmp695;
4938 : compiler::TNode<IntPtrT> tmp696;
4939 : compiler::TNode<IntPtrT> tmp697;
4940 : compiler::TNode<Context> tmp698;
4941 : compiler::TNode<String> tmp699;
4942 : compiler::TNode<IntPtrT> tmp700;
4943 : compiler::TNode<IntPtrT> tmp701;
4944 : compiler::TNode<BoolT> tmp702;
4945 : compiler::TNode<IntPtrT> tmp703;
4946 : compiler::TNode<IntPtrT> tmp704;
4947 : compiler::TNode<BoolT> tmp705;
4948 : compiler::TNode<Context> tmp706;
4949 : compiler::TNode<IntPtrT> tmp707;
4950 : compiler::TNode<IntPtrT> tmp708;
4951 : compiler::TNode<BoolT> tmp709;
4952 : compiler::TNode<IntPtrT> tmp710;
4953 : compiler::TNode<IntPtrT> tmp711;
4954 : ca_.Bind(&block34, &tmp676, &tmp677, &tmp678, &tmp679, &tmp680, &tmp681, &tmp682, &tmp683, &tmp684, &tmp685, &tmp686, &tmp687, &tmp688, &tmp689, &tmp690, &tmp691, &tmp692, &tmp693, &tmp694, &tmp695, &tmp696, &tmp697, &tmp698, &tmp699, &tmp700, &tmp701, &tmp702, &tmp703, &tmp704, &tmp705, &tmp706, &tmp707, &tmp708, &tmp709, &tmp710, &tmp711);
4955 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
4956 : compiler::TNode<IntPtrT> tmp712;
4957 : USE(tmp712);
4958 336 : tmp712 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp706}, compiler::TNode<IntPtrT>{tmp690}, compiler::TNode<IntPtrT>{tmp711}));
4959 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
4960 112 : ca_.Branch(tmp709, &block35, &block36, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp686, tmp687, tmp688, tmp689, tmp712, tmp691, tmp692, tmp693, tmp694, tmp695, tmp696, tmp697, tmp698, tmp699, tmp700, tmp701, tmp702, tmp703, tmp704, tmp705, tmp706, tmp707, tmp708, tmp709, tmp710, tmp711);
4961 : }
4962 :
4963 112 : if (block35.is_used()) {
4964 : compiler::TNode<Context> tmp713;
4965 : compiler::TNode<JSReceiver> tmp714;
4966 : compiler::TNode<String> tmp715;
4967 : compiler::TNode<Number> tmp716;
4968 : compiler::TNode<Object> tmp717;
4969 : compiler::TNode<Object> tmp718;
4970 : compiler::TNode<BuiltinPtr> tmp719;
4971 : compiler::TNode<Map> tmp720;
4972 : compiler::TNode<UintPtrT> tmp721;
4973 : compiler::TNode<IntPtrT> tmp722;
4974 : compiler::TNode<IntPtrT> tmp723;
4975 : compiler::TNode<BuiltinPtr> tmp724;
4976 : compiler::TNode<FixedArray> tmp725;
4977 : compiler::TNode<IntPtrT> tmp726;
4978 : compiler::TNode<IntPtrT> tmp727;
4979 : compiler::TNode<BoolT> tmp728;
4980 : compiler::TNode<UintPtrT> tmp729;
4981 : compiler::TNode<Object> tmp730;
4982 : compiler::TNode<String> tmp731;
4983 : compiler::TNode<String> tmp732;
4984 : compiler::TNode<IntPtrT> tmp733;
4985 : compiler::TNode<IntPtrT> tmp734;
4986 : compiler::TNode<Context> tmp735;
4987 : compiler::TNode<String> tmp736;
4988 : compiler::TNode<IntPtrT> tmp737;
4989 : compiler::TNode<IntPtrT> tmp738;
4990 : compiler::TNode<BoolT> tmp739;
4991 : compiler::TNode<IntPtrT> tmp740;
4992 : compiler::TNode<IntPtrT> tmp741;
4993 : compiler::TNode<BoolT> tmp742;
4994 : compiler::TNode<Context> tmp743;
4995 : compiler::TNode<IntPtrT> tmp744;
4996 : compiler::TNode<IntPtrT> tmp745;
4997 : compiler::TNode<BoolT> tmp746;
4998 : compiler::TNode<IntPtrT> tmp747;
4999 : compiler::TNode<IntPtrT> tmp748;
5000 : ca_.Bind(&block35, &tmp713, &tmp714, &tmp715, &tmp716, &tmp717, &tmp718, &tmp719, &tmp720, &tmp721, &tmp722, &tmp723, &tmp724, &tmp725, &tmp726, &tmp727, &tmp728, &tmp729, &tmp730, &tmp731, &tmp732, &tmp733, &tmp734, &tmp735, &tmp736, &tmp737, &tmp738, &tmp739, &tmp740, &tmp741, &tmp742, &tmp743, &tmp744, &tmp745, &tmp746, &tmp747, &tmp748);
5001 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
5002 : compiler::TNode<IntPtrT> tmp749;
5003 : USE(tmp749);
5004 336 : tmp749 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
5005 : compiler::TNode<IntPtrT> tmp750;
5006 : USE(tmp750);
5007 224 : tmp750 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<IntPtrT>{tmp749}));
5008 : compiler::TNode<Smi> tmp751;
5009 : USE(tmp751);
5010 336 : tmp751 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp747}));
5011 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
5012 : compiler::TNode<FixedArray> tmp752;
5013 : USE(tmp752);
5014 336 : tmp752 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp725}, compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<Smi>{tmp751}));
5015 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
5016 : ca_.Goto(&block36, tmp713, tmp714, tmp715, tmp716, tmp717, tmp718, tmp719, tmp720, tmp721, tmp722, tmp723, tmp724, tmp752, tmp750, tmp727, tmp728, tmp729, tmp730, tmp731, tmp732, tmp733, tmp734, tmp735, tmp736, tmp737, tmp738, tmp739, tmp740, tmp741, tmp742, tmp743, tmp744, tmp745, tmp746, tmp747, tmp748);
5017 : }
5018 :
5019 112 : if (block36.is_used()) {
5020 : compiler::TNode<Context> tmp753;
5021 : compiler::TNode<JSReceiver> tmp754;
5022 : compiler::TNode<String> tmp755;
5023 : compiler::TNode<Number> tmp756;
5024 : compiler::TNode<Object> tmp757;
5025 : compiler::TNode<Object> tmp758;
5026 : compiler::TNode<BuiltinPtr> tmp759;
5027 : compiler::TNode<Map> tmp760;
5028 : compiler::TNode<UintPtrT> tmp761;
5029 : compiler::TNode<IntPtrT> tmp762;
5030 : compiler::TNode<IntPtrT> tmp763;
5031 : compiler::TNode<BuiltinPtr> tmp764;
5032 : compiler::TNode<FixedArray> tmp765;
5033 : compiler::TNode<IntPtrT> tmp766;
5034 : compiler::TNode<IntPtrT> tmp767;
5035 : compiler::TNode<BoolT> tmp768;
5036 : compiler::TNode<UintPtrT> tmp769;
5037 : compiler::TNode<Object> tmp770;
5038 : compiler::TNode<String> tmp771;
5039 : compiler::TNode<String> tmp772;
5040 : compiler::TNode<IntPtrT> tmp773;
5041 : compiler::TNode<IntPtrT> tmp774;
5042 : compiler::TNode<Context> tmp775;
5043 : compiler::TNode<String> tmp776;
5044 : compiler::TNode<IntPtrT> tmp777;
5045 : compiler::TNode<IntPtrT> tmp778;
5046 : compiler::TNode<BoolT> tmp779;
5047 : compiler::TNode<IntPtrT> tmp780;
5048 : compiler::TNode<IntPtrT> tmp781;
5049 : compiler::TNode<BoolT> tmp782;
5050 : compiler::TNode<Context> tmp783;
5051 : compiler::TNode<IntPtrT> tmp784;
5052 : compiler::TNode<IntPtrT> tmp785;
5053 : compiler::TNode<BoolT> tmp786;
5054 : compiler::TNode<IntPtrT> tmp787;
5055 : compiler::TNode<IntPtrT> tmp788;
5056 : ca_.Bind(&block36, &tmp753, &tmp754, &tmp755, &tmp756, &tmp757, &tmp758, &tmp759, &tmp760, &tmp761, &tmp762, &tmp763, &tmp764, &tmp765, &tmp766, &tmp767, &tmp768, &tmp769, &tmp770, &tmp771, &tmp772, &tmp773, &tmp774, &tmp775, &tmp776, &tmp777, &tmp778, &tmp779, &tmp780, &tmp781, &tmp782, &tmp783, &tmp784, &tmp785, &tmp786, &tmp787, &tmp788);
5057 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
5058 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
5059 : ca_.Goto(&block29, tmp753, tmp754, tmp755, tmp756, tmp757, tmp758, tmp759, tmp760, tmp761, tmp762, tmp763, tmp764, tmp765, tmp766, tmp767, tmp768, tmp769, tmp770, tmp771, tmp772, tmp773, tmp774, tmp775, tmp776, tmp777, tmp778, tmp779, tmp780, tmp781, tmp782, tmp783, tmp784, tmp785, tmp786);
5060 : }
5061 :
5062 112 : if (block29.is_used()) {
5063 : compiler::TNode<Context> tmp789;
5064 : compiler::TNode<JSReceiver> tmp790;
5065 : compiler::TNode<String> tmp791;
5066 : compiler::TNode<Number> tmp792;
5067 : compiler::TNode<Object> tmp793;
5068 : compiler::TNode<Object> tmp794;
5069 : compiler::TNode<BuiltinPtr> tmp795;
5070 : compiler::TNode<Map> tmp796;
5071 : compiler::TNode<UintPtrT> tmp797;
5072 : compiler::TNode<IntPtrT> tmp798;
5073 : compiler::TNode<IntPtrT> tmp799;
5074 : compiler::TNode<BuiltinPtr> tmp800;
5075 : compiler::TNode<FixedArray> tmp801;
5076 : compiler::TNode<IntPtrT> tmp802;
5077 : compiler::TNode<IntPtrT> tmp803;
5078 : compiler::TNode<BoolT> tmp804;
5079 : compiler::TNode<UintPtrT> tmp805;
5080 : compiler::TNode<Object> tmp806;
5081 : compiler::TNode<String> tmp807;
5082 : compiler::TNode<String> tmp808;
5083 : compiler::TNode<IntPtrT> tmp809;
5084 : compiler::TNode<IntPtrT> tmp810;
5085 : compiler::TNode<Context> tmp811;
5086 : compiler::TNode<String> tmp812;
5087 : compiler::TNode<IntPtrT> tmp813;
5088 : compiler::TNode<IntPtrT> tmp814;
5089 : compiler::TNode<BoolT> tmp815;
5090 : compiler::TNode<IntPtrT> tmp816;
5091 : compiler::TNode<IntPtrT> tmp817;
5092 : compiler::TNode<BoolT> tmp818;
5093 : compiler::TNode<Context> tmp819;
5094 : compiler::TNode<IntPtrT> tmp820;
5095 : compiler::TNode<IntPtrT> tmp821;
5096 : compiler::TNode<BoolT> tmp822;
5097 : ca_.Bind(&block29, &tmp789, &tmp790, &tmp791, &tmp792, &tmp793, &tmp794, &tmp795, &tmp796, &tmp797, &tmp798, &tmp799, &tmp800, &tmp801, &tmp802, &tmp803, &tmp804, &tmp805, &tmp806, &tmp807, &tmp808, &tmp809, &tmp810, &tmp811, &tmp812, &tmp813, &tmp814, &tmp815, &tmp816, &tmp817, &tmp818, &tmp819, &tmp820, &tmp821, &tmp822);
5098 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
5099 : compiler::TNode<IntPtrT> tmp823;
5100 : USE(tmp823);
5101 336 : tmp823 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp812}));
5102 : compiler::TNode<IntPtrT> tmp824;
5103 : USE(tmp824);
5104 336 : tmp824 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp811}, compiler::TNode<IntPtrT>{tmp803}, compiler::TNode<IntPtrT>{tmp823}));
5105 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
5106 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 164);
5107 : compiler::TNode<IntPtrT> tmp825;
5108 : USE(tmp825);
5109 336 : tmp825 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
5110 : compiler::TNode<IntPtrT> tmp826;
5111 : USE(tmp826);
5112 224 : tmp826 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<IntPtrT>{tmp825}));
5113 : compiler::TNode<FixedArray> tmp827;
5114 : USE(tmp827);
5115 336 : tmp827 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray6String(compiler::TNode<FixedArray>{tmp801}, compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<String>{tmp812}));
5116 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
5117 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 166);
5118 : compiler::TNode<Int32T> tmp828;
5119 : USE(tmp828);
5120 224 : tmp828 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp812}));
5121 : compiler::TNode<BoolT> tmp829;
5122 : USE(tmp829);
5123 224 : tmp829 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp828}));
5124 : compiler::TNode<BoolT> tmp830;
5125 : USE(tmp830);
5126 336 : tmp830 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp829}, compiler::TNode<BoolT>{tmp804}));
5127 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 165);
5128 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
5129 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
5130 : ca_.Goto(&block28, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp795, tmp796, tmp797, tmp798, tmp799, tmp800, tmp827, tmp826, tmp824, tmp830, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813, tmp814);
5131 : }
5132 :
5133 112 : if (block28.is_used()) {
5134 : compiler::TNode<Context> tmp831;
5135 : compiler::TNode<JSReceiver> tmp832;
5136 : compiler::TNode<String> tmp833;
5137 : compiler::TNode<Number> tmp834;
5138 : compiler::TNode<Object> tmp835;
5139 : compiler::TNode<Object> tmp836;
5140 : compiler::TNode<BuiltinPtr> tmp837;
5141 : compiler::TNode<Map> tmp838;
5142 : compiler::TNode<UintPtrT> tmp839;
5143 : compiler::TNode<IntPtrT> tmp840;
5144 : compiler::TNode<IntPtrT> tmp841;
5145 : compiler::TNode<BuiltinPtr> tmp842;
5146 : compiler::TNode<FixedArray> tmp843;
5147 : compiler::TNode<IntPtrT> tmp844;
5148 : compiler::TNode<IntPtrT> tmp845;
5149 : compiler::TNode<BoolT> tmp846;
5150 : compiler::TNode<UintPtrT> tmp847;
5151 : compiler::TNode<Object> tmp848;
5152 : compiler::TNode<String> tmp849;
5153 : compiler::TNode<String> tmp850;
5154 : compiler::TNode<IntPtrT> tmp851;
5155 : compiler::TNode<IntPtrT> tmp852;
5156 : compiler::TNode<Context> tmp853;
5157 : compiler::TNode<String> tmp854;
5158 : compiler::TNode<IntPtrT> tmp855;
5159 : compiler::TNode<IntPtrT> tmp856;
5160 : ca_.Bind(&block28, &tmp831, &tmp832, &tmp833, &tmp834, &tmp835, &tmp836, &tmp837, &tmp838, &tmp839, &tmp840, &tmp841, &tmp842, &tmp843, &tmp844, &tmp845, &tmp846, &tmp847, &tmp848, &tmp849, &tmp850, &tmp851, &tmp852, &tmp853, &tmp854, &tmp855, &tmp856);
5161 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 316);
5162 : compiler::TNode<IntPtrT> tmp857;
5163 : USE(tmp857);
5164 336 : tmp857 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
5165 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
5166 : ca_.Goto(&block4, tmp831, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp840, tmp857, tmp842, tmp843, tmp844, tmp845, tmp846, tmp847);
5167 : }
5168 :
5169 112 : if (block3.is_used()) {
5170 : compiler::TNode<Context> tmp858;
5171 : compiler::TNode<JSReceiver> tmp859;
5172 : compiler::TNode<String> tmp860;
5173 : compiler::TNode<Number> tmp861;
5174 : compiler::TNode<Object> tmp862;
5175 : compiler::TNode<Object> tmp863;
5176 : compiler::TNode<BuiltinPtr> tmp864;
5177 : compiler::TNode<Map> tmp865;
5178 : compiler::TNode<UintPtrT> tmp866;
5179 : compiler::TNode<IntPtrT> tmp867;
5180 : compiler::TNode<IntPtrT> tmp868;
5181 : compiler::TNode<BuiltinPtr> tmp869;
5182 : compiler::TNode<FixedArray> tmp870;
5183 : compiler::TNode<IntPtrT> tmp871;
5184 : compiler::TNode<IntPtrT> tmp872;
5185 : compiler::TNode<BoolT> tmp873;
5186 : compiler::TNode<UintPtrT> tmp874;
5187 : ca_.Bind(&block3, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873, &tmp874);
5188 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
5189 : compiler::TNode<BoolT> tmp875;
5190 : USE(tmp875);
5191 336 : tmp875 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5192 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
5193 : compiler::TNode<IntPtrT> tmp876;
5194 : USE(tmp876);
5195 336 : tmp876 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
5196 : compiler::TNode<BoolT> tmp877;
5197 : USE(tmp877);
5198 336 : tmp877 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp868}, compiler::TNode<IntPtrT>{tmp876}));
5199 112 : ca_.Branch(tmp877, &block38, &block40, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp874, tmp868, tmp867, tmp858, tmp868, tmp867, tmp875);
5200 : }
5201 :
5202 112 : if (block40.is_used()) {
5203 : compiler::TNode<Context> tmp878;
5204 : compiler::TNode<JSReceiver> tmp879;
5205 : compiler::TNode<String> tmp880;
5206 : compiler::TNode<Number> tmp881;
5207 : compiler::TNode<Object> tmp882;
5208 : compiler::TNode<Object> tmp883;
5209 : compiler::TNode<BuiltinPtr> tmp884;
5210 : compiler::TNode<Map> tmp885;
5211 : compiler::TNode<UintPtrT> tmp886;
5212 : compiler::TNode<IntPtrT> tmp887;
5213 : compiler::TNode<IntPtrT> tmp888;
5214 : compiler::TNode<BuiltinPtr> tmp889;
5215 : compiler::TNode<FixedArray> tmp890;
5216 : compiler::TNode<IntPtrT> tmp891;
5217 : compiler::TNode<IntPtrT> tmp892;
5218 : compiler::TNode<BoolT> tmp893;
5219 : compiler::TNode<UintPtrT> tmp894;
5220 : compiler::TNode<IntPtrT> tmp895;
5221 : compiler::TNode<IntPtrT> tmp896;
5222 : compiler::TNode<Context> tmp897;
5223 : compiler::TNode<IntPtrT> tmp898;
5224 : compiler::TNode<IntPtrT> tmp899;
5225 : compiler::TNode<BoolT> tmp900;
5226 : ca_.Bind(&block40, &tmp878, &tmp879, &tmp880, &tmp881, &tmp882, &tmp883, &tmp884, &tmp885, &tmp886, &tmp887, &tmp888, &tmp889, &tmp890, &tmp891, &tmp892, &tmp893, &tmp894, &tmp895, &tmp896, &tmp897, &tmp898, &tmp899, &tmp900);
5227 : compiler::TNode<IntPtrT> tmp901;
5228 : USE(tmp901);
5229 336 : tmp901 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
5230 : compiler::TNode<BoolT> tmp902;
5231 : USE(tmp902);
5232 336 : tmp902 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp899}, compiler::TNode<IntPtrT>{tmp901}));
5233 112 : ca_.Branch(tmp902, &block38, &block39, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889, tmp890, tmp891, tmp892, tmp893, tmp894, tmp895, tmp896, tmp897, tmp898, tmp899, tmp900);
5234 : }
5235 :
5236 112 : if (block38.is_used()) {
5237 : compiler::TNode<Context> tmp903;
5238 : compiler::TNode<JSReceiver> tmp904;
5239 : compiler::TNode<String> tmp905;
5240 : compiler::TNode<Number> tmp906;
5241 : compiler::TNode<Object> tmp907;
5242 : compiler::TNode<Object> tmp908;
5243 : compiler::TNode<BuiltinPtr> tmp909;
5244 : compiler::TNode<Map> tmp910;
5245 : compiler::TNode<UintPtrT> tmp911;
5246 : compiler::TNode<IntPtrT> tmp912;
5247 : compiler::TNode<IntPtrT> tmp913;
5248 : compiler::TNode<BuiltinPtr> tmp914;
5249 : compiler::TNode<FixedArray> tmp915;
5250 : compiler::TNode<IntPtrT> tmp916;
5251 : compiler::TNode<IntPtrT> tmp917;
5252 : compiler::TNode<BoolT> tmp918;
5253 : compiler::TNode<UintPtrT> tmp919;
5254 : compiler::TNode<IntPtrT> tmp920;
5255 : compiler::TNode<IntPtrT> tmp921;
5256 : compiler::TNode<Context> tmp922;
5257 : compiler::TNode<IntPtrT> tmp923;
5258 : compiler::TNode<IntPtrT> tmp924;
5259 : compiler::TNode<BoolT> tmp925;
5260 : ca_.Bind(&block38, &tmp903, &tmp904, &tmp905, &tmp906, &tmp907, &tmp908, &tmp909, &tmp910, &tmp911, &tmp912, &tmp913, &tmp914, &tmp915, &tmp916, &tmp917, &tmp918, &tmp919, &tmp920, &tmp921, &tmp922, &tmp923, &tmp924, &tmp925);
5261 : ca_.Goto(&block37, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919, tmp920, tmp921, tmp922, tmp923, tmp924, tmp925);
5262 : }
5263 :
5264 112 : if (block39.is_used()) {
5265 : compiler::TNode<Context> tmp926;
5266 : compiler::TNode<JSReceiver> tmp927;
5267 : compiler::TNode<String> tmp928;
5268 : compiler::TNode<Number> tmp929;
5269 : compiler::TNode<Object> tmp930;
5270 : compiler::TNode<Object> tmp931;
5271 : compiler::TNode<BuiltinPtr> tmp932;
5272 : compiler::TNode<Map> tmp933;
5273 : compiler::TNode<UintPtrT> tmp934;
5274 : compiler::TNode<IntPtrT> tmp935;
5275 : compiler::TNode<IntPtrT> tmp936;
5276 : compiler::TNode<BuiltinPtr> tmp937;
5277 : compiler::TNode<FixedArray> tmp938;
5278 : compiler::TNode<IntPtrT> tmp939;
5279 : compiler::TNode<IntPtrT> tmp940;
5280 : compiler::TNode<BoolT> tmp941;
5281 : compiler::TNode<UintPtrT> tmp942;
5282 : compiler::TNode<IntPtrT> tmp943;
5283 : compiler::TNode<IntPtrT> tmp944;
5284 : compiler::TNode<Context> tmp945;
5285 : compiler::TNode<IntPtrT> tmp946;
5286 : compiler::TNode<IntPtrT> tmp947;
5287 : compiler::TNode<BoolT> tmp948;
5288 : ca_.Bind(&block39, &tmp926, &tmp927, &tmp928, &tmp929, &tmp930, &tmp931, &tmp932, &tmp933, &tmp934, &tmp935, &tmp936, &tmp937, &tmp938, &tmp939, &tmp940, &tmp941, &tmp942, &tmp943, &tmp944, &tmp945, &tmp946, &tmp947, &tmp948);
5289 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
5290 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
5291 : compiler::TNode<IntPtrT> tmp949;
5292 : USE(tmp949);
5293 224 : tmp949 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp947}, compiler::TNode<IntPtrT>{tmp946}));
5294 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
5295 : compiler::TNode<IntPtrT> tmp950;
5296 : USE(tmp950);
5297 224 : tmp950 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp949}, compiler::TNode<IntPtrT>{tmp947}));
5298 : compiler::TNode<BoolT> tmp951;
5299 : USE(tmp951);
5300 336 : tmp951 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp950}, compiler::TNode<IntPtrT>{tmp946}));
5301 112 : ca_.Branch(tmp951, &block41, &block42, tmp926, tmp927, tmp928, tmp929, tmp930, tmp931, tmp932, tmp933, tmp934, tmp935, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp946, tmp947, tmp948, tmp946, tmp949);
5302 : }
5303 :
5304 112 : if (block41.is_used()) {
5305 : compiler::TNode<Context> tmp952;
5306 : compiler::TNode<JSReceiver> tmp953;
5307 : compiler::TNode<String> tmp954;
5308 : compiler::TNode<Number> tmp955;
5309 : compiler::TNode<Object> tmp956;
5310 : compiler::TNode<Object> tmp957;
5311 : compiler::TNode<BuiltinPtr> tmp958;
5312 : compiler::TNode<Map> tmp959;
5313 : compiler::TNode<UintPtrT> tmp960;
5314 : compiler::TNode<IntPtrT> tmp961;
5315 : compiler::TNode<IntPtrT> tmp962;
5316 : compiler::TNode<BuiltinPtr> tmp963;
5317 : compiler::TNode<FixedArray> tmp964;
5318 : compiler::TNode<IntPtrT> tmp965;
5319 : compiler::TNode<IntPtrT> tmp966;
5320 : compiler::TNode<BoolT> tmp967;
5321 : compiler::TNode<UintPtrT> tmp968;
5322 : compiler::TNode<IntPtrT> tmp969;
5323 : compiler::TNode<IntPtrT> tmp970;
5324 : compiler::TNode<Context> tmp971;
5325 : compiler::TNode<IntPtrT> tmp972;
5326 : compiler::TNode<IntPtrT> tmp973;
5327 : compiler::TNode<BoolT> tmp974;
5328 : compiler::TNode<IntPtrT> tmp975;
5329 : compiler::TNode<IntPtrT> tmp976;
5330 : ca_.Bind(&block41, &tmp952, &tmp953, &tmp954, &tmp955, &tmp956, &tmp957, &tmp958, &tmp959, &tmp960, &tmp961, &tmp962, &tmp963, &tmp964, &tmp965, &tmp966, &tmp967, &tmp968, &tmp969, &tmp970, &tmp971, &tmp972, &tmp973, &tmp974, &tmp975, &tmp976);
5331 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
5332 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp971);
5333 224 : CodeStubAssembler(state_).Unreachable();
5334 : }
5335 :
5336 112 : if (block42.is_used()) {
5337 : compiler::TNode<Context> tmp978;
5338 : compiler::TNode<JSReceiver> tmp979;
5339 : compiler::TNode<String> tmp980;
5340 : compiler::TNode<Number> tmp981;
5341 : compiler::TNode<Object> tmp982;
5342 : compiler::TNode<Object> tmp983;
5343 : compiler::TNode<BuiltinPtr> tmp984;
5344 : compiler::TNode<Map> tmp985;
5345 : compiler::TNode<UintPtrT> tmp986;
5346 : compiler::TNode<IntPtrT> tmp987;
5347 : compiler::TNode<IntPtrT> tmp988;
5348 : compiler::TNode<BuiltinPtr> tmp989;
5349 : compiler::TNode<FixedArray> tmp990;
5350 : compiler::TNode<IntPtrT> tmp991;
5351 : compiler::TNode<IntPtrT> tmp992;
5352 : compiler::TNode<BoolT> tmp993;
5353 : compiler::TNode<UintPtrT> tmp994;
5354 : compiler::TNode<IntPtrT> tmp995;
5355 : compiler::TNode<IntPtrT> tmp996;
5356 : compiler::TNode<Context> tmp997;
5357 : compiler::TNode<IntPtrT> tmp998;
5358 : compiler::TNode<IntPtrT> tmp999;
5359 : compiler::TNode<BoolT> tmp1000;
5360 : compiler::TNode<IntPtrT> tmp1001;
5361 : compiler::TNode<IntPtrT> tmp1002;
5362 : ca_.Bind(&block42, &tmp978, &tmp979, &tmp980, &tmp981, &tmp982, &tmp983, &tmp984, &tmp985, &tmp986, &tmp987, &tmp988, &tmp989, &tmp990, &tmp991, &tmp992, &tmp993, &tmp994, &tmp995, &tmp996, &tmp997, &tmp998, &tmp999, &tmp1000, &tmp1001, &tmp1002);
5363 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
5364 : compiler::TNode<IntPtrT> tmp1003;
5365 : USE(tmp1003);
5366 336 : tmp1003 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp997}, compiler::TNode<IntPtrT>{tmp992}, compiler::TNode<IntPtrT>{tmp1002}));
5367 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
5368 112 : ca_.Branch(tmp1000, &block43, &block44, tmp978, tmp979, tmp980, tmp981, tmp982, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989, tmp990, tmp991, tmp1003, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001, tmp1002);
5369 : }
5370 :
5371 112 : if (block43.is_used()) {
5372 : compiler::TNode<Context> tmp1004;
5373 : compiler::TNode<JSReceiver> tmp1005;
5374 : compiler::TNode<String> tmp1006;
5375 : compiler::TNode<Number> tmp1007;
5376 : compiler::TNode<Object> tmp1008;
5377 : compiler::TNode<Object> tmp1009;
5378 : compiler::TNode<BuiltinPtr> tmp1010;
5379 : compiler::TNode<Map> tmp1011;
5380 : compiler::TNode<UintPtrT> tmp1012;
5381 : compiler::TNode<IntPtrT> tmp1013;
5382 : compiler::TNode<IntPtrT> tmp1014;
5383 : compiler::TNode<BuiltinPtr> tmp1015;
5384 : compiler::TNode<FixedArray> tmp1016;
5385 : compiler::TNode<IntPtrT> tmp1017;
5386 : compiler::TNode<IntPtrT> tmp1018;
5387 : compiler::TNode<BoolT> tmp1019;
5388 : compiler::TNode<UintPtrT> tmp1020;
5389 : compiler::TNode<IntPtrT> tmp1021;
5390 : compiler::TNode<IntPtrT> tmp1022;
5391 : compiler::TNode<Context> tmp1023;
5392 : compiler::TNode<IntPtrT> tmp1024;
5393 : compiler::TNode<IntPtrT> tmp1025;
5394 : compiler::TNode<BoolT> tmp1026;
5395 : compiler::TNode<IntPtrT> tmp1027;
5396 : compiler::TNode<IntPtrT> tmp1028;
5397 : ca_.Bind(&block43, &tmp1004, &tmp1005, &tmp1006, &tmp1007, &tmp1008, &tmp1009, &tmp1010, &tmp1011, &tmp1012, &tmp1013, &tmp1014, &tmp1015, &tmp1016, &tmp1017, &tmp1018, &tmp1019, &tmp1020, &tmp1021, &tmp1022, &tmp1023, &tmp1024, &tmp1025, &tmp1026, &tmp1027, &tmp1028);
5398 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
5399 : compiler::TNode<IntPtrT> tmp1029;
5400 : USE(tmp1029);
5401 336 : tmp1029 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
5402 : compiler::TNode<IntPtrT> tmp1030;
5403 : USE(tmp1030);
5404 224 : tmp1030 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<IntPtrT>{tmp1029}));
5405 : compiler::TNode<Smi> tmp1031;
5406 : USE(tmp1031);
5407 336 : tmp1031 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1027}));
5408 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
5409 : compiler::TNode<FixedArray> tmp1032;
5410 : USE(tmp1032);
5411 336 : tmp1032 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1016}, compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<Smi>{tmp1031}));
5412 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
5413 : ca_.Goto(&block44, tmp1004, tmp1005, tmp1006, tmp1007, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1015, tmp1032, tmp1030, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027, tmp1028);
5414 : }
5415 :
5416 112 : if (block44.is_used()) {
5417 : compiler::TNode<Context> tmp1033;
5418 : compiler::TNode<JSReceiver> tmp1034;
5419 : compiler::TNode<String> tmp1035;
5420 : compiler::TNode<Number> tmp1036;
5421 : compiler::TNode<Object> tmp1037;
5422 : compiler::TNode<Object> tmp1038;
5423 : compiler::TNode<BuiltinPtr> tmp1039;
5424 : compiler::TNode<Map> tmp1040;
5425 : compiler::TNode<UintPtrT> tmp1041;
5426 : compiler::TNode<IntPtrT> tmp1042;
5427 : compiler::TNode<IntPtrT> tmp1043;
5428 : compiler::TNode<BuiltinPtr> tmp1044;
5429 : compiler::TNode<FixedArray> tmp1045;
5430 : compiler::TNode<IntPtrT> tmp1046;
5431 : compiler::TNode<IntPtrT> tmp1047;
5432 : compiler::TNode<BoolT> tmp1048;
5433 : compiler::TNode<UintPtrT> tmp1049;
5434 : compiler::TNode<IntPtrT> tmp1050;
5435 : compiler::TNode<IntPtrT> tmp1051;
5436 : compiler::TNode<Context> tmp1052;
5437 : compiler::TNode<IntPtrT> tmp1053;
5438 : compiler::TNode<IntPtrT> tmp1054;
5439 : compiler::TNode<BoolT> tmp1055;
5440 : compiler::TNode<IntPtrT> tmp1056;
5441 : compiler::TNode<IntPtrT> tmp1057;
5442 : ca_.Bind(&block44, &tmp1033, &tmp1034, &tmp1035, &tmp1036, &tmp1037, &tmp1038, &tmp1039, &tmp1040, &tmp1041, &tmp1042, &tmp1043, &tmp1044, &tmp1045, &tmp1046, &tmp1047, &tmp1048, &tmp1049, &tmp1050, &tmp1051, &tmp1052, &tmp1053, &tmp1054, &tmp1055, &tmp1056, &tmp1057);
5443 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
5444 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
5445 : ca_.Goto(&block37, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1054, tmp1055);
5446 : }
5447 :
5448 112 : if (block37.is_used()) {
5449 : compiler::TNode<Context> tmp1058;
5450 : compiler::TNode<JSReceiver> tmp1059;
5451 : compiler::TNode<String> tmp1060;
5452 : compiler::TNode<Number> tmp1061;
5453 : compiler::TNode<Object> tmp1062;
5454 : compiler::TNode<Object> tmp1063;
5455 : compiler::TNode<BuiltinPtr> tmp1064;
5456 : compiler::TNode<Map> tmp1065;
5457 : compiler::TNode<UintPtrT> tmp1066;
5458 : compiler::TNode<IntPtrT> tmp1067;
5459 : compiler::TNode<IntPtrT> tmp1068;
5460 : compiler::TNode<BuiltinPtr> tmp1069;
5461 : compiler::TNode<FixedArray> tmp1070;
5462 : compiler::TNode<IntPtrT> tmp1071;
5463 : compiler::TNode<IntPtrT> tmp1072;
5464 : compiler::TNode<BoolT> tmp1073;
5465 : compiler::TNode<UintPtrT> tmp1074;
5466 : compiler::TNode<IntPtrT> tmp1075;
5467 : compiler::TNode<IntPtrT> tmp1076;
5468 : compiler::TNode<Context> tmp1077;
5469 : compiler::TNode<IntPtrT> tmp1078;
5470 : compiler::TNode<IntPtrT> tmp1079;
5471 : compiler::TNode<BoolT> tmp1080;
5472 : ca_.Bind(&block37, &tmp1058, &tmp1059, &tmp1060, &tmp1061, &tmp1062, &tmp1063, &tmp1064, &tmp1065, &tmp1066, &tmp1067, &tmp1068, &tmp1069, &tmp1070, &tmp1071, &tmp1072, &tmp1073, &tmp1074, &tmp1075, &tmp1076, &tmp1077, &tmp1078, &tmp1079, &tmp1080);
5473 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
5474 : compiler::TNode<String> tmp1081;
5475 : USE(tmp1081);
5476 336 : tmp1081 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).BufferJoin(compiler::TNode<Context>{tmp1058}, ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp1070}, compiler::TNode<IntPtrT>{tmp1071}, compiler::TNode<IntPtrT>{tmp1072}, compiler::TNode<BoolT>{tmp1073}}, compiler::TNode<String>{tmp1060}));
5477 : ca_.Goto(&block1, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1064, tmp1081);
5478 : }
5479 :
5480 112 : if (block1.is_used()) {
5481 : compiler::TNode<Context> tmp1082;
5482 : compiler::TNode<JSReceiver> tmp1083;
5483 : compiler::TNode<String> tmp1084;
5484 : compiler::TNode<Number> tmp1085;
5485 : compiler::TNode<Object> tmp1086;
5486 : compiler::TNode<Object> tmp1087;
5487 : compiler::TNode<BuiltinPtr> tmp1088;
5488 : compiler::TNode<String> tmp1089;
5489 : ca_.Bind(&block1, &tmp1082, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088, &tmp1089);
5490 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 262);
5491 : ca_.Goto(&block45, tmp1082, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088, tmp1089);
5492 : }
5493 :
5494 : compiler::TNode<Context> tmp1090;
5495 : compiler::TNode<JSReceiver> tmp1091;
5496 : compiler::TNode<String> tmp1092;
5497 : compiler::TNode<Number> tmp1093;
5498 : compiler::TNode<Object> tmp1094;
5499 : compiler::TNode<Object> tmp1095;
5500 : compiler::TNode<BuiltinPtr> tmp1096;
5501 : compiler::TNode<String> tmp1097;
5502 : ca_.Bind(&block45, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096, &tmp1097);
5503 224 : return compiler::TNode<String>{tmp1097};
5504 : }
5505 :
5506 224 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt32Array, CodeStubAssembler) {
5507 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5508 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5509 : USE(parameter0);
5510 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5511 : USE(parameter1);
5512 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5513 : USE(parameter2);
5514 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5515 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5516 :
5517 56 : if (block0.is_used()) {
5518 : compiler::TNode<Context> tmp0;
5519 : compiler::TNode<JSReceiver> tmp1;
5520 : compiler::TNode<Number> tmp2;
5521 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5522 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5523 : compiler::TNode<JSTypedArray> tmp3;
5524 : USE(tmp3);
5525 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5526 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5527 : compiler::TNode<RawPtrT> tmp4;
5528 : USE(tmp4);
5529 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5530 : compiler::TNode<Smi> tmp5;
5531 : USE(tmp5);
5532 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5533 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5534 : compiler::TNode<Object> tmp6;
5535 : USE(tmp6);
5536 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt32Array()), CodeStubAssembler::SMI_PARAMETERS));
5537 112 : CodeStubAssembler(state_).Return(tmp6);
5538 : }
5539 56 : }
5540 :
5541 224 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat32Array, CodeStubAssembler) {
5542 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5543 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5544 : USE(parameter0);
5545 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5546 : USE(parameter1);
5547 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5548 : USE(parameter2);
5549 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5550 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5551 :
5552 56 : if (block0.is_used()) {
5553 : compiler::TNode<Context> tmp0;
5554 : compiler::TNode<JSReceiver> tmp1;
5555 : compiler::TNode<Number> tmp2;
5556 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5557 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5558 : compiler::TNode<JSTypedArray> tmp3;
5559 : USE(tmp3);
5560 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5561 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5562 : compiler::TNode<RawPtrT> tmp4;
5563 : USE(tmp4);
5564 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5565 : compiler::TNode<Smi> tmp5;
5566 : USE(tmp5);
5567 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5568 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5569 : compiler::TNode<Object> tmp6;
5570 : USE(tmp6);
5571 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat32Array()), CodeStubAssembler::SMI_PARAMETERS));
5572 112 : CodeStubAssembler(state_).Return(tmp6);
5573 : }
5574 56 : }
5575 :
5576 224 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat64Array, CodeStubAssembler) {
5577 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5578 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5579 : USE(parameter0);
5580 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5581 : USE(parameter1);
5582 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5583 : USE(parameter2);
5584 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5585 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5586 :
5587 56 : if (block0.is_used()) {
5588 : compiler::TNode<Context> tmp0;
5589 : compiler::TNode<JSReceiver> tmp1;
5590 : compiler::TNode<Number> tmp2;
5591 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5592 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5593 : compiler::TNode<JSTypedArray> tmp3;
5594 : USE(tmp3);
5595 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5596 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5597 : compiler::TNode<RawPtrT> tmp4;
5598 : USE(tmp4);
5599 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5600 : compiler::TNode<Smi> tmp5;
5601 : USE(tmp5);
5602 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5603 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5604 : compiler::TNode<Object> tmp6;
5605 : USE(tmp6);
5606 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat64Array()), CodeStubAssembler::SMI_PARAMETERS));
5607 112 : CodeStubAssembler(state_).Return(tmp6);
5608 : }
5609 56 : }
5610 :
5611 224 : TF_BUILTIN(LoadJoinTypedElement24ATFixedUint8ClampedArray, CodeStubAssembler) {
5612 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5613 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5614 : USE(parameter0);
5615 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5616 : USE(parameter1);
5617 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5618 : USE(parameter2);
5619 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5620 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5621 :
5622 56 : if (block0.is_used()) {
5623 : compiler::TNode<Context> tmp0;
5624 : compiler::TNode<JSReceiver> tmp1;
5625 : compiler::TNode<Number> tmp2;
5626 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5627 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5628 : compiler::TNode<JSTypedArray> tmp3;
5629 : USE(tmp3);
5630 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5631 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5632 : compiler::TNode<RawPtrT> tmp4;
5633 : USE(tmp4);
5634 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5635 : compiler::TNode<Smi> tmp5;
5636 : USE(tmp5);
5637 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5638 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5639 : compiler::TNode<Object> tmp6;
5640 : USE(tmp6);
5641 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType24ATFixedUint8ClampedArray()), CodeStubAssembler::SMI_PARAMETERS));
5642 112 : CodeStubAssembler(state_).Return(tmp6);
5643 : }
5644 56 : }
5645 :
5646 224 : TF_BUILTIN(LoadJoinTypedElement21ATFixedBigUint64Array, CodeStubAssembler) {
5647 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5648 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5649 : USE(parameter0);
5650 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5651 : USE(parameter1);
5652 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5653 : USE(parameter2);
5654 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5655 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5656 :
5657 56 : if (block0.is_used()) {
5658 : compiler::TNode<Context> tmp0;
5659 : compiler::TNode<JSReceiver> tmp1;
5660 : compiler::TNode<Number> tmp2;
5661 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5662 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5663 : compiler::TNode<JSTypedArray> tmp3;
5664 : USE(tmp3);
5665 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5666 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5667 : compiler::TNode<RawPtrT> tmp4;
5668 : USE(tmp4);
5669 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5670 : compiler::TNode<Smi> tmp5;
5671 : USE(tmp5);
5672 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5673 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5674 : compiler::TNode<Object> tmp6;
5675 : USE(tmp6);
5676 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType21ATFixedBigUint64Array()), CodeStubAssembler::SMI_PARAMETERS));
5677 112 : CodeStubAssembler(state_).Return(tmp6);
5678 : }
5679 56 : }
5680 :
5681 224 : TF_BUILTIN(LoadJoinTypedElement20ATFixedBigInt64Array, CodeStubAssembler) {
5682 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5683 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5684 : USE(parameter0);
5685 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5686 : USE(parameter1);
5687 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5688 : USE(parameter2);
5689 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5690 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5691 :
5692 56 : if (block0.is_used()) {
5693 : compiler::TNode<Context> tmp0;
5694 : compiler::TNode<JSReceiver> tmp1;
5695 : compiler::TNode<Number> tmp2;
5696 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5697 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5698 : compiler::TNode<JSTypedArray> tmp3;
5699 : USE(tmp3);
5700 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5701 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5702 : compiler::TNode<RawPtrT> tmp4;
5703 : USE(tmp4);
5704 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5705 : compiler::TNode<Smi> tmp5;
5706 : USE(tmp5);
5707 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5708 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5709 : compiler::TNode<Object> tmp6;
5710 : USE(tmp6);
5711 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType20ATFixedBigInt64Array()), CodeStubAssembler::SMI_PARAMETERS));
5712 112 : CodeStubAssembler(state_).Return(tmp6);
5713 : }
5714 56 : }
5715 :
5716 224 : TF_BUILTIN(LoadJoinTypedElement17ATFixedUint8Array, CodeStubAssembler) {
5717 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5718 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5719 : USE(parameter0);
5720 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5721 : USE(parameter1);
5722 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5723 : USE(parameter2);
5724 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5725 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5726 :
5727 56 : if (block0.is_used()) {
5728 : compiler::TNode<Context> tmp0;
5729 : compiler::TNode<JSReceiver> tmp1;
5730 : compiler::TNode<Number> tmp2;
5731 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5732 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5733 : compiler::TNode<JSTypedArray> tmp3;
5734 : USE(tmp3);
5735 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5736 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5737 : compiler::TNode<RawPtrT> tmp4;
5738 : USE(tmp4);
5739 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5740 : compiler::TNode<Smi> tmp5;
5741 : USE(tmp5);
5742 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5743 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5744 : compiler::TNode<Object> tmp6;
5745 : USE(tmp6);
5746 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedUint8Array()), CodeStubAssembler::SMI_PARAMETERS));
5747 112 : CodeStubAssembler(state_).Return(tmp6);
5748 : }
5749 56 : }
5750 :
5751 224 : TF_BUILTIN(LoadJoinTypedElement16ATFixedInt8Array, CodeStubAssembler) {
5752 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5753 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5754 : USE(parameter0);
5755 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5756 : USE(parameter1);
5757 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5758 : USE(parameter2);
5759 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5760 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5761 :
5762 56 : if (block0.is_used()) {
5763 : compiler::TNode<Context> tmp0;
5764 : compiler::TNode<JSReceiver> tmp1;
5765 : compiler::TNode<Number> tmp2;
5766 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5767 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5768 : compiler::TNode<JSTypedArray> tmp3;
5769 : USE(tmp3);
5770 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5771 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5772 : compiler::TNode<RawPtrT> tmp4;
5773 : USE(tmp4);
5774 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5775 : compiler::TNode<Smi> tmp5;
5776 : USE(tmp5);
5777 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5778 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5779 : compiler::TNode<Object> tmp6;
5780 : USE(tmp6);
5781 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType16ATFixedInt8Array()), CodeStubAssembler::SMI_PARAMETERS));
5782 112 : CodeStubAssembler(state_).Return(tmp6);
5783 : }
5784 56 : }
5785 :
5786 224 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint16Array, CodeStubAssembler) {
5787 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5788 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5789 : USE(parameter0);
5790 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5791 : USE(parameter1);
5792 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5793 : USE(parameter2);
5794 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5795 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5796 :
5797 56 : if (block0.is_used()) {
5798 : compiler::TNode<Context> tmp0;
5799 : compiler::TNode<JSReceiver> tmp1;
5800 : compiler::TNode<Number> tmp2;
5801 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5802 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5803 : compiler::TNode<JSTypedArray> tmp3;
5804 : USE(tmp3);
5805 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5806 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5807 : compiler::TNode<RawPtrT> tmp4;
5808 : USE(tmp4);
5809 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5810 : compiler::TNode<Smi> tmp5;
5811 : USE(tmp5);
5812 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5813 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5814 : compiler::TNode<Object> tmp6;
5815 : USE(tmp6);
5816 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint16Array()), CodeStubAssembler::SMI_PARAMETERS));
5817 112 : CodeStubAssembler(state_).Return(tmp6);
5818 : }
5819 56 : }
5820 :
5821 224 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt16Array, CodeStubAssembler) {
5822 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5823 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5824 : USE(parameter0);
5825 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5826 : USE(parameter1);
5827 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5828 : USE(parameter2);
5829 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5830 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5831 :
5832 56 : if (block0.is_used()) {
5833 : compiler::TNode<Context> tmp0;
5834 : compiler::TNode<JSReceiver> tmp1;
5835 : compiler::TNode<Number> tmp2;
5836 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5837 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5838 : compiler::TNode<JSTypedArray> tmp3;
5839 : USE(tmp3);
5840 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5841 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5842 : compiler::TNode<RawPtrT> tmp4;
5843 : USE(tmp4);
5844 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5845 : compiler::TNode<Smi> tmp5;
5846 : USE(tmp5);
5847 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5848 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5849 : compiler::TNode<Object> tmp6;
5850 : USE(tmp6);
5851 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt16Array()), CodeStubAssembler::SMI_PARAMETERS));
5852 112 : CodeStubAssembler(state_).Return(tmp6);
5853 : }
5854 56 : }
5855 :
5856 224 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint32Array, CodeStubAssembler) {
5857 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5858 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5859 : USE(parameter0);
5860 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5861 : USE(parameter1);
5862 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5863 : USE(parameter2);
5864 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5865 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5866 :
5867 56 : if (block0.is_used()) {
5868 : compiler::TNode<Context> tmp0;
5869 : compiler::TNode<JSReceiver> tmp1;
5870 : compiler::TNode<Number> tmp2;
5871 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5872 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5873 : compiler::TNode<JSTypedArray> tmp3;
5874 : USE(tmp3);
5875 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5876 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5877 : compiler::TNode<RawPtrT> tmp4;
5878 : USE(tmp4);
5879 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5880 : compiler::TNode<Smi> tmp5;
5881 : USE(tmp5);
5882 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5883 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5884 : compiler::TNode<Object> tmp6;
5885 : USE(tmp6);
5886 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint32Array()), CodeStubAssembler::SMI_PARAMETERS));
5887 112 : CodeStubAssembler(state_).Return(tmp6);
5888 : }
5889 56 : }
5890 :
5891 112 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoinImpl12JSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lengthNumber, bool p_useToLocaleString, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options, compiler::TNode<BuiltinPtr> p_initialLoadFn) {
5892 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5893 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5894 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5895 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5897 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5898 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5899 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5900 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5901 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5902 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5903 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5904 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5905 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5906 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5907 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5908 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5909 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5910 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5911 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, Number> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5912 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5913 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5914 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5915 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5916 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5917 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5918 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5919 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5920 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5921 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block33(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5922 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5923 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block35(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5924 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5925 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5926 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5927 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5928 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block40(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5929 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5930 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block39(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5931 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block41(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5932 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5933 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block43(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5934 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block44(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5935 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5936 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5937 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5938 : ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
5939 :
5940 112 : if (block0.is_used()) {
5941 : compiler::TNode<Context> tmp0;
5942 : compiler::TNode<JSReceiver> tmp1;
5943 : compiler::TNode<String> tmp2;
5944 : compiler::TNode<Number> tmp3;
5945 : compiler::TNode<Object> tmp4;
5946 : compiler::TNode<Object> tmp5;
5947 : compiler::TNode<BuiltinPtr> tmp6;
5948 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
5949 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
5950 112 : compiler::TNode<IntPtrT> tmp7 = ca_.IntPtrConstant(HeapObject::kMapOffset);
5951 : USE(tmp7);
5952 224 : compiler::TNode<Map>tmp8 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp7});
5953 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
5954 : compiler::TNode<UintPtrT> tmp9;
5955 : USE(tmp9);
5956 336 : tmp9 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number>{tmp3}));
5957 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
5958 : compiler::TNode<IntPtrT> tmp10;
5959 : USE(tmp10);
5960 336 : tmp10 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
5961 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 269);
5962 : compiler::TNode<IntPtrT> tmp11;
5963 : USE(tmp11);
5964 336 : tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
5965 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 270);
5966 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
5967 : compiler::TNode<FixedArray> tmp12;
5968 : USE(tmp12);
5969 : compiler::TNode<IntPtrT> tmp13;
5970 : USE(tmp13);
5971 : compiler::TNode<IntPtrT> tmp14;
5972 : USE(tmp14);
5973 : compiler::TNode<BoolT> tmp15;
5974 : USE(tmp15);
5975 448 : std::tie(tmp12, tmp13, tmp14, tmp15) = ArrayJoinBuiltinsFromDSLAssembler(state_).NewBuffer(compiler::TNode<UintPtrT>{tmp9}, compiler::TNode<String>{tmp2}).Flatten();
5976 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
5977 : compiler::TNode<UintPtrT> tmp16;
5978 : USE(tmp16);
5979 336 : tmp16 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
5980 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
5981 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp8, tmp9, tmp10, tmp11, tmp6, tmp12, tmp13, tmp14, tmp15, tmp16);
5982 : }
5983 :
5984 112 : if (block4.is_used()) {
5985 : compiler::TNode<Context> tmp17;
5986 : compiler::TNode<JSReceiver> tmp18;
5987 : compiler::TNode<String> tmp19;
5988 : compiler::TNode<Number> tmp20;
5989 : compiler::TNode<Object> tmp21;
5990 : compiler::TNode<Object> tmp22;
5991 : compiler::TNode<BuiltinPtr> tmp23;
5992 : compiler::TNode<Map> tmp24;
5993 : compiler::TNode<UintPtrT> tmp25;
5994 : compiler::TNode<IntPtrT> tmp26;
5995 : compiler::TNode<IntPtrT> tmp27;
5996 : compiler::TNode<BuiltinPtr> tmp28;
5997 : compiler::TNode<FixedArray> tmp29;
5998 : compiler::TNode<IntPtrT> tmp30;
5999 : compiler::TNode<IntPtrT> tmp31;
6000 : compiler::TNode<BoolT> tmp32;
6001 : compiler::TNode<UintPtrT> tmp33;
6002 : ca_.Bind(&block4, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
6003 : compiler::TNode<BoolT> tmp34;
6004 : USE(tmp34);
6005 448 : tmp34 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp33}, compiler::TNode<UintPtrT>{tmp25}));
6006 112 : ca_.Branch(tmp34, &block2, &block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33);
6007 : }
6008 :
6009 112 : if (block2.is_used()) {
6010 : compiler::TNode<Context> tmp35;
6011 : compiler::TNode<JSReceiver> tmp36;
6012 : compiler::TNode<String> tmp37;
6013 : compiler::TNode<Number> tmp38;
6014 : compiler::TNode<Object> tmp39;
6015 : compiler::TNode<Object> tmp40;
6016 : compiler::TNode<BuiltinPtr> tmp41;
6017 : compiler::TNode<Map> tmp42;
6018 : compiler::TNode<UintPtrT> tmp43;
6019 : compiler::TNode<IntPtrT> tmp44;
6020 : compiler::TNode<IntPtrT> tmp45;
6021 : compiler::TNode<BuiltinPtr> tmp46;
6022 : compiler::TNode<FixedArray> tmp47;
6023 : compiler::TNode<IntPtrT> tmp48;
6024 : compiler::TNode<IntPtrT> tmp49;
6025 : compiler::TNode<BoolT> tmp50;
6026 : compiler::TNode<UintPtrT> tmp51;
6027 : ca_.Bind(&block2, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
6028 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 279);
6029 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
6030 112 : compiler::CodeAssemblerLabel label0(&ca_);
6031 112 : compiler::CodeAssemblerLabel label1(&ca_);
6032 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).CannotUseSameArrayAccessor12JSTypedArray(compiler::TNode<Context>{tmp35}, compiler::TNode<BuiltinPtr>{tmp46}, compiler::TNode<JSReceiver>{tmp36}, compiler::TNode<Map>{tmp42}, compiler::TNode<Number>{tmp38}, &label0, &label1);
6033 112 : if (label0.is_used()) {
6034 112 : ca_.Bind(&label0);
6035 : ca_.Goto(&block7, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
6036 : }
6037 112 : if (label1.is_used()) {
6038 112 : ca_.Bind(&label1);
6039 : ca_.Goto(&block8, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
6040 : }
6041 : }
6042 :
6043 112 : if (block7.is_used()) {
6044 : compiler::TNode<Context> tmp52;
6045 : compiler::TNode<JSReceiver> tmp53;
6046 : compiler::TNode<String> tmp54;
6047 : compiler::TNode<Number> tmp55;
6048 : compiler::TNode<Object> tmp56;
6049 : compiler::TNode<Object> tmp57;
6050 : compiler::TNode<BuiltinPtr> tmp58;
6051 : compiler::TNode<Map> tmp59;
6052 : compiler::TNode<UintPtrT> tmp60;
6053 : compiler::TNode<IntPtrT> tmp61;
6054 : compiler::TNode<IntPtrT> tmp62;
6055 : compiler::TNode<BuiltinPtr> tmp63;
6056 : compiler::TNode<FixedArray> tmp64;
6057 : compiler::TNode<IntPtrT> tmp65;
6058 : compiler::TNode<IntPtrT> tmp66;
6059 : compiler::TNode<BoolT> tmp67;
6060 : compiler::TNode<UintPtrT> tmp68;
6061 : compiler::TNode<BuiltinPtr> tmp69;
6062 : compiler::TNode<JSReceiver> tmp70;
6063 : compiler::TNode<Map> tmp71;
6064 : compiler::TNode<Number> tmp72;
6065 : ca_.Bind(&block7, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72);
6066 : ca_.Goto(&block5, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68);
6067 : }
6068 :
6069 112 : if (block8.is_used()) {
6070 : compiler::TNode<Context> tmp73;
6071 : compiler::TNode<JSReceiver> tmp74;
6072 : compiler::TNode<String> tmp75;
6073 : compiler::TNode<Number> tmp76;
6074 : compiler::TNode<Object> tmp77;
6075 : compiler::TNode<Object> tmp78;
6076 : compiler::TNode<BuiltinPtr> tmp79;
6077 : compiler::TNode<Map> tmp80;
6078 : compiler::TNode<UintPtrT> tmp81;
6079 : compiler::TNode<IntPtrT> tmp82;
6080 : compiler::TNode<IntPtrT> tmp83;
6081 : compiler::TNode<BuiltinPtr> tmp84;
6082 : compiler::TNode<FixedArray> tmp85;
6083 : compiler::TNode<IntPtrT> tmp86;
6084 : compiler::TNode<IntPtrT> tmp87;
6085 : compiler::TNode<BoolT> tmp88;
6086 : compiler::TNode<UintPtrT> tmp89;
6087 : compiler::TNode<BuiltinPtr> tmp90;
6088 : compiler::TNode<JSReceiver> tmp91;
6089 : compiler::TNode<Map> tmp92;
6090 : compiler::TNode<Number> tmp93;
6091 : ca_.Bind(&block8, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93);
6092 : ca_.Goto(&block6, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89);
6093 : }
6094 :
6095 112 : if (block5.is_used()) {
6096 : compiler::TNode<Context> tmp94;
6097 : compiler::TNode<JSReceiver> tmp95;
6098 : compiler::TNode<String> tmp96;
6099 : compiler::TNode<Number> tmp97;
6100 : compiler::TNode<Object> tmp98;
6101 : compiler::TNode<Object> tmp99;
6102 : compiler::TNode<BuiltinPtr> tmp100;
6103 : compiler::TNode<Map> tmp101;
6104 : compiler::TNode<UintPtrT> tmp102;
6105 : compiler::TNode<IntPtrT> tmp103;
6106 : compiler::TNode<IntPtrT> tmp104;
6107 : compiler::TNode<BuiltinPtr> tmp105;
6108 : compiler::TNode<FixedArray> tmp106;
6109 : compiler::TNode<IntPtrT> tmp107;
6110 : compiler::TNode<IntPtrT> tmp108;
6111 : compiler::TNode<BoolT> tmp109;
6112 : compiler::TNode<UintPtrT> tmp110;
6113 : ca_.Bind(&block5, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110);
6114 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
6115 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
6116 : ca_.Goto(&block6, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)), tmp106, tmp107, tmp108, tmp109, tmp110);
6117 : }
6118 :
6119 112 : if (block6.is_used()) {
6120 : compiler::TNode<Context> tmp111;
6121 : compiler::TNode<JSReceiver> tmp112;
6122 : compiler::TNode<String> tmp113;
6123 : compiler::TNode<Number> tmp114;
6124 : compiler::TNode<Object> tmp115;
6125 : compiler::TNode<Object> tmp116;
6126 : compiler::TNode<BuiltinPtr> tmp117;
6127 : compiler::TNode<Map> tmp118;
6128 : compiler::TNode<UintPtrT> tmp119;
6129 : compiler::TNode<IntPtrT> tmp120;
6130 : compiler::TNode<IntPtrT> tmp121;
6131 : compiler::TNode<BuiltinPtr> tmp122;
6132 : compiler::TNode<FixedArray> tmp123;
6133 : compiler::TNode<IntPtrT> tmp124;
6134 : compiler::TNode<IntPtrT> tmp125;
6135 : compiler::TNode<BoolT> tmp126;
6136 : compiler::TNode<UintPtrT> tmp127;
6137 : ca_.Bind(&block6, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127);
6138 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
6139 : compiler::TNode<UintPtrT> tmp128;
6140 : USE(tmp128);
6141 336 : tmp128 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
6142 : compiler::TNode<BoolT> tmp129;
6143 : USE(tmp129);
6144 336 : tmp129 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp127}, compiler::TNode<UintPtrT>{tmp128}));
6145 112 : ca_.Branch(tmp129, &block9, &block10, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127);
6146 : }
6147 :
6148 112 : if (block9.is_used()) {
6149 : compiler::TNode<Context> tmp130;
6150 : compiler::TNode<JSReceiver> tmp131;
6151 : compiler::TNode<String> tmp132;
6152 : compiler::TNode<Number> tmp133;
6153 : compiler::TNode<Object> tmp134;
6154 : compiler::TNode<Object> tmp135;
6155 : compiler::TNode<BuiltinPtr> tmp136;
6156 : compiler::TNode<Map> tmp137;
6157 : compiler::TNode<UintPtrT> tmp138;
6158 : compiler::TNode<IntPtrT> tmp139;
6159 : compiler::TNode<IntPtrT> tmp140;
6160 : compiler::TNode<BuiltinPtr> tmp141;
6161 : compiler::TNode<FixedArray> tmp142;
6162 : compiler::TNode<IntPtrT> tmp143;
6163 : compiler::TNode<IntPtrT> tmp144;
6164 : compiler::TNode<BoolT> tmp145;
6165 : compiler::TNode<UintPtrT> tmp146;
6166 : ca_.Bind(&block9, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
6167 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 286);
6168 : compiler::TNode<IntPtrT> tmp147;
6169 : USE(tmp147);
6170 336 : tmp147 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
6171 : compiler::TNode<IntPtrT> tmp148;
6172 : USE(tmp148);
6173 224 : tmp148 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp140}, compiler::TNode<IntPtrT>{tmp147}));
6174 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
6175 : ca_.Goto(&block10, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp148, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146);
6176 : }
6177 :
6178 112 : if (block10.is_used()) {
6179 : compiler::TNode<Context> tmp149;
6180 : compiler::TNode<JSReceiver> tmp150;
6181 : compiler::TNode<String> tmp151;
6182 : compiler::TNode<Number> tmp152;
6183 : compiler::TNode<Object> tmp153;
6184 : compiler::TNode<Object> tmp154;
6185 : compiler::TNode<BuiltinPtr> tmp155;
6186 : compiler::TNode<Map> tmp156;
6187 : compiler::TNode<UintPtrT> tmp157;
6188 : compiler::TNode<IntPtrT> tmp158;
6189 : compiler::TNode<IntPtrT> tmp159;
6190 : compiler::TNode<BuiltinPtr> tmp160;
6191 : compiler::TNode<FixedArray> tmp161;
6192 : compiler::TNode<IntPtrT> tmp162;
6193 : compiler::TNode<IntPtrT> tmp163;
6194 : compiler::TNode<BoolT> tmp164;
6195 : compiler::TNode<UintPtrT> tmp165;
6196 : ca_.Bind(&block10, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
6197 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 290);
6198 : compiler::TNode<UintPtrT> tmp166;
6199 : USE(tmp166);
6200 336 : tmp166 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
6201 : compiler::TNode<UintPtrT> tmp167;
6202 : USE(tmp167);
6203 224 : tmp167 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp165}, compiler::TNode<UintPtrT>{tmp166}));
6204 : compiler::TNode<Number> tmp168;
6205 : USE(tmp168);
6206 336 : tmp168 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert20UT5ATSmi10HeapNumber9ATuintptr(compiler::TNode<UintPtrT>{tmp165}));
6207 560 : compiler::TNode<Object> tmp169 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp160, tmp149, tmp150, tmp168);
6208 : USE(tmp169);
6209 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
6210 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
6211 112 : if ((p_useToLocaleString)) {
6212 : ca_.Goto(&block11, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
6213 : } else {
6214 : ca_.Goto(&block12, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
6215 : }
6216 : }
6217 :
6218 112 : if (block11.is_used()) {
6219 : compiler::TNode<Context> tmp170;
6220 : compiler::TNode<JSReceiver> tmp171;
6221 : compiler::TNode<String> tmp172;
6222 : compiler::TNode<Number> tmp173;
6223 : compiler::TNode<Object> tmp174;
6224 : compiler::TNode<Object> tmp175;
6225 : compiler::TNode<BuiltinPtr> tmp176;
6226 : compiler::TNode<Map> tmp177;
6227 : compiler::TNode<UintPtrT> tmp178;
6228 : compiler::TNode<IntPtrT> tmp179;
6229 : compiler::TNode<IntPtrT> tmp180;
6230 : compiler::TNode<BuiltinPtr> tmp181;
6231 : compiler::TNode<FixedArray> tmp182;
6232 : compiler::TNode<IntPtrT> tmp183;
6233 : compiler::TNode<IntPtrT> tmp184;
6234 : compiler::TNode<BoolT> tmp185;
6235 : compiler::TNode<UintPtrT> tmp186;
6236 : compiler::TNode<Object> tmp187;
6237 : compiler::TNode<String> tmp188;
6238 : ca_.Bind(&block11, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188);
6239 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
6240 : compiler::TNode<String> tmp189;
6241 112 : tmp189 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp170, tmp187, tmp174, tmp175));
6242 : USE(tmp189);
6243 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
6244 : compiler::TNode<String> tmp190;
6245 : USE(tmp190);
6246 168 : tmp190 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
6247 : compiler::TNode<BoolT> tmp191;
6248 : USE(tmp191);
6249 112 : tmp191 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp189}, compiler::TNode<HeapObject>{tmp190}));
6250 56 : ca_.Branch(tmp191, &block14, &block15, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp189);
6251 : }
6252 :
6253 112 : if (block14.is_used()) {
6254 : compiler::TNode<Context> tmp192;
6255 : compiler::TNode<JSReceiver> tmp193;
6256 : compiler::TNode<String> tmp194;
6257 : compiler::TNode<Number> tmp195;
6258 : compiler::TNode<Object> tmp196;
6259 : compiler::TNode<Object> tmp197;
6260 : compiler::TNode<BuiltinPtr> tmp198;
6261 : compiler::TNode<Map> tmp199;
6262 : compiler::TNode<UintPtrT> tmp200;
6263 : compiler::TNode<IntPtrT> tmp201;
6264 : compiler::TNode<IntPtrT> tmp202;
6265 : compiler::TNode<BuiltinPtr> tmp203;
6266 : compiler::TNode<FixedArray> tmp204;
6267 : compiler::TNode<IntPtrT> tmp205;
6268 : compiler::TNode<IntPtrT> tmp206;
6269 : compiler::TNode<BoolT> tmp207;
6270 : compiler::TNode<UintPtrT> tmp208;
6271 : compiler::TNode<Object> tmp209;
6272 : compiler::TNode<String> tmp210;
6273 : ca_.Bind(&block14, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210);
6274 : ca_.Goto(&block4, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208);
6275 : }
6276 :
6277 112 : if (block15.is_used()) {
6278 : compiler::TNode<Context> tmp211;
6279 : compiler::TNode<JSReceiver> tmp212;
6280 : compiler::TNode<String> tmp213;
6281 : compiler::TNode<Number> tmp214;
6282 : compiler::TNode<Object> tmp215;
6283 : compiler::TNode<Object> tmp216;
6284 : compiler::TNode<BuiltinPtr> tmp217;
6285 : compiler::TNode<Map> tmp218;
6286 : compiler::TNode<UintPtrT> tmp219;
6287 : compiler::TNode<IntPtrT> tmp220;
6288 : compiler::TNode<IntPtrT> tmp221;
6289 : compiler::TNode<BuiltinPtr> tmp222;
6290 : compiler::TNode<FixedArray> tmp223;
6291 : compiler::TNode<IntPtrT> tmp224;
6292 : compiler::TNode<IntPtrT> tmp225;
6293 : compiler::TNode<BoolT> tmp226;
6294 : compiler::TNode<UintPtrT> tmp227;
6295 : compiler::TNode<Object> tmp228;
6296 : compiler::TNode<String> tmp229;
6297 : ca_.Bind(&block15, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229);
6298 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
6299 : ca_.Goto(&block13, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229);
6300 : }
6301 :
6302 112 : if (block12.is_used()) {
6303 : compiler::TNode<Context> tmp230;
6304 : compiler::TNode<JSReceiver> tmp231;
6305 : compiler::TNode<String> tmp232;
6306 : compiler::TNode<Number> tmp233;
6307 : compiler::TNode<Object> tmp234;
6308 : compiler::TNode<Object> tmp235;
6309 : compiler::TNode<BuiltinPtr> tmp236;
6310 : compiler::TNode<Map> tmp237;
6311 : compiler::TNode<UintPtrT> tmp238;
6312 : compiler::TNode<IntPtrT> tmp239;
6313 : compiler::TNode<IntPtrT> tmp240;
6314 : compiler::TNode<BuiltinPtr> tmp241;
6315 : compiler::TNode<FixedArray> tmp242;
6316 : compiler::TNode<IntPtrT> tmp243;
6317 : compiler::TNode<IntPtrT> tmp244;
6318 : compiler::TNode<BoolT> tmp245;
6319 : compiler::TNode<UintPtrT> tmp246;
6320 : compiler::TNode<Object> tmp247;
6321 : compiler::TNode<String> tmp248;
6322 : ca_.Bind(&block12, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248);
6323 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
6324 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
6325 : compiler::TNode<String> tmp249;
6326 : USE(tmp249);
6327 56 : compiler::CodeAssemblerLabel label0(&ca_);
6328 168 : tmp249 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp230}, compiler::TNode<Object>{tmp247}, &label0);
6329 : ca_.Goto(&block18, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247, tmp249);
6330 56 : if (label0.is_used()) {
6331 56 : ca_.Bind(&label0);
6332 : ca_.Goto(&block19, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247);
6333 : }
6334 : }
6335 :
6336 112 : if (block19.is_used()) {
6337 : compiler::TNode<Context> tmp250;
6338 : compiler::TNode<JSReceiver> tmp251;
6339 : compiler::TNode<String> tmp252;
6340 : compiler::TNode<Number> tmp253;
6341 : compiler::TNode<Object> tmp254;
6342 : compiler::TNode<Object> tmp255;
6343 : compiler::TNode<BuiltinPtr> tmp256;
6344 : compiler::TNode<Map> tmp257;
6345 : compiler::TNode<UintPtrT> tmp258;
6346 : compiler::TNode<IntPtrT> tmp259;
6347 : compiler::TNode<IntPtrT> tmp260;
6348 : compiler::TNode<BuiltinPtr> tmp261;
6349 : compiler::TNode<FixedArray> tmp262;
6350 : compiler::TNode<IntPtrT> tmp263;
6351 : compiler::TNode<IntPtrT> tmp264;
6352 : compiler::TNode<BoolT> tmp265;
6353 : compiler::TNode<UintPtrT> tmp266;
6354 : compiler::TNode<Object> tmp267;
6355 : compiler::TNode<String> tmp268;
6356 : compiler::TNode<Object> tmp269;
6357 : compiler::TNode<Object> tmp270;
6358 : ca_.Bind(&block19, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270);
6359 : ca_.Goto(&block17, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269);
6360 : }
6361 :
6362 112 : if (block18.is_used()) {
6363 : compiler::TNode<Context> tmp271;
6364 : compiler::TNode<JSReceiver> tmp272;
6365 : compiler::TNode<String> tmp273;
6366 : compiler::TNode<Number> tmp274;
6367 : compiler::TNode<Object> tmp275;
6368 : compiler::TNode<Object> tmp276;
6369 : compiler::TNode<BuiltinPtr> tmp277;
6370 : compiler::TNode<Map> tmp278;
6371 : compiler::TNode<UintPtrT> tmp279;
6372 : compiler::TNode<IntPtrT> tmp280;
6373 : compiler::TNode<IntPtrT> tmp281;
6374 : compiler::TNode<BuiltinPtr> tmp282;
6375 : compiler::TNode<FixedArray> tmp283;
6376 : compiler::TNode<IntPtrT> tmp284;
6377 : compiler::TNode<IntPtrT> tmp285;
6378 : compiler::TNode<BoolT> tmp286;
6379 : compiler::TNode<UintPtrT> tmp287;
6380 : compiler::TNode<Object> tmp288;
6381 : compiler::TNode<String> tmp289;
6382 : compiler::TNode<Object> tmp290;
6383 : compiler::TNode<Object> tmp291;
6384 : compiler::TNode<String> tmp292;
6385 : ca_.Bind(&block18, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292);
6386 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
6387 : compiler::TNode<String> tmp293;
6388 : USE(tmp293);
6389 168 : tmp293 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
6390 : compiler::TNode<BoolT> tmp294;
6391 : USE(tmp294);
6392 112 : tmp294 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp292}, compiler::TNode<HeapObject>{tmp293}));
6393 56 : ca_.Branch(tmp294, &block20, &block21, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp292);
6394 : }
6395 :
6396 112 : if (block20.is_used()) {
6397 : compiler::TNode<Context> tmp295;
6398 : compiler::TNode<JSReceiver> tmp296;
6399 : compiler::TNode<String> tmp297;
6400 : compiler::TNode<Number> tmp298;
6401 : compiler::TNode<Object> tmp299;
6402 : compiler::TNode<Object> tmp300;
6403 : compiler::TNode<BuiltinPtr> tmp301;
6404 : compiler::TNode<Map> tmp302;
6405 : compiler::TNode<UintPtrT> tmp303;
6406 : compiler::TNode<IntPtrT> tmp304;
6407 : compiler::TNode<IntPtrT> tmp305;
6408 : compiler::TNode<BuiltinPtr> tmp306;
6409 : compiler::TNode<FixedArray> tmp307;
6410 : compiler::TNode<IntPtrT> tmp308;
6411 : compiler::TNode<IntPtrT> tmp309;
6412 : compiler::TNode<BoolT> tmp310;
6413 : compiler::TNode<UintPtrT> tmp311;
6414 : compiler::TNode<Object> tmp312;
6415 : compiler::TNode<String> tmp313;
6416 : compiler::TNode<Object> tmp314;
6417 : compiler::TNode<String> tmp315;
6418 : ca_.Bind(&block20, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315);
6419 : ca_.Goto(&block4, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311);
6420 : }
6421 :
6422 112 : if (block21.is_used()) {
6423 : compiler::TNode<Context> tmp316;
6424 : compiler::TNode<JSReceiver> tmp317;
6425 : compiler::TNode<String> tmp318;
6426 : compiler::TNode<Number> tmp319;
6427 : compiler::TNode<Object> tmp320;
6428 : compiler::TNode<Object> tmp321;
6429 : compiler::TNode<BuiltinPtr> tmp322;
6430 : compiler::TNode<Map> tmp323;
6431 : compiler::TNode<UintPtrT> tmp324;
6432 : compiler::TNode<IntPtrT> tmp325;
6433 : compiler::TNode<IntPtrT> tmp326;
6434 : compiler::TNode<BuiltinPtr> tmp327;
6435 : compiler::TNode<FixedArray> tmp328;
6436 : compiler::TNode<IntPtrT> tmp329;
6437 : compiler::TNode<IntPtrT> tmp330;
6438 : compiler::TNode<BoolT> tmp331;
6439 : compiler::TNode<UintPtrT> tmp332;
6440 : compiler::TNode<Object> tmp333;
6441 : compiler::TNode<String> tmp334;
6442 : compiler::TNode<Object> tmp335;
6443 : compiler::TNode<String> tmp336;
6444 : ca_.Bind(&block21, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
6445 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
6446 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
6447 : ca_.Goto(&block16, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp336, tmp335);
6448 : }
6449 :
6450 112 : if (block17.is_used()) {
6451 : compiler::TNode<Context> tmp337;
6452 : compiler::TNode<JSReceiver> tmp338;
6453 : compiler::TNode<String> tmp339;
6454 : compiler::TNode<Number> tmp340;
6455 : compiler::TNode<Object> tmp341;
6456 : compiler::TNode<Object> tmp342;
6457 : compiler::TNode<BuiltinPtr> tmp343;
6458 : compiler::TNode<Map> tmp344;
6459 : compiler::TNode<UintPtrT> tmp345;
6460 : compiler::TNode<IntPtrT> tmp346;
6461 : compiler::TNode<IntPtrT> tmp347;
6462 : compiler::TNode<BuiltinPtr> tmp348;
6463 : compiler::TNode<FixedArray> tmp349;
6464 : compiler::TNode<IntPtrT> tmp350;
6465 : compiler::TNode<IntPtrT> tmp351;
6466 : compiler::TNode<BoolT> tmp352;
6467 : compiler::TNode<UintPtrT> tmp353;
6468 : compiler::TNode<Object> tmp354;
6469 : compiler::TNode<String> tmp355;
6470 : compiler::TNode<Object> tmp356;
6471 : ca_.Bind(&block17, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355, &tmp356);
6472 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
6473 : compiler::TNode<Number> tmp357;
6474 : USE(tmp357);
6475 56 : compiler::CodeAssemblerLabel label0(&ca_);
6476 168 : tmp357 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp356)}, &label0);
6477 : ca_.Goto(&block24, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, ca_.UncheckedCast<Object>(tmp356), tmp357);
6478 56 : if (label0.is_used()) {
6479 56 : ca_.Bind(&label0);
6480 : ca_.Goto(&block25, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, ca_.UncheckedCast<Object>(tmp356));
6481 : }
6482 : }
6483 :
6484 112 : if (block25.is_used()) {
6485 : compiler::TNode<Context> tmp358;
6486 : compiler::TNode<JSReceiver> tmp359;
6487 : compiler::TNode<String> tmp360;
6488 : compiler::TNode<Number> tmp361;
6489 : compiler::TNode<Object> tmp362;
6490 : compiler::TNode<Object> tmp363;
6491 : compiler::TNode<BuiltinPtr> tmp364;
6492 : compiler::TNode<Map> tmp365;
6493 : compiler::TNode<UintPtrT> tmp366;
6494 : compiler::TNode<IntPtrT> tmp367;
6495 : compiler::TNode<IntPtrT> tmp368;
6496 : compiler::TNode<BuiltinPtr> tmp369;
6497 : compiler::TNode<FixedArray> tmp370;
6498 : compiler::TNode<IntPtrT> tmp371;
6499 : compiler::TNode<IntPtrT> tmp372;
6500 : compiler::TNode<BoolT> tmp373;
6501 : compiler::TNode<UintPtrT> tmp374;
6502 : compiler::TNode<Object> tmp375;
6503 : compiler::TNode<String> tmp376;
6504 : compiler::TNode<Object> tmp377;
6505 : compiler::TNode<Object> tmp378;
6506 : ca_.Bind(&block25, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377, &tmp378);
6507 : ca_.Goto(&block23, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377);
6508 : }
6509 :
6510 112 : if (block24.is_used()) {
6511 : compiler::TNode<Context> tmp379;
6512 : compiler::TNode<JSReceiver> tmp380;
6513 : compiler::TNode<String> tmp381;
6514 : compiler::TNode<Number> tmp382;
6515 : compiler::TNode<Object> tmp383;
6516 : compiler::TNode<Object> tmp384;
6517 : compiler::TNode<BuiltinPtr> tmp385;
6518 : compiler::TNode<Map> tmp386;
6519 : compiler::TNode<UintPtrT> tmp387;
6520 : compiler::TNode<IntPtrT> tmp388;
6521 : compiler::TNode<IntPtrT> tmp389;
6522 : compiler::TNode<BuiltinPtr> tmp390;
6523 : compiler::TNode<FixedArray> tmp391;
6524 : compiler::TNode<IntPtrT> tmp392;
6525 : compiler::TNode<IntPtrT> tmp393;
6526 : compiler::TNode<BoolT> tmp394;
6527 : compiler::TNode<UintPtrT> tmp395;
6528 : compiler::TNode<Object> tmp396;
6529 : compiler::TNode<String> tmp397;
6530 : compiler::TNode<Object> tmp398;
6531 : compiler::TNode<Object> tmp399;
6532 : compiler::TNode<Number> tmp400;
6533 : ca_.Bind(&block24, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397, &tmp398, &tmp399, &tmp400);
6534 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
6535 : compiler::TNode<String> tmp401;
6536 : USE(tmp401);
6537 112 : tmp401 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp400}));
6538 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
6539 : ca_.Goto(&block22, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp396, tmp401, tmp398);
6540 : }
6541 :
6542 112 : if (block23.is_used()) {
6543 : compiler::TNode<Context> tmp402;
6544 : compiler::TNode<JSReceiver> tmp403;
6545 : compiler::TNode<String> tmp404;
6546 : compiler::TNode<Number> tmp405;
6547 : compiler::TNode<Object> tmp406;
6548 : compiler::TNode<Object> tmp407;
6549 : compiler::TNode<BuiltinPtr> tmp408;
6550 : compiler::TNode<Map> tmp409;
6551 : compiler::TNode<UintPtrT> tmp410;
6552 : compiler::TNode<IntPtrT> tmp411;
6553 : compiler::TNode<IntPtrT> tmp412;
6554 : compiler::TNode<BuiltinPtr> tmp413;
6555 : compiler::TNode<FixedArray> tmp414;
6556 : compiler::TNode<IntPtrT> tmp415;
6557 : compiler::TNode<IntPtrT> tmp416;
6558 : compiler::TNode<BoolT> tmp417;
6559 : compiler::TNode<UintPtrT> tmp418;
6560 : compiler::TNode<Object> tmp419;
6561 : compiler::TNode<String> tmp420;
6562 : compiler::TNode<Object> tmp421;
6563 : ca_.Bind(&block23, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420, &tmp421);
6564 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 307);
6565 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 308);
6566 : compiler::TNode<BoolT> tmp422;
6567 : USE(tmp422);
6568 112 : tmp422 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp421)}));
6569 56 : ca_.Branch(tmp422, &block26, &block27, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, tmp421, ca_.UncheckedCast<HeapObject>(tmp421));
6570 : }
6571 :
6572 112 : if (block26.is_used()) {
6573 : compiler::TNode<Context> tmp423;
6574 : compiler::TNode<JSReceiver> tmp424;
6575 : compiler::TNode<String> tmp425;
6576 : compiler::TNode<Number> tmp426;
6577 : compiler::TNode<Object> tmp427;
6578 : compiler::TNode<Object> tmp428;
6579 : compiler::TNode<BuiltinPtr> tmp429;
6580 : compiler::TNode<Map> tmp430;
6581 : compiler::TNode<UintPtrT> tmp431;
6582 : compiler::TNode<IntPtrT> tmp432;
6583 : compiler::TNode<IntPtrT> tmp433;
6584 : compiler::TNode<BuiltinPtr> tmp434;
6585 : compiler::TNode<FixedArray> tmp435;
6586 : compiler::TNode<IntPtrT> tmp436;
6587 : compiler::TNode<IntPtrT> tmp437;
6588 : compiler::TNode<BoolT> tmp438;
6589 : compiler::TNode<UintPtrT> tmp439;
6590 : compiler::TNode<Object> tmp440;
6591 : compiler::TNode<String> tmp441;
6592 : compiler::TNode<Object> tmp442;
6593 : compiler::TNode<HeapObject> tmp443;
6594 : ca_.Bind(&block26, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442, &tmp443);
6595 : ca_.Goto(&block4, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp439);
6596 : }
6597 :
6598 112 : if (block27.is_used()) {
6599 : compiler::TNode<Context> tmp444;
6600 : compiler::TNode<JSReceiver> tmp445;
6601 : compiler::TNode<String> tmp446;
6602 : compiler::TNode<Number> tmp447;
6603 : compiler::TNode<Object> tmp448;
6604 : compiler::TNode<Object> tmp449;
6605 : compiler::TNode<BuiltinPtr> tmp450;
6606 : compiler::TNode<Map> tmp451;
6607 : compiler::TNode<UintPtrT> tmp452;
6608 : compiler::TNode<IntPtrT> tmp453;
6609 : compiler::TNode<IntPtrT> tmp454;
6610 : compiler::TNode<BuiltinPtr> tmp455;
6611 : compiler::TNode<FixedArray> tmp456;
6612 : compiler::TNode<IntPtrT> tmp457;
6613 : compiler::TNode<IntPtrT> tmp458;
6614 : compiler::TNode<BoolT> tmp459;
6615 : compiler::TNode<UintPtrT> tmp460;
6616 : compiler::TNode<Object> tmp461;
6617 : compiler::TNode<String> tmp462;
6618 : compiler::TNode<Object> tmp463;
6619 : compiler::TNode<HeapObject> tmp464;
6620 : ca_.Bind(&block27, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463, &tmp464);
6621 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 309);
6622 : compiler::TNode<String> tmp465;
6623 112 : tmp465 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp444, tmp464));
6624 : USE(tmp465);
6625 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
6626 : ca_.Goto(&block22, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, tmp465, tmp463);
6627 : }
6628 :
6629 112 : if (block22.is_used()) {
6630 : compiler::TNode<Context> tmp466;
6631 : compiler::TNode<JSReceiver> tmp467;
6632 : compiler::TNode<String> tmp468;
6633 : compiler::TNode<Number> tmp469;
6634 : compiler::TNode<Object> tmp470;
6635 : compiler::TNode<Object> tmp471;
6636 : compiler::TNode<BuiltinPtr> tmp472;
6637 : compiler::TNode<Map> tmp473;
6638 : compiler::TNode<UintPtrT> tmp474;
6639 : compiler::TNode<IntPtrT> tmp475;
6640 : compiler::TNode<IntPtrT> tmp476;
6641 : compiler::TNode<BuiltinPtr> tmp477;
6642 : compiler::TNode<FixedArray> tmp478;
6643 : compiler::TNode<IntPtrT> tmp479;
6644 : compiler::TNode<IntPtrT> tmp480;
6645 : compiler::TNode<BoolT> tmp481;
6646 : compiler::TNode<UintPtrT> tmp482;
6647 : compiler::TNode<Object> tmp483;
6648 : compiler::TNode<String> tmp484;
6649 : compiler::TNode<Object> tmp485;
6650 : ca_.Bind(&block22, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483, &tmp484, &tmp485);
6651 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
6652 : ca_.Goto(&block16, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484, tmp485);
6653 : }
6654 :
6655 112 : if (block16.is_used()) {
6656 : compiler::TNode<Context> tmp486;
6657 : compiler::TNode<JSReceiver> tmp487;
6658 : compiler::TNode<String> tmp488;
6659 : compiler::TNode<Number> tmp489;
6660 : compiler::TNode<Object> tmp490;
6661 : compiler::TNode<Object> tmp491;
6662 : compiler::TNode<BuiltinPtr> tmp492;
6663 : compiler::TNode<Map> tmp493;
6664 : compiler::TNode<UintPtrT> tmp494;
6665 : compiler::TNode<IntPtrT> tmp495;
6666 : compiler::TNode<IntPtrT> tmp496;
6667 : compiler::TNode<BuiltinPtr> tmp497;
6668 : compiler::TNode<FixedArray> tmp498;
6669 : compiler::TNode<IntPtrT> tmp499;
6670 : compiler::TNode<IntPtrT> tmp500;
6671 : compiler::TNode<BoolT> tmp501;
6672 : compiler::TNode<UintPtrT> tmp502;
6673 : compiler::TNode<Object> tmp503;
6674 : compiler::TNode<String> tmp504;
6675 : compiler::TNode<Object> tmp505;
6676 : ca_.Bind(&block16, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504, &tmp505);
6677 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
6678 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
6679 : ca_.Goto(&block13, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503, tmp504);
6680 : }
6681 :
6682 112 : if (block13.is_used()) {
6683 : compiler::TNode<Context> tmp506;
6684 : compiler::TNode<JSReceiver> tmp507;
6685 : compiler::TNode<String> tmp508;
6686 : compiler::TNode<Number> tmp509;
6687 : compiler::TNode<Object> tmp510;
6688 : compiler::TNode<Object> tmp511;
6689 : compiler::TNode<BuiltinPtr> tmp512;
6690 : compiler::TNode<Map> tmp513;
6691 : compiler::TNode<UintPtrT> tmp514;
6692 : compiler::TNode<IntPtrT> tmp515;
6693 : compiler::TNode<IntPtrT> tmp516;
6694 : compiler::TNode<BuiltinPtr> tmp517;
6695 : compiler::TNode<FixedArray> tmp518;
6696 : compiler::TNode<IntPtrT> tmp519;
6697 : compiler::TNode<IntPtrT> tmp520;
6698 : compiler::TNode<BoolT> tmp521;
6699 : compiler::TNode<UintPtrT> tmp522;
6700 : compiler::TNode<Object> tmp523;
6701 : compiler::TNode<String> tmp524;
6702 : ca_.Bind(&block13, &tmp506, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523, &tmp524);
6703 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
6704 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
6705 : compiler::TNode<IntPtrT> tmp525;
6706 : USE(tmp525);
6707 336 : tmp525 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
6708 : compiler::TNode<BoolT> tmp526;
6709 : USE(tmp526);
6710 336 : tmp526 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp519}, compiler::TNode<IntPtrT>{tmp525}));
6711 : compiler::TNode<IntPtrT> tmp527;
6712 : USE(tmp527);
6713 336 : tmp527 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
6714 : compiler::TNode<BoolT> tmp528;
6715 : USE(tmp528);
6716 336 : tmp528 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp527}));
6717 : compiler::TNode<BoolT> tmp529;
6718 : USE(tmp529);
6719 224 : tmp529 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp526}, compiler::TNode<BoolT>{tmp528}));
6720 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
6721 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
6722 : compiler::TNode<IntPtrT> tmp530;
6723 : USE(tmp530);
6724 336 : tmp530 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
6725 : compiler::TNode<BoolT> tmp531;
6726 : USE(tmp531);
6727 336 : tmp531 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp530}));
6728 112 : ca_.Branch(tmp531, &block30, &block32, tmp506, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp522, tmp523, tmp524, tmp524, tmp516, tmp515, tmp506, tmp524, tmp516, tmp515, tmp529, tmp516, tmp515, tmp529, tmp506, tmp516, tmp515, tmp529);
6729 : }
6730 :
6731 112 : if (block32.is_used()) {
6732 : compiler::TNode<Context> tmp532;
6733 : compiler::TNode<JSReceiver> tmp533;
6734 : compiler::TNode<String> tmp534;
6735 : compiler::TNode<Number> tmp535;
6736 : compiler::TNode<Object> tmp536;
6737 : compiler::TNode<Object> tmp537;
6738 : compiler::TNode<BuiltinPtr> tmp538;
6739 : compiler::TNode<Map> tmp539;
6740 : compiler::TNode<UintPtrT> tmp540;
6741 : compiler::TNode<IntPtrT> tmp541;
6742 : compiler::TNode<IntPtrT> tmp542;
6743 : compiler::TNode<BuiltinPtr> tmp543;
6744 : compiler::TNode<FixedArray> tmp544;
6745 : compiler::TNode<IntPtrT> tmp545;
6746 : compiler::TNode<IntPtrT> tmp546;
6747 : compiler::TNode<BoolT> tmp547;
6748 : compiler::TNode<UintPtrT> tmp548;
6749 : compiler::TNode<Object> tmp549;
6750 : compiler::TNode<String> tmp550;
6751 : compiler::TNode<String> tmp551;
6752 : compiler::TNode<IntPtrT> tmp552;
6753 : compiler::TNode<IntPtrT> tmp553;
6754 : compiler::TNode<Context> tmp554;
6755 : compiler::TNode<String> tmp555;
6756 : compiler::TNode<IntPtrT> tmp556;
6757 : compiler::TNode<IntPtrT> tmp557;
6758 : compiler::TNode<BoolT> tmp558;
6759 : compiler::TNode<IntPtrT> tmp559;
6760 : compiler::TNode<IntPtrT> tmp560;
6761 : compiler::TNode<BoolT> tmp561;
6762 : compiler::TNode<Context> tmp562;
6763 : compiler::TNode<IntPtrT> tmp563;
6764 : compiler::TNode<IntPtrT> tmp564;
6765 : compiler::TNode<BoolT> tmp565;
6766 : ca_.Bind(&block32, &tmp532, &tmp533, &tmp534, &tmp535, &tmp536, &tmp537, &tmp538, &tmp539, &tmp540, &tmp541, &tmp542, &tmp543, &tmp544, &tmp545, &tmp546, &tmp547, &tmp548, &tmp549, &tmp550, &tmp551, &tmp552, &tmp553, &tmp554, &tmp555, &tmp556, &tmp557, &tmp558, &tmp559, &tmp560, &tmp561, &tmp562, &tmp563, &tmp564, &tmp565);
6767 : compiler::TNode<IntPtrT> tmp566;
6768 : USE(tmp566);
6769 336 : tmp566 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
6770 : compiler::TNode<BoolT> tmp567;
6771 : USE(tmp567);
6772 336 : tmp567 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp564}, compiler::TNode<IntPtrT>{tmp566}));
6773 112 : ca_.Branch(tmp567, &block30, &block31, tmp532, tmp533, tmp534, tmp535, tmp536, tmp537, tmp538, tmp539, tmp540, tmp541, tmp542, tmp543, tmp544, tmp545, tmp546, tmp547, tmp548, tmp549, tmp550, tmp551, tmp552, tmp553, tmp554, tmp555, tmp556, tmp557, tmp558, tmp559, tmp560, tmp561, tmp562, tmp563, tmp564, tmp565);
6774 : }
6775 :
6776 112 : if (block30.is_used()) {
6777 : compiler::TNode<Context> tmp568;
6778 : compiler::TNode<JSReceiver> tmp569;
6779 : compiler::TNode<String> tmp570;
6780 : compiler::TNode<Number> tmp571;
6781 : compiler::TNode<Object> tmp572;
6782 : compiler::TNode<Object> tmp573;
6783 : compiler::TNode<BuiltinPtr> tmp574;
6784 : compiler::TNode<Map> tmp575;
6785 : compiler::TNode<UintPtrT> tmp576;
6786 : compiler::TNode<IntPtrT> tmp577;
6787 : compiler::TNode<IntPtrT> tmp578;
6788 : compiler::TNode<BuiltinPtr> tmp579;
6789 : compiler::TNode<FixedArray> tmp580;
6790 : compiler::TNode<IntPtrT> tmp581;
6791 : compiler::TNode<IntPtrT> tmp582;
6792 : compiler::TNode<BoolT> tmp583;
6793 : compiler::TNode<UintPtrT> tmp584;
6794 : compiler::TNode<Object> tmp585;
6795 : compiler::TNode<String> tmp586;
6796 : compiler::TNode<String> tmp587;
6797 : compiler::TNode<IntPtrT> tmp588;
6798 : compiler::TNode<IntPtrT> tmp589;
6799 : compiler::TNode<Context> tmp590;
6800 : compiler::TNode<String> tmp591;
6801 : compiler::TNode<IntPtrT> tmp592;
6802 : compiler::TNode<IntPtrT> tmp593;
6803 : compiler::TNode<BoolT> tmp594;
6804 : compiler::TNode<IntPtrT> tmp595;
6805 : compiler::TNode<IntPtrT> tmp596;
6806 : compiler::TNode<BoolT> tmp597;
6807 : compiler::TNode<Context> tmp598;
6808 : compiler::TNode<IntPtrT> tmp599;
6809 : compiler::TNode<IntPtrT> tmp600;
6810 : compiler::TNode<BoolT> tmp601;
6811 : ca_.Bind(&block30, &tmp568, &tmp569, &tmp570, &tmp571, &tmp572, &tmp573, &tmp574, &tmp575, &tmp576, &tmp577, &tmp578, &tmp579, &tmp580, &tmp581, &tmp582, &tmp583, &tmp584, &tmp585, &tmp586, &tmp587, &tmp588, &tmp589, &tmp590, &tmp591, &tmp592, &tmp593, &tmp594, &tmp595, &tmp596, &tmp597, &tmp598, &tmp599, &tmp600, &tmp601);
6812 : ca_.Goto(&block29, tmp568, tmp569, tmp570, tmp571, tmp572, tmp573, tmp574, tmp575, tmp576, tmp577, tmp578, tmp579, tmp580, tmp581, tmp582, tmp583, tmp584, tmp585, tmp586, tmp587, tmp588, tmp589, tmp590, tmp591, tmp592, tmp593, tmp594, tmp595, tmp596, tmp597, tmp598, tmp599, tmp600, tmp601);
6813 : }
6814 :
6815 112 : if (block31.is_used()) {
6816 : compiler::TNode<Context> tmp602;
6817 : compiler::TNode<JSReceiver> tmp603;
6818 : compiler::TNode<String> tmp604;
6819 : compiler::TNode<Number> tmp605;
6820 : compiler::TNode<Object> tmp606;
6821 : compiler::TNode<Object> tmp607;
6822 : compiler::TNode<BuiltinPtr> tmp608;
6823 : compiler::TNode<Map> tmp609;
6824 : compiler::TNode<UintPtrT> tmp610;
6825 : compiler::TNode<IntPtrT> tmp611;
6826 : compiler::TNode<IntPtrT> tmp612;
6827 : compiler::TNode<BuiltinPtr> tmp613;
6828 : compiler::TNode<FixedArray> tmp614;
6829 : compiler::TNode<IntPtrT> tmp615;
6830 : compiler::TNode<IntPtrT> tmp616;
6831 : compiler::TNode<BoolT> tmp617;
6832 : compiler::TNode<UintPtrT> tmp618;
6833 : compiler::TNode<Object> tmp619;
6834 : compiler::TNode<String> tmp620;
6835 : compiler::TNode<String> tmp621;
6836 : compiler::TNode<IntPtrT> tmp622;
6837 : compiler::TNode<IntPtrT> tmp623;
6838 : compiler::TNode<Context> tmp624;
6839 : compiler::TNode<String> tmp625;
6840 : compiler::TNode<IntPtrT> tmp626;
6841 : compiler::TNode<IntPtrT> tmp627;
6842 : compiler::TNode<BoolT> tmp628;
6843 : compiler::TNode<IntPtrT> tmp629;
6844 : compiler::TNode<IntPtrT> tmp630;
6845 : compiler::TNode<BoolT> tmp631;
6846 : compiler::TNode<Context> tmp632;
6847 : compiler::TNode<IntPtrT> tmp633;
6848 : compiler::TNode<IntPtrT> tmp634;
6849 : compiler::TNode<BoolT> tmp635;
6850 : ca_.Bind(&block31, &tmp602, &tmp603, &tmp604, &tmp605, &tmp606, &tmp607, &tmp608, &tmp609, &tmp610, &tmp611, &tmp612, &tmp613, &tmp614, &tmp615, &tmp616, &tmp617, &tmp618, &tmp619, &tmp620, &tmp621, &tmp622, &tmp623, &tmp624, &tmp625, &tmp626, &tmp627, &tmp628, &tmp629, &tmp630, &tmp631, &tmp632, &tmp633, &tmp634, &tmp635);
6851 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
6852 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
6853 : compiler::TNode<IntPtrT> tmp636;
6854 : USE(tmp636);
6855 224 : tmp636 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp634}, compiler::TNode<IntPtrT>{tmp633}));
6856 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
6857 : compiler::TNode<IntPtrT> tmp637;
6858 : USE(tmp637);
6859 224 : tmp637 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp636}, compiler::TNode<IntPtrT>{tmp634}));
6860 : compiler::TNode<BoolT> tmp638;
6861 : USE(tmp638);
6862 336 : tmp638 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp637}, compiler::TNode<IntPtrT>{tmp633}));
6863 112 : ca_.Branch(tmp638, &block33, &block34, tmp602, tmp603, tmp604, tmp605, tmp606, tmp607, tmp608, tmp609, tmp610, tmp611, tmp612, tmp613, tmp614, tmp615, tmp616, tmp617, tmp618, tmp619, tmp620, tmp621, tmp622, tmp623, tmp624, tmp625, tmp626, tmp627, tmp628, tmp629, tmp630, tmp631, tmp632, tmp633, tmp634, tmp635, tmp633, tmp636);
6864 : }
6865 :
6866 112 : if (block33.is_used()) {
6867 : compiler::TNode<Context> tmp639;
6868 : compiler::TNode<JSReceiver> tmp640;
6869 : compiler::TNode<String> tmp641;
6870 : compiler::TNode<Number> tmp642;
6871 : compiler::TNode<Object> tmp643;
6872 : compiler::TNode<Object> tmp644;
6873 : compiler::TNode<BuiltinPtr> tmp645;
6874 : compiler::TNode<Map> tmp646;
6875 : compiler::TNode<UintPtrT> tmp647;
6876 : compiler::TNode<IntPtrT> tmp648;
6877 : compiler::TNode<IntPtrT> tmp649;
6878 : compiler::TNode<BuiltinPtr> tmp650;
6879 : compiler::TNode<FixedArray> tmp651;
6880 : compiler::TNode<IntPtrT> tmp652;
6881 : compiler::TNode<IntPtrT> tmp653;
6882 : compiler::TNode<BoolT> tmp654;
6883 : compiler::TNode<UintPtrT> tmp655;
6884 : compiler::TNode<Object> tmp656;
6885 : compiler::TNode<String> tmp657;
6886 : compiler::TNode<String> tmp658;
6887 : compiler::TNode<IntPtrT> tmp659;
6888 : compiler::TNode<IntPtrT> tmp660;
6889 : compiler::TNode<Context> tmp661;
6890 : compiler::TNode<String> tmp662;
6891 : compiler::TNode<IntPtrT> tmp663;
6892 : compiler::TNode<IntPtrT> tmp664;
6893 : compiler::TNode<BoolT> tmp665;
6894 : compiler::TNode<IntPtrT> tmp666;
6895 : compiler::TNode<IntPtrT> tmp667;
6896 : compiler::TNode<BoolT> tmp668;
6897 : compiler::TNode<Context> tmp669;
6898 : compiler::TNode<IntPtrT> tmp670;
6899 : compiler::TNode<IntPtrT> tmp671;
6900 : compiler::TNode<BoolT> tmp672;
6901 : compiler::TNode<IntPtrT> tmp673;
6902 : compiler::TNode<IntPtrT> tmp674;
6903 : ca_.Bind(&block33, &tmp639, &tmp640, &tmp641, &tmp642, &tmp643, &tmp644, &tmp645, &tmp646, &tmp647, &tmp648, &tmp649, &tmp650, &tmp651, &tmp652, &tmp653, &tmp654, &tmp655, &tmp656, &tmp657, &tmp658, &tmp659, &tmp660, &tmp661, &tmp662, &tmp663, &tmp664, &tmp665, &tmp666, &tmp667, &tmp668, &tmp669, &tmp670, &tmp671, &tmp672, &tmp673, &tmp674);
6904 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
6905 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp669);
6906 224 : CodeStubAssembler(state_).Unreachable();
6907 : }
6908 :
6909 112 : if (block34.is_used()) {
6910 : compiler::TNode<Context> tmp676;
6911 : compiler::TNode<JSReceiver> tmp677;
6912 : compiler::TNode<String> tmp678;
6913 : compiler::TNode<Number> tmp679;
6914 : compiler::TNode<Object> tmp680;
6915 : compiler::TNode<Object> tmp681;
6916 : compiler::TNode<BuiltinPtr> tmp682;
6917 : compiler::TNode<Map> tmp683;
6918 : compiler::TNode<UintPtrT> tmp684;
6919 : compiler::TNode<IntPtrT> tmp685;
6920 : compiler::TNode<IntPtrT> tmp686;
6921 : compiler::TNode<BuiltinPtr> tmp687;
6922 : compiler::TNode<FixedArray> tmp688;
6923 : compiler::TNode<IntPtrT> tmp689;
6924 : compiler::TNode<IntPtrT> tmp690;
6925 : compiler::TNode<BoolT> tmp691;
6926 : compiler::TNode<UintPtrT> tmp692;
6927 : compiler::TNode<Object> tmp693;
6928 : compiler::TNode<String> tmp694;
6929 : compiler::TNode<String> tmp695;
6930 : compiler::TNode<IntPtrT> tmp696;
6931 : compiler::TNode<IntPtrT> tmp697;
6932 : compiler::TNode<Context> tmp698;
6933 : compiler::TNode<String> tmp699;
6934 : compiler::TNode<IntPtrT> tmp700;
6935 : compiler::TNode<IntPtrT> tmp701;
6936 : compiler::TNode<BoolT> tmp702;
6937 : compiler::TNode<IntPtrT> tmp703;
6938 : compiler::TNode<IntPtrT> tmp704;
6939 : compiler::TNode<BoolT> tmp705;
6940 : compiler::TNode<Context> tmp706;
6941 : compiler::TNode<IntPtrT> tmp707;
6942 : compiler::TNode<IntPtrT> tmp708;
6943 : compiler::TNode<BoolT> tmp709;
6944 : compiler::TNode<IntPtrT> tmp710;
6945 : compiler::TNode<IntPtrT> tmp711;
6946 : ca_.Bind(&block34, &tmp676, &tmp677, &tmp678, &tmp679, &tmp680, &tmp681, &tmp682, &tmp683, &tmp684, &tmp685, &tmp686, &tmp687, &tmp688, &tmp689, &tmp690, &tmp691, &tmp692, &tmp693, &tmp694, &tmp695, &tmp696, &tmp697, &tmp698, &tmp699, &tmp700, &tmp701, &tmp702, &tmp703, &tmp704, &tmp705, &tmp706, &tmp707, &tmp708, &tmp709, &tmp710, &tmp711);
6947 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
6948 : compiler::TNode<IntPtrT> tmp712;
6949 : USE(tmp712);
6950 336 : tmp712 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp706}, compiler::TNode<IntPtrT>{tmp690}, compiler::TNode<IntPtrT>{tmp711}));
6951 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
6952 112 : ca_.Branch(tmp709, &block35, &block36, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp686, tmp687, tmp688, tmp689, tmp712, tmp691, tmp692, tmp693, tmp694, tmp695, tmp696, tmp697, tmp698, tmp699, tmp700, tmp701, tmp702, tmp703, tmp704, tmp705, tmp706, tmp707, tmp708, tmp709, tmp710, tmp711);
6953 : }
6954 :
6955 112 : if (block35.is_used()) {
6956 : compiler::TNode<Context> tmp713;
6957 : compiler::TNode<JSReceiver> tmp714;
6958 : compiler::TNode<String> tmp715;
6959 : compiler::TNode<Number> tmp716;
6960 : compiler::TNode<Object> tmp717;
6961 : compiler::TNode<Object> tmp718;
6962 : compiler::TNode<BuiltinPtr> tmp719;
6963 : compiler::TNode<Map> tmp720;
6964 : compiler::TNode<UintPtrT> tmp721;
6965 : compiler::TNode<IntPtrT> tmp722;
6966 : compiler::TNode<IntPtrT> tmp723;
6967 : compiler::TNode<BuiltinPtr> tmp724;
6968 : compiler::TNode<FixedArray> tmp725;
6969 : compiler::TNode<IntPtrT> tmp726;
6970 : compiler::TNode<IntPtrT> tmp727;
6971 : compiler::TNode<BoolT> tmp728;
6972 : compiler::TNode<UintPtrT> tmp729;
6973 : compiler::TNode<Object> tmp730;
6974 : compiler::TNode<String> tmp731;
6975 : compiler::TNode<String> tmp732;
6976 : compiler::TNode<IntPtrT> tmp733;
6977 : compiler::TNode<IntPtrT> tmp734;
6978 : compiler::TNode<Context> tmp735;
6979 : compiler::TNode<String> tmp736;
6980 : compiler::TNode<IntPtrT> tmp737;
6981 : compiler::TNode<IntPtrT> tmp738;
6982 : compiler::TNode<BoolT> tmp739;
6983 : compiler::TNode<IntPtrT> tmp740;
6984 : compiler::TNode<IntPtrT> tmp741;
6985 : compiler::TNode<BoolT> tmp742;
6986 : compiler::TNode<Context> tmp743;
6987 : compiler::TNode<IntPtrT> tmp744;
6988 : compiler::TNode<IntPtrT> tmp745;
6989 : compiler::TNode<BoolT> tmp746;
6990 : compiler::TNode<IntPtrT> tmp747;
6991 : compiler::TNode<IntPtrT> tmp748;
6992 : ca_.Bind(&block35, &tmp713, &tmp714, &tmp715, &tmp716, &tmp717, &tmp718, &tmp719, &tmp720, &tmp721, &tmp722, &tmp723, &tmp724, &tmp725, &tmp726, &tmp727, &tmp728, &tmp729, &tmp730, &tmp731, &tmp732, &tmp733, &tmp734, &tmp735, &tmp736, &tmp737, &tmp738, &tmp739, &tmp740, &tmp741, &tmp742, &tmp743, &tmp744, &tmp745, &tmp746, &tmp747, &tmp748);
6993 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
6994 : compiler::TNode<IntPtrT> tmp749;
6995 : USE(tmp749);
6996 336 : tmp749 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
6997 : compiler::TNode<IntPtrT> tmp750;
6998 : USE(tmp750);
6999 224 : tmp750 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<IntPtrT>{tmp749}));
7000 : compiler::TNode<Smi> tmp751;
7001 : USE(tmp751);
7002 336 : tmp751 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp747}));
7003 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
7004 : compiler::TNode<FixedArray> tmp752;
7005 : USE(tmp752);
7006 336 : tmp752 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp725}, compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<Smi>{tmp751}));
7007 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
7008 : ca_.Goto(&block36, tmp713, tmp714, tmp715, tmp716, tmp717, tmp718, tmp719, tmp720, tmp721, tmp722, tmp723, tmp724, tmp752, tmp750, tmp727, tmp728, tmp729, tmp730, tmp731, tmp732, tmp733, tmp734, tmp735, tmp736, tmp737, tmp738, tmp739, tmp740, tmp741, tmp742, tmp743, tmp744, tmp745, tmp746, tmp747, tmp748);
7009 : }
7010 :
7011 112 : if (block36.is_used()) {
7012 : compiler::TNode<Context> tmp753;
7013 : compiler::TNode<JSReceiver> tmp754;
7014 : compiler::TNode<String> tmp755;
7015 : compiler::TNode<Number> tmp756;
7016 : compiler::TNode<Object> tmp757;
7017 : compiler::TNode<Object> tmp758;
7018 : compiler::TNode<BuiltinPtr> tmp759;
7019 : compiler::TNode<Map> tmp760;
7020 : compiler::TNode<UintPtrT> tmp761;
7021 : compiler::TNode<IntPtrT> tmp762;
7022 : compiler::TNode<IntPtrT> tmp763;
7023 : compiler::TNode<BuiltinPtr> tmp764;
7024 : compiler::TNode<FixedArray> tmp765;
7025 : compiler::TNode<IntPtrT> tmp766;
7026 : compiler::TNode<IntPtrT> tmp767;
7027 : compiler::TNode<BoolT> tmp768;
7028 : compiler::TNode<UintPtrT> tmp769;
7029 : compiler::TNode<Object> tmp770;
7030 : compiler::TNode<String> tmp771;
7031 : compiler::TNode<String> tmp772;
7032 : compiler::TNode<IntPtrT> tmp773;
7033 : compiler::TNode<IntPtrT> tmp774;
7034 : compiler::TNode<Context> tmp775;
7035 : compiler::TNode<String> tmp776;
7036 : compiler::TNode<IntPtrT> tmp777;
7037 : compiler::TNode<IntPtrT> tmp778;
7038 : compiler::TNode<BoolT> tmp779;
7039 : compiler::TNode<IntPtrT> tmp780;
7040 : compiler::TNode<IntPtrT> tmp781;
7041 : compiler::TNode<BoolT> tmp782;
7042 : compiler::TNode<Context> tmp783;
7043 : compiler::TNode<IntPtrT> tmp784;
7044 : compiler::TNode<IntPtrT> tmp785;
7045 : compiler::TNode<BoolT> tmp786;
7046 : compiler::TNode<IntPtrT> tmp787;
7047 : compiler::TNode<IntPtrT> tmp788;
7048 : ca_.Bind(&block36, &tmp753, &tmp754, &tmp755, &tmp756, &tmp757, &tmp758, &tmp759, &tmp760, &tmp761, &tmp762, &tmp763, &tmp764, &tmp765, &tmp766, &tmp767, &tmp768, &tmp769, &tmp770, &tmp771, &tmp772, &tmp773, &tmp774, &tmp775, &tmp776, &tmp777, &tmp778, &tmp779, &tmp780, &tmp781, &tmp782, &tmp783, &tmp784, &tmp785, &tmp786, &tmp787, &tmp788);
7049 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
7050 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
7051 : ca_.Goto(&block29, tmp753, tmp754, tmp755, tmp756, tmp757, tmp758, tmp759, tmp760, tmp761, tmp762, tmp763, tmp764, tmp765, tmp766, tmp767, tmp768, tmp769, tmp770, tmp771, tmp772, tmp773, tmp774, tmp775, tmp776, tmp777, tmp778, tmp779, tmp780, tmp781, tmp782, tmp783, tmp784, tmp785, tmp786);
7052 : }
7053 :
7054 112 : if (block29.is_used()) {
7055 : compiler::TNode<Context> tmp789;
7056 : compiler::TNode<JSReceiver> tmp790;
7057 : compiler::TNode<String> tmp791;
7058 : compiler::TNode<Number> tmp792;
7059 : compiler::TNode<Object> tmp793;
7060 : compiler::TNode<Object> tmp794;
7061 : compiler::TNode<BuiltinPtr> tmp795;
7062 : compiler::TNode<Map> tmp796;
7063 : compiler::TNode<UintPtrT> tmp797;
7064 : compiler::TNode<IntPtrT> tmp798;
7065 : compiler::TNode<IntPtrT> tmp799;
7066 : compiler::TNode<BuiltinPtr> tmp800;
7067 : compiler::TNode<FixedArray> tmp801;
7068 : compiler::TNode<IntPtrT> tmp802;
7069 : compiler::TNode<IntPtrT> tmp803;
7070 : compiler::TNode<BoolT> tmp804;
7071 : compiler::TNode<UintPtrT> tmp805;
7072 : compiler::TNode<Object> tmp806;
7073 : compiler::TNode<String> tmp807;
7074 : compiler::TNode<String> tmp808;
7075 : compiler::TNode<IntPtrT> tmp809;
7076 : compiler::TNode<IntPtrT> tmp810;
7077 : compiler::TNode<Context> tmp811;
7078 : compiler::TNode<String> tmp812;
7079 : compiler::TNode<IntPtrT> tmp813;
7080 : compiler::TNode<IntPtrT> tmp814;
7081 : compiler::TNode<BoolT> tmp815;
7082 : compiler::TNode<IntPtrT> tmp816;
7083 : compiler::TNode<IntPtrT> tmp817;
7084 : compiler::TNode<BoolT> tmp818;
7085 : compiler::TNode<Context> tmp819;
7086 : compiler::TNode<IntPtrT> tmp820;
7087 : compiler::TNode<IntPtrT> tmp821;
7088 : compiler::TNode<BoolT> tmp822;
7089 : ca_.Bind(&block29, &tmp789, &tmp790, &tmp791, &tmp792, &tmp793, &tmp794, &tmp795, &tmp796, &tmp797, &tmp798, &tmp799, &tmp800, &tmp801, &tmp802, &tmp803, &tmp804, &tmp805, &tmp806, &tmp807, &tmp808, &tmp809, &tmp810, &tmp811, &tmp812, &tmp813, &tmp814, &tmp815, &tmp816, &tmp817, &tmp818, &tmp819, &tmp820, &tmp821, &tmp822);
7090 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
7091 : compiler::TNode<IntPtrT> tmp823;
7092 : USE(tmp823);
7093 336 : tmp823 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp812}));
7094 : compiler::TNode<IntPtrT> tmp824;
7095 : USE(tmp824);
7096 336 : tmp824 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp811}, compiler::TNode<IntPtrT>{tmp803}, compiler::TNode<IntPtrT>{tmp823}));
7097 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
7098 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 164);
7099 : compiler::TNode<IntPtrT> tmp825;
7100 : USE(tmp825);
7101 336 : tmp825 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
7102 : compiler::TNode<IntPtrT> tmp826;
7103 : USE(tmp826);
7104 224 : tmp826 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<IntPtrT>{tmp825}));
7105 : compiler::TNode<FixedArray> tmp827;
7106 : USE(tmp827);
7107 336 : tmp827 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray6String(compiler::TNode<FixedArray>{tmp801}, compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<String>{tmp812}));
7108 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
7109 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 166);
7110 : compiler::TNode<Int32T> tmp828;
7111 : USE(tmp828);
7112 224 : tmp828 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp812}));
7113 : compiler::TNode<BoolT> tmp829;
7114 : USE(tmp829);
7115 224 : tmp829 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp828}));
7116 : compiler::TNode<BoolT> tmp830;
7117 : USE(tmp830);
7118 336 : tmp830 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp829}, compiler::TNode<BoolT>{tmp804}));
7119 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 165);
7120 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
7121 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
7122 : ca_.Goto(&block28, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp795, tmp796, tmp797, tmp798, tmp799, tmp800, tmp827, tmp826, tmp824, tmp830, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813, tmp814);
7123 : }
7124 :
7125 112 : if (block28.is_used()) {
7126 : compiler::TNode<Context> tmp831;
7127 : compiler::TNode<JSReceiver> tmp832;
7128 : compiler::TNode<String> tmp833;
7129 : compiler::TNode<Number> tmp834;
7130 : compiler::TNode<Object> tmp835;
7131 : compiler::TNode<Object> tmp836;
7132 : compiler::TNode<BuiltinPtr> tmp837;
7133 : compiler::TNode<Map> tmp838;
7134 : compiler::TNode<UintPtrT> tmp839;
7135 : compiler::TNode<IntPtrT> tmp840;
7136 : compiler::TNode<IntPtrT> tmp841;
7137 : compiler::TNode<BuiltinPtr> tmp842;
7138 : compiler::TNode<FixedArray> tmp843;
7139 : compiler::TNode<IntPtrT> tmp844;
7140 : compiler::TNode<IntPtrT> tmp845;
7141 : compiler::TNode<BoolT> tmp846;
7142 : compiler::TNode<UintPtrT> tmp847;
7143 : compiler::TNode<Object> tmp848;
7144 : compiler::TNode<String> tmp849;
7145 : compiler::TNode<String> tmp850;
7146 : compiler::TNode<IntPtrT> tmp851;
7147 : compiler::TNode<IntPtrT> tmp852;
7148 : compiler::TNode<Context> tmp853;
7149 : compiler::TNode<String> tmp854;
7150 : compiler::TNode<IntPtrT> tmp855;
7151 : compiler::TNode<IntPtrT> tmp856;
7152 : ca_.Bind(&block28, &tmp831, &tmp832, &tmp833, &tmp834, &tmp835, &tmp836, &tmp837, &tmp838, &tmp839, &tmp840, &tmp841, &tmp842, &tmp843, &tmp844, &tmp845, &tmp846, &tmp847, &tmp848, &tmp849, &tmp850, &tmp851, &tmp852, &tmp853, &tmp854, &tmp855, &tmp856);
7153 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 316);
7154 : compiler::TNode<IntPtrT> tmp857;
7155 : USE(tmp857);
7156 336 : tmp857 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
7157 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
7158 : ca_.Goto(&block4, tmp831, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp840, tmp857, tmp842, tmp843, tmp844, tmp845, tmp846, tmp847);
7159 : }
7160 :
7161 112 : if (block3.is_used()) {
7162 : compiler::TNode<Context> tmp858;
7163 : compiler::TNode<JSReceiver> tmp859;
7164 : compiler::TNode<String> tmp860;
7165 : compiler::TNode<Number> tmp861;
7166 : compiler::TNode<Object> tmp862;
7167 : compiler::TNode<Object> tmp863;
7168 : compiler::TNode<BuiltinPtr> tmp864;
7169 : compiler::TNode<Map> tmp865;
7170 : compiler::TNode<UintPtrT> tmp866;
7171 : compiler::TNode<IntPtrT> tmp867;
7172 : compiler::TNode<IntPtrT> tmp868;
7173 : compiler::TNode<BuiltinPtr> tmp869;
7174 : compiler::TNode<FixedArray> tmp870;
7175 : compiler::TNode<IntPtrT> tmp871;
7176 : compiler::TNode<IntPtrT> tmp872;
7177 : compiler::TNode<BoolT> tmp873;
7178 : compiler::TNode<UintPtrT> tmp874;
7179 : ca_.Bind(&block3, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873, &tmp874);
7180 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
7181 : compiler::TNode<BoolT> tmp875;
7182 : USE(tmp875);
7183 336 : tmp875 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
7184 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
7185 : compiler::TNode<IntPtrT> tmp876;
7186 : USE(tmp876);
7187 336 : tmp876 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
7188 : compiler::TNode<BoolT> tmp877;
7189 : USE(tmp877);
7190 336 : tmp877 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp868}, compiler::TNode<IntPtrT>{tmp876}));
7191 112 : ca_.Branch(tmp877, &block38, &block40, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp874, tmp868, tmp867, tmp858, tmp868, tmp867, tmp875);
7192 : }
7193 :
7194 112 : if (block40.is_used()) {
7195 : compiler::TNode<Context> tmp878;
7196 : compiler::TNode<JSReceiver> tmp879;
7197 : compiler::TNode<String> tmp880;
7198 : compiler::TNode<Number> tmp881;
7199 : compiler::TNode<Object> tmp882;
7200 : compiler::TNode<Object> tmp883;
7201 : compiler::TNode<BuiltinPtr> tmp884;
7202 : compiler::TNode<Map> tmp885;
7203 : compiler::TNode<UintPtrT> tmp886;
7204 : compiler::TNode<IntPtrT> tmp887;
7205 : compiler::TNode<IntPtrT> tmp888;
7206 : compiler::TNode<BuiltinPtr> tmp889;
7207 : compiler::TNode<FixedArray> tmp890;
7208 : compiler::TNode<IntPtrT> tmp891;
7209 : compiler::TNode<IntPtrT> tmp892;
7210 : compiler::TNode<BoolT> tmp893;
7211 : compiler::TNode<UintPtrT> tmp894;
7212 : compiler::TNode<IntPtrT> tmp895;
7213 : compiler::TNode<IntPtrT> tmp896;
7214 : compiler::TNode<Context> tmp897;
7215 : compiler::TNode<IntPtrT> tmp898;
7216 : compiler::TNode<IntPtrT> tmp899;
7217 : compiler::TNode<BoolT> tmp900;
7218 : ca_.Bind(&block40, &tmp878, &tmp879, &tmp880, &tmp881, &tmp882, &tmp883, &tmp884, &tmp885, &tmp886, &tmp887, &tmp888, &tmp889, &tmp890, &tmp891, &tmp892, &tmp893, &tmp894, &tmp895, &tmp896, &tmp897, &tmp898, &tmp899, &tmp900);
7219 : compiler::TNode<IntPtrT> tmp901;
7220 : USE(tmp901);
7221 336 : tmp901 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
7222 : compiler::TNode<BoolT> tmp902;
7223 : USE(tmp902);
7224 336 : tmp902 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp899}, compiler::TNode<IntPtrT>{tmp901}));
7225 112 : ca_.Branch(tmp902, &block38, &block39, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889, tmp890, tmp891, tmp892, tmp893, tmp894, tmp895, tmp896, tmp897, tmp898, tmp899, tmp900);
7226 : }
7227 :
7228 112 : if (block38.is_used()) {
7229 : compiler::TNode<Context> tmp903;
7230 : compiler::TNode<JSReceiver> tmp904;
7231 : compiler::TNode<String> tmp905;
7232 : compiler::TNode<Number> tmp906;
7233 : compiler::TNode<Object> tmp907;
7234 : compiler::TNode<Object> tmp908;
7235 : compiler::TNode<BuiltinPtr> tmp909;
7236 : compiler::TNode<Map> tmp910;
7237 : compiler::TNode<UintPtrT> tmp911;
7238 : compiler::TNode<IntPtrT> tmp912;
7239 : compiler::TNode<IntPtrT> tmp913;
7240 : compiler::TNode<BuiltinPtr> tmp914;
7241 : compiler::TNode<FixedArray> tmp915;
7242 : compiler::TNode<IntPtrT> tmp916;
7243 : compiler::TNode<IntPtrT> tmp917;
7244 : compiler::TNode<BoolT> tmp918;
7245 : compiler::TNode<UintPtrT> tmp919;
7246 : compiler::TNode<IntPtrT> tmp920;
7247 : compiler::TNode<IntPtrT> tmp921;
7248 : compiler::TNode<Context> tmp922;
7249 : compiler::TNode<IntPtrT> tmp923;
7250 : compiler::TNode<IntPtrT> tmp924;
7251 : compiler::TNode<BoolT> tmp925;
7252 : ca_.Bind(&block38, &tmp903, &tmp904, &tmp905, &tmp906, &tmp907, &tmp908, &tmp909, &tmp910, &tmp911, &tmp912, &tmp913, &tmp914, &tmp915, &tmp916, &tmp917, &tmp918, &tmp919, &tmp920, &tmp921, &tmp922, &tmp923, &tmp924, &tmp925);
7253 : ca_.Goto(&block37, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919, tmp920, tmp921, tmp922, tmp923, tmp924, tmp925);
7254 : }
7255 :
7256 112 : if (block39.is_used()) {
7257 : compiler::TNode<Context> tmp926;
7258 : compiler::TNode<JSReceiver> tmp927;
7259 : compiler::TNode<String> tmp928;
7260 : compiler::TNode<Number> tmp929;
7261 : compiler::TNode<Object> tmp930;
7262 : compiler::TNode<Object> tmp931;
7263 : compiler::TNode<BuiltinPtr> tmp932;
7264 : compiler::TNode<Map> tmp933;
7265 : compiler::TNode<UintPtrT> tmp934;
7266 : compiler::TNode<IntPtrT> tmp935;
7267 : compiler::TNode<IntPtrT> tmp936;
7268 : compiler::TNode<BuiltinPtr> tmp937;
7269 : compiler::TNode<FixedArray> tmp938;
7270 : compiler::TNode<IntPtrT> tmp939;
7271 : compiler::TNode<IntPtrT> tmp940;
7272 : compiler::TNode<BoolT> tmp941;
7273 : compiler::TNode<UintPtrT> tmp942;
7274 : compiler::TNode<IntPtrT> tmp943;
7275 : compiler::TNode<IntPtrT> tmp944;
7276 : compiler::TNode<Context> tmp945;
7277 : compiler::TNode<IntPtrT> tmp946;
7278 : compiler::TNode<IntPtrT> tmp947;
7279 : compiler::TNode<BoolT> tmp948;
7280 : ca_.Bind(&block39, &tmp926, &tmp927, &tmp928, &tmp929, &tmp930, &tmp931, &tmp932, &tmp933, &tmp934, &tmp935, &tmp936, &tmp937, &tmp938, &tmp939, &tmp940, &tmp941, &tmp942, &tmp943, &tmp944, &tmp945, &tmp946, &tmp947, &tmp948);
7281 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
7282 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
7283 : compiler::TNode<IntPtrT> tmp949;
7284 : USE(tmp949);
7285 224 : tmp949 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp947}, compiler::TNode<IntPtrT>{tmp946}));
7286 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
7287 : compiler::TNode<IntPtrT> tmp950;
7288 : USE(tmp950);
7289 224 : tmp950 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp949}, compiler::TNode<IntPtrT>{tmp947}));
7290 : compiler::TNode<BoolT> tmp951;
7291 : USE(tmp951);
7292 336 : tmp951 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp950}, compiler::TNode<IntPtrT>{tmp946}));
7293 112 : ca_.Branch(tmp951, &block41, &block42, tmp926, tmp927, tmp928, tmp929, tmp930, tmp931, tmp932, tmp933, tmp934, tmp935, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp946, tmp947, tmp948, tmp946, tmp949);
7294 : }
7295 :
7296 112 : if (block41.is_used()) {
7297 : compiler::TNode<Context> tmp952;
7298 : compiler::TNode<JSReceiver> tmp953;
7299 : compiler::TNode<String> tmp954;
7300 : compiler::TNode<Number> tmp955;
7301 : compiler::TNode<Object> tmp956;
7302 : compiler::TNode<Object> tmp957;
7303 : compiler::TNode<BuiltinPtr> tmp958;
7304 : compiler::TNode<Map> tmp959;
7305 : compiler::TNode<UintPtrT> tmp960;
7306 : compiler::TNode<IntPtrT> tmp961;
7307 : compiler::TNode<IntPtrT> tmp962;
7308 : compiler::TNode<BuiltinPtr> tmp963;
7309 : compiler::TNode<FixedArray> tmp964;
7310 : compiler::TNode<IntPtrT> tmp965;
7311 : compiler::TNode<IntPtrT> tmp966;
7312 : compiler::TNode<BoolT> tmp967;
7313 : compiler::TNode<UintPtrT> tmp968;
7314 : compiler::TNode<IntPtrT> tmp969;
7315 : compiler::TNode<IntPtrT> tmp970;
7316 : compiler::TNode<Context> tmp971;
7317 : compiler::TNode<IntPtrT> tmp972;
7318 : compiler::TNode<IntPtrT> tmp973;
7319 : compiler::TNode<BoolT> tmp974;
7320 : compiler::TNode<IntPtrT> tmp975;
7321 : compiler::TNode<IntPtrT> tmp976;
7322 : ca_.Bind(&block41, &tmp952, &tmp953, &tmp954, &tmp955, &tmp956, &tmp957, &tmp958, &tmp959, &tmp960, &tmp961, &tmp962, &tmp963, &tmp964, &tmp965, &tmp966, &tmp967, &tmp968, &tmp969, &tmp970, &tmp971, &tmp972, &tmp973, &tmp974, &tmp975, &tmp976);
7323 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
7324 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp971);
7325 224 : CodeStubAssembler(state_).Unreachable();
7326 : }
7327 :
7328 112 : if (block42.is_used()) {
7329 : compiler::TNode<Context> tmp978;
7330 : compiler::TNode<JSReceiver> tmp979;
7331 : compiler::TNode<String> tmp980;
7332 : compiler::TNode<Number> tmp981;
7333 : compiler::TNode<Object> tmp982;
7334 : compiler::TNode<Object> tmp983;
7335 : compiler::TNode<BuiltinPtr> tmp984;
7336 : compiler::TNode<Map> tmp985;
7337 : compiler::TNode<UintPtrT> tmp986;
7338 : compiler::TNode<IntPtrT> tmp987;
7339 : compiler::TNode<IntPtrT> tmp988;
7340 : compiler::TNode<BuiltinPtr> tmp989;
7341 : compiler::TNode<FixedArray> tmp990;
7342 : compiler::TNode<IntPtrT> tmp991;
7343 : compiler::TNode<IntPtrT> tmp992;
7344 : compiler::TNode<BoolT> tmp993;
7345 : compiler::TNode<UintPtrT> tmp994;
7346 : compiler::TNode<IntPtrT> tmp995;
7347 : compiler::TNode<IntPtrT> tmp996;
7348 : compiler::TNode<Context> tmp997;
7349 : compiler::TNode<IntPtrT> tmp998;
7350 : compiler::TNode<IntPtrT> tmp999;
7351 : compiler::TNode<BoolT> tmp1000;
7352 : compiler::TNode<IntPtrT> tmp1001;
7353 : compiler::TNode<IntPtrT> tmp1002;
7354 : ca_.Bind(&block42, &tmp978, &tmp979, &tmp980, &tmp981, &tmp982, &tmp983, &tmp984, &tmp985, &tmp986, &tmp987, &tmp988, &tmp989, &tmp990, &tmp991, &tmp992, &tmp993, &tmp994, &tmp995, &tmp996, &tmp997, &tmp998, &tmp999, &tmp1000, &tmp1001, &tmp1002);
7355 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
7356 : compiler::TNode<IntPtrT> tmp1003;
7357 : USE(tmp1003);
7358 336 : tmp1003 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp997}, compiler::TNode<IntPtrT>{tmp992}, compiler::TNode<IntPtrT>{tmp1002}));
7359 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
7360 112 : ca_.Branch(tmp1000, &block43, &block44, tmp978, tmp979, tmp980, tmp981, tmp982, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989, tmp990, tmp991, tmp1003, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001, tmp1002);
7361 : }
7362 :
7363 112 : if (block43.is_used()) {
7364 : compiler::TNode<Context> tmp1004;
7365 : compiler::TNode<JSReceiver> tmp1005;
7366 : compiler::TNode<String> tmp1006;
7367 : compiler::TNode<Number> tmp1007;
7368 : compiler::TNode<Object> tmp1008;
7369 : compiler::TNode<Object> tmp1009;
7370 : compiler::TNode<BuiltinPtr> tmp1010;
7371 : compiler::TNode<Map> tmp1011;
7372 : compiler::TNode<UintPtrT> tmp1012;
7373 : compiler::TNode<IntPtrT> tmp1013;
7374 : compiler::TNode<IntPtrT> tmp1014;
7375 : compiler::TNode<BuiltinPtr> tmp1015;
7376 : compiler::TNode<FixedArray> tmp1016;
7377 : compiler::TNode<IntPtrT> tmp1017;
7378 : compiler::TNode<IntPtrT> tmp1018;
7379 : compiler::TNode<BoolT> tmp1019;
7380 : compiler::TNode<UintPtrT> tmp1020;
7381 : compiler::TNode<IntPtrT> tmp1021;
7382 : compiler::TNode<IntPtrT> tmp1022;
7383 : compiler::TNode<Context> tmp1023;
7384 : compiler::TNode<IntPtrT> tmp1024;
7385 : compiler::TNode<IntPtrT> tmp1025;
7386 : compiler::TNode<BoolT> tmp1026;
7387 : compiler::TNode<IntPtrT> tmp1027;
7388 : compiler::TNode<IntPtrT> tmp1028;
7389 : ca_.Bind(&block43, &tmp1004, &tmp1005, &tmp1006, &tmp1007, &tmp1008, &tmp1009, &tmp1010, &tmp1011, &tmp1012, &tmp1013, &tmp1014, &tmp1015, &tmp1016, &tmp1017, &tmp1018, &tmp1019, &tmp1020, &tmp1021, &tmp1022, &tmp1023, &tmp1024, &tmp1025, &tmp1026, &tmp1027, &tmp1028);
7390 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
7391 : compiler::TNode<IntPtrT> tmp1029;
7392 : USE(tmp1029);
7393 336 : tmp1029 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
7394 : compiler::TNode<IntPtrT> tmp1030;
7395 : USE(tmp1030);
7396 224 : tmp1030 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<IntPtrT>{tmp1029}));
7397 : compiler::TNode<Smi> tmp1031;
7398 : USE(tmp1031);
7399 336 : tmp1031 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1027}));
7400 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
7401 : compiler::TNode<FixedArray> tmp1032;
7402 : USE(tmp1032);
7403 336 : tmp1032 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1016}, compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<Smi>{tmp1031}));
7404 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
7405 : ca_.Goto(&block44, tmp1004, tmp1005, tmp1006, tmp1007, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1015, tmp1032, tmp1030, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027, tmp1028);
7406 : }
7407 :
7408 112 : if (block44.is_used()) {
7409 : compiler::TNode<Context> tmp1033;
7410 : compiler::TNode<JSReceiver> tmp1034;
7411 : compiler::TNode<String> tmp1035;
7412 : compiler::TNode<Number> tmp1036;
7413 : compiler::TNode<Object> tmp1037;
7414 : compiler::TNode<Object> tmp1038;
7415 : compiler::TNode<BuiltinPtr> tmp1039;
7416 : compiler::TNode<Map> tmp1040;
7417 : compiler::TNode<UintPtrT> tmp1041;
7418 : compiler::TNode<IntPtrT> tmp1042;
7419 : compiler::TNode<IntPtrT> tmp1043;
7420 : compiler::TNode<BuiltinPtr> tmp1044;
7421 : compiler::TNode<FixedArray> tmp1045;
7422 : compiler::TNode<IntPtrT> tmp1046;
7423 : compiler::TNode<IntPtrT> tmp1047;
7424 : compiler::TNode<BoolT> tmp1048;
7425 : compiler::TNode<UintPtrT> tmp1049;
7426 : compiler::TNode<IntPtrT> tmp1050;
7427 : compiler::TNode<IntPtrT> tmp1051;
7428 : compiler::TNode<Context> tmp1052;
7429 : compiler::TNode<IntPtrT> tmp1053;
7430 : compiler::TNode<IntPtrT> tmp1054;
7431 : compiler::TNode<BoolT> tmp1055;
7432 : compiler::TNode<IntPtrT> tmp1056;
7433 : compiler::TNode<IntPtrT> tmp1057;
7434 : ca_.Bind(&block44, &tmp1033, &tmp1034, &tmp1035, &tmp1036, &tmp1037, &tmp1038, &tmp1039, &tmp1040, &tmp1041, &tmp1042, &tmp1043, &tmp1044, &tmp1045, &tmp1046, &tmp1047, &tmp1048, &tmp1049, &tmp1050, &tmp1051, &tmp1052, &tmp1053, &tmp1054, &tmp1055, &tmp1056, &tmp1057);
7435 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
7436 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
7437 : ca_.Goto(&block37, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1054, tmp1055);
7438 : }
7439 :
7440 112 : if (block37.is_used()) {
7441 : compiler::TNode<Context> tmp1058;
7442 : compiler::TNode<JSReceiver> tmp1059;
7443 : compiler::TNode<String> tmp1060;
7444 : compiler::TNode<Number> tmp1061;
7445 : compiler::TNode<Object> tmp1062;
7446 : compiler::TNode<Object> tmp1063;
7447 : compiler::TNode<BuiltinPtr> tmp1064;
7448 : compiler::TNode<Map> tmp1065;
7449 : compiler::TNode<UintPtrT> tmp1066;
7450 : compiler::TNode<IntPtrT> tmp1067;
7451 : compiler::TNode<IntPtrT> tmp1068;
7452 : compiler::TNode<BuiltinPtr> tmp1069;
7453 : compiler::TNode<FixedArray> tmp1070;
7454 : compiler::TNode<IntPtrT> tmp1071;
7455 : compiler::TNode<IntPtrT> tmp1072;
7456 : compiler::TNode<BoolT> tmp1073;
7457 : compiler::TNode<UintPtrT> tmp1074;
7458 : compiler::TNode<IntPtrT> tmp1075;
7459 : compiler::TNode<IntPtrT> tmp1076;
7460 : compiler::TNode<Context> tmp1077;
7461 : compiler::TNode<IntPtrT> tmp1078;
7462 : compiler::TNode<IntPtrT> tmp1079;
7463 : compiler::TNode<BoolT> tmp1080;
7464 : ca_.Bind(&block37, &tmp1058, &tmp1059, &tmp1060, &tmp1061, &tmp1062, &tmp1063, &tmp1064, &tmp1065, &tmp1066, &tmp1067, &tmp1068, &tmp1069, &tmp1070, &tmp1071, &tmp1072, &tmp1073, &tmp1074, &tmp1075, &tmp1076, &tmp1077, &tmp1078, &tmp1079, &tmp1080);
7465 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
7466 : compiler::TNode<String> tmp1081;
7467 : USE(tmp1081);
7468 336 : tmp1081 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).BufferJoin(compiler::TNode<Context>{tmp1058}, ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp1070}, compiler::TNode<IntPtrT>{tmp1071}, compiler::TNode<IntPtrT>{tmp1072}, compiler::TNode<BoolT>{tmp1073}}, compiler::TNode<String>{tmp1060}));
7469 : ca_.Goto(&block1, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1064, tmp1081);
7470 : }
7471 :
7472 112 : if (block1.is_used()) {
7473 : compiler::TNode<Context> tmp1082;
7474 : compiler::TNode<JSReceiver> tmp1083;
7475 : compiler::TNode<String> tmp1084;
7476 : compiler::TNode<Number> tmp1085;
7477 : compiler::TNode<Object> tmp1086;
7478 : compiler::TNode<Object> tmp1087;
7479 : compiler::TNode<BuiltinPtr> tmp1088;
7480 : compiler::TNode<String> tmp1089;
7481 : ca_.Bind(&block1, &tmp1082, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088, &tmp1089);
7482 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 262);
7483 : ca_.Goto(&block45, tmp1082, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088, tmp1089);
7484 : }
7485 :
7486 : compiler::TNode<Context> tmp1090;
7487 : compiler::TNode<JSReceiver> tmp1091;
7488 : compiler::TNode<String> tmp1092;
7489 : compiler::TNode<Number> tmp1093;
7490 : compiler::TNode<Object> tmp1094;
7491 : compiler::TNode<Object> tmp1095;
7492 : compiler::TNode<BuiltinPtr> tmp1096;
7493 : compiler::TNode<String> tmp1097;
7494 : ca_.Bind(&block45, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096, &tmp1097);
7495 224 : return compiler::TNode<String>{tmp1097};
7496 : }
7497 :
7498 56 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<JSReceiver> p_element) {
7499 56 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7500 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7501 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7502 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7503 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7504 : ca_.Goto(&block0, p_fixedArray, p_index, p_element);
7505 :
7506 56 : if (block0.is_used()) {
7507 : compiler::TNode<FixedArray> tmp0;
7508 : compiler::TNode<IntPtrT> tmp1;
7509 : compiler::TNode<JSReceiver> tmp2;
7510 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
7511 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
7512 : compiler::TNode<IntPtrT> tmp3;
7513 : USE(tmp3);
7514 112 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
7515 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
7516 : compiler::TNode<BoolT> tmp4;
7517 : USE(tmp4);
7518 168 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
7519 56 : ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
7520 : }
7521 :
7522 56 : if (block2.is_used()) {
7523 : compiler::TNode<FixedArray> tmp5;
7524 : compiler::TNode<IntPtrT> tmp6;
7525 : compiler::TNode<JSReceiver> tmp7;
7526 : compiler::TNode<IntPtrT> tmp8;
7527 : ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
7528 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
7529 112 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
7530 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
7531 : ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
7532 : }
7533 :
7534 56 : if (block3.is_used()) {
7535 : compiler::TNode<FixedArray> tmp9;
7536 : compiler::TNode<IntPtrT> tmp10;
7537 : compiler::TNode<JSReceiver> tmp11;
7538 : compiler::TNode<IntPtrT> tmp12;
7539 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
7540 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
7541 : compiler::TNode<IntPtrT> tmp13;
7542 : USE(tmp13);
7543 112 : tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
7544 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
7545 : compiler::TNode<IntPtrT> tmp14;
7546 : USE(tmp14);
7547 168 : tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
7548 : compiler::TNode<FixedArray> tmp15;
7549 : USE(tmp15);
7550 112 : tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArray>{tmp9}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp12}, compiler::TNode<IntPtrT>{tmp13}, CodeStubAssembler::ExtractFixedArrayFlag::kFixedArrays));
7551 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
7552 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
7553 112 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
7554 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
7555 : ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
7556 : }
7557 :
7558 56 : if (block1.is_used()) {
7559 : compiler::TNode<FixedArray> tmp16;
7560 : compiler::TNode<IntPtrT> tmp17;
7561 : compiler::TNode<JSReceiver> tmp18;
7562 : compiler::TNode<FixedArray> tmp19;
7563 : ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
7564 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
7565 : ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
7566 : }
7567 :
7568 : compiler::TNode<FixedArray> tmp20;
7569 : compiler::TNode<IntPtrT> tmp21;
7570 : compiler::TNode<JSReceiver> tmp22;
7571 : compiler::TNode<FixedArray> tmp23;
7572 : ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
7573 112 : return compiler::TNode<FixedArray>{tmp23};
7574 : }
7575 :
7576 112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::CycleProtectedArrayJoin7JSArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_len, compiler::TNode<Object> p_sepObj, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
7577 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7578 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7579 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7580 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7581 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7582 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7583 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7584 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7585 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7586 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7587 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7588 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7589 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7590 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7591 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7592 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7593 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7594 : ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
7595 :
7596 112 : if (block0.is_used()) {
7597 : compiler::TNode<Context> tmp0;
7598 : compiler::TNode<JSReceiver> tmp1;
7599 : compiler::TNode<Number> tmp2;
7600 : compiler::TNode<Object> tmp3;
7601 : compiler::TNode<Object> tmp4;
7602 : compiler::TNode<Object> tmp5;
7603 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
7604 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 539);
7605 : compiler::TNode<Oddball> tmp6;
7606 : USE(tmp6);
7607 336 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
7608 : compiler::TNode<BoolT> tmp7;
7609 : USE(tmp7);
7610 224 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
7611 112 : ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
7612 : }
7613 :
7614 112 : if (block2.is_used()) {
7615 : compiler::TNode<Context> tmp8;
7616 : compiler::TNode<JSReceiver> tmp9;
7617 : compiler::TNode<Number> tmp10;
7618 : compiler::TNode<Object> tmp11;
7619 : compiler::TNode<Object> tmp12;
7620 : compiler::TNode<Object> tmp13;
7621 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
7622 : ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
7623 : }
7624 :
7625 112 : if (block3.is_used()) {
7626 : compiler::TNode<Context> tmp14;
7627 : compiler::TNode<JSReceiver> tmp15;
7628 : compiler::TNode<Number> tmp16;
7629 : compiler::TNode<Object> tmp17;
7630 : compiler::TNode<Object> tmp18;
7631 : compiler::TNode<Object> tmp19;
7632 : ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
7633 : compiler::TNode<String> tmp20;
7634 : USE(tmp20);
7635 448 : tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
7636 : ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
7637 : }
7638 :
7639 112 : if (block5.is_used()) {
7640 : compiler::TNode<Context> tmp21;
7641 : compiler::TNode<JSReceiver> tmp22;
7642 : compiler::TNode<Number> tmp23;
7643 : compiler::TNode<Object> tmp24;
7644 : compiler::TNode<Object> tmp25;
7645 : compiler::TNode<Object> tmp26;
7646 : ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
7647 : compiler::TNode<String> tmp27;
7648 : USE(tmp27);
7649 336 : tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6String18ATconstexpr_string(","));
7650 : ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
7651 : }
7652 :
7653 112 : if (block4.is_used()) {
7654 : compiler::TNode<Context> tmp28;
7655 : compiler::TNode<JSReceiver> tmp29;
7656 : compiler::TNode<Number> tmp30;
7657 : compiler::TNode<Object> tmp31;
7658 : compiler::TNode<Object> tmp32;
7659 : compiler::TNode<Object> tmp33;
7660 : compiler::TNode<String> tmp34;
7661 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
7662 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 538);
7663 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
7664 : compiler::TNode<Number> tmp35;
7665 : USE(tmp35);
7666 336 : tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
7667 112 : compiler::CodeAssemblerLabel label0(&ca_);
7668 112 : compiler::CodeAssemblerLabel label1(&ca_);
7669 224 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
7670 112 : if (label0.is_used()) {
7671 112 : ca_.Bind(&label0);
7672 : ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
7673 : }
7674 112 : if (label1.is_used()) {
7675 112 : ca_.Bind(&label1);
7676 : ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
7677 : }
7678 : }
7679 :
7680 112 : if (block9.is_used()) {
7681 : compiler::TNode<Context> tmp36;
7682 : compiler::TNode<JSReceiver> tmp37;
7683 : compiler::TNode<Number> tmp38;
7684 : compiler::TNode<Object> tmp39;
7685 : compiler::TNode<Object> tmp40;
7686 : compiler::TNode<Object> tmp41;
7687 : compiler::TNode<String> tmp42;
7688 : compiler::TNode<Number> tmp43;
7689 : ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
7690 : ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
7691 : }
7692 :
7693 112 : if (block10.is_used()) {
7694 : compiler::TNode<Context> tmp44;
7695 : compiler::TNode<JSReceiver> tmp45;
7696 : compiler::TNode<Number> tmp46;
7697 : compiler::TNode<Object> tmp47;
7698 : compiler::TNode<Object> tmp48;
7699 : compiler::TNode<Object> tmp49;
7700 : compiler::TNode<String> tmp50;
7701 : compiler::TNode<Number> tmp51;
7702 : ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
7703 : ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
7704 : }
7705 :
7706 112 : if (block8.is_used()) {
7707 : compiler::TNode<Context> tmp52;
7708 : compiler::TNode<JSReceiver> tmp53;
7709 : compiler::TNode<Number> tmp54;
7710 : compiler::TNode<Object> tmp55;
7711 : compiler::TNode<Object> tmp56;
7712 : compiler::TNode<Object> tmp57;
7713 : compiler::TNode<String> tmp58;
7714 : ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
7715 112 : compiler::CodeAssemblerLabel label0(&ca_);
7716 112 : compiler::CodeAssemblerLabel label1(&ca_);
7717 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
7718 112 : if (label0.is_used()) {
7719 112 : ca_.Bind(&label0);
7720 : ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
7721 : }
7722 112 : if (label1.is_used()) {
7723 112 : ca_.Bind(&label1);
7724 : ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
7725 : }
7726 : }
7727 :
7728 112 : if (block11.is_used()) {
7729 : compiler::TNode<Context> tmp59;
7730 : compiler::TNode<JSReceiver> tmp60;
7731 : compiler::TNode<Number> tmp61;
7732 : compiler::TNode<Object> tmp62;
7733 : compiler::TNode<Object> tmp63;
7734 : compiler::TNode<Object> tmp64;
7735 : compiler::TNode<String> tmp65;
7736 : compiler::TNode<JSReceiver> tmp66;
7737 : ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
7738 : ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
7739 : }
7740 :
7741 112 : if (block12.is_used()) {
7742 : compiler::TNode<Context> tmp67;
7743 : compiler::TNode<JSReceiver> tmp68;
7744 : compiler::TNode<Number> tmp69;
7745 : compiler::TNode<Object> tmp70;
7746 : compiler::TNode<Object> tmp71;
7747 : compiler::TNode<Object> tmp72;
7748 : compiler::TNode<String> tmp73;
7749 : compiler::TNode<JSReceiver> tmp74;
7750 : ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
7751 : ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
7752 : }
7753 :
7754 112 : if (block6.is_used()) {
7755 : compiler::TNode<Context> tmp75;
7756 : compiler::TNode<JSReceiver> tmp76;
7757 : compiler::TNode<Number> tmp77;
7758 : compiler::TNode<Object> tmp78;
7759 : compiler::TNode<Object> tmp79;
7760 : compiler::TNode<Object> tmp80;
7761 : compiler::TNode<String> tmp81;
7762 : ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
7763 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
7764 : compiler::TNode<Object> tmp82;
7765 : USE(tmp82);
7766 : compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7767 224 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
7768 336 : tmp82 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoin7JSArray(compiler::TNode<Context>{tmp75}, p_useToLocaleString, compiler::TNode<JSReceiver>{tmp76}, compiler::TNode<String>{tmp81}, compiler::TNode<Number>{tmp77}, compiler::TNode<Object>{tmp79}, compiler::TNode<Object>{tmp80}));
7769 : }
7770 112 : if (catch83_label.is_used()) {
7771 112 : compiler::CodeAssemblerLabel catch83_skip(&ca_);
7772 112 : ca_.Goto(&catch83_skip);
7773 : compiler::TNode<Object> catch83_exception_object;
7774 : ca_.Bind(&catch83_label, &catch83_exception_object);
7775 : ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
7776 112 : ca_.Bind(&catch83_skip);
7777 : }
7778 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
7779 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
7780 : compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7781 224 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
7782 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
7783 : }
7784 112 : if (catch84_label.is_used()) {
7785 112 : compiler::CodeAssemblerLabel catch84_skip(&ca_);
7786 112 : ca_.Goto(&catch84_skip);
7787 : compiler::TNode<Object> catch84_exception_object;
7788 : ca_.Bind(&catch84_label, &catch84_exception_object);
7789 : ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
7790 112 : ca_.Bind(&catch84_skip);
7791 : }
7792 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
7793 : ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
7794 : }
7795 :
7796 112 : if (block16.is_used()) {
7797 : compiler::TNode<Context> tmp85;
7798 : compiler::TNode<JSReceiver> tmp86;
7799 : compiler::TNode<Number> tmp87;
7800 : compiler::TNode<Object> tmp88;
7801 : compiler::TNode<Object> tmp89;
7802 : compiler::TNode<Object> tmp90;
7803 : compiler::TNode<String> tmp91;
7804 : compiler::TNode<JSReceiver> tmp92;
7805 : compiler::TNode<String> tmp93;
7806 : compiler::TNode<Number> tmp94;
7807 : compiler::TNode<Object> tmp95;
7808 : compiler::TNode<Object> tmp96;
7809 : compiler::TNode<Object> tmp97;
7810 : ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
7811 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
7812 : ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
7813 : }
7814 :
7815 112 : if (block17.is_used()) {
7816 : compiler::TNode<Context> tmp98;
7817 : compiler::TNode<JSReceiver> tmp99;
7818 : compiler::TNode<Number> tmp100;
7819 : compiler::TNode<Object> tmp101;
7820 : compiler::TNode<Object> tmp102;
7821 : compiler::TNode<Object> tmp103;
7822 : compiler::TNode<String> tmp104;
7823 : compiler::TNode<Object> tmp105;
7824 : compiler::TNode<JSReceiver> tmp106;
7825 : compiler::TNode<Object> tmp107;
7826 : ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
7827 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
7828 : ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
7829 : }
7830 :
7831 112 : if (block15.is_used()) {
7832 : compiler::TNode<Context> tmp108;
7833 : compiler::TNode<JSReceiver> tmp109;
7834 : compiler::TNode<Number> tmp110;
7835 : compiler::TNode<Object> tmp111;
7836 : compiler::TNode<Object> tmp112;
7837 : compiler::TNode<Object> tmp113;
7838 : compiler::TNode<String> tmp114;
7839 : compiler::TNode<Object> tmp115;
7840 : ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
7841 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 550);
7842 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
7843 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
7844 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
7845 224 : CodeStubAssembler(state_).Unreachable();
7846 : }
7847 :
7848 112 : if (block7.is_used()) {
7849 : compiler::TNode<Context> tmp117;
7850 : compiler::TNode<JSReceiver> tmp118;
7851 : compiler::TNode<Number> tmp119;
7852 : compiler::TNode<Object> tmp120;
7853 : compiler::TNode<Object> tmp121;
7854 : compiler::TNode<Object> tmp122;
7855 : compiler::TNode<String> tmp123;
7856 : ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
7857 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 554);
7858 : compiler::TNode<String> tmp124;
7859 : USE(tmp124);
7860 336 : tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
7861 : ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
7862 : }
7863 :
7864 112 : if (block1.is_used()) {
7865 : compiler::TNode<Context> tmp125;
7866 : compiler::TNode<JSReceiver> tmp126;
7867 : compiler::TNode<Number> tmp127;
7868 : compiler::TNode<Object> tmp128;
7869 : compiler::TNode<Object> tmp129;
7870 : compiler::TNode<Object> tmp130;
7871 : compiler::TNode<Object> tmp131;
7872 : ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
7873 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 532);
7874 : ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
7875 : }
7876 :
7877 : compiler::TNode<Context> tmp132;
7878 : compiler::TNode<JSReceiver> tmp133;
7879 : compiler::TNode<Number> tmp134;
7880 : compiler::TNode<Object> tmp135;
7881 : compiler::TNode<Object> tmp136;
7882 : compiler::TNode<Object> tmp137;
7883 : compiler::TNode<Object> tmp138;
7884 : ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
7885 224 : return compiler::TNode<Object>{tmp138};
7886 : }
7887 :
7888 112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_len, compiler::TNode<Object> p_sepObj, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
7889 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7890 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7891 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7892 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7893 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7894 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7895 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7897 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7898 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7899 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7900 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7901 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7902 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7903 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7904 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7905 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7906 : ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
7907 :
7908 112 : if (block0.is_used()) {
7909 : compiler::TNode<Context> tmp0;
7910 : compiler::TNode<JSReceiver> tmp1;
7911 : compiler::TNode<Number> tmp2;
7912 : compiler::TNode<Object> tmp3;
7913 : compiler::TNode<Object> tmp4;
7914 : compiler::TNode<Object> tmp5;
7915 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
7916 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 539);
7917 : compiler::TNode<Oddball> tmp6;
7918 : USE(tmp6);
7919 336 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
7920 : compiler::TNode<BoolT> tmp7;
7921 : USE(tmp7);
7922 224 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
7923 112 : ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
7924 : }
7925 :
7926 112 : if (block2.is_used()) {
7927 : compiler::TNode<Context> tmp8;
7928 : compiler::TNode<JSReceiver> tmp9;
7929 : compiler::TNode<Number> tmp10;
7930 : compiler::TNode<Object> tmp11;
7931 : compiler::TNode<Object> tmp12;
7932 : compiler::TNode<Object> tmp13;
7933 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
7934 : ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
7935 : }
7936 :
7937 112 : if (block3.is_used()) {
7938 : compiler::TNode<Context> tmp14;
7939 : compiler::TNode<JSReceiver> tmp15;
7940 : compiler::TNode<Number> tmp16;
7941 : compiler::TNode<Object> tmp17;
7942 : compiler::TNode<Object> tmp18;
7943 : compiler::TNode<Object> tmp19;
7944 : ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
7945 : compiler::TNode<String> tmp20;
7946 : USE(tmp20);
7947 448 : tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
7948 : ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
7949 : }
7950 :
7951 112 : if (block5.is_used()) {
7952 : compiler::TNode<Context> tmp21;
7953 : compiler::TNode<JSReceiver> tmp22;
7954 : compiler::TNode<Number> tmp23;
7955 : compiler::TNode<Object> tmp24;
7956 : compiler::TNode<Object> tmp25;
7957 : compiler::TNode<Object> tmp26;
7958 : ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
7959 : compiler::TNode<String> tmp27;
7960 : USE(tmp27);
7961 336 : tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6String18ATconstexpr_string(","));
7962 : ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
7963 : }
7964 :
7965 112 : if (block4.is_used()) {
7966 : compiler::TNode<Context> tmp28;
7967 : compiler::TNode<JSReceiver> tmp29;
7968 : compiler::TNode<Number> tmp30;
7969 : compiler::TNode<Object> tmp31;
7970 : compiler::TNode<Object> tmp32;
7971 : compiler::TNode<Object> tmp33;
7972 : compiler::TNode<String> tmp34;
7973 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
7974 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 538);
7975 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
7976 : compiler::TNode<Number> tmp35;
7977 : USE(tmp35);
7978 336 : tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
7979 112 : compiler::CodeAssemblerLabel label0(&ca_);
7980 112 : compiler::CodeAssemblerLabel label1(&ca_);
7981 224 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
7982 112 : if (label0.is_used()) {
7983 112 : ca_.Bind(&label0);
7984 : ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
7985 : }
7986 112 : if (label1.is_used()) {
7987 112 : ca_.Bind(&label1);
7988 : ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
7989 : }
7990 : }
7991 :
7992 112 : if (block9.is_used()) {
7993 : compiler::TNode<Context> tmp36;
7994 : compiler::TNode<JSReceiver> tmp37;
7995 : compiler::TNode<Number> tmp38;
7996 : compiler::TNode<Object> tmp39;
7997 : compiler::TNode<Object> tmp40;
7998 : compiler::TNode<Object> tmp41;
7999 : compiler::TNode<String> tmp42;
8000 : compiler::TNode<Number> tmp43;
8001 : ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
8002 : ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
8003 : }
8004 :
8005 112 : if (block10.is_used()) {
8006 : compiler::TNode<Context> tmp44;
8007 : compiler::TNode<JSReceiver> tmp45;
8008 : compiler::TNode<Number> tmp46;
8009 : compiler::TNode<Object> tmp47;
8010 : compiler::TNode<Object> tmp48;
8011 : compiler::TNode<Object> tmp49;
8012 : compiler::TNode<String> tmp50;
8013 : compiler::TNode<Number> tmp51;
8014 : ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
8015 : ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
8016 : }
8017 :
8018 112 : if (block8.is_used()) {
8019 : compiler::TNode<Context> tmp52;
8020 : compiler::TNode<JSReceiver> tmp53;
8021 : compiler::TNode<Number> tmp54;
8022 : compiler::TNode<Object> tmp55;
8023 : compiler::TNode<Object> tmp56;
8024 : compiler::TNode<Object> tmp57;
8025 : compiler::TNode<String> tmp58;
8026 : ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
8027 112 : compiler::CodeAssemblerLabel label0(&ca_);
8028 112 : compiler::CodeAssemblerLabel label1(&ca_);
8029 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
8030 112 : if (label0.is_used()) {
8031 112 : ca_.Bind(&label0);
8032 : ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
8033 : }
8034 112 : if (label1.is_used()) {
8035 112 : ca_.Bind(&label1);
8036 : ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
8037 : }
8038 : }
8039 :
8040 112 : if (block11.is_used()) {
8041 : compiler::TNode<Context> tmp59;
8042 : compiler::TNode<JSReceiver> tmp60;
8043 : compiler::TNode<Number> tmp61;
8044 : compiler::TNode<Object> tmp62;
8045 : compiler::TNode<Object> tmp63;
8046 : compiler::TNode<Object> tmp64;
8047 : compiler::TNode<String> tmp65;
8048 : compiler::TNode<JSReceiver> tmp66;
8049 : ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
8050 : ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
8051 : }
8052 :
8053 112 : if (block12.is_used()) {
8054 : compiler::TNode<Context> tmp67;
8055 : compiler::TNode<JSReceiver> tmp68;
8056 : compiler::TNode<Number> tmp69;
8057 : compiler::TNode<Object> tmp70;
8058 : compiler::TNode<Object> tmp71;
8059 : compiler::TNode<Object> tmp72;
8060 : compiler::TNode<String> tmp73;
8061 : compiler::TNode<JSReceiver> tmp74;
8062 : ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
8063 : ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
8064 : }
8065 :
8066 112 : if (block6.is_used()) {
8067 : compiler::TNode<Context> tmp75;
8068 : compiler::TNode<JSReceiver> tmp76;
8069 : compiler::TNode<Number> tmp77;
8070 : compiler::TNode<Object> tmp78;
8071 : compiler::TNode<Object> tmp79;
8072 : compiler::TNode<Object> tmp80;
8073 : compiler::TNode<String> tmp81;
8074 : ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
8075 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
8076 : compiler::TNode<Object> tmp82;
8077 : USE(tmp82);
8078 : compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
8079 224 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
8080 336 : tmp82 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp75}, p_useToLocaleString, compiler::TNode<JSReceiver>{tmp76}, compiler::TNode<String>{tmp81}, compiler::TNode<Number>{tmp77}, compiler::TNode<Object>{tmp79}, compiler::TNode<Object>{tmp80}));
8081 : }
8082 112 : if (catch83_label.is_used()) {
8083 112 : compiler::CodeAssemblerLabel catch83_skip(&ca_);
8084 112 : ca_.Goto(&catch83_skip);
8085 : compiler::TNode<Object> catch83_exception_object;
8086 : ca_.Bind(&catch83_label, &catch83_exception_object);
8087 : ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
8088 112 : ca_.Bind(&catch83_skip);
8089 : }
8090 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
8091 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
8092 : compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
8093 224 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
8094 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
8095 : }
8096 112 : if (catch84_label.is_used()) {
8097 112 : compiler::CodeAssemblerLabel catch84_skip(&ca_);
8098 112 : ca_.Goto(&catch84_skip);
8099 : compiler::TNode<Object> catch84_exception_object;
8100 : ca_.Bind(&catch84_label, &catch84_exception_object);
8101 : ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
8102 112 : ca_.Bind(&catch84_skip);
8103 : }
8104 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
8105 : ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
8106 : }
8107 :
8108 112 : if (block16.is_used()) {
8109 : compiler::TNode<Context> tmp85;
8110 : compiler::TNode<JSReceiver> tmp86;
8111 : compiler::TNode<Number> tmp87;
8112 : compiler::TNode<Object> tmp88;
8113 : compiler::TNode<Object> tmp89;
8114 : compiler::TNode<Object> tmp90;
8115 : compiler::TNode<String> tmp91;
8116 : compiler::TNode<JSReceiver> tmp92;
8117 : compiler::TNode<String> tmp93;
8118 : compiler::TNode<Number> tmp94;
8119 : compiler::TNode<Object> tmp95;
8120 : compiler::TNode<Object> tmp96;
8121 : compiler::TNode<Object> tmp97;
8122 : ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
8123 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
8124 : ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
8125 : }
8126 :
8127 112 : if (block17.is_used()) {
8128 : compiler::TNode<Context> tmp98;
8129 : compiler::TNode<JSReceiver> tmp99;
8130 : compiler::TNode<Number> tmp100;
8131 : compiler::TNode<Object> tmp101;
8132 : compiler::TNode<Object> tmp102;
8133 : compiler::TNode<Object> tmp103;
8134 : compiler::TNode<String> tmp104;
8135 : compiler::TNode<Object> tmp105;
8136 : compiler::TNode<JSReceiver> tmp106;
8137 : compiler::TNode<Object> tmp107;
8138 : ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
8139 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
8140 : ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
8141 : }
8142 :
8143 112 : if (block15.is_used()) {
8144 : compiler::TNode<Context> tmp108;
8145 : compiler::TNode<JSReceiver> tmp109;
8146 : compiler::TNode<Number> tmp110;
8147 : compiler::TNode<Object> tmp111;
8148 : compiler::TNode<Object> tmp112;
8149 : compiler::TNode<Object> tmp113;
8150 : compiler::TNode<String> tmp114;
8151 : compiler::TNode<Object> tmp115;
8152 : ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
8153 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 550);
8154 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
8155 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
8156 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
8157 224 : CodeStubAssembler(state_).Unreachable();
8158 : }
8159 :
8160 112 : if (block7.is_used()) {
8161 : compiler::TNode<Context> tmp117;
8162 : compiler::TNode<JSReceiver> tmp118;
8163 : compiler::TNode<Number> tmp119;
8164 : compiler::TNode<Object> tmp120;
8165 : compiler::TNode<Object> tmp121;
8166 : compiler::TNode<Object> tmp122;
8167 : compiler::TNode<String> tmp123;
8168 : ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
8169 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 554);
8170 : compiler::TNode<String> tmp124;
8171 : USE(tmp124);
8172 336 : tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
8173 : ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
8174 : }
8175 :
8176 112 : if (block1.is_used()) {
8177 : compiler::TNode<Context> tmp125;
8178 : compiler::TNode<JSReceiver> tmp126;
8179 : compiler::TNode<Number> tmp127;
8180 : compiler::TNode<Object> tmp128;
8181 : compiler::TNode<Object> tmp129;
8182 : compiler::TNode<Object> tmp130;
8183 : compiler::TNode<Object> tmp131;
8184 : ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
8185 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 532);
8186 : ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
8187 : }
8188 :
8189 : compiler::TNode<Context> tmp132;
8190 : compiler::TNode<JSReceiver> tmp133;
8191 : compiler::TNode<Number> tmp134;
8192 : compiler::TNode<Object> tmp135;
8193 : compiler::TNode<Object> tmp136;
8194 : compiler::TNode<Object> tmp137;
8195 : compiler::TNode<Object> tmp138;
8196 : ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
8197 224 : return compiler::TNode<Object>{tmp138};
8198 : }
8199 :
8200 448 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<Smi> p_element) {
8201 448 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8202 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8203 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
8204 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8205 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8206 : ca_.Goto(&block0, p_fixedArray, p_index, p_element);
8207 :
8208 448 : if (block0.is_used()) {
8209 : compiler::TNode<FixedArray> tmp0;
8210 : compiler::TNode<IntPtrT> tmp1;
8211 : compiler::TNode<Smi> tmp2;
8212 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
8213 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
8214 : compiler::TNode<IntPtrT> tmp3;
8215 : USE(tmp3);
8216 896 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
8217 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
8218 : compiler::TNode<BoolT> tmp4;
8219 : USE(tmp4);
8220 1344 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
8221 448 : ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
8222 : }
8223 :
8224 448 : if (block2.is_used()) {
8225 : compiler::TNode<FixedArray> tmp5;
8226 : compiler::TNode<IntPtrT> tmp6;
8227 : compiler::TNode<Smi> tmp7;
8228 : compiler::TNode<IntPtrT> tmp8;
8229 : ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
8230 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
8231 896 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<Smi>{tmp7});
8232 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
8233 : ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
8234 : }
8235 :
8236 448 : if (block3.is_used()) {
8237 : compiler::TNode<FixedArray> tmp9;
8238 : compiler::TNode<IntPtrT> tmp10;
8239 : compiler::TNode<Smi> tmp11;
8240 : compiler::TNode<IntPtrT> tmp12;
8241 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
8242 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
8243 : compiler::TNode<IntPtrT> tmp13;
8244 : USE(tmp13);
8245 896 : tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
8246 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
8247 : compiler::TNode<IntPtrT> tmp14;
8248 : USE(tmp14);
8249 1344 : tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
8250 : compiler::TNode<FixedArray> tmp15;
8251 : USE(tmp15);
8252 896 : tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArray>{tmp9}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp12}, compiler::TNode<IntPtrT>{tmp13}, CodeStubAssembler::ExtractFixedArrayFlag::kFixedArrays));
8253 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
8254 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
8255 896 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<Smi>{tmp11});
8256 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
8257 : ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
8258 : }
8259 :
8260 448 : if (block1.is_used()) {
8261 : compiler::TNode<FixedArray> tmp16;
8262 : compiler::TNode<IntPtrT> tmp17;
8263 : compiler::TNode<Smi> tmp18;
8264 : compiler::TNode<FixedArray> tmp19;
8265 : ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
8266 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
8267 : ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
8268 : }
8269 :
8270 : compiler::TNode<FixedArray> tmp20;
8271 : compiler::TNode<IntPtrT> tmp21;
8272 : compiler::TNode<Smi> tmp22;
8273 : compiler::TNode<FixedArray> tmp23;
8274 : ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
8275 896 : return compiler::TNode<FixedArray>{tmp23};
8276 : }
8277 :
8278 224 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray6String(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<String> p_element) {
8279 224 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8280 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8281 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
8282 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8283 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8284 : ca_.Goto(&block0, p_fixedArray, p_index, p_element);
8285 :
8286 224 : if (block0.is_used()) {
8287 : compiler::TNode<FixedArray> tmp0;
8288 : compiler::TNode<IntPtrT> tmp1;
8289 : compiler::TNode<String> tmp2;
8290 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
8291 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
8292 : compiler::TNode<IntPtrT> tmp3;
8293 : USE(tmp3);
8294 448 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
8295 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
8296 : compiler::TNode<BoolT> tmp4;
8297 : USE(tmp4);
8298 672 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
8299 224 : ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
8300 : }
8301 :
8302 224 : if (block2.is_used()) {
8303 : compiler::TNode<FixedArray> tmp5;
8304 : compiler::TNode<IntPtrT> tmp6;
8305 : compiler::TNode<String> tmp7;
8306 : compiler::TNode<IntPtrT> tmp8;
8307 : ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
8308 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
8309 448 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
8310 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
8311 : ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
8312 : }
8313 :
8314 224 : if (block3.is_used()) {
8315 : compiler::TNode<FixedArray> tmp9;
8316 : compiler::TNode<IntPtrT> tmp10;
8317 : compiler::TNode<String> tmp11;
8318 : compiler::TNode<IntPtrT> tmp12;
8319 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
8320 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
8321 : compiler::TNode<IntPtrT> tmp13;
8322 : USE(tmp13);
8323 448 : tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
8324 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
8325 : compiler::TNode<IntPtrT> tmp14;
8326 : USE(tmp14);
8327 672 : tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
8328 : compiler::TNode<FixedArray> tmp15;
8329 : USE(tmp15);
8330 448 : tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArray>{tmp9}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp12}, compiler::TNode<IntPtrT>{tmp13}, CodeStubAssembler::ExtractFixedArrayFlag::kFixedArrays));
8331 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
8332 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
8333 448 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
8334 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
8335 : ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
8336 : }
8337 :
8338 224 : if (block1.is_used()) {
8339 : compiler::TNode<FixedArray> tmp16;
8340 : compiler::TNode<IntPtrT> tmp17;
8341 : compiler::TNode<String> tmp18;
8342 : compiler::TNode<FixedArray> tmp19;
8343 : ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
8344 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
8345 : ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
8346 : }
8347 :
8348 : compiler::TNode<FixedArray> tmp20;
8349 : compiler::TNode<IntPtrT> tmp21;
8350 : compiler::TNode<String> tmp22;
8351 : compiler::TNode<FixedArray> tmp23;
8352 : ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
8353 448 : return compiler::TNode<FixedArray>{tmp23};
8354 : }
8355 :
8356 : } // namespace internal
8357 59456 : } // namespace v8
8358 :
|