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-proxy-gen.h"
23 : #include "src/builtins/builtins-proxy-gen.h"
24 : #include "src/builtins/builtins-regexp-gen.h"
25 : #include "src/builtins/builtins-regexp-gen.h"
26 : #include "src/builtins/builtins-regexp-gen.h"
27 : #include "src/builtins/builtins-typed-array-gen.h"
28 : #include "src/builtins/builtins-constructor-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 "src/builtins/builtins-typed-array-gen.h"
36 : #include "src/builtins/builtins-typed-array-gen.h"
37 : #include "torque-generated/builtins-base-from-dsl-gen.h"
38 : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
39 : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
40 : #include "torque-generated/builtins-array-from-dsl-gen.h"
41 : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
42 : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
43 : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
44 : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
45 : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
46 : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
47 : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
48 : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
49 : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
50 : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
51 : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
52 : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
53 : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
54 : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
55 : #include "torque-generated/builtins-collections-from-dsl-gen.h"
56 : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
57 : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
58 : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
59 : #include "torque-generated/builtins-object-from-dsl-gen.h"
60 : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
61 : #include "torque-generated/builtins-regexp-from-dsl-gen.h"
62 : #include "torque-generated/builtins-regexp-replace-from-dsl-gen.h"
63 : #include "torque-generated/builtins-string-from-dsl-gen.h"
64 : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
65 : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
66 : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
67 : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
68 : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
69 : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
70 : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
71 : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
72 : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
73 : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
74 : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
75 : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
76 : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
77 : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
78 : #include "torque-generated/builtins-test-from-dsl-gen.h"
79 :
80 : namespace v8 {
81 : namespace internal {
82 :
83 224 : TF_BUILTIN(LoadJoinElement20ATDictionaryElements, CodeStubAssembler) {
84 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
85 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
86 : USE(parameter0);
87 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
88 : USE(parameter1);
89 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
90 : USE(parameter2);
91 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
92 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
93 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
94 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
95 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
96 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
97 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
98 :
99 56 : if (block0.is_used()) {
100 : compiler::TNode<Context> tmp0;
101 : compiler::TNode<JSReceiver> tmp1;
102 : compiler::TNode<Number> tmp2;
103 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
104 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 21);
105 : compiler::TNode<JSArray> tmp3;
106 : USE(tmp3);
107 112 : tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
108 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 22);
109 56 : compiler::TNode<IntPtrT> tmp4 = ca_.IntPtrConstant(JSObject::kElementsOffset);
110 : USE(tmp4);
111 112 : compiler::TNode<FixedArrayBase>tmp5 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp3, tmp4});
112 : compiler::TNode<NumberDictionary> tmp6;
113 : USE(tmp6);
114 112 : tmp6 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
115 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 24);
116 : compiler::TNode<UintPtrT> tmp7;
117 : USE(tmp7);
118 112 : tmp7 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number>{tmp2}));
119 : compiler::TNode<IntPtrT> tmp8;
120 : USE(tmp8);
121 112 : tmp8 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp7}));
122 : compiler::TNode<Object> tmp9;
123 : USE(tmp9);
124 56 : compiler::CodeAssemblerLabel label0(&ca_);
125 56 : compiler::CodeAssemblerLabel label1(&ca_);
126 112 : tmp9 = CodeStubAssembler(state_).BasicLoadNumberDictionaryElement(compiler::TNode<NumberDictionary>{tmp6}, compiler::TNode<IntPtrT>{tmp8}, &label0, &label1);
127 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp8, tmp9);
128 56 : if (label0.is_used()) {
129 56 : ca_.Bind(&label0);
130 : ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp8);
131 : }
132 56 : if (label1.is_used()) {
133 56 : ca_.Bind(&label1);
134 : ca_.Goto(&block7, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp8);
135 : }
136 : }
137 :
138 56 : if (block6.is_used()) {
139 : compiler::TNode<Context> tmp10;
140 : compiler::TNode<JSReceiver> tmp11;
141 : compiler::TNode<Number> tmp12;
142 : compiler::TNode<JSArray> tmp13;
143 : compiler::TNode<NumberDictionary> tmp14;
144 : compiler::TNode<NumberDictionary> tmp15;
145 : compiler::TNode<IntPtrT> tmp16;
146 : ca_.Bind(&block6, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
147 : ca_.Goto(&block4, tmp10, tmp11, tmp12, tmp13, tmp14);
148 : }
149 :
150 56 : if (block7.is_used()) {
151 : compiler::TNode<Context> tmp17;
152 : compiler::TNode<JSReceiver> tmp18;
153 : compiler::TNode<Number> tmp19;
154 : compiler::TNode<JSArray> tmp20;
155 : compiler::TNode<NumberDictionary> tmp21;
156 : compiler::TNode<NumberDictionary> tmp22;
157 : compiler::TNode<IntPtrT> tmp23;
158 : ca_.Bind(&block7, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
159 : ca_.Goto(&block2, tmp17, tmp18, tmp19, tmp20, tmp21);
160 : }
161 :
162 56 : if (block5.is_used()) {
163 : compiler::TNode<Context> tmp24;
164 : compiler::TNode<JSReceiver> tmp25;
165 : compiler::TNode<Number> tmp26;
166 : compiler::TNode<JSArray> tmp27;
167 : compiler::TNode<NumberDictionary> tmp28;
168 : compiler::TNode<NumberDictionary> tmp29;
169 : compiler::TNode<IntPtrT> tmp30;
170 : compiler::TNode<Object> tmp31;
171 : ca_.Bind(&block5, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
172 112 : CodeStubAssembler(state_).Return(tmp31);
173 : }
174 :
175 56 : if (block4.is_used()) {
176 : compiler::TNode<Context> tmp32;
177 : compiler::TNode<JSReceiver> tmp33;
178 : compiler::TNode<Number> tmp34;
179 : compiler::TNode<JSArray> tmp35;
180 : compiler::TNode<NumberDictionary> tmp36;
181 : ca_.Bind(&block4, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
182 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 28);
183 : compiler::TNode<Object> tmp37;
184 : USE(tmp37);
185 112 : tmp37 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp32}, compiler::TNode<Object>{tmp33}, compiler::TNode<Object>{tmp34}));
186 112 : CodeStubAssembler(state_).Return(tmp37);
187 : }
188 :
189 56 : if (block2.is_used()) {
190 : compiler::TNode<Context> tmp38;
191 : compiler::TNode<JSReceiver> tmp39;
192 : compiler::TNode<Number> tmp40;
193 : compiler::TNode<JSArray> tmp41;
194 : compiler::TNode<NumberDictionary> tmp42;
195 : ca_.Bind(&block2, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42);
196 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 31);
197 : compiler::TNode<String> tmp43;
198 : USE(tmp43);
199 112 : tmp43 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
200 112 : CodeStubAssembler(state_).Return(tmp43);
201 : }
202 56 : }
203 :
204 224 : TF_BUILTIN(LoadJoinElement25ATFastSmiOrObjectElements, CodeStubAssembler) {
205 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
206 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
207 : USE(parameter0);
208 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
209 : USE(parameter1);
210 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
211 : USE(parameter2);
212 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
213 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
214 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
215 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
216 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
217 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
218 :
219 56 : if (block0.is_used()) {
220 : compiler::TNode<Context> tmp0;
221 : compiler::TNode<JSReceiver> tmp1;
222 : compiler::TNode<Number> tmp2;
223 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
224 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 37);
225 : compiler::TNode<JSArray> tmp3;
226 : USE(tmp3);
227 112 : tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
228 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 38);
229 56 : compiler::TNode<IntPtrT> tmp4 = ca_.IntPtrConstant(JSObject::kElementsOffset);
230 : USE(tmp4);
231 112 : compiler::TNode<FixedArrayBase>tmp5 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp3, tmp4});
232 : compiler::TNode<FixedArray> tmp6;
233 : USE(tmp6);
234 112 : tmp6 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
235 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 39);
236 : compiler::TNode<Smi> tmp7;
237 : USE(tmp7);
238 112 : tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
239 : compiler::TNode<Object> tmp8;
240 : USE(tmp8);
241 112 : tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp6}, compiler::TNode<Smi>{tmp7}));
242 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 40);
243 : compiler::TNode<Oddball> tmp9;
244 : USE(tmp9);
245 112 : tmp9 = BaseBuiltinsFromDSLAssembler(state_).Hole();
246 : compiler::TNode<BoolT> tmp10;
247 : USE(tmp10);
248 112 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp8}, compiler::TNode<HeapObject>{tmp9}));
249 56 : ca_.Branch(tmp10, &block1, &block2, tmp0, tmp1, tmp2, tmp3, tmp6, tmp8);
250 : }
251 :
252 56 : if (block1.is_used()) {
253 : compiler::TNode<Context> tmp11;
254 : compiler::TNode<JSReceiver> tmp12;
255 : compiler::TNode<Number> tmp13;
256 : compiler::TNode<JSArray> tmp14;
257 : compiler::TNode<FixedArray> tmp15;
258 : compiler::TNode<Object> tmp16;
259 : ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
260 : compiler::TNode<String> tmp17;
261 : USE(tmp17);
262 112 : tmp17 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
263 : ca_.Goto(&block4, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
264 : }
265 :
266 56 : if (block2.is_used()) {
267 : compiler::TNode<Context> tmp18;
268 : compiler::TNode<JSReceiver> tmp19;
269 : compiler::TNode<Number> tmp20;
270 : compiler::TNode<JSArray> tmp21;
271 : compiler::TNode<FixedArray> tmp22;
272 : compiler::TNode<Object> tmp23;
273 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
274 : ca_.Goto(&block3, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp23);
275 : }
276 :
277 56 : if (block4.is_used()) {
278 : compiler::TNode<Context> tmp24;
279 : compiler::TNode<JSReceiver> tmp25;
280 : compiler::TNode<Number> tmp26;
281 : compiler::TNode<JSArray> tmp27;
282 : compiler::TNode<FixedArray> tmp28;
283 : compiler::TNode<Object> tmp29;
284 : compiler::TNode<String> tmp30;
285 : ca_.Bind(&block4, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
286 : ca_.Goto(&block3, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30);
287 : }
288 :
289 56 : if (block3.is_used()) {
290 : compiler::TNode<Context> tmp31;
291 : compiler::TNode<JSReceiver> tmp32;
292 : compiler::TNode<Number> tmp33;
293 : compiler::TNode<JSArray> tmp34;
294 : compiler::TNode<FixedArray> tmp35;
295 : compiler::TNode<Object> tmp36;
296 : compiler::TNode<Object> tmp37;
297 : ca_.Bind(&block3, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
298 112 : CodeStubAssembler(state_).Return(tmp37);
299 : }
300 56 : }
301 :
302 224 : TF_BUILTIN(LoadJoinElement20ATFastDoubleElements, CodeStubAssembler) {
303 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
304 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
305 : USE(parameter0);
306 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
307 : USE(parameter1);
308 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
309 : USE(parameter2);
310 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
311 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
312 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi, Float64T> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
313 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
314 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
315 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
316 :
317 56 : if (block0.is_used()) {
318 : compiler::TNode<Context> tmp0;
319 : compiler::TNode<JSReceiver> tmp1;
320 : compiler::TNode<Number> tmp2;
321 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
322 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 45);
323 : compiler::TNode<JSArray> tmp3;
324 : USE(tmp3);
325 112 : tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
326 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 47);
327 56 : compiler::TNode<IntPtrT> tmp4 = ca_.IntPtrConstant(JSObject::kElementsOffset);
328 : USE(tmp4);
329 112 : compiler::TNode<FixedArrayBase>tmp5 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp3, tmp4});
330 : compiler::TNode<FixedDoubleArray> tmp6;
331 : USE(tmp6);
332 112 : tmp6 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
333 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 46);
334 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
335 : compiler::TNode<Smi> tmp7;
336 : USE(tmp7);
337 112 : tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
338 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
339 : compiler::TNode<Float64T> tmp8;
340 : USE(tmp8);
341 56 : compiler::CodeAssemblerLabel label0(&ca_);
342 112 : tmp8 = CodeStubAssembler(state_).LoadDoubleWithHoleCheck(compiler::TNode<FixedDoubleArray>{tmp6}, compiler::TNode<Smi>{tmp7}, &label0);
343 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp7, tmp8);
344 56 : if (label0.is_used()) {
345 56 : ca_.Bind(&label0);
346 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp7);
347 : }
348 : }
349 :
350 56 : if (block4.is_used()) {
351 : compiler::TNode<Context> tmp9;
352 : compiler::TNode<JSReceiver> tmp10;
353 : compiler::TNode<Number> tmp11;
354 : compiler::TNode<JSArray> tmp12;
355 : compiler::TNode<FixedDoubleArray> tmp13;
356 : compiler::TNode<FixedDoubleArray> tmp14;
357 : compiler::TNode<Smi> tmp15;
358 : ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
359 : ca_.Goto(&block2, tmp9, tmp10, tmp11, tmp12, tmp13);
360 : }
361 :
362 56 : if (block3.is_used()) {
363 : compiler::TNode<Context> tmp16;
364 : compiler::TNode<JSReceiver> tmp17;
365 : compiler::TNode<Number> tmp18;
366 : compiler::TNode<JSArray> tmp19;
367 : compiler::TNode<FixedDoubleArray> tmp20;
368 : compiler::TNode<FixedDoubleArray> tmp21;
369 : compiler::TNode<Smi> tmp22;
370 : compiler::TNode<Float64T> tmp23;
371 : ca_.Bind(&block3, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
372 : ca_.Goto(&block1, tmp16, tmp17, tmp18, tmp19, tmp20, tmp23);
373 : }
374 :
375 56 : if (block2.is_used()) {
376 : compiler::TNode<Context> tmp24;
377 : compiler::TNode<JSReceiver> tmp25;
378 : compiler::TNode<Number> tmp26;
379 : compiler::TNode<JSArray> tmp27;
380 : compiler::TNode<FixedDoubleArray> tmp28;
381 : ca_.Bind(&block2, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
382 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
383 : compiler::TNode<String> tmp29;
384 : USE(tmp29);
385 112 : tmp29 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
386 112 : CodeStubAssembler(state_).Return(tmp29);
387 : }
388 :
389 56 : if (block1.is_used()) {
390 : compiler::TNode<Context> tmp30;
391 : compiler::TNode<JSReceiver> tmp31;
392 : compiler::TNode<Number> tmp32;
393 : compiler::TNode<JSArray> tmp33;
394 : compiler::TNode<FixedDoubleArray> tmp34;
395 : compiler::TNode<Float64T> tmp35;
396 : ca_.Bind(&block1, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
397 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
398 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 50);
399 : compiler::TNode<HeapNumber> tmp36;
400 : USE(tmp36);
401 168 : tmp36 = ca_.UncheckedCast<HeapNumber>(CodeStubAssembler(state_).AllocateHeapNumberWithValue(compiler::TNode<Float64T>{tmp35}));
402 112 : CodeStubAssembler(state_).Return(tmp36);
403 : }
404 56 : }
405 :
406 224 : TF_BUILTIN(ConvertToLocaleString, CodeStubAssembler) {
407 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
408 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
409 : USE(parameter0);
410 : compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kElement));
411 : USE(parameter1);
412 : compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kLocales));
413 : USE(parameter2);
414 : compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kOptions));
415 : USE(parameter3);
416 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
417 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
418 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
419 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
420 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
421 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
422 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
423 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
424 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
425 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
426 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
427 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
428 : ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3);
429 :
430 56 : if (block0.is_used()) {
431 : compiler::TNode<Context> tmp0;
432 : compiler::TNode<Object> tmp1;
433 : compiler::TNode<Object> tmp2;
434 : compiler::TNode<Object> tmp3;
435 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
436 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 65);
437 : compiler::TNode<BoolT> tmp4;
438 : USE(tmp4);
439 168 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp1}));
440 56 : ca_.Branch(tmp4, &block1, &block2, tmp0, tmp1, tmp2, tmp3);
441 : }
442 :
443 56 : if (block1.is_used()) {
444 : compiler::TNode<Context> tmp5;
445 : compiler::TNode<Object> tmp6;
446 : compiler::TNode<Object> tmp7;
447 : compiler::TNode<Object> tmp8;
448 : ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
449 : compiler::TNode<String> tmp9;
450 : USE(tmp9);
451 112 : tmp9 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
452 112 : CodeStubAssembler(state_).Return(tmp9);
453 : }
454 :
455 56 : if (block2.is_used()) {
456 : compiler::TNode<Context> tmp10;
457 : compiler::TNode<Object> tmp11;
458 : compiler::TNode<Object> tmp12;
459 : compiler::TNode<Object> tmp13;
460 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13);
461 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 67);
462 : compiler::TNode<Object> tmp14;
463 : USE(tmp14);
464 112 : tmp14 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("toLocaleString"));
465 : compiler::TNode<Object> tmp15;
466 : USE(tmp15);
467 112 : tmp15 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp11}, compiler::TNode<Object>{tmp14}));
468 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 69);
469 : compiler::TNode<JSReceiver> tmp16;
470 : USE(tmp16);
471 56 : compiler::CodeAssemblerLabel label0(&ca_);
472 112 : tmp16 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp15}, &label0);
473 : ca_.Goto(&block5, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15, tmp16);
474 56 : if (label0.is_used()) {
475 56 : ca_.Bind(&label0);
476 : ca_.Goto(&block6, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15);
477 : }
478 : }
479 :
480 56 : if (block6.is_used()) {
481 : compiler::TNode<Context> tmp17;
482 : compiler::TNode<Object> tmp18;
483 : compiler::TNode<Object> tmp19;
484 : compiler::TNode<Object> tmp20;
485 : compiler::TNode<Object> tmp21;
486 : compiler::TNode<Object> tmp22;
487 : ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
488 : ca_.Goto(&block4, tmp17, tmp18, tmp19, tmp20, tmp21);
489 : }
490 :
491 56 : if (block5.is_used()) {
492 : compiler::TNode<Context> tmp23;
493 : compiler::TNode<Object> tmp24;
494 : compiler::TNode<Object> tmp25;
495 : compiler::TNode<Object> tmp26;
496 : compiler::TNode<Object> tmp27;
497 : compiler::TNode<Object> tmp28;
498 : compiler::TNode<JSReceiver> tmp29;
499 : ca_.Bind(&block5, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
500 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 70);
501 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
502 : compiler::TNode<BoolT> tmp30;
503 : USE(tmp30);
504 168 : tmp30 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp25}));
505 56 : ca_.Branch(tmp30, &block7, &block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp29, ca_.Uninitialized<Object>());
506 : }
507 :
508 56 : if (block7.is_used()) {
509 : compiler::TNode<Context> tmp31;
510 : compiler::TNode<Object> tmp32;
511 : compiler::TNode<Object> tmp33;
512 : compiler::TNode<Object> tmp34;
513 : compiler::TNode<Object> tmp35;
514 : compiler::TNode<JSReceiver> tmp36;
515 : compiler::TNode<Object> tmp37;
516 : ca_.Bind(&block7, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
517 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 72);
518 : compiler::TNode<Object> tmp38;
519 : USE(tmp38);
520 168 : tmp38 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp31}, compiler::TNode<JSReceiver>{tmp36}, compiler::TNode<Object>{tmp32}));
521 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
522 : ca_.Goto(&block9, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp38);
523 : }
524 :
525 56 : if (block8.is_used()) {
526 : compiler::TNode<Context> tmp39;
527 : compiler::TNode<Object> tmp40;
528 : compiler::TNode<Object> tmp41;
529 : compiler::TNode<Object> tmp42;
530 : compiler::TNode<Object> tmp43;
531 : compiler::TNode<JSReceiver> tmp44;
532 : compiler::TNode<Object> tmp45;
533 : ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
534 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
535 : compiler::TNode<BoolT> tmp46;
536 : USE(tmp46);
537 168 : tmp46 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp42}));
538 56 : ca_.Branch(tmp46, &block10, &block11, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45);
539 : }
540 :
541 56 : if (block10.is_used()) {
542 : compiler::TNode<Context> tmp47;
543 : compiler::TNode<Object> tmp48;
544 : compiler::TNode<Object> tmp49;
545 : compiler::TNode<Object> tmp50;
546 : compiler::TNode<Object> tmp51;
547 : compiler::TNode<JSReceiver> tmp52;
548 : compiler::TNode<Object> tmp53;
549 : ca_.Bind(&block10, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
550 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 74);
551 : compiler::TNode<Object> tmp54;
552 : USE(tmp54);
553 168 : tmp54 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp47}, compiler::TNode<JSReceiver>{tmp52}, compiler::TNode<Object>{tmp48}, compiler::TNode<Object>{tmp49}));
554 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
555 : ca_.Goto(&block12, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp54);
556 : }
557 :
558 56 : if (block11.is_used()) {
559 : compiler::TNode<Context> tmp55;
560 : compiler::TNode<Object> tmp56;
561 : compiler::TNode<Object> tmp57;
562 : compiler::TNode<Object> tmp58;
563 : compiler::TNode<Object> tmp59;
564 : compiler::TNode<JSReceiver> tmp60;
565 : compiler::TNode<Object> tmp61;
566 : ca_.Bind(&block11, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61);
567 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 76);
568 : compiler::TNode<Object> tmp62;
569 : USE(tmp62);
570 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}));
571 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
572 : ca_.Goto(&block12, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp62);
573 : }
574 :
575 56 : if (block12.is_used()) {
576 : compiler::TNode<Context> tmp63;
577 : compiler::TNode<Object> tmp64;
578 : compiler::TNode<Object> tmp65;
579 : compiler::TNode<Object> tmp66;
580 : compiler::TNode<Object> tmp67;
581 : compiler::TNode<JSReceiver> tmp68;
582 : compiler::TNode<Object> tmp69;
583 : ca_.Bind(&block12, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
584 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
585 : ca_.Goto(&block9, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69);
586 : }
587 :
588 56 : if (block9.is_used()) {
589 : compiler::TNode<Context> tmp70;
590 : compiler::TNode<Object> tmp71;
591 : compiler::TNode<Object> tmp72;
592 : compiler::TNode<Object> tmp73;
593 : compiler::TNode<Object> tmp74;
594 : compiler::TNode<JSReceiver> tmp75;
595 : compiler::TNode<Object> tmp76;
596 : ca_.Bind(&block9, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76);
597 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 78);
598 : compiler::TNode<String> tmp77;
599 : USE(tmp77);
600 224 : tmp77 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp70}, compiler::TNode<Object>{tmp76}));
601 112 : CodeStubAssembler(state_).Return(tmp77);
602 : }
603 :
604 56 : if (block4.is_used()) {
605 : compiler::TNode<Context> tmp78;
606 : compiler::TNode<Object> tmp79;
607 : compiler::TNode<Object> tmp80;
608 : compiler::TNode<Object> tmp81;
609 : compiler::TNode<Object> tmp82;
610 : ca_.Bind(&block4, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82);
611 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 81);
612 112 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp78}, MessageTemplate::kCalledNonCallable, compiler::TNode<Object>{tmp82});
613 : }
614 56 : }
615 :
616 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) {
617 112 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
618 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
619 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
620 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
621 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
622 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
623 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
624 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
625 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
626 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
627 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
628 : ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_originalMap, p_originalLen);
629 :
630 112 : if (block0.is_used()) {
631 : compiler::TNode<Context> tmp0;
632 : compiler::TNode<BuiltinPtr> tmp1;
633 : compiler::TNode<JSReceiver> tmp2;
634 : compiler::TNode<Map> tmp3;
635 : compiler::TNode<Number> tmp4;
636 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
637 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 96);
638 : compiler::TNode<BoolT> tmp5;
639 : USE(tmp5);
640 224 : tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp1}, compiler::TNode<Smi>{ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor))}));
641 112 : ca_.Branch(tmp5, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4);
642 : }
643 :
644 112 : if (block3.is_used()) {
645 : compiler::TNode<Context> tmp6;
646 : compiler::TNode<BuiltinPtr> tmp7;
647 : compiler::TNode<JSReceiver> tmp8;
648 : compiler::TNode<Map> tmp9;
649 : compiler::TNode<Number> tmp10;
650 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
651 : ca_.Goto(&block2);
652 : }
653 :
654 112 : if (block4.is_used()) {
655 : compiler::TNode<Context> tmp11;
656 : compiler::TNode<BuiltinPtr> tmp12;
657 : compiler::TNode<JSReceiver> tmp13;
658 : compiler::TNode<Map> tmp14;
659 : compiler::TNode<Number> tmp15;
660 : ca_.Bind(&block4, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
661 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 98);
662 : compiler::TNode<JSArray> tmp16;
663 : USE(tmp16);
664 336 : tmp16 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp11}, compiler::TNode<Object>{tmp13}));
665 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 99);
666 112 : compiler::TNode<IntPtrT> tmp17 = ca_.IntPtrConstant(HeapObject::kMapOffset);
667 : USE(tmp17);
668 224 : compiler::TNode<Map>tmp18 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp16, tmp17});
669 : compiler::TNode<BoolT> tmp19;
670 : USE(tmp19);
671 224 : tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<HeapObject>{tmp14}, compiler::TNode<HeapObject>{tmp18}));
672 112 : ca_.Branch(tmp19, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
673 : }
674 :
675 112 : if (block5.is_used()) {
676 : compiler::TNode<Context> tmp20;
677 : compiler::TNode<BuiltinPtr> tmp21;
678 : compiler::TNode<JSReceiver> tmp22;
679 : compiler::TNode<Map> tmp23;
680 : compiler::TNode<Number> tmp24;
681 : compiler::TNode<JSArray> tmp25;
682 : ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
683 : ca_.Goto(&block1);
684 : }
685 :
686 112 : if (block6.is_used()) {
687 : compiler::TNode<Context> tmp26;
688 : compiler::TNode<BuiltinPtr> tmp27;
689 : compiler::TNode<JSReceiver> tmp28;
690 : compiler::TNode<Map> tmp29;
691 : compiler::TNode<Number> tmp30;
692 : compiler::TNode<JSArray> tmp31;
693 : ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
694 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 100);
695 112 : compiler::TNode<IntPtrT> tmp32 = ca_.IntPtrConstant(JSArray::kLengthOffset);
696 : USE(tmp32);
697 336 : compiler::TNode<Number>tmp33 = CodeStubAssembler(state_).LoadReference<Number>(CodeStubAssembler::Reference{tmp31, tmp32});
698 : compiler::TNode<BoolT> tmp34;
699 : USE(tmp34);
700 336 : tmp34 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp33}));
701 112 : ca_.Branch(tmp34, &block7, &block8, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31);
702 : }
703 :
704 112 : if (block7.is_used()) {
705 : compiler::TNode<Context> tmp35;
706 : compiler::TNode<BuiltinPtr> tmp36;
707 : compiler::TNode<JSReceiver> tmp37;
708 : compiler::TNode<Map> tmp38;
709 : compiler::TNode<Number> tmp39;
710 : compiler::TNode<JSArray> tmp40;
711 : ca_.Bind(&block7, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40);
712 : ca_.Goto(&block1);
713 : }
714 :
715 112 : if (block8.is_used()) {
716 : compiler::TNode<Context> tmp41;
717 : compiler::TNode<BuiltinPtr> tmp42;
718 : compiler::TNode<JSReceiver> tmp43;
719 : compiler::TNode<Map> tmp44;
720 : compiler::TNode<Number> tmp45;
721 : compiler::TNode<JSArray> tmp46;
722 : ca_.Bind(&block8, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46);
723 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 101);
724 : compiler::TNode<BoolT> tmp47;
725 : USE(tmp47);
726 224 : tmp47 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
727 112 : ca_.Branch(tmp47, &block9, &block10, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46);
728 : }
729 :
730 112 : if (block9.is_used()) {
731 : compiler::TNode<Context> tmp48;
732 : compiler::TNode<BuiltinPtr> tmp49;
733 : compiler::TNode<JSReceiver> tmp50;
734 : compiler::TNode<Map> tmp51;
735 : compiler::TNode<Number> tmp52;
736 : compiler::TNode<JSArray> tmp53;
737 : ca_.Bind(&block9, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
738 : ca_.Goto(&block1);
739 : }
740 :
741 112 : if (block10.is_used()) {
742 : compiler::TNode<Context> tmp54;
743 : compiler::TNode<BuiltinPtr> tmp55;
744 : compiler::TNode<JSReceiver> tmp56;
745 : compiler::TNode<Map> tmp57;
746 : compiler::TNode<Number> tmp58;
747 : compiler::TNode<JSArray> tmp59;
748 : ca_.Bind(&block10, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
749 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 102);
750 : ca_.Goto(&block2);
751 : }
752 :
753 112 : if (block1.is_used()) {
754 : ca_.Bind(&block1);
755 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
756 112 : ca_.Goto(label_Cannot);
757 : }
758 :
759 112 : if (block2.is_used()) {
760 : ca_.Bind(&block2);
761 112 : ca_.Goto(label_Can);
762 : }
763 112 : }
764 :
765 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) {
766 112 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
767 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
768 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
769 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
770 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
771 : ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_initialMap, p_initialLen);
772 :
773 112 : if (block0.is_used()) {
774 : compiler::TNode<Context> tmp0;
775 : compiler::TNode<BuiltinPtr> tmp1;
776 : compiler::TNode<JSReceiver> tmp2;
777 : compiler::TNode<Map> tmp3;
778 : compiler::TNode<Number> tmp4;
779 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
780 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 109);
781 : compiler::TNode<JSTypedArray> tmp5;
782 : USE(tmp5);
783 336 : tmp5 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
784 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 110);
785 112 : compiler::TNode<IntPtrT> tmp6 = ca_.IntPtrConstant(JSArrayBufferView::kBufferOffset);
786 : USE(tmp6);
787 224 : compiler::TNode<JSArrayBuffer>tmp7 = CodeStubAssembler(state_).LoadReference<JSArrayBuffer>(CodeStubAssembler::Reference{tmp5, tmp6});
788 : compiler::TNode<BoolT> tmp8;
789 : USE(tmp8);
790 224 : tmp8 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsDetachedBuffer(compiler::TNode<JSArrayBuffer>{tmp7}));
791 112 : ca_.Branch(tmp8, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
792 : }
793 :
794 112 : if (block3.is_used()) {
795 : compiler::TNode<Context> tmp9;
796 : compiler::TNode<BuiltinPtr> tmp10;
797 : compiler::TNode<JSReceiver> tmp11;
798 : compiler::TNode<Map> tmp12;
799 : compiler::TNode<Number> tmp13;
800 : compiler::TNode<JSTypedArray> tmp14;
801 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
802 : ca_.Goto(&block1);
803 : }
804 :
805 112 : if (block4.is_used()) {
806 : compiler::TNode<Context> tmp15;
807 : compiler::TNode<BuiltinPtr> tmp16;
808 : compiler::TNode<JSReceiver> tmp17;
809 : compiler::TNode<Map> tmp18;
810 : compiler::TNode<Number> tmp19;
811 : compiler::TNode<JSTypedArray> tmp20;
812 : ca_.Bind(&block4, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
813 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 111);
814 : ca_.Goto(&block2);
815 : }
816 :
817 112 : if (block1.is_used()) {
818 : ca_.Bind(&block1);
819 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
820 112 : ca_.Goto(label_Cannot);
821 : }
822 :
823 112 : if (block2.is_used()) {
824 : ca_.Bind(&block2);
825 112 : ca_.Goto(label_Can);
826 : }
827 112 : }
828 :
829 672 : compiler::TNode<IntPtrT> ArrayJoinBuiltinsFromDSLAssembler::AddStringLength(compiler::TNode<Context> p_context, compiler::TNode<IntPtrT> p_lenA, compiler::TNode<IntPtrT> p_lenB) {
830 672 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
831 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
832 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
833 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
834 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
835 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
836 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
837 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
838 : ca_.Goto(&block0, p_context, p_lenA, p_lenB);
839 :
840 672 : if (block0.is_used()) {
841 : compiler::TNode<Context> tmp0;
842 : compiler::TNode<IntPtrT> tmp1;
843 : compiler::TNode<IntPtrT> tmp2;
844 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
845 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 120);
846 : compiler::TNode<IntPtrT> tmp3;
847 : USE(tmp3);
848 672 : compiler::CodeAssemblerLabel label0(&ca_);
849 1344 : tmp3 = CodeStubAssembler(state_).TryIntPtrAdd(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp2}, &label0);
850 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp1, tmp2, tmp3);
851 672 : if (label0.is_used()) {
852 672 : ca_.Bind(&label0);
853 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp1, tmp2);
854 : }
855 : }
856 :
857 672 : if (block5.is_used()) {
858 : compiler::TNode<Context> tmp4;
859 : compiler::TNode<IntPtrT> tmp5;
860 : compiler::TNode<IntPtrT> tmp6;
861 : compiler::TNode<IntPtrT> tmp7;
862 : compiler::TNode<IntPtrT> tmp8;
863 : ca_.Bind(&block5, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
864 : ca_.Goto(&block3, tmp4, tmp5, tmp6);
865 : }
866 :
867 672 : if (block4.is_used()) {
868 : compiler::TNode<Context> tmp9;
869 : compiler::TNode<IntPtrT> tmp10;
870 : compiler::TNode<IntPtrT> tmp11;
871 : compiler::TNode<IntPtrT> tmp12;
872 : compiler::TNode<IntPtrT> tmp13;
873 : compiler::TNode<IntPtrT> tmp14;
874 : ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
875 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 121);
876 : compiler::TNode<IntPtrT> tmp15;
877 : USE(tmp15);
878 2016 : tmp15 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(String::kMaxLength));
879 : compiler::TNode<BoolT> tmp16;
880 : USE(tmp16);
881 2016 : tmp16 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp15}));
882 672 : ca_.Branch(tmp16, &block6, &block7, tmp9, tmp10, tmp11, tmp14);
883 : }
884 :
885 672 : if (block6.is_used()) {
886 : compiler::TNode<Context> tmp17;
887 : compiler::TNode<IntPtrT> tmp18;
888 : compiler::TNode<IntPtrT> tmp19;
889 : compiler::TNode<IntPtrT> tmp20;
890 : ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20);
891 : ca_.Goto(&block3, tmp17, tmp18, tmp19);
892 : }
893 :
894 672 : if (block7.is_used()) {
895 : compiler::TNode<Context> tmp21;
896 : compiler::TNode<IntPtrT> tmp22;
897 : compiler::TNode<IntPtrT> tmp23;
898 : compiler::TNode<IntPtrT> tmp24;
899 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23, &tmp24);
900 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 122);
901 : ca_.Goto(&block1, tmp21, tmp22, tmp23, tmp24);
902 : }
903 :
904 672 : if (block3.is_used()) {
905 : compiler::TNode<Context> tmp25;
906 : compiler::TNode<IntPtrT> tmp26;
907 : compiler::TNode<IntPtrT> tmp27;
908 : ca_.Bind(&block3, &tmp25, &tmp26, &tmp27);
909 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 125);
910 1344 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp25);
911 1344 : CodeStubAssembler(state_).Unreachable();
912 : }
913 :
914 672 : if (block1.is_used()) {
915 : compiler::TNode<Context> tmp29;
916 : compiler::TNode<IntPtrT> tmp30;
917 : compiler::TNode<IntPtrT> tmp31;
918 : compiler::TNode<IntPtrT> tmp32;
919 : ca_.Bind(&block1, &tmp29, &tmp30, &tmp31, &tmp32);
920 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 117);
921 : ca_.Goto(&block8, tmp29, tmp30, tmp31, tmp32);
922 : }
923 :
924 : compiler::TNode<Context> tmp33;
925 : compiler::TNode<IntPtrT> tmp34;
926 : compiler::TNode<IntPtrT> tmp35;
927 : compiler::TNode<IntPtrT> tmp36;
928 : ca_.Bind(&block8, &tmp33, &tmp34, &tmp35, &tmp36);
929 1344 : return compiler::TNode<IntPtrT>{tmp36};
930 : }
931 :
932 224 : ArrayJoinBuiltinsFromDSLAssembler::Buffer ArrayJoinBuiltinsFromDSLAssembler::NewBuffer(compiler::TNode<UintPtrT> p_len, compiler::TNode<String> p_sep) {
933 224 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
934 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
935 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
936 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
937 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
938 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, FixedArray, IntPtrT, IntPtrT, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
939 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, FixedArray, IntPtrT, IntPtrT, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
940 : ca_.Goto(&block0, p_len, p_sep);
941 :
942 224 : if (block0.is_used()) {
943 : compiler::TNode<UintPtrT> tmp0;
944 : compiler::TNode<String> tmp1;
945 : ca_.Bind(&block0, &tmp0, &tmp1);
946 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 217);
947 : compiler::TNode<UintPtrT> tmp2;
948 : USE(tmp2);
949 672 : tmp2 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
950 : compiler::TNode<BoolT> tmp3;
951 : USE(tmp3);
952 672 : tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp0}, compiler::TNode<UintPtrT>{tmp2}));
953 224 : ca_.Branch(tmp3, &block2, &block3, tmp0, tmp1);
954 : }
955 :
956 224 : if (block2.is_used()) {
957 : compiler::TNode<UintPtrT> tmp4;
958 : compiler::TNode<String> tmp5;
959 : ca_.Bind(&block2, &tmp4, &tmp5);
960 : ca_.Goto(&block5, tmp4, tmp5);
961 : }
962 :
963 224 : if (block3.is_used()) {
964 : compiler::TNode<UintPtrT> tmp6;
965 : compiler::TNode<String> tmp7;
966 : ca_.Bind(&block3, &tmp6, &tmp7);
967 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 219);
968 : compiler::TNode<IntPtrT> tmp8;
969 : USE(tmp8);
970 448 : tmp8 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp6}));
971 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 217);
972 : ca_.Goto(&block4, tmp6, tmp7, tmp8);
973 : }
974 :
975 224 : if (block5.is_used()) {
976 : compiler::TNode<UintPtrT> tmp9;
977 : compiler::TNode<String> tmp10;
978 : ca_.Bind(&block5, &tmp9, &tmp10);
979 : compiler::TNode<IntPtrT> tmp11;
980 : USE(tmp11);
981 672 : tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
982 : ca_.Goto(&block4, tmp9, tmp10, tmp11);
983 : }
984 :
985 224 : if (block4.is_used()) {
986 : compiler::TNode<UintPtrT> tmp12;
987 : compiler::TNode<String> tmp13;
988 : compiler::TNode<IntPtrT> tmp14;
989 : ca_.Bind(&block4, &tmp12, &tmp13, &tmp14);
990 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 222);
991 : compiler::TNode<FixedArray> tmp15;
992 : USE(tmp15);
993 448 : tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateZeroedFixedArray(compiler::TNode<IntPtrT>{tmp14}));
994 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 225);
995 : compiler::TNode<Int32T> tmp16;
996 : USE(tmp16);
997 448 : tmp16 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp13}));
998 : compiler::TNode<BoolT> tmp17;
999 : USE(tmp17);
1000 448 : tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp16}));
1001 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 221);
1002 : compiler::TNode<IntPtrT> tmp18;
1003 : USE(tmp18);
1004 672 : tmp18 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
1005 : compiler::TNode<IntPtrT> tmp19;
1006 : USE(tmp19);
1007 672 : tmp19 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
1008 : ca_.Goto(&block1, tmp12, tmp13, tmp15, tmp18, tmp19, tmp17);
1009 : }
1010 :
1011 224 : if (block1.is_used()) {
1012 : compiler::TNode<UintPtrT> tmp20;
1013 : compiler::TNode<String> tmp21;
1014 : compiler::TNode<FixedArray> tmp22;
1015 : compiler::TNode<IntPtrT> tmp23;
1016 : compiler::TNode<IntPtrT> tmp24;
1017 : compiler::TNode<BoolT> tmp25;
1018 : ca_.Bind(&block1, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
1019 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 216);
1020 : ca_.Goto(&block6, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25);
1021 : }
1022 :
1023 : compiler::TNode<UintPtrT> tmp26;
1024 : compiler::TNode<String> tmp27;
1025 : compiler::TNode<FixedArray> tmp28;
1026 : compiler::TNode<IntPtrT> tmp29;
1027 : compiler::TNode<IntPtrT> tmp30;
1028 : compiler::TNode<BoolT> tmp31;
1029 : ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
1030 448 : return ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp28}, compiler::TNode<IntPtrT>{tmp29}, compiler::TNode<IntPtrT>{tmp30}, compiler::TNode<BoolT>{tmp31}};
1031 : }
1032 :
1033 224 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::BufferJoin(compiler::TNode<Context> p_context, ArrayJoinBuiltinsFromDSLAssembler::Buffer p_buffer, compiler::TNode<String> p_sep) {
1034 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1035 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1036 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1037 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1038 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1039 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1040 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1041 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1042 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1043 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1044 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1045 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1046 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1047 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1048 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1049 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1050 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1051 : ca_.Goto(&block0, p_context, p_buffer.fixedArray, p_buffer.index, p_buffer.totalStringLength, p_buffer.isOneByte, p_sep);
1052 :
1053 224 : if (block0.is_used()) {
1054 : compiler::TNode<Context> tmp0;
1055 : compiler::TNode<FixedArray> tmp1;
1056 : compiler::TNode<IntPtrT> tmp2;
1057 : compiler::TNode<IntPtrT> tmp3;
1058 : compiler::TNode<BoolT> tmp4;
1059 : compiler::TNode<String> tmp5;
1060 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
1061 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 232);
1062 : compiler::TNode<IntPtrT> tmp6;
1063 : USE(tmp6);
1064 672 : tmp6 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
1065 : compiler::TNode<BoolT> tmp7;
1066 : USE(tmp7);
1067 672 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp6}));
1068 224 : ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
1069 : }
1070 :
1071 224 : if (block2.is_used()) {
1072 : compiler::TNode<Context> tmp8;
1073 : compiler::TNode<FixedArray> tmp9;
1074 : compiler::TNode<IntPtrT> tmp10;
1075 : compiler::TNode<IntPtrT> tmp11;
1076 : compiler::TNode<BoolT> tmp12;
1077 : compiler::TNode<String> tmp13;
1078 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
1079 : compiler::TNode<String> tmp14;
1080 : USE(tmp14);
1081 672 : tmp14 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
1082 : ca_.Goto(&block1, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
1083 : }
1084 :
1085 224 : if (block3.is_used()) {
1086 : compiler::TNode<Context> tmp15;
1087 : compiler::TNode<FixedArray> tmp16;
1088 : compiler::TNode<IntPtrT> tmp17;
1089 : compiler::TNode<IntPtrT> tmp18;
1090 : compiler::TNode<BoolT> tmp19;
1091 : compiler::TNode<String> tmp20;
1092 : ca_.Bind(&block3, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
1093 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 235);
1094 : compiler::TNode<IntPtrT> tmp21;
1095 : USE(tmp21);
1096 672 : tmp21 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
1097 : compiler::TNode<BoolT> tmp22;
1098 : USE(tmp22);
1099 672 : tmp22 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp17}, compiler::TNode<IntPtrT>{tmp21}));
1100 224 : ca_.Branch(tmp22, &block4, &block5, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
1101 : }
1102 :
1103 224 : if (block4.is_used()) {
1104 : compiler::TNode<Context> tmp23;
1105 : compiler::TNode<FixedArray> tmp24;
1106 : compiler::TNode<IntPtrT> tmp25;
1107 : compiler::TNode<IntPtrT> tmp26;
1108 : compiler::TNode<BoolT> tmp27;
1109 : compiler::TNode<String> tmp28;
1110 : ca_.Bind(&block4, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
1111 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 236);
1112 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 237);
1113 : compiler::TNode<Object> tmp29;
1114 : USE(tmp29);
1115 448 : tmp29 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, 0));
1116 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 240);
1117 : compiler::TNode<String> tmp30;
1118 : USE(tmp30);
1119 224 : compiler::CodeAssemblerLabel label0(&ca_);
1120 672 : tmp30 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp23}, compiler::TNode<Object>{tmp29}, &label0);
1121 : ca_.Goto(&block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29, tmp30);
1122 224 : if (label0.is_used()) {
1123 224 : ca_.Bind(&label0);
1124 : ca_.Goto(&block9, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29);
1125 : }
1126 : }
1127 :
1128 224 : if (block9.is_used()) {
1129 : compiler::TNode<Context> tmp31;
1130 : compiler::TNode<FixedArray> tmp32;
1131 : compiler::TNode<IntPtrT> tmp33;
1132 : compiler::TNode<IntPtrT> tmp34;
1133 : compiler::TNode<BoolT> tmp35;
1134 : compiler::TNode<String> tmp36;
1135 : compiler::TNode<FixedArray> tmp37;
1136 : compiler::TNode<Object> tmp38;
1137 : compiler::TNode<Object> tmp39;
1138 : ca_.Bind(&block9, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
1139 : ca_.Goto(&block7, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38);
1140 : }
1141 :
1142 224 : if (block8.is_used()) {
1143 : compiler::TNode<Context> tmp40;
1144 : compiler::TNode<FixedArray> tmp41;
1145 : compiler::TNode<IntPtrT> tmp42;
1146 : compiler::TNode<IntPtrT> tmp43;
1147 : compiler::TNode<BoolT> tmp44;
1148 : compiler::TNode<String> tmp45;
1149 : compiler::TNode<FixedArray> tmp46;
1150 : compiler::TNode<Object> tmp47;
1151 : compiler::TNode<Object> tmp48;
1152 : compiler::TNode<String> tmp49;
1153 : ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
1154 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 241);
1155 : ca_.Goto(&block1, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp49);
1156 : }
1157 :
1158 224 : if (block7.is_used()) {
1159 : compiler::TNode<Context> tmp50;
1160 : compiler::TNode<FixedArray> tmp51;
1161 : compiler::TNode<IntPtrT> tmp52;
1162 : compiler::TNode<IntPtrT> tmp53;
1163 : compiler::TNode<BoolT> tmp54;
1164 : compiler::TNode<String> tmp55;
1165 : compiler::TNode<FixedArray> tmp56;
1166 : compiler::TNode<Object> tmp57;
1167 : ca_.Bind(&block7, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
1168 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 246);
1169 : compiler::TNode<Number> tmp58;
1170 : USE(tmp58);
1171 224 : compiler::CodeAssemblerLabel label0(&ca_);
1172 672 : tmp58 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp57)}, &label0);
1173 : ca_.Goto(&block12, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57), tmp58);
1174 224 : if (label0.is_used()) {
1175 224 : ca_.Bind(&label0);
1176 : ca_.Goto(&block13, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57));
1177 : }
1178 : }
1179 :
1180 224 : if (block13.is_used()) {
1181 : compiler::TNode<Context> tmp59;
1182 : compiler::TNode<FixedArray> tmp60;
1183 : compiler::TNode<IntPtrT> tmp61;
1184 : compiler::TNode<IntPtrT> tmp62;
1185 : compiler::TNode<BoolT> tmp63;
1186 : compiler::TNode<String> tmp64;
1187 : compiler::TNode<FixedArray> tmp65;
1188 : compiler::TNode<Object> tmp66;
1189 : compiler::TNode<Object> tmp67;
1190 : ca_.Bind(&block13, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
1191 : ca_.Goto(&block11, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66);
1192 : }
1193 :
1194 224 : if (block12.is_used()) {
1195 : compiler::TNode<Context> tmp68;
1196 : compiler::TNode<FixedArray> tmp69;
1197 : compiler::TNode<IntPtrT> tmp70;
1198 : compiler::TNode<IntPtrT> tmp71;
1199 : compiler::TNode<BoolT> tmp72;
1200 : compiler::TNode<String> tmp73;
1201 : compiler::TNode<FixedArray> tmp74;
1202 : compiler::TNode<Object> tmp75;
1203 : compiler::TNode<Object> tmp76;
1204 : compiler::TNode<Number> tmp77;
1205 : ca_.Bind(&block12, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
1206 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 247);
1207 : compiler::TNode<String> tmp78;
1208 448 : tmp78 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp68, tmp73, tmp77));
1209 : USE(tmp78);
1210 : ca_.Goto(&block1, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp78);
1211 : }
1212 :
1213 224 : if (block11.is_used()) {
1214 : compiler::TNode<Context> tmp79;
1215 : compiler::TNode<FixedArray> tmp80;
1216 : compiler::TNode<IntPtrT> tmp81;
1217 : compiler::TNode<IntPtrT> tmp82;
1218 : compiler::TNode<BoolT> tmp83;
1219 : compiler::TNode<String> tmp84;
1220 : compiler::TNode<FixedArray> tmp85;
1221 : compiler::TNode<Object> tmp86;
1222 : ca_.Bind(&block11, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86);
1223 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 249);
1224 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 250);
1225 448 : CodeStubAssembler(state_).Unreachable();
1226 : }
1227 :
1228 224 : if (block5.is_used()) {
1229 : compiler::TNode<Context> tmp87;
1230 : compiler::TNode<FixedArray> tmp88;
1231 : compiler::TNode<IntPtrT> tmp89;
1232 : compiler::TNode<IntPtrT> tmp90;
1233 : compiler::TNode<BoolT> tmp91;
1234 : compiler::TNode<String> tmp92;
1235 : ca_.Bind(&block5, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
1236 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 255);
1237 : compiler::TNode<UintPtrT> tmp93;
1238 : USE(tmp93);
1239 448 : tmp93 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).Unsigned(compiler::TNode<IntPtrT>{tmp90}));
1240 : compiler::TNode<Uint32T> tmp94;
1241 : USE(tmp94);
1242 672 : tmp94 = ca_.UncheckedCast<Uint32T>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATuint329ATuintptr(compiler::TNode<UintPtrT>{tmp93}));
1243 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 256);
1244 224 : ca_.Branch(tmp91, &block14, &block15, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp94);
1245 : }
1246 :
1247 224 : if (block14.is_used()) {
1248 : compiler::TNode<Context> tmp95;
1249 : compiler::TNode<FixedArray> tmp96;
1250 : compiler::TNode<IntPtrT> tmp97;
1251 : compiler::TNode<IntPtrT> tmp98;
1252 : compiler::TNode<BoolT> tmp99;
1253 : compiler::TNode<String> tmp100;
1254 : compiler::TNode<Uint32T> tmp101;
1255 : ca_.Bind(&block14, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101);
1256 : compiler::TNode<String> tmp102;
1257 : USE(tmp102);
1258 448 : tmp102 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqOneByteString(compiler::TNode<Context>{tmp95}, compiler::TNode<Uint32T>{tmp101}));
1259 : ca_.Goto(&block17, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102);
1260 : }
1261 :
1262 224 : if (block15.is_used()) {
1263 : compiler::TNode<Context> tmp103;
1264 : compiler::TNode<FixedArray> tmp104;
1265 : compiler::TNode<IntPtrT> tmp105;
1266 : compiler::TNode<IntPtrT> tmp106;
1267 : compiler::TNode<BoolT> tmp107;
1268 : compiler::TNode<String> tmp108;
1269 : compiler::TNode<Uint32T> tmp109;
1270 : ca_.Bind(&block15, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
1271 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 257);
1272 : compiler::TNode<String> tmp110;
1273 : USE(tmp110);
1274 448 : tmp110 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqTwoByteString(compiler::TNode<Context>{tmp103}, compiler::TNode<Uint32T>{tmp109}));
1275 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 256);
1276 : ca_.Goto(&block16, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110);
1277 : }
1278 :
1279 224 : if (block17.is_used()) {
1280 : compiler::TNode<Context> tmp111;
1281 : compiler::TNode<FixedArray> tmp112;
1282 : compiler::TNode<IntPtrT> tmp113;
1283 : compiler::TNode<IntPtrT> tmp114;
1284 : compiler::TNode<BoolT> tmp115;
1285 : compiler::TNode<String> tmp116;
1286 : compiler::TNode<Uint32T> tmp117;
1287 : compiler::TNode<String> tmp118;
1288 : ca_.Bind(&block17, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
1289 : ca_.Goto(&block16, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
1290 : }
1291 :
1292 224 : if (block16.is_used()) {
1293 : compiler::TNode<Context> tmp119;
1294 : compiler::TNode<FixedArray> tmp120;
1295 : compiler::TNode<IntPtrT> tmp121;
1296 : compiler::TNode<IntPtrT> tmp122;
1297 : compiler::TNode<BoolT> tmp123;
1298 : compiler::TNode<String> tmp124;
1299 : compiler::TNode<Uint32T> tmp125;
1300 : compiler::TNode<String> tmp126;
1301 : ca_.Bind(&block16, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
1302 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 259);
1303 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 258);
1304 : compiler::TNode<String> tmp127;
1305 : USE(tmp127);
1306 224 : tmp127 = ca_.UncheckedCast<String>(ArrayBuiltinsAssembler(state_).CallJSArrayArrayJoinConcatToSequentialString(compiler::TNode<FixedArray>{tmp120}, compiler::TNode<IntPtrT>{tmp121}, compiler::TNode<String>{tmp124}, compiler::TNode<String>{tmp126}));
1307 : ca_.Goto(&block1, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp127);
1308 : }
1309 :
1310 224 : if (block1.is_used()) {
1311 : compiler::TNode<Context> tmp128;
1312 : compiler::TNode<FixedArray> tmp129;
1313 : compiler::TNode<IntPtrT> tmp130;
1314 : compiler::TNode<IntPtrT> tmp131;
1315 : compiler::TNode<BoolT> tmp132;
1316 : compiler::TNode<String> tmp133;
1317 : compiler::TNode<String> tmp134;
1318 : ca_.Bind(&block1, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134);
1319 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 229);
1320 : ca_.Goto(&block18, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134);
1321 : }
1322 :
1323 : compiler::TNode<Context> tmp135;
1324 : compiler::TNode<FixedArray> tmp136;
1325 : compiler::TNode<IntPtrT> tmp137;
1326 : compiler::TNode<IntPtrT> tmp138;
1327 : compiler::TNode<BoolT> tmp139;
1328 : compiler::TNode<String> tmp140;
1329 : compiler::TNode<String> tmp141;
1330 : ca_.Bind(&block18, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141);
1331 448 : return compiler::TNode<String>{tmp141};
1332 : }
1333 :
1334 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) {
1335 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1336 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1337 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver, JSArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1338 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1339 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1340 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1341 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1342 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1343 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1344 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1345 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1346 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1347 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1348 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block18(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1349 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1350 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1351 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1352 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1353 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number, Smi> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1354 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1355 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1356 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1357 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1358 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1359 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1360 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1361 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1362 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1363 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1364 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1365 : ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
1366 :
1367 112 : if (block0.is_used()) {
1368 : compiler::TNode<Context> tmp0;
1369 : compiler::TNode<JSReceiver> tmp1;
1370 : compiler::TNode<String> tmp2;
1371 : compiler::TNode<Number> tmp3;
1372 : compiler::TNode<Object> tmp4;
1373 : compiler::TNode<Object> tmp5;
1374 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
1375 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 333);
1376 112 : compiler::TNode<IntPtrT> tmp6 = ca_.IntPtrConstant(HeapObject::kMapOffset);
1377 : USE(tmp6);
1378 224 : compiler::TNode<Map>tmp7 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp6});
1379 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 334);
1380 : compiler::TNode<Int32T> tmp8;
1381 : USE(tmp8);
1382 224 : tmp8 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp7}));
1383 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 335);
1384 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 338);
1385 : compiler::TNode<JSArray> tmp9;
1386 : USE(tmp9);
1387 112 : compiler::CodeAssemblerLabel label0(&ca_);
1388 336 : tmp9 = BaseBuiltinsFromDSLAssembler(state_).Cast7JSArray(compiler::TNode<HeapObject>{tmp1}, &label0);
1389 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp8, ca_.Uninitialized<BuiltinPtr>(), tmp1, tmp9);
1390 112 : if (label0.is_used()) {
1391 112 : ca_.Bind(&label0);
1392 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp8, ca_.Uninitialized<BuiltinPtr>(), tmp1);
1393 : }
1394 : }
1395 :
1396 112 : if (block5.is_used()) {
1397 : compiler::TNode<Context> tmp10;
1398 : compiler::TNode<JSReceiver> tmp11;
1399 : compiler::TNode<String> tmp12;
1400 : compiler::TNode<Number> tmp13;
1401 : compiler::TNode<Object> tmp14;
1402 : compiler::TNode<Object> tmp15;
1403 : compiler::TNode<Map> tmp16;
1404 : compiler::TNode<Int32T> tmp17;
1405 : compiler::TNode<BuiltinPtr> tmp18;
1406 : compiler::TNode<JSReceiver> tmp19;
1407 : ca_.Bind(&block5, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
1408 : ca_.Goto(&block3, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18);
1409 : }
1410 :
1411 112 : if (block4.is_used()) {
1412 : compiler::TNode<Context> tmp20;
1413 : compiler::TNode<JSReceiver> tmp21;
1414 : compiler::TNode<String> tmp22;
1415 : compiler::TNode<Number> tmp23;
1416 : compiler::TNode<Object> tmp24;
1417 : compiler::TNode<Object> tmp25;
1418 : compiler::TNode<Map> tmp26;
1419 : compiler::TNode<Int32T> tmp27;
1420 : compiler::TNode<BuiltinPtr> tmp28;
1421 : compiler::TNode<JSReceiver> tmp29;
1422 : compiler::TNode<JSArray> tmp30;
1423 : ca_.Bind(&block4, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
1424 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 339);
1425 112 : compiler::TNode<IntPtrT> tmp31 = ca_.IntPtrConstant(JSArray::kLengthOffset);
1426 : USE(tmp31);
1427 336 : compiler::TNode<Number>tmp32 = CodeStubAssembler(state_).LoadReference<Number>(CodeStubAssembler::Reference{tmp30, tmp31});
1428 : compiler::TNode<BoolT> tmp33;
1429 : USE(tmp33);
1430 336 : tmp33 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp32}, compiler::TNode<Number>{tmp23}));
1431 112 : ca_.Branch(tmp33, &block6, &block7, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp30);
1432 : }
1433 :
1434 112 : if (block6.is_used()) {
1435 : compiler::TNode<Context> tmp34;
1436 : compiler::TNode<JSReceiver> tmp35;
1437 : compiler::TNode<String> tmp36;
1438 : compiler::TNode<Number> tmp37;
1439 : compiler::TNode<Object> tmp38;
1440 : compiler::TNode<Object> tmp39;
1441 : compiler::TNode<Map> tmp40;
1442 : compiler::TNode<Int32T> tmp41;
1443 : compiler::TNode<BuiltinPtr> tmp42;
1444 : compiler::TNode<JSArray> tmp43;
1445 : ca_.Bind(&block6, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
1446 : ca_.Goto(&block3, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
1447 : }
1448 :
1449 112 : if (block7.is_used()) {
1450 : compiler::TNode<Context> tmp44;
1451 : compiler::TNode<JSReceiver> tmp45;
1452 : compiler::TNode<String> tmp46;
1453 : compiler::TNode<Number> tmp47;
1454 : compiler::TNode<Object> tmp48;
1455 : compiler::TNode<Object> tmp49;
1456 : compiler::TNode<Map> tmp50;
1457 : compiler::TNode<Int32T> tmp51;
1458 : compiler::TNode<BuiltinPtr> tmp52;
1459 : compiler::TNode<JSArray> tmp53;
1460 : ca_.Bind(&block7, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
1461 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 340);
1462 : compiler::TNode<BoolT> tmp54;
1463 : USE(tmp54);
1464 448 : tmp54 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsPrototypeInitialArrayPrototype(compiler::TNode<Context>{tmp44}, compiler::TNode<Map>{tmp50}));
1465 : compiler::TNode<BoolT> tmp55;
1466 : USE(tmp55);
1467 224 : tmp55 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp54}));
1468 112 : ca_.Branch(tmp55, &block8, &block9, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53);
1469 : }
1470 :
1471 112 : if (block8.is_used()) {
1472 : compiler::TNode<Context> tmp56;
1473 : compiler::TNode<JSReceiver> tmp57;
1474 : compiler::TNode<String> tmp58;
1475 : compiler::TNode<Number> tmp59;
1476 : compiler::TNode<Object> tmp60;
1477 : compiler::TNode<Object> tmp61;
1478 : compiler::TNode<Map> tmp62;
1479 : compiler::TNode<Int32T> tmp63;
1480 : compiler::TNode<BuiltinPtr> tmp64;
1481 : compiler::TNode<JSArray> tmp65;
1482 : ca_.Bind(&block8, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65);
1483 : ca_.Goto(&block3, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64);
1484 : }
1485 :
1486 112 : if (block9.is_used()) {
1487 : compiler::TNode<Context> tmp66;
1488 : compiler::TNode<JSReceiver> tmp67;
1489 : compiler::TNode<String> tmp68;
1490 : compiler::TNode<Number> tmp69;
1491 : compiler::TNode<Object> tmp70;
1492 : compiler::TNode<Object> tmp71;
1493 : compiler::TNode<Map> tmp72;
1494 : compiler::TNode<Int32T> tmp73;
1495 : compiler::TNode<BuiltinPtr> tmp74;
1496 : compiler::TNode<JSArray> tmp75;
1497 : ca_.Bind(&block9, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75);
1498 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 341);
1499 : compiler::TNode<BoolT> tmp76;
1500 : USE(tmp76);
1501 224 : tmp76 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
1502 112 : ca_.Branch(tmp76, &block10, &block11, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75);
1503 : }
1504 :
1505 112 : if (block10.is_used()) {
1506 : compiler::TNode<Context> tmp77;
1507 : compiler::TNode<JSReceiver> tmp78;
1508 : compiler::TNode<String> tmp79;
1509 : compiler::TNode<Number> tmp80;
1510 : compiler::TNode<Object> tmp81;
1511 : compiler::TNode<Object> tmp82;
1512 : compiler::TNode<Map> tmp83;
1513 : compiler::TNode<Int32T> tmp84;
1514 : compiler::TNode<BuiltinPtr> tmp85;
1515 : compiler::TNode<JSArray> tmp86;
1516 : ca_.Bind(&block10, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86);
1517 : ca_.Goto(&block3, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85);
1518 : }
1519 :
1520 112 : if (block11.is_used()) {
1521 : compiler::TNode<Context> tmp87;
1522 : compiler::TNode<JSReceiver> tmp88;
1523 : compiler::TNode<String> tmp89;
1524 : compiler::TNode<Number> tmp90;
1525 : compiler::TNode<Object> tmp91;
1526 : compiler::TNode<Object> tmp92;
1527 : compiler::TNode<Map> tmp93;
1528 : compiler::TNode<Int32T> tmp94;
1529 : compiler::TNode<BuiltinPtr> tmp95;
1530 : compiler::TNode<JSArray> tmp96;
1531 : ca_.Bind(&block11, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96);
1532 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
1533 : compiler::TNode<BoolT> tmp97;
1534 : USE(tmp97);
1535 224 : tmp97 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp94}, HOLEY_ELEMENTS));
1536 112 : ca_.Branch(tmp97, &block12, &block13, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96);
1537 : }
1538 :
1539 112 : if (block12.is_used()) {
1540 : compiler::TNode<Context> tmp98;
1541 : compiler::TNode<JSReceiver> tmp99;
1542 : compiler::TNode<String> tmp100;
1543 : compiler::TNode<Number> tmp101;
1544 : compiler::TNode<Object> tmp102;
1545 : compiler::TNode<Object> tmp103;
1546 : compiler::TNode<Map> tmp104;
1547 : compiler::TNode<Int32T> tmp105;
1548 : compiler::TNode<BuiltinPtr> tmp106;
1549 : compiler::TNode<JSArray> tmp107;
1550 : ca_.Bind(&block12, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
1551 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 344);
1552 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
1553 : ca_.Goto(&block14, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATFastSmiOrObjectElements)), tmp107);
1554 : }
1555 :
1556 112 : if (block13.is_used()) {
1557 : compiler::TNode<Context> tmp108;
1558 : compiler::TNode<JSReceiver> tmp109;
1559 : compiler::TNode<String> tmp110;
1560 : compiler::TNode<Number> tmp111;
1561 : compiler::TNode<Object> tmp112;
1562 : compiler::TNode<Object> tmp113;
1563 : compiler::TNode<Map> tmp114;
1564 : compiler::TNode<Int32T> tmp115;
1565 : compiler::TNode<BuiltinPtr> tmp116;
1566 : compiler::TNode<JSArray> tmp117;
1567 : ca_.Bind(&block13, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117);
1568 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
1569 : compiler::TNode<BoolT> tmp118;
1570 : USE(tmp118);
1571 224 : tmp118 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp115}, HOLEY_DOUBLE_ELEMENTS));
1572 112 : ca_.Branch(tmp118, &block15, &block16, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117);
1573 : }
1574 :
1575 112 : if (block15.is_used()) {
1576 : compiler::TNode<Context> tmp119;
1577 : compiler::TNode<JSReceiver> tmp120;
1578 : compiler::TNode<String> tmp121;
1579 : compiler::TNode<Number> tmp122;
1580 : compiler::TNode<Object> tmp123;
1581 : compiler::TNode<Object> tmp124;
1582 : compiler::TNode<Map> tmp125;
1583 : compiler::TNode<Int32T> tmp126;
1584 : compiler::TNode<BuiltinPtr> tmp127;
1585 : compiler::TNode<JSArray> tmp128;
1586 : ca_.Bind(&block15, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128);
1587 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 346);
1588 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
1589 : ca_.Goto(&block17, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATFastDoubleElements)), tmp128);
1590 : }
1591 :
1592 112 : if (block16.is_used()) {
1593 : compiler::TNode<Context> tmp129;
1594 : compiler::TNode<JSReceiver> tmp130;
1595 : compiler::TNode<String> tmp131;
1596 : compiler::TNode<Number> tmp132;
1597 : compiler::TNode<Object> tmp133;
1598 : compiler::TNode<Object> tmp134;
1599 : compiler::TNode<Map> tmp135;
1600 : compiler::TNode<Int32T> tmp136;
1601 : compiler::TNode<BuiltinPtr> tmp137;
1602 : compiler::TNode<JSArray> tmp138;
1603 : ca_.Bind(&block16, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
1604 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 347);
1605 : compiler::TNode<Int32T> tmp139;
1606 : USE(tmp139);
1607 336 : tmp139 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(DICTIONARY_ELEMENTS));
1608 : compiler::TNode<BoolT> tmp140;
1609 : USE(tmp140);
1610 224 : tmp140 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp136}, compiler::TNode<Int32T>{tmp139}));
1611 112 : ca_.Branch(tmp140, &block18, &block19, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138);
1612 : }
1613 :
1614 112 : if (block18.is_used()) {
1615 : compiler::TNode<Context> tmp141;
1616 : compiler::TNode<JSReceiver> tmp142;
1617 : compiler::TNode<String> tmp143;
1618 : compiler::TNode<Number> tmp144;
1619 : compiler::TNode<Object> tmp145;
1620 : compiler::TNode<Object> tmp146;
1621 : compiler::TNode<Map> tmp147;
1622 : compiler::TNode<Int32T> tmp148;
1623 : compiler::TNode<BuiltinPtr> tmp149;
1624 : compiler::TNode<JSArray> tmp150;
1625 : ca_.Bind(&block18, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150);
1626 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 350);
1627 112 : compiler::TNode<IntPtrT> tmp151 = ca_.IntPtrConstant(JSObject::kElementsOffset);
1628 : USE(tmp151);
1629 224 : compiler::TNode<FixedArrayBase>tmp152 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp150, tmp151});
1630 : compiler::TNode<NumberDictionary> tmp153;
1631 : USE(tmp153);
1632 336 : tmp153 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp141}, compiler::TNode<Object>{tmp152}));
1633 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 349);
1634 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 351);
1635 : compiler::TNode<Smi> tmp154;
1636 : USE(tmp154);
1637 224 : tmp154 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).GetNumberDictionaryNumberOfElements(compiler::TNode<NumberDictionary>{tmp153}));
1638 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 352);
1639 : compiler::TNode<Smi> tmp155;
1640 : USE(tmp155);
1641 336 : tmp155 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
1642 : compiler::TNode<BoolT> tmp156;
1643 : USE(tmp156);
1644 224 : tmp156 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp154}, compiler::TNode<Smi>{tmp155}));
1645 112 : ca_.Branch(tmp156, &block21, &block22, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp153, tmp154);
1646 : }
1647 :
1648 112 : if (block21.is_used()) {
1649 : compiler::TNode<Context> tmp157;
1650 : compiler::TNode<JSReceiver> tmp158;
1651 : compiler::TNode<String> tmp159;
1652 : compiler::TNode<Number> tmp160;
1653 : compiler::TNode<Object> tmp161;
1654 : compiler::TNode<Object> tmp162;
1655 : compiler::TNode<Map> tmp163;
1656 : compiler::TNode<Int32T> tmp164;
1657 : compiler::TNode<BuiltinPtr> tmp165;
1658 : compiler::TNode<JSArray> tmp166;
1659 : compiler::TNode<NumberDictionary> tmp167;
1660 : compiler::TNode<Smi> tmp168;
1661 : ca_.Bind(&block21, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168);
1662 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 353);
1663 : compiler::TNode<String> tmp169;
1664 : USE(tmp169);
1665 336 : tmp169 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
1666 : compiler::TNode<BoolT> tmp170;
1667 : USE(tmp170);
1668 224 : tmp170 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp159}, compiler::TNode<HeapObject>{tmp169}));
1669 112 : ca_.Branch(tmp170, &block24, &block25, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168);
1670 : }
1671 :
1672 112 : if (block24.is_used()) {
1673 : compiler::TNode<Context> tmp171;
1674 : compiler::TNode<JSReceiver> tmp172;
1675 : compiler::TNode<String> tmp173;
1676 : compiler::TNode<Number> tmp174;
1677 : compiler::TNode<Object> tmp175;
1678 : compiler::TNode<Object> tmp176;
1679 : compiler::TNode<Map> tmp177;
1680 : compiler::TNode<Int32T> tmp178;
1681 : compiler::TNode<BuiltinPtr> tmp179;
1682 : compiler::TNode<JSArray> tmp180;
1683 : compiler::TNode<NumberDictionary> tmp181;
1684 : compiler::TNode<Smi> tmp182;
1685 : ca_.Bind(&block24, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182);
1686 : compiler::TNode<String> tmp183;
1687 : USE(tmp183);
1688 336 : tmp183 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
1689 : ca_.Goto(&block1, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp183);
1690 : }
1691 :
1692 112 : if (block25.is_used()) {
1693 : compiler::TNode<Context> tmp184;
1694 : compiler::TNode<JSReceiver> tmp185;
1695 : compiler::TNode<String> tmp186;
1696 : compiler::TNode<Number> tmp187;
1697 : compiler::TNode<Object> tmp188;
1698 : compiler::TNode<Object> tmp189;
1699 : compiler::TNode<Map> tmp190;
1700 : compiler::TNode<Int32T> tmp191;
1701 : compiler::TNode<BuiltinPtr> tmp192;
1702 : compiler::TNode<JSArray> tmp193;
1703 : compiler::TNode<NumberDictionary> tmp194;
1704 : compiler::TNode<Smi> tmp195;
1705 : ca_.Bind(&block25, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195);
1706 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 356);
1707 : compiler::TNode<Number> tmp196;
1708 : USE(tmp196);
1709 336 : tmp196 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
1710 : compiler::TNode<Number> tmp197;
1711 : USE(tmp197);
1712 336 : tmp197 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp187}, compiler::TNode<Number>{tmp196}));
1713 : compiler::TNode<Smi> tmp198;
1714 : USE(tmp198);
1715 112 : compiler::CodeAssemblerLabel label0(&ca_);
1716 336 : tmp198 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp197}, &label0);
1717 : ca_.Goto(&block28, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195, tmp197, tmp198);
1718 112 : if (label0.is_used()) {
1719 112 : ca_.Bind(&label0);
1720 : ca_.Goto(&block29, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195, tmp197);
1721 : }
1722 : }
1723 :
1724 112 : if (block29.is_used()) {
1725 : compiler::TNode<Context> tmp199;
1726 : compiler::TNode<JSReceiver> tmp200;
1727 : compiler::TNode<String> tmp201;
1728 : compiler::TNode<Number> tmp202;
1729 : compiler::TNode<Object> tmp203;
1730 : compiler::TNode<Object> tmp204;
1731 : compiler::TNode<Map> tmp205;
1732 : compiler::TNode<Int32T> tmp206;
1733 : compiler::TNode<BuiltinPtr> tmp207;
1734 : compiler::TNode<JSArray> tmp208;
1735 : compiler::TNode<NumberDictionary> tmp209;
1736 : compiler::TNode<Smi> tmp210;
1737 : compiler::TNode<Number> tmp211;
1738 : ca_.Bind(&block29, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211);
1739 : ca_.Goto(&block27, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210);
1740 : }
1741 :
1742 112 : if (block28.is_used()) {
1743 : compiler::TNode<Context> tmp212;
1744 : compiler::TNode<JSReceiver> tmp213;
1745 : compiler::TNode<String> tmp214;
1746 : compiler::TNode<Number> tmp215;
1747 : compiler::TNode<Object> tmp216;
1748 : compiler::TNode<Object> tmp217;
1749 : compiler::TNode<Map> tmp218;
1750 : compiler::TNode<Int32T> tmp219;
1751 : compiler::TNode<BuiltinPtr> tmp220;
1752 : compiler::TNode<JSArray> tmp221;
1753 : compiler::TNode<NumberDictionary> tmp222;
1754 : compiler::TNode<Smi> tmp223;
1755 : compiler::TNode<Number> tmp224;
1756 : compiler::TNode<Smi> tmp225;
1757 : ca_.Bind(&block28, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225);
1758 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 355);
1759 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 357);
1760 : compiler::TNode<String> tmp226;
1761 224 : tmp226 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp212, tmp214, tmp225));
1762 : USE(tmp226);
1763 : ca_.Goto(&block1, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp226);
1764 : }
1765 :
1766 112 : if (block27.is_used()) {
1767 : compiler::TNode<Context> tmp227;
1768 : compiler::TNode<JSReceiver> tmp228;
1769 : compiler::TNode<String> tmp229;
1770 : compiler::TNode<Number> tmp230;
1771 : compiler::TNode<Object> tmp231;
1772 : compiler::TNode<Object> tmp232;
1773 : compiler::TNode<Map> tmp233;
1774 : compiler::TNode<Int32T> tmp234;
1775 : compiler::TNode<BuiltinPtr> tmp235;
1776 : compiler::TNode<JSArray> tmp236;
1777 : compiler::TNode<NumberDictionary> tmp237;
1778 : compiler::TNode<Smi> tmp238;
1779 : ca_.Bind(&block27, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238);
1780 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 360);
1781 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp227);
1782 224 : CodeStubAssembler(state_).Unreachable();
1783 : }
1784 :
1785 112 : if (block22.is_used()) {
1786 : compiler::TNode<Context> tmp240;
1787 : compiler::TNode<JSReceiver> tmp241;
1788 : compiler::TNode<String> tmp242;
1789 : compiler::TNode<Number> tmp243;
1790 : compiler::TNode<Object> tmp244;
1791 : compiler::TNode<Object> tmp245;
1792 : compiler::TNode<Map> tmp246;
1793 : compiler::TNode<Int32T> tmp247;
1794 : compiler::TNode<BuiltinPtr> tmp248;
1795 : compiler::TNode<JSArray> tmp249;
1796 : compiler::TNode<NumberDictionary> tmp250;
1797 : compiler::TNode<Smi> tmp251;
1798 : ca_.Bind(&block22, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251);
1799 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 363);
1800 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 352);
1801 : ca_.Goto(&block23, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATDictionaryElements)), tmp249, tmp250, tmp251);
1802 : }
1803 :
1804 112 : if (block23.is_used()) {
1805 : compiler::TNode<Context> tmp252;
1806 : compiler::TNode<JSReceiver> tmp253;
1807 : compiler::TNode<String> tmp254;
1808 : compiler::TNode<Number> tmp255;
1809 : compiler::TNode<Object> tmp256;
1810 : compiler::TNode<Object> tmp257;
1811 : compiler::TNode<Map> tmp258;
1812 : compiler::TNode<Int32T> tmp259;
1813 : compiler::TNode<BuiltinPtr> tmp260;
1814 : compiler::TNode<JSArray> tmp261;
1815 : compiler::TNode<NumberDictionary> tmp262;
1816 : compiler::TNode<Smi> tmp263;
1817 : ca_.Bind(&block23, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263);
1818 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 348);
1819 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 347);
1820 : ca_.Goto(&block20, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261);
1821 : }
1822 :
1823 112 : if (block19.is_used()) {
1824 : compiler::TNode<Context> tmp264;
1825 : compiler::TNode<JSReceiver> tmp265;
1826 : compiler::TNode<String> tmp266;
1827 : compiler::TNode<Number> tmp267;
1828 : compiler::TNode<Object> tmp268;
1829 : compiler::TNode<Object> tmp269;
1830 : compiler::TNode<Map> tmp270;
1831 : compiler::TNode<Int32T> tmp271;
1832 : compiler::TNode<BuiltinPtr> tmp272;
1833 : compiler::TNode<JSArray> tmp273;
1834 : ca_.Bind(&block19, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272, &tmp273);
1835 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 367);
1836 : ca_.Goto(&block3, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, tmp272);
1837 : }
1838 :
1839 112 : if (block20.is_used()) {
1840 : compiler::TNode<Context> tmp274;
1841 : compiler::TNode<JSReceiver> tmp275;
1842 : compiler::TNode<String> tmp276;
1843 : compiler::TNode<Number> tmp277;
1844 : compiler::TNode<Object> tmp278;
1845 : compiler::TNode<Object> tmp279;
1846 : compiler::TNode<Map> tmp280;
1847 : compiler::TNode<Int32T> tmp281;
1848 : compiler::TNode<BuiltinPtr> tmp282;
1849 : compiler::TNode<JSArray> tmp283;
1850 : ca_.Bind(&block20, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283);
1851 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
1852 : ca_.Goto(&block17, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283);
1853 : }
1854 :
1855 112 : if (block17.is_used()) {
1856 : compiler::TNode<Context> tmp284;
1857 : compiler::TNode<JSReceiver> tmp285;
1858 : compiler::TNode<String> tmp286;
1859 : compiler::TNode<Number> tmp287;
1860 : compiler::TNode<Object> tmp288;
1861 : compiler::TNode<Object> tmp289;
1862 : compiler::TNode<Map> tmp290;
1863 : compiler::TNode<Int32T> tmp291;
1864 : compiler::TNode<BuiltinPtr> tmp292;
1865 : compiler::TNode<JSArray> tmp293;
1866 : ca_.Bind(&block17, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292, &tmp293);
1867 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
1868 : ca_.Goto(&block14, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, tmp292, tmp293);
1869 : }
1870 :
1871 112 : if (block14.is_used()) {
1872 : compiler::TNode<Context> tmp294;
1873 : compiler::TNode<JSReceiver> tmp295;
1874 : compiler::TNode<String> tmp296;
1875 : compiler::TNode<Number> tmp297;
1876 : compiler::TNode<Object> tmp298;
1877 : compiler::TNode<Object> tmp299;
1878 : compiler::TNode<Map> tmp300;
1879 : compiler::TNode<Int32T> tmp301;
1880 : compiler::TNode<BuiltinPtr> tmp302;
1881 : compiler::TNode<JSArray> tmp303;
1882 : ca_.Bind(&block14, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303);
1883 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 337);
1884 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 370);
1885 : ca_.Goto(&block2, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302);
1886 : }
1887 :
1888 112 : if (block3.is_used()) {
1889 : compiler::TNode<Context> tmp304;
1890 : compiler::TNode<JSReceiver> tmp305;
1891 : compiler::TNode<String> tmp306;
1892 : compiler::TNode<Number> tmp307;
1893 : compiler::TNode<Object> tmp308;
1894 : compiler::TNode<Object> tmp309;
1895 : compiler::TNode<Map> tmp310;
1896 : compiler::TNode<Int32T> tmp311;
1897 : compiler::TNode<BuiltinPtr> tmp312;
1898 : ca_.Bind(&block3, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312);
1899 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 371);
1900 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 337);
1901 : ca_.Goto(&block2, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)));
1902 : }
1903 :
1904 112 : if (block2.is_used()) {
1905 : compiler::TNode<Context> tmp313;
1906 : compiler::TNode<JSReceiver> tmp314;
1907 : compiler::TNode<String> tmp315;
1908 : compiler::TNode<Number> tmp316;
1909 : compiler::TNode<Object> tmp317;
1910 : compiler::TNode<Object> tmp318;
1911 : compiler::TNode<Map> tmp319;
1912 : compiler::TNode<Int32T> tmp320;
1913 : compiler::TNode<BuiltinPtr> tmp321;
1914 : ca_.Bind(&block2, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321);
1915 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 374);
1916 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 373);
1917 : compiler::TNode<String> tmp322;
1918 : USE(tmp322);
1919 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}));
1920 : ca_.Goto(&block1, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp322);
1921 : }
1922 :
1923 112 : if (block1.is_used()) {
1924 : compiler::TNode<Context> tmp323;
1925 : compiler::TNode<JSReceiver> tmp324;
1926 : compiler::TNode<String> tmp325;
1927 : compiler::TNode<Number> tmp326;
1928 : compiler::TNode<Object> tmp327;
1929 : compiler::TNode<Object> tmp328;
1930 : compiler::TNode<Object> tmp329;
1931 : ca_.Bind(&block1, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329);
1932 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 326);
1933 : ca_.Goto(&block30, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329);
1934 : }
1935 :
1936 : compiler::TNode<Context> tmp330;
1937 : compiler::TNode<JSReceiver> tmp331;
1938 : compiler::TNode<String> tmp332;
1939 : compiler::TNode<Number> tmp333;
1940 : compiler::TNode<Object> tmp334;
1941 : compiler::TNode<Object> tmp335;
1942 : compiler::TNode<Object> tmp336;
1943 : ca_.Bind(&block30, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
1944 224 : return compiler::TNode<Object>{tmp336};
1945 : }
1946 :
1947 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) {
1948 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1949 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1950 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1951 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1952 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1953 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1954 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1955 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1956 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1957 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1958 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1959 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1960 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1961 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1962 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1963 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1964 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1965 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1966 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1967 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1968 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1969 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1970 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1971 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1972 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1973 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1974 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1975 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1976 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block33(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1977 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1978 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1979 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1980 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1981 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1982 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1983 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1984 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1985 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1986 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1987 : ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
1988 :
1989 112 : if (block0.is_used()) {
1990 : compiler::TNode<Context> tmp0;
1991 : compiler::TNode<JSReceiver> tmp1;
1992 : compiler::TNode<String> tmp2;
1993 : compiler::TNode<Number> tmp3;
1994 : compiler::TNode<Object> tmp4;
1995 : compiler::TNode<Object> tmp5;
1996 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
1997 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 380);
1998 112 : compiler::TNode<IntPtrT> tmp6 = ca_.IntPtrConstant(HeapObject::kMapOffset);
1999 : USE(tmp6);
2000 224 : compiler::TNode<Map>tmp7 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp6});
2001 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 381);
2002 : compiler::TNode<Int32T> tmp8;
2003 : USE(tmp8);
2004 224 : tmp8 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp7}));
2005 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 382);
2006 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
2007 : compiler::TNode<BoolT> tmp9;
2008 : USE(tmp9);
2009 224 : tmp9 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindGreaterThan(compiler::TNode<Int32T>{tmp8}, UINT32_ELEMENTS));
2010 112 : ca_.Branch(tmp9, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp8, ca_.Uninitialized<BuiltinPtr>());
2011 : }
2012 :
2013 112 : if (block2.is_used()) {
2014 : compiler::TNode<Context> tmp10;
2015 : compiler::TNode<JSReceiver> tmp11;
2016 : compiler::TNode<String> tmp12;
2017 : compiler::TNode<Number> tmp13;
2018 : compiler::TNode<Object> tmp14;
2019 : compiler::TNode<Object> tmp15;
2020 : compiler::TNode<Map> tmp16;
2021 : compiler::TNode<Int32T> tmp17;
2022 : compiler::TNode<BuiltinPtr> tmp18;
2023 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
2024 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
2025 : compiler::TNode<Int32T> tmp19;
2026 : USE(tmp19);
2027 336 : tmp19 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT32_ELEMENTS));
2028 : compiler::TNode<BoolT> tmp20;
2029 : USE(tmp20);
2030 224 : tmp20 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp17}, compiler::TNode<Int32T>{tmp19}));
2031 112 : ca_.Branch(tmp20, &block5, &block6, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18);
2032 : }
2033 :
2034 112 : if (block5.is_used()) {
2035 : compiler::TNode<Context> tmp21;
2036 : compiler::TNode<JSReceiver> tmp22;
2037 : compiler::TNode<String> tmp23;
2038 : compiler::TNode<Number> tmp24;
2039 : compiler::TNode<Object> tmp25;
2040 : compiler::TNode<Object> tmp26;
2041 : compiler::TNode<Map> tmp27;
2042 : compiler::TNode<Int32T> tmp28;
2043 : compiler::TNode<BuiltinPtr> tmp29;
2044 : ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
2045 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 386);
2046 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
2047 : ca_.Goto(&block7, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt32Array)));
2048 : }
2049 :
2050 112 : if (block6.is_used()) {
2051 : compiler::TNode<Context> tmp30;
2052 : compiler::TNode<JSReceiver> tmp31;
2053 : compiler::TNode<String> tmp32;
2054 : compiler::TNode<Number> tmp33;
2055 : compiler::TNode<Object> tmp34;
2056 : compiler::TNode<Object> tmp35;
2057 : compiler::TNode<Map> tmp36;
2058 : compiler::TNode<Int32T> tmp37;
2059 : compiler::TNode<BuiltinPtr> tmp38;
2060 : ca_.Bind(&block6, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
2061 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
2062 : compiler::TNode<Int32T> tmp39;
2063 : USE(tmp39);
2064 336 : tmp39 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT32_ELEMENTS));
2065 : compiler::TNode<BoolT> tmp40;
2066 : USE(tmp40);
2067 224 : tmp40 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp37}, compiler::TNode<Int32T>{tmp39}));
2068 112 : ca_.Branch(tmp40, &block8, &block9, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38);
2069 : }
2070 :
2071 112 : if (block8.is_used()) {
2072 : compiler::TNode<Context> tmp41;
2073 : compiler::TNode<JSReceiver> tmp42;
2074 : compiler::TNode<String> tmp43;
2075 : compiler::TNode<Number> tmp44;
2076 : compiler::TNode<Object> tmp45;
2077 : compiler::TNode<Object> tmp46;
2078 : compiler::TNode<Map> tmp47;
2079 : compiler::TNode<Int32T> tmp48;
2080 : compiler::TNode<BuiltinPtr> tmp49;
2081 : ca_.Bind(&block8, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
2082 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 388);
2083 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
2084 : ca_.Goto(&block10, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat32Array)));
2085 : }
2086 :
2087 112 : if (block9.is_used()) {
2088 : compiler::TNode<Context> tmp50;
2089 : compiler::TNode<JSReceiver> tmp51;
2090 : compiler::TNode<String> tmp52;
2091 : compiler::TNode<Number> tmp53;
2092 : compiler::TNode<Object> tmp54;
2093 : compiler::TNode<Object> tmp55;
2094 : compiler::TNode<Map> tmp56;
2095 : compiler::TNode<Int32T> tmp57;
2096 : compiler::TNode<BuiltinPtr> tmp58;
2097 : ca_.Bind(&block9, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
2098 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
2099 : compiler::TNode<Int32T> tmp59;
2100 : USE(tmp59);
2101 336 : tmp59 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT64_ELEMENTS));
2102 : compiler::TNode<BoolT> tmp60;
2103 : USE(tmp60);
2104 224 : tmp60 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp57}, compiler::TNode<Int32T>{tmp59}));
2105 112 : ca_.Branch(tmp60, &block11, &block12, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58);
2106 : }
2107 :
2108 112 : if (block11.is_used()) {
2109 : compiler::TNode<Context> tmp61;
2110 : compiler::TNode<JSReceiver> tmp62;
2111 : compiler::TNode<String> tmp63;
2112 : compiler::TNode<Number> tmp64;
2113 : compiler::TNode<Object> tmp65;
2114 : compiler::TNode<Object> tmp66;
2115 : compiler::TNode<Map> tmp67;
2116 : compiler::TNode<Int32T> tmp68;
2117 : compiler::TNode<BuiltinPtr> tmp69;
2118 : ca_.Bind(&block11, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
2119 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 390);
2120 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
2121 : ca_.Goto(&block13, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat64Array)));
2122 : }
2123 :
2124 112 : if (block12.is_used()) {
2125 : compiler::TNode<Context> tmp70;
2126 : compiler::TNode<JSReceiver> tmp71;
2127 : compiler::TNode<String> tmp72;
2128 : compiler::TNode<Number> tmp73;
2129 : compiler::TNode<Object> tmp74;
2130 : compiler::TNode<Object> tmp75;
2131 : compiler::TNode<Map> tmp76;
2132 : compiler::TNode<Int32T> tmp77;
2133 : compiler::TNode<BuiltinPtr> tmp78;
2134 : ca_.Bind(&block12, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78);
2135 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
2136 : compiler::TNode<Int32T> tmp79;
2137 : USE(tmp79);
2138 336 : tmp79 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_CLAMPED_ELEMENTS));
2139 : compiler::TNode<BoolT> tmp80;
2140 : USE(tmp80);
2141 224 : tmp80 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp77}, compiler::TNode<Int32T>{tmp79}));
2142 112 : ca_.Branch(tmp80, &block14, &block15, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78);
2143 : }
2144 :
2145 112 : if (block14.is_used()) {
2146 : compiler::TNode<Context> tmp81;
2147 : compiler::TNode<JSReceiver> tmp82;
2148 : compiler::TNode<String> tmp83;
2149 : compiler::TNode<Number> tmp84;
2150 : compiler::TNode<Object> tmp85;
2151 : compiler::TNode<Object> tmp86;
2152 : compiler::TNode<Map> tmp87;
2153 : compiler::TNode<Int32T> tmp88;
2154 : compiler::TNode<BuiltinPtr> tmp89;
2155 : ca_.Bind(&block14, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89);
2156 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 392);
2157 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
2158 : ca_.Goto(&block16, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement24ATFixedUint8ClampedArray)));
2159 : }
2160 :
2161 112 : if (block15.is_used()) {
2162 : compiler::TNode<Context> tmp90;
2163 : compiler::TNode<JSReceiver> tmp91;
2164 : compiler::TNode<String> tmp92;
2165 : compiler::TNode<Number> tmp93;
2166 : compiler::TNode<Object> tmp94;
2167 : compiler::TNode<Object> tmp95;
2168 : compiler::TNode<Map> tmp96;
2169 : compiler::TNode<Int32T> tmp97;
2170 : compiler::TNode<BuiltinPtr> tmp98;
2171 : ca_.Bind(&block15, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98);
2172 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
2173 : compiler::TNode<Int32T> tmp99;
2174 : USE(tmp99);
2175 336 : tmp99 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGUINT64_ELEMENTS));
2176 : compiler::TNode<BoolT> tmp100;
2177 : USE(tmp100);
2178 224 : tmp100 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp97}, compiler::TNode<Int32T>{tmp99}));
2179 112 : ca_.Branch(tmp100, &block17, &block18, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98);
2180 : }
2181 :
2182 112 : if (block17.is_used()) {
2183 : compiler::TNode<Context> tmp101;
2184 : compiler::TNode<JSReceiver> tmp102;
2185 : compiler::TNode<String> tmp103;
2186 : compiler::TNode<Number> tmp104;
2187 : compiler::TNode<Object> tmp105;
2188 : compiler::TNode<Object> tmp106;
2189 : compiler::TNode<Map> tmp107;
2190 : compiler::TNode<Int32T> tmp108;
2191 : compiler::TNode<BuiltinPtr> tmp109;
2192 : ca_.Bind(&block17, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
2193 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 394);
2194 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
2195 : ca_.Goto(&block19, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement21ATFixedBigUint64Array)));
2196 : }
2197 :
2198 112 : if (block18.is_used()) {
2199 : compiler::TNode<Context> tmp110;
2200 : compiler::TNode<JSReceiver> tmp111;
2201 : compiler::TNode<String> tmp112;
2202 : compiler::TNode<Number> tmp113;
2203 : compiler::TNode<Object> tmp114;
2204 : compiler::TNode<Object> tmp115;
2205 : compiler::TNode<Map> tmp116;
2206 : compiler::TNode<Int32T> tmp117;
2207 : compiler::TNode<BuiltinPtr> tmp118;
2208 : ca_.Bind(&block18, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
2209 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 395);
2210 : compiler::TNode<Int32T> tmp119;
2211 : USE(tmp119);
2212 336 : tmp119 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGINT64_ELEMENTS));
2213 : compiler::TNode<BoolT> tmp120;
2214 : USE(tmp120);
2215 224 : tmp120 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp117}, compiler::TNode<Int32T>{tmp119}));
2216 112 : ca_.Branch(tmp120, &block20, &block21, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
2217 : }
2218 :
2219 112 : if (block20.is_used()) {
2220 : compiler::TNode<Context> tmp121;
2221 : compiler::TNode<JSReceiver> tmp122;
2222 : compiler::TNode<String> tmp123;
2223 : compiler::TNode<Number> tmp124;
2224 : compiler::TNode<Object> tmp125;
2225 : compiler::TNode<Object> tmp126;
2226 : compiler::TNode<Map> tmp127;
2227 : compiler::TNode<Int32T> tmp128;
2228 : compiler::TNode<BuiltinPtr> tmp129;
2229 : ca_.Bind(&block20, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129);
2230 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 396);
2231 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 395);
2232 : ca_.Goto(&block22, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement20ATFixedBigInt64Array)));
2233 : }
2234 :
2235 112 : if (block21.is_used()) {
2236 : compiler::TNode<Context> tmp130;
2237 : compiler::TNode<JSReceiver> tmp131;
2238 : compiler::TNode<String> tmp132;
2239 : compiler::TNode<Number> tmp133;
2240 : compiler::TNode<Object> tmp134;
2241 : compiler::TNode<Object> tmp135;
2242 : compiler::TNode<Map> tmp136;
2243 : compiler::TNode<Int32T> tmp137;
2244 : compiler::TNode<BuiltinPtr> tmp138;
2245 : ca_.Bind(&block21, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
2246 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 398);
2247 224 : CodeStubAssembler(state_).Unreachable();
2248 : }
2249 :
2250 112 : if (block22.is_used()) {
2251 : compiler::TNode<Context> tmp139;
2252 : compiler::TNode<JSReceiver> tmp140;
2253 : compiler::TNode<String> tmp141;
2254 : compiler::TNode<Number> tmp142;
2255 : compiler::TNode<Object> tmp143;
2256 : compiler::TNode<Object> tmp144;
2257 : compiler::TNode<Map> tmp145;
2258 : compiler::TNode<Int32T> tmp146;
2259 : compiler::TNode<BuiltinPtr> tmp147;
2260 : ca_.Bind(&block22, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147);
2261 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
2262 : ca_.Goto(&block19, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147);
2263 : }
2264 :
2265 112 : if (block19.is_used()) {
2266 : compiler::TNode<Context> tmp148;
2267 : compiler::TNode<JSReceiver> tmp149;
2268 : compiler::TNode<String> tmp150;
2269 : compiler::TNode<Number> tmp151;
2270 : compiler::TNode<Object> tmp152;
2271 : compiler::TNode<Object> tmp153;
2272 : compiler::TNode<Map> tmp154;
2273 : compiler::TNode<Int32T> tmp155;
2274 : compiler::TNode<BuiltinPtr> tmp156;
2275 : ca_.Bind(&block19, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156);
2276 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
2277 : ca_.Goto(&block16, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156);
2278 : }
2279 :
2280 112 : if (block16.is_used()) {
2281 : compiler::TNode<Context> tmp157;
2282 : compiler::TNode<JSReceiver> tmp158;
2283 : compiler::TNode<String> tmp159;
2284 : compiler::TNode<Number> tmp160;
2285 : compiler::TNode<Object> tmp161;
2286 : compiler::TNode<Object> tmp162;
2287 : compiler::TNode<Map> tmp163;
2288 : compiler::TNode<Int32T> tmp164;
2289 : compiler::TNode<BuiltinPtr> tmp165;
2290 : ca_.Bind(&block16, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
2291 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
2292 : ca_.Goto(&block13, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165);
2293 : }
2294 :
2295 112 : if (block13.is_used()) {
2296 : compiler::TNode<Context> tmp166;
2297 : compiler::TNode<JSReceiver> tmp167;
2298 : compiler::TNode<String> tmp168;
2299 : compiler::TNode<Number> tmp169;
2300 : compiler::TNode<Object> tmp170;
2301 : compiler::TNode<Object> tmp171;
2302 : compiler::TNode<Map> tmp172;
2303 : compiler::TNode<Int32T> tmp173;
2304 : compiler::TNode<BuiltinPtr> tmp174;
2305 : ca_.Bind(&block13, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174);
2306 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
2307 : ca_.Goto(&block10, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174);
2308 : }
2309 :
2310 112 : if (block10.is_used()) {
2311 : compiler::TNode<Context> tmp175;
2312 : compiler::TNode<JSReceiver> tmp176;
2313 : compiler::TNode<String> tmp177;
2314 : compiler::TNode<Number> tmp178;
2315 : compiler::TNode<Object> tmp179;
2316 : compiler::TNode<Object> tmp180;
2317 : compiler::TNode<Map> tmp181;
2318 : compiler::TNode<Int32T> tmp182;
2319 : compiler::TNode<BuiltinPtr> tmp183;
2320 : ca_.Bind(&block10, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183);
2321 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
2322 : ca_.Goto(&block7, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183);
2323 : }
2324 :
2325 112 : if (block7.is_used()) {
2326 : compiler::TNode<Context> tmp184;
2327 : compiler::TNode<JSReceiver> tmp185;
2328 : compiler::TNode<String> tmp186;
2329 : compiler::TNode<Number> tmp187;
2330 : compiler::TNode<Object> tmp188;
2331 : compiler::TNode<Object> tmp189;
2332 : compiler::TNode<Map> tmp190;
2333 : compiler::TNode<Int32T> tmp191;
2334 : compiler::TNode<BuiltinPtr> tmp192;
2335 : ca_.Bind(&block7, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192);
2336 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
2337 : ca_.Goto(&block4, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192);
2338 : }
2339 :
2340 112 : if (block3.is_used()) {
2341 : compiler::TNode<Context> tmp193;
2342 : compiler::TNode<JSReceiver> tmp194;
2343 : compiler::TNode<String> tmp195;
2344 : compiler::TNode<Number> tmp196;
2345 : compiler::TNode<Object> tmp197;
2346 : compiler::TNode<Object> tmp198;
2347 : compiler::TNode<Map> tmp199;
2348 : compiler::TNode<Int32T> tmp200;
2349 : compiler::TNode<BuiltinPtr> tmp201;
2350 : ca_.Bind(&block3, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201);
2351 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
2352 : compiler::TNode<Int32T> tmp202;
2353 : USE(tmp202);
2354 336 : tmp202 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_ELEMENTS));
2355 : compiler::TNode<BoolT> tmp203;
2356 : USE(tmp203);
2357 224 : tmp203 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp200}, compiler::TNode<Int32T>{tmp202}));
2358 112 : ca_.Branch(tmp203, &block23, &block24, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201);
2359 : }
2360 :
2361 112 : if (block23.is_used()) {
2362 : compiler::TNode<Context> tmp204;
2363 : compiler::TNode<JSReceiver> tmp205;
2364 : compiler::TNode<String> tmp206;
2365 : compiler::TNode<Number> tmp207;
2366 : compiler::TNode<Object> tmp208;
2367 : compiler::TNode<Object> tmp209;
2368 : compiler::TNode<Map> tmp210;
2369 : compiler::TNode<Int32T> tmp211;
2370 : compiler::TNode<BuiltinPtr> tmp212;
2371 : ca_.Bind(&block23, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211, &tmp212);
2372 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 402);
2373 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
2374 : ca_.Goto(&block25, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedUint8Array)));
2375 : }
2376 :
2377 112 : if (block24.is_used()) {
2378 : compiler::TNode<Context> tmp213;
2379 : compiler::TNode<JSReceiver> tmp214;
2380 : compiler::TNode<String> tmp215;
2381 : compiler::TNode<Number> tmp216;
2382 : compiler::TNode<Object> tmp217;
2383 : compiler::TNode<Object> tmp218;
2384 : compiler::TNode<Map> tmp219;
2385 : compiler::TNode<Int32T> tmp220;
2386 : compiler::TNode<BuiltinPtr> tmp221;
2387 : ca_.Bind(&block24, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221);
2388 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
2389 : compiler::TNode<Int32T> tmp222;
2390 : USE(tmp222);
2391 336 : tmp222 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT8_ELEMENTS));
2392 : compiler::TNode<BoolT> tmp223;
2393 : USE(tmp223);
2394 224 : tmp223 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp220}, compiler::TNode<Int32T>{tmp222}));
2395 112 : ca_.Branch(tmp223, &block26, &block27, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221);
2396 : }
2397 :
2398 112 : if (block26.is_used()) {
2399 : compiler::TNode<Context> tmp224;
2400 : compiler::TNode<JSReceiver> tmp225;
2401 : compiler::TNode<String> tmp226;
2402 : compiler::TNode<Number> tmp227;
2403 : compiler::TNode<Object> tmp228;
2404 : compiler::TNode<Object> tmp229;
2405 : compiler::TNode<Map> tmp230;
2406 : compiler::TNode<Int32T> tmp231;
2407 : compiler::TNode<BuiltinPtr> tmp232;
2408 : ca_.Bind(&block26, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232);
2409 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 404);
2410 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
2411 : ca_.Goto(&block28, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement16ATFixedInt8Array)));
2412 : }
2413 :
2414 112 : if (block27.is_used()) {
2415 : compiler::TNode<Context> tmp233;
2416 : compiler::TNode<JSReceiver> tmp234;
2417 : compiler::TNode<String> tmp235;
2418 : compiler::TNode<Number> tmp236;
2419 : compiler::TNode<Object> tmp237;
2420 : compiler::TNode<Object> tmp238;
2421 : compiler::TNode<Map> tmp239;
2422 : compiler::TNode<Int32T> tmp240;
2423 : compiler::TNode<BuiltinPtr> tmp241;
2424 : ca_.Bind(&block27, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241);
2425 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
2426 : compiler::TNode<Int32T> tmp242;
2427 : USE(tmp242);
2428 336 : tmp242 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT16_ELEMENTS));
2429 : compiler::TNode<BoolT> tmp243;
2430 : USE(tmp243);
2431 224 : tmp243 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp240}, compiler::TNode<Int32T>{tmp242}));
2432 112 : ca_.Branch(tmp243, &block29, &block30, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241);
2433 : }
2434 :
2435 112 : if (block29.is_used()) {
2436 : compiler::TNode<Context> tmp244;
2437 : compiler::TNode<JSReceiver> tmp245;
2438 : compiler::TNode<String> tmp246;
2439 : compiler::TNode<Number> tmp247;
2440 : compiler::TNode<Object> tmp248;
2441 : compiler::TNode<Object> tmp249;
2442 : compiler::TNode<Map> tmp250;
2443 : compiler::TNode<Int32T> tmp251;
2444 : compiler::TNode<BuiltinPtr> tmp252;
2445 : ca_.Bind(&block29, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252);
2446 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 406);
2447 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
2448 : ca_.Goto(&block31, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint16Array)));
2449 : }
2450 :
2451 112 : if (block30.is_used()) {
2452 : compiler::TNode<Context> tmp253;
2453 : compiler::TNode<JSReceiver> tmp254;
2454 : compiler::TNode<String> tmp255;
2455 : compiler::TNode<Number> tmp256;
2456 : compiler::TNode<Object> tmp257;
2457 : compiler::TNode<Object> tmp258;
2458 : compiler::TNode<Map> tmp259;
2459 : compiler::TNode<Int32T> tmp260;
2460 : compiler::TNode<BuiltinPtr> tmp261;
2461 : ca_.Bind(&block30, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261);
2462 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
2463 : compiler::TNode<Int32T> tmp262;
2464 : USE(tmp262);
2465 336 : tmp262 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT16_ELEMENTS));
2466 : compiler::TNode<BoolT> tmp263;
2467 : USE(tmp263);
2468 224 : tmp263 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp260}, compiler::TNode<Int32T>{tmp262}));
2469 112 : ca_.Branch(tmp263, &block32, &block33, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261);
2470 : }
2471 :
2472 112 : if (block32.is_used()) {
2473 : compiler::TNode<Context> tmp264;
2474 : compiler::TNode<JSReceiver> tmp265;
2475 : compiler::TNode<String> tmp266;
2476 : compiler::TNode<Number> tmp267;
2477 : compiler::TNode<Object> tmp268;
2478 : compiler::TNode<Object> tmp269;
2479 : compiler::TNode<Map> tmp270;
2480 : compiler::TNode<Int32T> tmp271;
2481 : compiler::TNode<BuiltinPtr> tmp272;
2482 : ca_.Bind(&block32, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272);
2483 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 408);
2484 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
2485 : ca_.Goto(&block34, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt16Array)));
2486 : }
2487 :
2488 112 : if (block33.is_used()) {
2489 : compiler::TNode<Context> tmp273;
2490 : compiler::TNode<JSReceiver> tmp274;
2491 : compiler::TNode<String> tmp275;
2492 : compiler::TNode<Number> tmp276;
2493 : compiler::TNode<Object> tmp277;
2494 : compiler::TNode<Object> tmp278;
2495 : compiler::TNode<Map> tmp279;
2496 : compiler::TNode<Int32T> tmp280;
2497 : compiler::TNode<BuiltinPtr> tmp281;
2498 : ca_.Bind(&block33, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281);
2499 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 409);
2500 : compiler::TNode<Int32T> tmp282;
2501 : USE(tmp282);
2502 336 : tmp282 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT32_ELEMENTS));
2503 : compiler::TNode<BoolT> tmp283;
2504 : USE(tmp283);
2505 224 : tmp283 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp280}, compiler::TNode<Int32T>{tmp282}));
2506 112 : ca_.Branch(tmp283, &block35, &block36, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281);
2507 : }
2508 :
2509 112 : if (block35.is_used()) {
2510 : compiler::TNode<Context> tmp284;
2511 : compiler::TNode<JSReceiver> tmp285;
2512 : compiler::TNode<String> tmp286;
2513 : compiler::TNode<Number> tmp287;
2514 : compiler::TNode<Object> tmp288;
2515 : compiler::TNode<Object> tmp289;
2516 : compiler::TNode<Map> tmp290;
2517 : compiler::TNode<Int32T> tmp291;
2518 : compiler::TNode<BuiltinPtr> tmp292;
2519 : ca_.Bind(&block35, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292);
2520 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 410);
2521 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 409);
2522 : ca_.Goto(&block37, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint32Array)));
2523 : }
2524 :
2525 112 : if (block36.is_used()) {
2526 : compiler::TNode<Context> tmp293;
2527 : compiler::TNode<JSReceiver> tmp294;
2528 : compiler::TNode<String> tmp295;
2529 : compiler::TNode<Number> tmp296;
2530 : compiler::TNode<Object> tmp297;
2531 : compiler::TNode<Object> tmp298;
2532 : compiler::TNode<Map> tmp299;
2533 : compiler::TNode<Int32T> tmp300;
2534 : compiler::TNode<BuiltinPtr> tmp301;
2535 : ca_.Bind(&block36, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301);
2536 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 412);
2537 224 : CodeStubAssembler(state_).Unreachable();
2538 : }
2539 :
2540 112 : if (block37.is_used()) {
2541 : compiler::TNode<Context> tmp302;
2542 : compiler::TNode<JSReceiver> tmp303;
2543 : compiler::TNode<String> tmp304;
2544 : compiler::TNode<Number> tmp305;
2545 : compiler::TNode<Object> tmp306;
2546 : compiler::TNode<Object> tmp307;
2547 : compiler::TNode<Map> tmp308;
2548 : compiler::TNode<Int32T> tmp309;
2549 : compiler::TNode<BuiltinPtr> tmp310;
2550 : ca_.Bind(&block37, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310);
2551 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
2552 : ca_.Goto(&block34, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310);
2553 : }
2554 :
2555 112 : if (block34.is_used()) {
2556 : compiler::TNode<Context> tmp311;
2557 : compiler::TNode<JSReceiver> tmp312;
2558 : compiler::TNode<String> tmp313;
2559 : compiler::TNode<Number> tmp314;
2560 : compiler::TNode<Object> tmp315;
2561 : compiler::TNode<Object> tmp316;
2562 : compiler::TNode<Map> tmp317;
2563 : compiler::TNode<Int32T> tmp318;
2564 : compiler::TNode<BuiltinPtr> tmp319;
2565 : ca_.Bind(&block34, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319);
2566 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
2567 : ca_.Goto(&block31, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp319);
2568 : }
2569 :
2570 112 : if (block31.is_used()) {
2571 : compiler::TNode<Context> tmp320;
2572 : compiler::TNode<JSReceiver> tmp321;
2573 : compiler::TNode<String> tmp322;
2574 : compiler::TNode<Number> tmp323;
2575 : compiler::TNode<Object> tmp324;
2576 : compiler::TNode<Object> tmp325;
2577 : compiler::TNode<Map> tmp326;
2578 : compiler::TNode<Int32T> tmp327;
2579 : compiler::TNode<BuiltinPtr> tmp328;
2580 : ca_.Bind(&block31, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328);
2581 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
2582 : ca_.Goto(&block28, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328);
2583 : }
2584 :
2585 112 : if (block28.is_used()) {
2586 : compiler::TNode<Context> tmp329;
2587 : compiler::TNode<JSReceiver> tmp330;
2588 : compiler::TNode<String> tmp331;
2589 : compiler::TNode<Number> tmp332;
2590 : compiler::TNode<Object> tmp333;
2591 : compiler::TNode<Object> tmp334;
2592 : compiler::TNode<Map> tmp335;
2593 : compiler::TNode<Int32T> tmp336;
2594 : compiler::TNode<BuiltinPtr> tmp337;
2595 : ca_.Bind(&block28, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336, &tmp337);
2596 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
2597 : ca_.Goto(&block25, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334, tmp335, tmp336, tmp337);
2598 : }
2599 :
2600 112 : if (block25.is_used()) {
2601 : compiler::TNode<Context> tmp338;
2602 : compiler::TNode<JSReceiver> tmp339;
2603 : compiler::TNode<String> tmp340;
2604 : compiler::TNode<Number> tmp341;
2605 : compiler::TNode<Object> tmp342;
2606 : compiler::TNode<Object> tmp343;
2607 : compiler::TNode<Map> tmp344;
2608 : compiler::TNode<Int32T> tmp345;
2609 : compiler::TNode<BuiltinPtr> tmp346;
2610 : ca_.Bind(&block25, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346);
2611 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
2612 : ca_.Goto(&block4, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346);
2613 : }
2614 :
2615 112 : if (block4.is_used()) {
2616 : compiler::TNode<Context> tmp347;
2617 : compiler::TNode<JSReceiver> tmp348;
2618 : compiler::TNode<String> tmp349;
2619 : compiler::TNode<Number> tmp350;
2620 : compiler::TNode<Object> tmp351;
2621 : compiler::TNode<Object> tmp352;
2622 : compiler::TNode<Map> tmp353;
2623 : compiler::TNode<Int32T> tmp354;
2624 : compiler::TNode<BuiltinPtr> tmp355;
2625 : ca_.Bind(&block4, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355);
2626 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 416);
2627 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 415);
2628 : compiler::TNode<String> tmp356;
2629 : USE(tmp356);
2630 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}));
2631 : ca_.Goto(&block1, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp356);
2632 : }
2633 :
2634 112 : if (block1.is_used()) {
2635 : compiler::TNode<Context> tmp357;
2636 : compiler::TNode<JSReceiver> tmp358;
2637 : compiler::TNode<String> tmp359;
2638 : compiler::TNode<Number> tmp360;
2639 : compiler::TNode<Object> tmp361;
2640 : compiler::TNode<Object> tmp362;
2641 : compiler::TNode<Object> tmp363;
2642 : ca_.Bind(&block1, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363);
2643 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 326);
2644 : ca_.Goto(&block38, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363);
2645 : }
2646 :
2647 : compiler::TNode<Context> tmp364;
2648 : compiler::TNode<JSReceiver> tmp365;
2649 : compiler::TNode<String> tmp366;
2650 : compiler::TNode<Number> tmp367;
2651 : compiler::TNode<Object> tmp368;
2652 : compiler::TNode<Object> tmp369;
2653 : compiler::TNode<Object> tmp370;
2654 : ca_.Bind(&block38, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370);
2655 224 : return compiler::TNode<Object>{tmp370};
2656 : }
2657 :
2658 672 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::LoadJoinStack(compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_IfUninitialized) {
2659 672 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2660 : compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2661 : compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2662 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2663 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2664 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2665 : ca_.Goto(&block0, p_context);
2666 :
2667 672 : if (block0.is_used()) {
2668 : compiler::TNode<Context> tmp0;
2669 : ca_.Bind(&block0, &tmp0);
2670 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 428);
2671 : compiler::TNode<Context> tmp1;
2672 : USE(tmp1);
2673 2016 : tmp1 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
2674 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 430);
2675 : compiler::TNode<IntPtrT> tmp2;
2676 : USE(tmp2);
2677 2016 : tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
2678 : compiler::TNode<Object> tmp3;
2679 : USE(tmp3);
2680 1344 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp1}, compiler::TNode<IntPtrT>{tmp2}));
2681 : compiler::TNode<HeapObject> tmp4;
2682 : USE(tmp4);
2683 2016 : tmp4 = ca_.UncheckedCast<HeapObject>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp3}));
2684 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 429);
2685 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 431);
2686 : compiler::TNode<Oddball> tmp5;
2687 : USE(tmp5);
2688 2016 : tmp5 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
2689 : compiler::TNode<BoolT> tmp6;
2690 : USE(tmp6);
2691 1344 : tmp6 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp4}, compiler::TNode<HeapObject>{tmp5}));
2692 672 : ca_.Branch(tmp6, &block3, &block4, tmp0, tmp1, tmp4);
2693 : }
2694 :
2695 672 : if (block3.is_used()) {
2696 : compiler::TNode<Context> tmp7;
2697 : compiler::TNode<Context> tmp8;
2698 : compiler::TNode<HeapObject> tmp9;
2699 : ca_.Bind(&block3, &tmp7, &tmp8, &tmp9);
2700 : ca_.Goto(&block1);
2701 : }
2702 :
2703 672 : if (block4.is_used()) {
2704 : compiler::TNode<Context> tmp10;
2705 : compiler::TNode<Context> tmp11;
2706 : compiler::TNode<HeapObject> tmp12;
2707 : ca_.Bind(&block4, &tmp10, &tmp11, &tmp12);
2708 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 433);
2709 : compiler::TNode<FixedArray> tmp13;
2710 : USE(tmp13);
2711 2016 : tmp13 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp12}));
2712 : ca_.Goto(&block2, tmp10, tmp13);
2713 : }
2714 :
2715 672 : if (block2.is_used()) {
2716 : compiler::TNode<Context> tmp14;
2717 : compiler::TNode<FixedArray> tmp15;
2718 : ca_.Bind(&block2, &tmp14, &tmp15);
2719 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 426);
2720 : ca_.Goto(&block5, tmp14, tmp15);
2721 : }
2722 :
2723 672 : if (block1.is_used()) {
2724 : ca_.Bind(&block1);
2725 672 : ca_.Goto(label_IfUninitialized);
2726 : }
2727 :
2728 : compiler::TNode<Context> tmp16;
2729 : compiler::TNode<FixedArray> tmp17;
2730 : ca_.Bind(&block5, &tmp16, &tmp17);
2731 1344 : return compiler::TNode<FixedArray>{tmp17};
2732 : }
2733 :
2734 336 : void ArrayJoinBuiltinsFromDSLAssembler::SetJoinStack(compiler::TNode<Context> p_context, compiler::TNode<FixedArray> p_stack) {
2735 336 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2736 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2737 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2738 : ca_.Goto(&block0, p_context, p_stack);
2739 :
2740 336 : if (block0.is_used()) {
2741 : compiler::TNode<Context> tmp0;
2742 : compiler::TNode<FixedArray> tmp1;
2743 : ca_.Bind(&block0, &tmp0, &tmp1);
2744 336 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 437);
2745 : compiler::TNode<Context> tmp2;
2746 : USE(tmp2);
2747 1008 : tmp2 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
2748 336 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 438);
2749 : compiler::TNode<IntPtrT> tmp3;
2750 : USE(tmp3);
2751 1008 : tmp3 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
2752 672 : CodeStubAssembler(state_).StoreContextElement(compiler::TNode<Context>{tmp2}, compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<Object>{tmp1});
2753 336 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 436);
2754 : ca_.Goto(&block1, tmp0, tmp1);
2755 : }
2756 :
2757 336 : if (block1.is_used()) {
2758 : compiler::TNode<Context> tmp4;
2759 : compiler::TNode<FixedArray> tmp5;
2760 : ca_.Bind(&block1, &tmp4, &tmp5);
2761 : ca_.Goto(&block2, tmp4, tmp5);
2762 : }
2763 :
2764 : compiler::TNode<Context> tmp6;
2765 : compiler::TNode<FixedArray> tmp7;
2766 : ca_.Bind(&block2, &tmp6, &tmp7);
2767 336 : }
2768 :
2769 224 : TF_BUILTIN(JoinStackPush, CodeStubAssembler) {
2770 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
2771 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
2772 : USE(parameter0);
2773 : compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
2774 : USE(parameter1);
2775 : compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
2776 : USE(parameter2);
2777 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2778 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2779 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2780 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2781 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2782 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2783 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2784 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2785 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2786 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
2787 :
2788 56 : if (block0.is_used()) {
2789 : compiler::TNode<Context> tmp0;
2790 : compiler::TNode<FixedArray> tmp1;
2791 : compiler::TNode<JSReceiver> tmp2;
2792 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
2793 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 446);
2794 : compiler::TNode<IntPtrT> tmp3;
2795 : USE(tmp3);
2796 112 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
2797 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 447);
2798 : compiler::TNode<IntPtrT> tmp4;
2799 : USE(tmp4);
2800 112 : tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
2801 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
2802 : }
2803 :
2804 56 : if (block3.is_used()) {
2805 : compiler::TNode<Context> tmp5;
2806 : compiler::TNode<FixedArray> tmp6;
2807 : compiler::TNode<JSReceiver> tmp7;
2808 : compiler::TNode<IntPtrT> tmp8;
2809 : compiler::TNode<IntPtrT> tmp9;
2810 : ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
2811 : compiler::TNode<BoolT> tmp10;
2812 : USE(tmp10);
2813 224 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
2814 56 : ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
2815 : }
2816 :
2817 56 : if (block1.is_used()) {
2818 : compiler::TNode<Context> tmp11;
2819 : compiler::TNode<FixedArray> tmp12;
2820 : compiler::TNode<JSReceiver> tmp13;
2821 : compiler::TNode<IntPtrT> tmp14;
2822 : compiler::TNode<IntPtrT> tmp15;
2823 : ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
2824 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 448);
2825 : compiler::TNode<Object> tmp16;
2826 : USE(tmp16);
2827 112 : tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
2828 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 451);
2829 : compiler::TNode<Oddball> tmp17;
2830 : USE(tmp17);
2831 112 : tmp17 = BaseBuiltinsFromDSLAssembler(state_).Hole();
2832 : compiler::TNode<BoolT> tmp18;
2833 : USE(tmp18);
2834 112 : tmp18 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp17}));
2835 56 : ca_.Branch(tmp18, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
2836 : }
2837 :
2838 56 : if (block5.is_used()) {
2839 : compiler::TNode<Context> tmp19;
2840 : compiler::TNode<FixedArray> tmp20;
2841 : compiler::TNode<JSReceiver> tmp21;
2842 : compiler::TNode<IntPtrT> tmp22;
2843 : compiler::TNode<IntPtrT> tmp23;
2844 : compiler::TNode<Object> tmp24;
2845 : ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
2846 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 452);
2847 112 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp20}, compiler::TNode<IntPtrT>{tmp23}, compiler::TNode<HeapObject>{tmp21});
2848 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 453);
2849 : compiler::TNode<Oddball> tmp25;
2850 : USE(tmp25);
2851 112 : tmp25 = BaseBuiltinsFromDSLAssembler(state_).True();
2852 112 : CodeStubAssembler(state_).Return(tmp25);
2853 : }
2854 :
2855 56 : if (block6.is_used()) {
2856 : compiler::TNode<Context> tmp26;
2857 : compiler::TNode<FixedArray> tmp27;
2858 : compiler::TNode<JSReceiver> tmp28;
2859 : compiler::TNode<IntPtrT> tmp29;
2860 : compiler::TNode<IntPtrT> tmp30;
2861 : compiler::TNode<Object> tmp31;
2862 : ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
2863 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 457);
2864 : compiler::TNode<BoolT> tmp32;
2865 : USE(tmp32);
2866 112 : tmp32 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp28}, compiler::TNode<Object>{tmp31}));
2867 56 : ca_.Branch(tmp32, &block7, &block8, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31);
2868 : }
2869 :
2870 56 : if (block7.is_used()) {
2871 : compiler::TNode<Context> tmp33;
2872 : compiler::TNode<FixedArray> tmp34;
2873 : compiler::TNode<JSReceiver> tmp35;
2874 : compiler::TNode<IntPtrT> tmp36;
2875 : compiler::TNode<IntPtrT> tmp37;
2876 : compiler::TNode<Object> tmp38;
2877 : ca_.Bind(&block7, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
2878 : compiler::TNode<Oddball> tmp39;
2879 : USE(tmp39);
2880 112 : tmp39 = BaseBuiltinsFromDSLAssembler(state_).False();
2881 112 : CodeStubAssembler(state_).Return(tmp39);
2882 : }
2883 :
2884 56 : if (block8.is_used()) {
2885 : compiler::TNode<Context> tmp40;
2886 : compiler::TNode<FixedArray> tmp41;
2887 : compiler::TNode<JSReceiver> tmp42;
2888 : compiler::TNode<IntPtrT> tmp43;
2889 : compiler::TNode<IntPtrT> tmp44;
2890 : compiler::TNode<Object> tmp45;
2891 : ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
2892 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 447);
2893 : ca_.Goto(&block4, tmp40, tmp41, tmp42, tmp43, tmp44);
2894 : }
2895 :
2896 56 : if (block4.is_used()) {
2897 : compiler::TNode<Context> tmp46;
2898 : compiler::TNode<FixedArray> tmp47;
2899 : compiler::TNode<JSReceiver> tmp48;
2900 : compiler::TNode<IntPtrT> tmp49;
2901 : compiler::TNode<IntPtrT> tmp50;
2902 : ca_.Bind(&block4, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
2903 : compiler::TNode<IntPtrT> tmp51;
2904 : USE(tmp51);
2905 112 : tmp51 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
2906 : compiler::TNode<IntPtrT> tmp52;
2907 : USE(tmp52);
2908 112 : tmp52 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp50}, compiler::TNode<IntPtrT>{tmp51}));
2909 : ca_.Goto(&block3, tmp46, tmp47, tmp48, tmp49, tmp52);
2910 : }
2911 :
2912 56 : if (block2.is_used()) {
2913 : compiler::TNode<Context> tmp53;
2914 : compiler::TNode<FixedArray> tmp54;
2915 : compiler::TNode<JSReceiver> tmp55;
2916 : compiler::TNode<IntPtrT> tmp56;
2917 : compiler::TNode<IntPtrT> tmp57;
2918 : ca_.Bind(&block2, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
2919 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 462);
2920 : compiler::TNode<FixedArray> tmp58;
2921 : USE(tmp58);
2922 112 : tmp58 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray>{tmp54}, compiler::TNode<IntPtrT>{tmp56}, compiler::TNode<JSReceiver>{tmp55}));
2923 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 461);
2924 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 463);
2925 112 : ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp53}, compiler::TNode<FixedArray>{tmp58});
2926 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 464);
2927 : compiler::TNode<Oddball> tmp59;
2928 : USE(tmp59);
2929 112 : tmp59 = BaseBuiltinsFromDSLAssembler(state_).True();
2930 112 : CodeStubAssembler(state_).Return(tmp59);
2931 : }
2932 56 : }
2933 :
2934 224 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPushInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::CodeAssemblerLabel* label_ReceiverAdded, compiler::CodeAssemblerLabel* label_ReceiverNotAdded) {
2935 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2936 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2937 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2938 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2939 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2940 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block10(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2941 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2942 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2943 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2944 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2945 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2946 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2947 : ca_.Goto(&block0, p_context, p_receiver);
2948 :
2949 224 : if (block0.is_used()) {
2950 : compiler::TNode<Context> tmp0;
2951 : compiler::TNode<JSReceiver> tmp1;
2952 : ca_.Bind(&block0, &tmp0, &tmp1);
2953 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 474);
2954 : compiler::TNode<FixedArray> tmp2;
2955 : USE(tmp2);
2956 224 : compiler::CodeAssemblerLabel label0(&ca_);
2957 672 : tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
2958 : ca_.Goto(&block5, tmp0, tmp1, tmp2);
2959 224 : if (label0.is_used()) {
2960 224 : ca_.Bind(&label0);
2961 : ca_.Goto(&block6, tmp0, tmp1);
2962 : }
2963 : }
2964 :
2965 224 : if (block6.is_used()) {
2966 : compiler::TNode<Context> tmp3;
2967 : compiler::TNode<JSReceiver> tmp4;
2968 : ca_.Bind(&block6, &tmp3, &tmp4);
2969 : ca_.Goto(&block4, tmp3, tmp4);
2970 : }
2971 :
2972 224 : if (block5.is_used()) {
2973 : compiler::TNode<Context> tmp5;
2974 : compiler::TNode<JSReceiver> tmp6;
2975 : compiler::TNode<FixedArray> tmp7;
2976 : ca_.Bind(&block5, &tmp5, &tmp6, &tmp7);
2977 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
2978 : compiler::TNode<Object> tmp8;
2979 : USE(tmp8);
2980 448 : tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp7}, 0));
2981 : compiler::TNode<Oddball> tmp9;
2982 : USE(tmp9);
2983 672 : tmp9 = BaseBuiltinsFromDSLAssembler(state_).Hole();
2984 : compiler::TNode<BoolT> tmp10;
2985 : USE(tmp10);
2986 448 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp8}, compiler::TNode<HeapObject>{tmp9}));
2987 224 : ca_.Branch(tmp10, &block7, &block8, tmp5, tmp6, tmp7);
2988 : }
2989 :
2990 224 : if (block7.is_used()) {
2991 : compiler::TNode<Context> tmp11;
2992 : compiler::TNode<JSReceiver> tmp12;
2993 : compiler::TNode<FixedArray> tmp13;
2994 : ca_.Bind(&block7, &tmp11, &tmp12, &tmp13);
2995 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 477);
2996 448 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp13}, 0, compiler::TNode<HeapObject>{tmp12});
2997 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
2998 : ca_.Goto(&block9, tmp11, tmp12, tmp13);
2999 : }
3000 :
3001 224 : if (block8.is_used()) {
3002 : compiler::TNode<Context> tmp14;
3003 : compiler::TNode<JSReceiver> tmp15;
3004 : compiler::TNode<FixedArray> tmp16;
3005 : ca_.Bind(&block8, &tmp14, &tmp15, &tmp16);
3006 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 478);
3007 : compiler::TNode<Oddball> tmp17;
3008 448 : tmp17 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPush, tmp14, tmp16, tmp15));
3009 : USE(tmp17);
3010 : compiler::TNode<Oddball> tmp18;
3011 : USE(tmp18);
3012 672 : tmp18 = BaseBuiltinsFromDSLAssembler(state_).False();
3013 : compiler::TNode<BoolT> tmp19;
3014 : USE(tmp19);
3015 448 : tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp17}, compiler::TNode<HeapObject>{tmp18}));
3016 224 : ca_.Branch(tmp19, &block10, &block11, tmp14, tmp15, tmp16);
3017 : }
3018 :
3019 224 : if (block10.is_used()) {
3020 : compiler::TNode<Context> tmp20;
3021 : compiler::TNode<JSReceiver> tmp21;
3022 : compiler::TNode<FixedArray> tmp22;
3023 : ca_.Bind(&block10, &tmp20, &tmp21, &tmp22);
3024 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 480);
3025 : ca_.Goto(&block2);
3026 : }
3027 :
3028 224 : if (block11.is_used()) {
3029 : compiler::TNode<Context> tmp23;
3030 : compiler::TNode<JSReceiver> tmp24;
3031 : compiler::TNode<FixedArray> tmp25;
3032 : ca_.Bind(&block11, &tmp23, &tmp24, &tmp25);
3033 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
3034 : ca_.Goto(&block9, tmp23, tmp24, tmp25);
3035 : }
3036 :
3037 224 : if (block9.is_used()) {
3038 : compiler::TNode<Context> tmp26;
3039 : compiler::TNode<JSReceiver> tmp27;
3040 : compiler::TNode<FixedArray> tmp28;
3041 : ca_.Bind(&block9, &tmp26, &tmp27, &tmp28);
3042 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
3043 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 483);
3044 : ca_.Goto(&block3, tmp26, tmp27);
3045 : }
3046 :
3047 224 : if (block4.is_used()) {
3048 : compiler::TNode<Context> tmp29;
3049 : compiler::TNode<JSReceiver> tmp30;
3050 : ca_.Bind(&block4, &tmp29, &tmp30);
3051 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 485);
3052 : compiler::TNode<IntPtrT> tmp31;
3053 : USE(tmp31);
3054 672 : tmp31 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
3055 : compiler::TNode<FixedArray> tmp32;
3056 : USE(tmp32);
3057 448 : tmp32 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp31}, CodeStubAssembler::kNone));
3058 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 484);
3059 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 486);
3060 448 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp32}, 0, compiler::TNode<HeapObject>{tmp30});
3061 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 487);
3062 672 : ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp29}, compiler::TNode<FixedArray>{tmp32});
3063 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 483);
3064 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
3065 : ca_.Goto(&block3, tmp29, tmp30);
3066 : }
3067 :
3068 224 : if (block3.is_used()) {
3069 : compiler::TNode<Context> tmp33;
3070 : compiler::TNode<JSReceiver> tmp34;
3071 : ca_.Bind(&block3, &tmp33, &tmp34);
3072 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 489);
3073 : ca_.Goto(&block1);
3074 : }
3075 :
3076 224 : if (block1.is_used()) {
3077 : ca_.Bind(&block1);
3078 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 470);
3079 224 : ca_.Goto(label_ReceiverAdded);
3080 : }
3081 :
3082 224 : if (block2.is_used()) {
3083 : ca_.Bind(&block2);
3084 224 : ca_.Goto(label_ReceiverNotAdded);
3085 : }
3086 224 : }
3087 :
3088 224 : TF_BUILTIN(JoinStackPop, CodeStubAssembler) {
3089 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3090 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3091 : USE(parameter0);
3092 : compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
3093 : USE(parameter1);
3094 : compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
3095 : USE(parameter2);
3096 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3097 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3098 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3099 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3100 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3101 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3102 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3103 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3104 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3105 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3106 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3107 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
3108 :
3109 56 : if (block0.is_used()) {
3110 : compiler::TNode<Context> tmp0;
3111 : compiler::TNode<FixedArray> tmp1;
3112 : compiler::TNode<JSReceiver> tmp2;
3113 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
3114 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 496);
3115 : compiler::TNode<IntPtrT> tmp3;
3116 : USE(tmp3);
3117 112 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
3118 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 497);
3119 : compiler::TNode<IntPtrT> tmp4;
3120 : USE(tmp4);
3121 112 : tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3122 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
3123 : }
3124 :
3125 56 : if (block3.is_used()) {
3126 : compiler::TNode<Context> tmp5;
3127 : compiler::TNode<FixedArray> tmp6;
3128 : compiler::TNode<JSReceiver> tmp7;
3129 : compiler::TNode<IntPtrT> tmp8;
3130 : compiler::TNode<IntPtrT> tmp9;
3131 : ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
3132 : compiler::TNode<BoolT> tmp10;
3133 : USE(tmp10);
3134 224 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
3135 56 : ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
3136 : }
3137 :
3138 56 : if (block1.is_used()) {
3139 : compiler::TNode<Context> tmp11;
3140 : compiler::TNode<FixedArray> tmp12;
3141 : compiler::TNode<JSReceiver> tmp13;
3142 : compiler::TNode<IntPtrT> tmp14;
3143 : compiler::TNode<IntPtrT> tmp15;
3144 : ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
3145 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 498);
3146 : compiler::TNode<Object> tmp16;
3147 : USE(tmp16);
3148 112 : tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
3149 : compiler::TNode<BoolT> tmp17;
3150 : USE(tmp17);
3151 112 : tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp13}));
3152 56 : ca_.Branch(tmp17, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15);
3153 : }
3154 :
3155 56 : if (block5.is_used()) {
3156 : compiler::TNode<Context> tmp18;
3157 : compiler::TNode<FixedArray> tmp19;
3158 : compiler::TNode<JSReceiver> tmp20;
3159 : compiler::TNode<IntPtrT> tmp21;
3160 : compiler::TNode<IntPtrT> tmp22;
3161 : ca_.Bind(&block5, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
3162 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
3163 : compiler::TNode<IntPtrT> tmp23;
3164 : USE(tmp23);
3165 112 : tmp23 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3166 : compiler::TNode<BoolT> tmp24;
3167 : USE(tmp24);
3168 168 : tmp24 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp22}, compiler::TNode<IntPtrT>{tmp23}));
3169 56 : ca_.Branch(tmp24, &block9, &block8, tmp18, tmp19, tmp20, tmp21, tmp22);
3170 : }
3171 :
3172 56 : if (block9.is_used()) {
3173 : compiler::TNode<Context> tmp25;
3174 : compiler::TNode<FixedArray> tmp26;
3175 : compiler::TNode<JSReceiver> tmp27;
3176 : compiler::TNode<IntPtrT> tmp28;
3177 : compiler::TNode<IntPtrT> tmp29;
3178 : ca_.Bind(&block9, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
3179 : compiler::TNode<IntPtrT> tmp30;
3180 : USE(tmp30);
3181 112 : tmp30 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
3182 : compiler::TNode<BoolT> tmp31;
3183 : USE(tmp31);
3184 168 : tmp31 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp28}, compiler::TNode<IntPtrT>{tmp30}));
3185 56 : ca_.Branch(tmp31, &block7, &block8, tmp25, tmp26, tmp27, tmp28, tmp29);
3186 : }
3187 :
3188 56 : if (block7.is_used()) {
3189 : compiler::TNode<Context> tmp32;
3190 : compiler::TNode<FixedArray> tmp33;
3191 : compiler::TNode<JSReceiver> tmp34;
3192 : compiler::TNode<IntPtrT> tmp35;
3193 : compiler::TNode<IntPtrT> tmp36;
3194 : ca_.Bind(&block7, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
3195 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 503);
3196 : compiler::TNode<IntPtrT> tmp37;
3197 : USE(tmp37);
3198 112 : tmp37 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
3199 : compiler::TNode<FixedArray> tmp38;
3200 : USE(tmp38);
3201 112 : tmp38 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp37}, CodeStubAssembler::kNone));
3202 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 502);
3203 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 504);
3204 112 : ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp32}, compiler::TNode<FixedArray>{tmp38});
3205 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
3206 : ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35, tmp36);
3207 : }
3208 :
3209 56 : if (block8.is_used()) {
3210 : compiler::TNode<Context> tmp39;
3211 : compiler::TNode<FixedArray> tmp40;
3212 : compiler::TNode<JSReceiver> tmp41;
3213 : compiler::TNode<IntPtrT> tmp42;
3214 : compiler::TNode<IntPtrT> tmp43;
3215 : ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
3216 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 507);
3217 : compiler::TNode<Oddball> tmp44;
3218 : USE(tmp44);
3219 112 : tmp44 = BaseBuiltinsFromDSLAssembler(state_).Hole();
3220 112 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp40}, compiler::TNode<IntPtrT>{tmp43}, compiler::TNode<HeapObject>{tmp44});
3221 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
3222 : ca_.Goto(&block10, tmp39, tmp40, tmp41, tmp42, tmp43);
3223 : }
3224 :
3225 56 : if (block10.is_used()) {
3226 : compiler::TNode<Context> tmp45;
3227 : compiler::TNode<FixedArray> tmp46;
3228 : compiler::TNode<JSReceiver> tmp47;
3229 : compiler::TNode<IntPtrT> tmp48;
3230 : compiler::TNode<IntPtrT> tmp49;
3231 : ca_.Bind(&block10, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
3232 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 509);
3233 : compiler::TNode<Oddball> tmp50;
3234 : USE(tmp50);
3235 112 : tmp50 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3236 112 : CodeStubAssembler(state_).Return(tmp50);
3237 : }
3238 :
3239 56 : if (block6.is_used()) {
3240 : compiler::TNode<Context> tmp51;
3241 : compiler::TNode<FixedArray> tmp52;
3242 : compiler::TNode<JSReceiver> tmp53;
3243 : compiler::TNode<IntPtrT> tmp54;
3244 : compiler::TNode<IntPtrT> tmp55;
3245 : ca_.Bind(&block6, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55);
3246 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 497);
3247 : ca_.Goto(&block4, tmp51, tmp52, tmp53, tmp54, tmp55);
3248 : }
3249 :
3250 56 : if (block4.is_used()) {
3251 : compiler::TNode<Context> tmp56;
3252 : compiler::TNode<FixedArray> tmp57;
3253 : compiler::TNode<JSReceiver> tmp58;
3254 : compiler::TNode<IntPtrT> tmp59;
3255 : compiler::TNode<IntPtrT> tmp60;
3256 : ca_.Bind(&block4, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60);
3257 : compiler::TNode<IntPtrT> tmp61;
3258 : USE(tmp61);
3259 112 : tmp61 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
3260 : compiler::TNode<IntPtrT> tmp62;
3261 : USE(tmp62);
3262 112 : tmp62 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp60}, compiler::TNode<IntPtrT>{tmp61}));
3263 : ca_.Goto(&block3, tmp56, tmp57, tmp58, tmp59, tmp62);
3264 : }
3265 :
3266 56 : if (block2.is_used()) {
3267 : compiler::TNode<Context> tmp63;
3268 : compiler::TNode<FixedArray> tmp64;
3269 : compiler::TNode<JSReceiver> tmp65;
3270 : compiler::TNode<IntPtrT> tmp66;
3271 : compiler::TNode<IntPtrT> tmp67;
3272 : ca_.Bind(&block2, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
3273 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 512);
3274 112 : CodeStubAssembler(state_).Unreachable();
3275 : }
3276 56 : }
3277 :
3278 448 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPopInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver) {
3279 448 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3280 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3281 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3282 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3283 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3284 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3285 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3286 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3287 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3288 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3289 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3290 : ca_.Goto(&block0, p_context, p_receiver);
3291 :
3292 448 : if (block0.is_used()) {
3293 : compiler::TNode<Context> tmp0;
3294 : compiler::TNode<JSReceiver> tmp1;
3295 : ca_.Bind(&block0, &tmp0, &tmp1);
3296 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 517);
3297 : compiler::TNode<FixedArray> tmp2;
3298 : USE(tmp2);
3299 448 : compiler::CodeAssemblerLabel label0(&ca_);
3300 1344 : tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
3301 : ca_.Goto(&block4, tmp0, tmp1, tmp2);
3302 448 : if (label0.is_used()) {
3303 448 : ca_.Bind(&label0);
3304 : ca_.Goto(&block5, tmp0, tmp1);
3305 : }
3306 : }
3307 :
3308 448 : if (block5.is_used()) {
3309 : compiler::TNode<Context> tmp3;
3310 : compiler::TNode<JSReceiver> tmp4;
3311 : ca_.Bind(&block5, &tmp3, &tmp4);
3312 : ca_.Goto(&block3, tmp3, tmp4);
3313 : }
3314 :
3315 448 : if (block4.is_used()) {
3316 : compiler::TNode<Context> tmp5;
3317 : compiler::TNode<JSReceiver> tmp6;
3318 : compiler::TNode<FixedArray> tmp7;
3319 : ca_.Bind(&block4, &tmp5, &tmp6, &tmp7);
3320 : ca_.Goto(&block2, tmp5, tmp6, tmp7);
3321 : }
3322 :
3323 448 : if (block3.is_used()) {
3324 : compiler::TNode<Context> tmp8;
3325 : compiler::TNode<JSReceiver> tmp9;
3326 : ca_.Bind(&block3, &tmp8, &tmp9);
3327 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 518);
3328 896 : CodeStubAssembler(state_).Unreachable();
3329 : }
3330 :
3331 448 : if (block2.is_used()) {
3332 : compiler::TNode<Context> tmp10;
3333 : compiler::TNode<JSReceiver> tmp11;
3334 : compiler::TNode<FixedArray> tmp12;
3335 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
3336 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 517);
3337 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 519);
3338 : compiler::TNode<IntPtrT> tmp13;
3339 : USE(tmp13);
3340 896 : tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp12}));
3341 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
3342 : compiler::TNode<Object> tmp14;
3343 : USE(tmp14);
3344 896 : tmp14 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, 0));
3345 : compiler::TNode<BoolT> tmp15;
3346 : USE(tmp15);
3347 896 : tmp15 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp14}, compiler::TNode<HeapObject>{tmp11}));
3348 448 : ca_.Branch(tmp15, &block8, &block7, tmp10, tmp11, tmp12, tmp13);
3349 : }
3350 :
3351 448 : if (block8.is_used()) {
3352 : compiler::TNode<Context> tmp16;
3353 : compiler::TNode<JSReceiver> tmp17;
3354 : compiler::TNode<FixedArray> tmp18;
3355 : compiler::TNode<IntPtrT> tmp19;
3356 : ca_.Bind(&block8, &tmp16, &tmp17, &tmp18, &tmp19);
3357 : compiler::TNode<IntPtrT> tmp20;
3358 : USE(tmp20);
3359 1344 : tmp20 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
3360 : compiler::TNode<BoolT> tmp21;
3361 : USE(tmp21);
3362 1344 : tmp21 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp19}, compiler::TNode<IntPtrT>{tmp20}));
3363 448 : ca_.Branch(tmp21, &block6, &block7, tmp16, tmp17, tmp18, tmp19);
3364 : }
3365 :
3366 448 : if (block6.is_used()) {
3367 : compiler::TNode<Context> tmp22;
3368 : compiler::TNode<JSReceiver> tmp23;
3369 : compiler::TNode<FixedArray> tmp24;
3370 : compiler::TNode<IntPtrT> tmp25;
3371 : ca_.Bind(&block6, &tmp22, &tmp23, &tmp24, &tmp25);
3372 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 524);
3373 : compiler::TNode<Oddball> tmp26;
3374 : USE(tmp26);
3375 1344 : tmp26 = BaseBuiltinsFromDSLAssembler(state_).Hole();
3376 : compiler::TNode<IntPtrT> tmp27;
3377 : USE(tmp27);
3378 1344 : tmp27 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3379 896 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, compiler::TNode<IntPtrT>{tmp27}, compiler::TNode<Object>{tmp26}, SKIP_WRITE_BARRIER);
3380 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
3381 : ca_.Goto(&block9, tmp22, tmp23, tmp24, tmp25);
3382 : }
3383 :
3384 448 : if (block7.is_used()) {
3385 : compiler::TNode<Context> tmp28;
3386 : compiler::TNode<JSReceiver> tmp29;
3387 : compiler::TNode<FixedArray> tmp30;
3388 : compiler::TNode<IntPtrT> tmp31;
3389 : ca_.Bind(&block7, &tmp28, &tmp29, &tmp30, &tmp31);
3390 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 527);
3391 : compiler::TNode<Object> tmp32;
3392 896 : tmp32 = CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPop, tmp28, tmp30, tmp29);
3393 : USE(tmp32);
3394 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
3395 : ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31);
3396 : }
3397 :
3398 448 : if (block9.is_used()) {
3399 : compiler::TNode<Context> tmp33;
3400 : compiler::TNode<JSReceiver> tmp34;
3401 : compiler::TNode<FixedArray> tmp35;
3402 : compiler::TNode<IntPtrT> tmp36;
3403 : ca_.Bind(&block9, &tmp33, &tmp34, &tmp35, &tmp36);
3404 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 516);
3405 : ca_.Goto(&block1, tmp33, tmp34);
3406 : }
3407 :
3408 448 : if (block1.is_used()) {
3409 : compiler::TNode<Context> tmp37;
3410 : compiler::TNode<JSReceiver> tmp38;
3411 : ca_.Bind(&block1, &tmp37, &tmp38);
3412 : ca_.Goto(&block10, tmp37, tmp38);
3413 : }
3414 :
3415 : compiler::TNode<Context> tmp39;
3416 : compiler::TNode<JSReceiver> tmp40;
3417 : ca_.Bind(&block10, &tmp39, &tmp40);
3418 448 : }
3419 :
3420 224 : TF_BUILTIN(ArrayPrototypeJoin, CodeStubAssembler) {
3421 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3422 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3423 : USE(parameter0);
3424 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3425 56 : TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
3426 56 : TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
3427 56 : BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
3428 : CodeStubArguments arguments(this, torque_arguments);
3429 56 : TNode<Object> parameter1 = arguments.GetReceiver();
3430 : USE(parameter1);
3431 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3432 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3433 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3434 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3435 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3436 : ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
3437 :
3438 56 : if (block0.is_used()) {
3439 : compiler::TNode<Context> tmp0;
3440 : compiler::TNode<Object> tmp1;
3441 : compiler::TNode<RawPtrT> tmp2;
3442 : compiler::TNode<RawPtrT> tmp3;
3443 : compiler::TNode<IntPtrT> tmp4;
3444 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
3445 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 561);
3446 : compiler::TNode<IntPtrT> tmp5;
3447 : USE(tmp5);
3448 112 : tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3449 : compiler::TNode<Object> tmp6;
3450 : USE(tmp6);
3451 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}));
3452 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 564);
3453 : compiler::TNode<JSReceiver> tmp7;
3454 : USE(tmp7);
3455 112 : tmp7 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
3456 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 567);
3457 : compiler::TNode<Number> tmp8;
3458 : USE(tmp8);
3459 112 : tmp8 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp7}));
3460 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 571);
3461 : compiler::TNode<Number> tmp9;
3462 : USE(tmp9);
3463 224 : tmp9 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
3464 56 : compiler::CodeAssemblerLabel label0(&ca_);
3465 56 : compiler::CodeAssemblerLabel label1(&ca_);
3466 112 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp8}, compiler::TNode<Number>{tmp9}, &label0, &label1);
3467 56 : if (label0.is_used()) {
3468 56 : ca_.Bind(&label0);
3469 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp7, tmp8, tmp8);
3470 : }
3471 56 : if (label1.is_used()) {
3472 56 : ca_.Bind(&label1);
3473 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp7, tmp8, tmp8);
3474 : }
3475 : }
3476 :
3477 56 : if (block3.is_used()) {
3478 : compiler::TNode<Context> tmp10;
3479 : compiler::TNode<Object> tmp11;
3480 : compiler::TNode<RawPtrT> tmp12;
3481 : compiler::TNode<RawPtrT> tmp13;
3482 : compiler::TNode<IntPtrT> tmp14;
3483 : compiler::TNode<Object> tmp15;
3484 : compiler::TNode<JSReceiver> tmp16;
3485 : compiler::TNode<Number> tmp17;
3486 : compiler::TNode<Number> tmp18;
3487 : ca_.Bind(&block3, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
3488 : ca_.Goto(&block1, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
3489 : }
3490 :
3491 56 : if (block4.is_used()) {
3492 : compiler::TNode<Context> tmp19;
3493 : compiler::TNode<Object> tmp20;
3494 : compiler::TNode<RawPtrT> tmp21;
3495 : compiler::TNode<RawPtrT> tmp22;
3496 : compiler::TNode<IntPtrT> tmp23;
3497 : compiler::TNode<Object> tmp24;
3498 : compiler::TNode<JSReceiver> tmp25;
3499 : compiler::TNode<Number> tmp26;
3500 : compiler::TNode<Number> tmp27;
3501 : ca_.Bind(&block4, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
3502 : ca_.Goto(&block2, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26);
3503 : }
3504 :
3505 56 : if (block1.is_used()) {
3506 : compiler::TNode<Context> tmp28;
3507 : compiler::TNode<Object> tmp29;
3508 : compiler::TNode<RawPtrT> tmp30;
3509 : compiler::TNode<RawPtrT> tmp31;
3510 : compiler::TNode<IntPtrT> tmp32;
3511 : compiler::TNode<Object> tmp33;
3512 : compiler::TNode<JSReceiver> tmp34;
3513 : compiler::TNode<Number> tmp35;
3514 : ca_.Bind(&block1, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
3515 112 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp28}, MessageTemplate::kInvalidArrayLength);
3516 : }
3517 :
3518 56 : if (block2.is_used()) {
3519 : compiler::TNode<Context> tmp36;
3520 : compiler::TNode<Object> tmp37;
3521 : compiler::TNode<RawPtrT> tmp38;
3522 : compiler::TNode<RawPtrT> tmp39;
3523 : compiler::TNode<IntPtrT> tmp40;
3524 : compiler::TNode<Object> tmp41;
3525 : compiler::TNode<JSReceiver> tmp42;
3526 : compiler::TNode<Number> tmp43;
3527 : ca_.Bind(&block2, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
3528 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 574);
3529 : compiler::TNode<Oddball> tmp44;
3530 : USE(tmp44);
3531 112 : tmp44 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3532 : compiler::TNode<Oddball> tmp45;
3533 : USE(tmp45);
3534 112 : tmp45 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3535 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 573);
3536 : compiler::TNode<Object> tmp46;
3537 : USE(tmp46);
3538 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}));
3539 56 : arguments.PopAndReturn(tmp46);
3540 : }
3541 56 : }
3542 :
3543 224 : TF_BUILTIN(ArrayPrototypeToLocaleString, CodeStubAssembler) {
3544 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3545 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3546 : USE(parameter0);
3547 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3548 56 : TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
3549 56 : TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
3550 56 : BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
3551 : CodeStubArguments arguments(this, torque_arguments);
3552 56 : TNode<Object> parameter1 = arguments.GetReceiver();
3553 : USE(parameter1);
3554 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3555 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3556 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3557 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3558 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3559 : ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
3560 :
3561 56 : if (block0.is_used()) {
3562 : compiler::TNode<Context> tmp0;
3563 : compiler::TNode<Object> tmp1;
3564 : compiler::TNode<RawPtrT> tmp2;
3565 : compiler::TNode<RawPtrT> tmp3;
3566 : compiler::TNode<IntPtrT> tmp4;
3567 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
3568 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 580);
3569 : compiler::TNode<IntPtrT> tmp5;
3570 : USE(tmp5);
3571 112 : tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3572 : compiler::TNode<Object> tmp6;
3573 : USE(tmp6);
3574 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}));
3575 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 581);
3576 : compiler::TNode<IntPtrT> tmp7;
3577 : USE(tmp7);
3578 112 : tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
3579 : compiler::TNode<Object> tmp8;
3580 : USE(tmp8);
3581 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}));
3582 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 584);
3583 : compiler::TNode<JSReceiver> tmp9;
3584 : USE(tmp9);
3585 112 : tmp9 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
3586 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 587);
3587 : compiler::TNode<Number> tmp10;
3588 : USE(tmp10);
3589 112 : tmp10 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp9}));
3590 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 591);
3591 : compiler::TNode<Number> tmp11;
3592 : USE(tmp11);
3593 224 : tmp11 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
3594 56 : compiler::CodeAssemblerLabel label0(&ca_);
3595 56 : compiler::CodeAssemblerLabel label1(&ca_);
3596 112 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp10}, compiler::TNode<Number>{tmp11}, &label0, &label1);
3597 56 : if (label0.is_used()) {
3598 56 : ca_.Bind(&label0);
3599 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp8, tmp9, tmp10, tmp10);
3600 : }
3601 56 : if (label1.is_used()) {
3602 56 : ca_.Bind(&label1);
3603 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp8, tmp9, tmp10, tmp10);
3604 : }
3605 : }
3606 :
3607 56 : if (block3.is_used()) {
3608 : compiler::TNode<Context> tmp12;
3609 : compiler::TNode<Object> tmp13;
3610 : compiler::TNode<RawPtrT> tmp14;
3611 : compiler::TNode<RawPtrT> tmp15;
3612 : compiler::TNode<IntPtrT> tmp16;
3613 : compiler::TNode<Object> tmp17;
3614 : compiler::TNode<Object> tmp18;
3615 : compiler::TNode<JSReceiver> tmp19;
3616 : compiler::TNode<Number> tmp20;
3617 : compiler::TNode<Number> tmp21;
3618 : ca_.Bind(&block3, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
3619 : ca_.Goto(&block1, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
3620 : }
3621 :
3622 56 : if (block4.is_used()) {
3623 : compiler::TNode<Context> tmp22;
3624 : compiler::TNode<Object> tmp23;
3625 : compiler::TNode<RawPtrT> tmp24;
3626 : compiler::TNode<RawPtrT> tmp25;
3627 : compiler::TNode<IntPtrT> tmp26;
3628 : compiler::TNode<Object> tmp27;
3629 : compiler::TNode<Object> tmp28;
3630 : compiler::TNode<JSReceiver> tmp29;
3631 : compiler::TNode<Number> tmp30;
3632 : compiler::TNode<Number> tmp31;
3633 : ca_.Bind(&block4, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
3634 : ca_.Goto(&block2, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30);
3635 : }
3636 :
3637 56 : if (block1.is_used()) {
3638 : compiler::TNode<Context> tmp32;
3639 : compiler::TNode<Object> tmp33;
3640 : compiler::TNode<RawPtrT> tmp34;
3641 : compiler::TNode<RawPtrT> tmp35;
3642 : compiler::TNode<IntPtrT> tmp36;
3643 : compiler::TNode<Object> tmp37;
3644 : compiler::TNode<Object> tmp38;
3645 : compiler::TNode<JSReceiver> tmp39;
3646 : compiler::TNode<Number> tmp40;
3647 : ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40);
3648 112 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp32}, MessageTemplate::kInvalidArrayLength);
3649 : }
3650 :
3651 56 : if (block2.is_used()) {
3652 : compiler::TNode<Context> tmp41;
3653 : compiler::TNode<Object> tmp42;
3654 : compiler::TNode<RawPtrT> tmp43;
3655 : compiler::TNode<RawPtrT> tmp44;
3656 : compiler::TNode<IntPtrT> tmp45;
3657 : compiler::TNode<Object> tmp46;
3658 : compiler::TNode<Object> tmp47;
3659 : compiler::TNode<JSReceiver> tmp48;
3660 : compiler::TNode<Number> tmp49;
3661 : ca_.Bind(&block2, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
3662 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 594);
3663 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 593);
3664 : compiler::TNode<Object> tmp50;
3665 : USE(tmp50);
3666 112 : tmp50 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
3667 : compiler::TNode<Object> tmp51;
3668 : USE(tmp51);
3669 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}));
3670 56 : arguments.PopAndReturn(tmp51);
3671 : }
3672 56 : }
3673 :
3674 224 : TF_BUILTIN(ArrayPrototypeToString, CodeStubAssembler) {
3675 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3676 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3677 : USE(parameter0);
3678 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3679 56 : TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
3680 56 : TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
3681 56 : BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
3682 : CodeStubArguments arguments(this, torque_arguments);
3683 56 : TNode<Object> parameter1 = arguments.GetReceiver();
3684 : USE(parameter1);
3685 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3686 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3687 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3688 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3689 : ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
3690 :
3691 56 : if (block0.is_used()) {
3692 : compiler::TNode<Context> tmp0;
3693 : compiler::TNode<Object> tmp1;
3694 : compiler::TNode<RawPtrT> tmp2;
3695 : compiler::TNode<RawPtrT> tmp3;
3696 : compiler::TNode<IntPtrT> tmp4;
3697 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
3698 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 601);
3699 : compiler::TNode<JSReceiver> tmp5;
3700 : USE(tmp5);
3701 112 : tmp5 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
3702 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 604);
3703 : compiler::TNode<Object> tmp6;
3704 : USE(tmp6);
3705 112 : tmp6 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("join"));
3706 : compiler::TNode<Object> tmp7;
3707 : USE(tmp7);
3708 112 : tmp7 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}, compiler::TNode<Object>{tmp6}));
3709 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 608);
3710 : compiler::TNode<JSReceiver> tmp8;
3711 : USE(tmp8);
3712 56 : compiler::CodeAssemblerLabel label0(&ca_);
3713 112 : tmp8 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp7}, &label0);
3714 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp7, tmp8);
3715 56 : if (label0.is_used()) {
3716 56 : ca_.Bind(&label0);
3717 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp7);
3718 : }
3719 : }
3720 :
3721 56 : if (block4.is_used()) {
3722 : compiler::TNode<Context> tmp9;
3723 : compiler::TNode<Object> tmp10;
3724 : compiler::TNode<RawPtrT> tmp11;
3725 : compiler::TNode<RawPtrT> tmp12;
3726 : compiler::TNode<IntPtrT> tmp13;
3727 : compiler::TNode<JSReceiver> tmp14;
3728 : compiler::TNode<Object> tmp15;
3729 : compiler::TNode<Object> tmp16;
3730 : ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
3731 : ca_.Goto(&block2, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15);
3732 : }
3733 :
3734 56 : if (block3.is_used()) {
3735 : compiler::TNode<Context> tmp17;
3736 : compiler::TNode<Object> tmp18;
3737 : compiler::TNode<RawPtrT> tmp19;
3738 : compiler::TNode<RawPtrT> tmp20;
3739 : compiler::TNode<IntPtrT> tmp21;
3740 : compiler::TNode<JSReceiver> tmp22;
3741 : compiler::TNode<Object> tmp23;
3742 : compiler::TNode<Object> tmp24;
3743 : compiler::TNode<JSReceiver> tmp25;
3744 : ca_.Bind(&block3, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
3745 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 611);
3746 : compiler::TNode<Object> tmp26;
3747 : USE(tmp26);
3748 168 : tmp26 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp17}, compiler::TNode<JSReceiver>{tmp25}, compiler::TNode<Object>{tmp22}));
3749 56 : arguments.PopAndReturn(tmp26);
3750 : }
3751 :
3752 56 : if (block2.is_used()) {
3753 : compiler::TNode<Context> tmp27;
3754 : compiler::TNode<Object> tmp28;
3755 : compiler::TNode<RawPtrT> tmp29;
3756 : compiler::TNode<RawPtrT> tmp30;
3757 : compiler::TNode<IntPtrT> tmp31;
3758 : compiler::TNode<JSReceiver> tmp32;
3759 : compiler::TNode<Object> tmp33;
3760 : ca_.Bind(&block2, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
3761 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 614);
3762 : compiler::TNode<Object> tmp34;
3763 112 : tmp34 = CodeStubAssembler(state_).CallBuiltin(Builtins::kObjectToString, tmp27, tmp32);
3764 : USE(tmp34);
3765 56 : arguments.PopAndReturn(tmp34);
3766 : }
3767 56 : }
3768 :
3769 224 : TF_BUILTIN(TypedArrayPrototypeJoin, CodeStubAssembler) {
3770 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3771 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3772 : USE(parameter0);
3773 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3774 56 : TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
3775 56 : TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
3776 56 : BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
3777 : CodeStubArguments arguments(this, torque_arguments);
3778 56 : TNode<Object> parameter1 = arguments.GetReceiver();
3779 : USE(parameter1);
3780 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3781 : ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
3782 :
3783 56 : if (block0.is_used()) {
3784 : compiler::TNode<Context> tmp0;
3785 : compiler::TNode<Object> tmp1;
3786 : compiler::TNode<RawPtrT> tmp2;
3787 : compiler::TNode<RawPtrT> tmp3;
3788 : compiler::TNode<IntPtrT> tmp4;
3789 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
3790 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 621);
3791 : compiler::TNode<IntPtrT> tmp5;
3792 : USE(tmp5);
3793 112 : tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3794 : compiler::TNode<Object> tmp6;
3795 : USE(tmp6);
3796 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}));
3797 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 626);
3798 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 625);
3799 : compiler::TNode<JSTypedArray> tmp7;
3800 : USE(tmp7);
3801 112 : tmp7 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.join"));
3802 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 627);
3803 56 : compiler::TNode<IntPtrT> tmp8 = ca_.IntPtrConstant(JSTypedArray::kLengthOffset);
3804 : USE(tmp8);
3805 112 : compiler::TNode<Smi>tmp9 = CodeStubAssembler(state_).LoadReference<Smi>(CodeStubAssembler::Reference{tmp7, tmp8});
3806 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 630);
3807 : compiler::TNode<Oddball> tmp10;
3808 : USE(tmp10);
3809 112 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3810 : compiler::TNode<Oddball> tmp11;
3811 : USE(tmp11);
3812 112 : tmp11 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3813 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 629);
3814 : compiler::TNode<Object> tmp12;
3815 : USE(tmp12);
3816 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}));
3817 56 : arguments.PopAndReturn(tmp12);
3818 : }
3819 56 : }
3820 :
3821 224 : TF_BUILTIN(TypedArrayPrototypeToLocaleString, CodeStubAssembler) {
3822 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3823 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3824 : USE(parameter0);
3825 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3826 56 : TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
3827 56 : TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
3828 56 : BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
3829 : CodeStubArguments arguments(this, torque_arguments);
3830 56 : TNode<Object> parameter1 = arguments.GetReceiver();
3831 : USE(parameter1);
3832 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3833 : ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
3834 :
3835 56 : if (block0.is_used()) {
3836 : compiler::TNode<Context> tmp0;
3837 : compiler::TNode<Object> tmp1;
3838 : compiler::TNode<RawPtrT> tmp2;
3839 : compiler::TNode<RawPtrT> tmp3;
3840 : compiler::TNode<IntPtrT> tmp4;
3841 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
3842 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 636);
3843 : compiler::TNode<IntPtrT> tmp5;
3844 : USE(tmp5);
3845 112 : tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3846 : compiler::TNode<Object> tmp6;
3847 : USE(tmp6);
3848 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}));
3849 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 637);
3850 : compiler::TNode<IntPtrT> tmp7;
3851 : USE(tmp7);
3852 112 : tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
3853 : compiler::TNode<Object> tmp8;
3854 : USE(tmp8);
3855 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}));
3856 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 642);
3857 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 641);
3858 : compiler::TNode<JSTypedArray> tmp9;
3859 : USE(tmp9);
3860 112 : tmp9 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.toLocaleString"));
3861 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 643);
3862 56 : compiler::TNode<IntPtrT> tmp10 = ca_.IntPtrConstant(JSTypedArray::kLengthOffset);
3863 : USE(tmp10);
3864 112 : compiler::TNode<Smi>tmp11 = CodeStubAssembler(state_).LoadReference<Smi>(CodeStubAssembler::Reference{tmp9, tmp10});
3865 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 646);
3866 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 645);
3867 : compiler::TNode<Object> tmp12;
3868 : USE(tmp12);
3869 112 : tmp12 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
3870 : compiler::TNode<Object> tmp13;
3871 : USE(tmp13);
3872 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}));
3873 56 : arguments.PopAndReturn(tmp13);
3874 : }
3875 56 : }
3876 :
3877 224 : TF_BUILTIN(LoadJoinElement25ATGenericElementsAccessor, CodeStubAssembler) {
3878 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3879 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3880 : USE(parameter0);
3881 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
3882 : USE(parameter1);
3883 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
3884 : USE(parameter2);
3885 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3886 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
3887 :
3888 56 : if (block0.is_used()) {
3889 : compiler::TNode<Context> tmp0;
3890 : compiler::TNode<JSReceiver> tmp1;
3891 : compiler::TNode<Number> tmp2;
3892 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
3893 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 16);
3894 : compiler::TNode<Object> tmp3;
3895 : USE(tmp3);
3896 112 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}));
3897 112 : CodeStubAssembler(state_).Return(tmp3);
3898 : }
3899 56 : }
3900 :
3901 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) {
3902 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3903 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3904 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3905 : 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);
3906 : 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);
3907 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3908 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3909 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3910 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block10(&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> block11(&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> block14(&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> block15(&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> block12(&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, Object> block19(&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, Object, String> block18(&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, String> block20(&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, String> block21(&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> block17(&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, Object> block25(&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, Object, Number> block24(&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> block23(&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, HeapObject> block26(&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, HeapObject> block27(&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, Object> block22(&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, Object> block16(&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> block13(&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> block32(&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> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
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> block31(&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> block33(&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> block34(&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, IntPtrT, IntPtrT> block35(&ca_, compiler::CodeAssemblerLabel::kDeferred);
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, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3935 : 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);
3936 : 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);
3937 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block3(&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> block40(&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> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
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> block39(&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> block41(&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> block42(&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, IntPtrT, IntPtrT> block43(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3944 : 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);
3945 : 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);
3946 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3947 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3948 : ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
3949 :
3950 112 : if (block0.is_used()) {
3951 : compiler::TNode<Context> tmp0;
3952 : compiler::TNode<JSReceiver> tmp1;
3953 : compiler::TNode<String> tmp2;
3954 : compiler::TNode<Number> tmp3;
3955 : compiler::TNode<Object> tmp4;
3956 : compiler::TNode<Object> tmp5;
3957 : compiler::TNode<BuiltinPtr> tmp6;
3958 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
3959 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
3960 112 : compiler::TNode<IntPtrT> tmp7 = ca_.IntPtrConstant(HeapObject::kMapOffset);
3961 : USE(tmp7);
3962 224 : compiler::TNode<Map>tmp8 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp7});
3963 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
3964 : compiler::TNode<UintPtrT> tmp9;
3965 : USE(tmp9);
3966 336 : tmp9 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number>{tmp3}));
3967 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
3968 : compiler::TNode<IntPtrT> tmp10;
3969 : USE(tmp10);
3970 336 : tmp10 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
3971 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 269);
3972 : compiler::TNode<IntPtrT> tmp11;
3973 : USE(tmp11);
3974 336 : tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3975 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 270);
3976 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
3977 : compiler::TNode<FixedArray> tmp12;
3978 : USE(tmp12);
3979 : compiler::TNode<IntPtrT> tmp13;
3980 : USE(tmp13);
3981 : compiler::TNode<IntPtrT> tmp14;
3982 : USE(tmp14);
3983 : compiler::TNode<BoolT> tmp15;
3984 : USE(tmp15);
3985 448 : std::tie(tmp12, tmp13, tmp14, tmp15) = ArrayJoinBuiltinsFromDSLAssembler(state_).NewBuffer(compiler::TNode<UintPtrT>{tmp9}, compiler::TNode<String>{tmp2}).Flatten();
3986 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
3987 : compiler::TNode<UintPtrT> tmp16;
3988 : USE(tmp16);
3989 336 : tmp16 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
3990 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
3991 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp8, tmp9, tmp10, tmp11, tmp6, tmp12, tmp13, tmp14, tmp15, tmp16);
3992 : }
3993 :
3994 112 : if (block4.is_used()) {
3995 : compiler::TNode<Context> tmp17;
3996 : compiler::TNode<JSReceiver> tmp18;
3997 : compiler::TNode<String> tmp19;
3998 : compiler::TNode<Number> tmp20;
3999 : compiler::TNode<Object> tmp21;
4000 : compiler::TNode<Object> tmp22;
4001 : compiler::TNode<BuiltinPtr> tmp23;
4002 : compiler::TNode<Map> tmp24;
4003 : compiler::TNode<UintPtrT> tmp25;
4004 : compiler::TNode<IntPtrT> tmp26;
4005 : compiler::TNode<IntPtrT> tmp27;
4006 : compiler::TNode<BuiltinPtr> tmp28;
4007 : compiler::TNode<FixedArray> tmp29;
4008 : compiler::TNode<IntPtrT> tmp30;
4009 : compiler::TNode<IntPtrT> tmp31;
4010 : compiler::TNode<BoolT> tmp32;
4011 : compiler::TNode<UintPtrT> tmp33;
4012 : ca_.Bind(&block4, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
4013 : compiler::TNode<BoolT> tmp34;
4014 : USE(tmp34);
4015 448 : tmp34 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp33}, compiler::TNode<UintPtrT>{tmp25}));
4016 112 : ca_.Branch(tmp34, &block2, &block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33);
4017 : }
4018 :
4019 112 : if (block2.is_used()) {
4020 : compiler::TNode<Context> tmp35;
4021 : compiler::TNode<JSReceiver> tmp36;
4022 : compiler::TNode<String> tmp37;
4023 : compiler::TNode<Number> tmp38;
4024 : compiler::TNode<Object> tmp39;
4025 : compiler::TNode<Object> tmp40;
4026 : compiler::TNode<BuiltinPtr> tmp41;
4027 : compiler::TNode<Map> tmp42;
4028 : compiler::TNode<UintPtrT> tmp43;
4029 : compiler::TNode<IntPtrT> tmp44;
4030 : compiler::TNode<IntPtrT> tmp45;
4031 : compiler::TNode<BuiltinPtr> tmp46;
4032 : compiler::TNode<FixedArray> tmp47;
4033 : compiler::TNode<IntPtrT> tmp48;
4034 : compiler::TNode<IntPtrT> tmp49;
4035 : compiler::TNode<BoolT> tmp50;
4036 : compiler::TNode<UintPtrT> tmp51;
4037 : ca_.Bind(&block2, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
4038 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 279);
4039 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
4040 112 : compiler::CodeAssemblerLabel label0(&ca_);
4041 112 : compiler::CodeAssemblerLabel label1(&ca_);
4042 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);
4043 112 : if (label0.is_used()) {
4044 112 : ca_.Bind(&label0);
4045 : ca_.Goto(&block7, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
4046 : }
4047 112 : if (label1.is_used()) {
4048 112 : ca_.Bind(&label1);
4049 : ca_.Goto(&block8, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
4050 : }
4051 : }
4052 :
4053 112 : if (block7.is_used()) {
4054 : compiler::TNode<Context> tmp52;
4055 : compiler::TNode<JSReceiver> tmp53;
4056 : compiler::TNode<String> tmp54;
4057 : compiler::TNode<Number> tmp55;
4058 : compiler::TNode<Object> tmp56;
4059 : compiler::TNode<Object> tmp57;
4060 : compiler::TNode<BuiltinPtr> tmp58;
4061 : compiler::TNode<Map> tmp59;
4062 : compiler::TNode<UintPtrT> tmp60;
4063 : compiler::TNode<IntPtrT> tmp61;
4064 : compiler::TNode<IntPtrT> tmp62;
4065 : compiler::TNode<BuiltinPtr> tmp63;
4066 : compiler::TNode<FixedArray> tmp64;
4067 : compiler::TNode<IntPtrT> tmp65;
4068 : compiler::TNode<IntPtrT> tmp66;
4069 : compiler::TNode<BoolT> tmp67;
4070 : compiler::TNode<UintPtrT> tmp68;
4071 : compiler::TNode<BuiltinPtr> tmp69;
4072 : compiler::TNode<JSReceiver> tmp70;
4073 : compiler::TNode<Map> tmp71;
4074 : compiler::TNode<Number> tmp72;
4075 : ca_.Bind(&block7, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72);
4076 : ca_.Goto(&block5, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68);
4077 : }
4078 :
4079 112 : if (block8.is_used()) {
4080 : compiler::TNode<Context> tmp73;
4081 : compiler::TNode<JSReceiver> tmp74;
4082 : compiler::TNode<String> tmp75;
4083 : compiler::TNode<Number> tmp76;
4084 : compiler::TNode<Object> tmp77;
4085 : compiler::TNode<Object> tmp78;
4086 : compiler::TNode<BuiltinPtr> tmp79;
4087 : compiler::TNode<Map> tmp80;
4088 : compiler::TNode<UintPtrT> tmp81;
4089 : compiler::TNode<IntPtrT> tmp82;
4090 : compiler::TNode<IntPtrT> tmp83;
4091 : compiler::TNode<BuiltinPtr> tmp84;
4092 : compiler::TNode<FixedArray> tmp85;
4093 : compiler::TNode<IntPtrT> tmp86;
4094 : compiler::TNode<IntPtrT> tmp87;
4095 : compiler::TNode<BoolT> tmp88;
4096 : compiler::TNode<UintPtrT> tmp89;
4097 : compiler::TNode<BuiltinPtr> tmp90;
4098 : compiler::TNode<JSReceiver> tmp91;
4099 : compiler::TNode<Map> tmp92;
4100 : compiler::TNode<Number> tmp93;
4101 : ca_.Bind(&block8, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93);
4102 : ca_.Goto(&block6, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89);
4103 : }
4104 :
4105 112 : if (block5.is_used()) {
4106 : compiler::TNode<Context> tmp94;
4107 : compiler::TNode<JSReceiver> tmp95;
4108 : compiler::TNode<String> tmp96;
4109 : compiler::TNode<Number> tmp97;
4110 : compiler::TNode<Object> tmp98;
4111 : compiler::TNode<Object> tmp99;
4112 : compiler::TNode<BuiltinPtr> tmp100;
4113 : compiler::TNode<Map> tmp101;
4114 : compiler::TNode<UintPtrT> tmp102;
4115 : compiler::TNode<IntPtrT> tmp103;
4116 : compiler::TNode<IntPtrT> tmp104;
4117 : compiler::TNode<BuiltinPtr> tmp105;
4118 : compiler::TNode<FixedArray> tmp106;
4119 : compiler::TNode<IntPtrT> tmp107;
4120 : compiler::TNode<IntPtrT> tmp108;
4121 : compiler::TNode<BoolT> tmp109;
4122 : compiler::TNode<UintPtrT> tmp110;
4123 : ca_.Bind(&block5, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110);
4124 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
4125 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
4126 : 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);
4127 : }
4128 :
4129 112 : if (block6.is_used()) {
4130 : compiler::TNode<Context> tmp111;
4131 : compiler::TNode<JSReceiver> tmp112;
4132 : compiler::TNode<String> tmp113;
4133 : compiler::TNode<Number> tmp114;
4134 : compiler::TNode<Object> tmp115;
4135 : compiler::TNode<Object> tmp116;
4136 : compiler::TNode<BuiltinPtr> tmp117;
4137 : compiler::TNode<Map> tmp118;
4138 : compiler::TNode<UintPtrT> tmp119;
4139 : compiler::TNode<IntPtrT> tmp120;
4140 : compiler::TNode<IntPtrT> tmp121;
4141 : compiler::TNode<BuiltinPtr> tmp122;
4142 : compiler::TNode<FixedArray> tmp123;
4143 : compiler::TNode<IntPtrT> tmp124;
4144 : compiler::TNode<IntPtrT> tmp125;
4145 : compiler::TNode<BoolT> tmp126;
4146 : compiler::TNode<UintPtrT> tmp127;
4147 : ca_.Bind(&block6, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127);
4148 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
4149 : compiler::TNode<UintPtrT> tmp128;
4150 : USE(tmp128);
4151 336 : tmp128 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
4152 : compiler::TNode<BoolT> tmp129;
4153 : USE(tmp129);
4154 336 : tmp129 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp127}, compiler::TNode<UintPtrT>{tmp128}));
4155 112 : ca_.Branch(tmp129, &block9, &block10, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127);
4156 : }
4157 :
4158 112 : if (block9.is_used()) {
4159 : compiler::TNode<Context> tmp130;
4160 : compiler::TNode<JSReceiver> tmp131;
4161 : compiler::TNode<String> tmp132;
4162 : compiler::TNode<Number> tmp133;
4163 : compiler::TNode<Object> tmp134;
4164 : compiler::TNode<Object> tmp135;
4165 : compiler::TNode<BuiltinPtr> tmp136;
4166 : compiler::TNode<Map> tmp137;
4167 : compiler::TNode<UintPtrT> tmp138;
4168 : compiler::TNode<IntPtrT> tmp139;
4169 : compiler::TNode<IntPtrT> tmp140;
4170 : compiler::TNode<BuiltinPtr> tmp141;
4171 : compiler::TNode<FixedArray> tmp142;
4172 : compiler::TNode<IntPtrT> tmp143;
4173 : compiler::TNode<IntPtrT> tmp144;
4174 : compiler::TNode<BoolT> tmp145;
4175 : compiler::TNode<UintPtrT> tmp146;
4176 : ca_.Bind(&block9, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
4177 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 286);
4178 : compiler::TNode<IntPtrT> tmp147;
4179 : USE(tmp147);
4180 336 : tmp147 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
4181 : compiler::TNode<IntPtrT> tmp148;
4182 : USE(tmp148);
4183 224 : tmp148 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp140}, compiler::TNode<IntPtrT>{tmp147}));
4184 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
4185 : ca_.Goto(&block10, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp148, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146);
4186 : }
4187 :
4188 112 : if (block10.is_used()) {
4189 : compiler::TNode<Context> tmp149;
4190 : compiler::TNode<JSReceiver> tmp150;
4191 : compiler::TNode<String> tmp151;
4192 : compiler::TNode<Number> tmp152;
4193 : compiler::TNode<Object> tmp153;
4194 : compiler::TNode<Object> tmp154;
4195 : compiler::TNode<BuiltinPtr> tmp155;
4196 : compiler::TNode<Map> tmp156;
4197 : compiler::TNode<UintPtrT> tmp157;
4198 : compiler::TNode<IntPtrT> tmp158;
4199 : compiler::TNode<IntPtrT> tmp159;
4200 : compiler::TNode<BuiltinPtr> tmp160;
4201 : compiler::TNode<FixedArray> tmp161;
4202 : compiler::TNode<IntPtrT> tmp162;
4203 : compiler::TNode<IntPtrT> tmp163;
4204 : compiler::TNode<BoolT> tmp164;
4205 : compiler::TNode<UintPtrT> tmp165;
4206 : ca_.Bind(&block10, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
4207 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 290);
4208 : compiler::TNode<UintPtrT> tmp166;
4209 : USE(tmp166);
4210 336 : tmp166 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
4211 : compiler::TNode<UintPtrT> tmp167;
4212 : USE(tmp167);
4213 224 : tmp167 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp165}, compiler::TNode<UintPtrT>{tmp166}));
4214 : compiler::TNode<Number> tmp168;
4215 : USE(tmp168);
4216 336 : tmp168 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert20UT5ATSmi10HeapNumber9ATuintptr(compiler::TNode<UintPtrT>{tmp165}));
4217 560 : compiler::TNode<Object> tmp169 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp160, tmp149, tmp150, tmp168);
4218 : USE(tmp169);
4219 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
4220 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
4221 112 : if ((p_useToLocaleString)) {
4222 : ca_.Goto(&block11, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
4223 : } else {
4224 : ca_.Goto(&block12, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
4225 : }
4226 : }
4227 :
4228 112 : if (block11.is_used()) {
4229 : compiler::TNode<Context> tmp170;
4230 : compiler::TNode<JSReceiver> tmp171;
4231 : compiler::TNode<String> tmp172;
4232 : compiler::TNode<Number> tmp173;
4233 : compiler::TNode<Object> tmp174;
4234 : compiler::TNode<Object> tmp175;
4235 : compiler::TNode<BuiltinPtr> tmp176;
4236 : compiler::TNode<Map> tmp177;
4237 : compiler::TNode<UintPtrT> tmp178;
4238 : compiler::TNode<IntPtrT> tmp179;
4239 : compiler::TNode<IntPtrT> tmp180;
4240 : compiler::TNode<BuiltinPtr> tmp181;
4241 : compiler::TNode<FixedArray> tmp182;
4242 : compiler::TNode<IntPtrT> tmp183;
4243 : compiler::TNode<IntPtrT> tmp184;
4244 : compiler::TNode<BoolT> tmp185;
4245 : compiler::TNode<UintPtrT> tmp186;
4246 : compiler::TNode<Object> tmp187;
4247 : compiler::TNode<String> tmp188;
4248 : ca_.Bind(&block11, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188);
4249 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
4250 : compiler::TNode<String> tmp189;
4251 112 : tmp189 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp170, tmp187, tmp174, tmp175));
4252 : USE(tmp189);
4253 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
4254 : compiler::TNode<String> tmp190;
4255 : USE(tmp190);
4256 168 : tmp190 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
4257 : compiler::TNode<BoolT> tmp191;
4258 : USE(tmp191);
4259 112 : tmp191 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp189}, compiler::TNode<HeapObject>{tmp190}));
4260 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);
4261 : }
4262 :
4263 112 : if (block14.is_used()) {
4264 : compiler::TNode<Context> tmp192;
4265 : compiler::TNode<JSReceiver> tmp193;
4266 : compiler::TNode<String> tmp194;
4267 : compiler::TNode<Number> tmp195;
4268 : compiler::TNode<Object> tmp196;
4269 : compiler::TNode<Object> tmp197;
4270 : compiler::TNode<BuiltinPtr> tmp198;
4271 : compiler::TNode<Map> tmp199;
4272 : compiler::TNode<UintPtrT> tmp200;
4273 : compiler::TNode<IntPtrT> tmp201;
4274 : compiler::TNode<IntPtrT> tmp202;
4275 : compiler::TNode<BuiltinPtr> tmp203;
4276 : compiler::TNode<FixedArray> tmp204;
4277 : compiler::TNode<IntPtrT> tmp205;
4278 : compiler::TNode<IntPtrT> tmp206;
4279 : compiler::TNode<BoolT> tmp207;
4280 : compiler::TNode<UintPtrT> tmp208;
4281 : compiler::TNode<Object> tmp209;
4282 : compiler::TNode<String> tmp210;
4283 : ca_.Bind(&block14, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210);
4284 : ca_.Goto(&block4, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208);
4285 : }
4286 :
4287 112 : if (block15.is_used()) {
4288 : compiler::TNode<Context> tmp211;
4289 : compiler::TNode<JSReceiver> tmp212;
4290 : compiler::TNode<String> tmp213;
4291 : compiler::TNode<Number> tmp214;
4292 : compiler::TNode<Object> tmp215;
4293 : compiler::TNode<Object> tmp216;
4294 : compiler::TNode<BuiltinPtr> tmp217;
4295 : compiler::TNode<Map> tmp218;
4296 : compiler::TNode<UintPtrT> tmp219;
4297 : compiler::TNode<IntPtrT> tmp220;
4298 : compiler::TNode<IntPtrT> tmp221;
4299 : compiler::TNode<BuiltinPtr> tmp222;
4300 : compiler::TNode<FixedArray> tmp223;
4301 : compiler::TNode<IntPtrT> tmp224;
4302 : compiler::TNode<IntPtrT> tmp225;
4303 : compiler::TNode<BoolT> tmp226;
4304 : compiler::TNode<UintPtrT> tmp227;
4305 : compiler::TNode<Object> tmp228;
4306 : compiler::TNode<String> tmp229;
4307 : ca_.Bind(&block15, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229);
4308 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
4309 : ca_.Goto(&block13, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229);
4310 : }
4311 :
4312 112 : if (block12.is_used()) {
4313 : compiler::TNode<Context> tmp230;
4314 : compiler::TNode<JSReceiver> tmp231;
4315 : compiler::TNode<String> tmp232;
4316 : compiler::TNode<Number> tmp233;
4317 : compiler::TNode<Object> tmp234;
4318 : compiler::TNode<Object> tmp235;
4319 : compiler::TNode<BuiltinPtr> tmp236;
4320 : compiler::TNode<Map> tmp237;
4321 : compiler::TNode<UintPtrT> tmp238;
4322 : compiler::TNode<IntPtrT> tmp239;
4323 : compiler::TNode<IntPtrT> tmp240;
4324 : compiler::TNode<BuiltinPtr> tmp241;
4325 : compiler::TNode<FixedArray> tmp242;
4326 : compiler::TNode<IntPtrT> tmp243;
4327 : compiler::TNode<IntPtrT> tmp244;
4328 : compiler::TNode<BoolT> tmp245;
4329 : compiler::TNode<UintPtrT> tmp246;
4330 : compiler::TNode<Object> tmp247;
4331 : compiler::TNode<String> tmp248;
4332 : ca_.Bind(&block12, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248);
4333 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
4334 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
4335 : compiler::TNode<String> tmp249;
4336 : USE(tmp249);
4337 56 : compiler::CodeAssemblerLabel label0(&ca_);
4338 168 : tmp249 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp230}, compiler::TNode<Object>{tmp247}, &label0);
4339 : 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);
4340 56 : if (label0.is_used()) {
4341 56 : ca_.Bind(&label0);
4342 : ca_.Goto(&block19, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247);
4343 : }
4344 : }
4345 :
4346 112 : if (block19.is_used()) {
4347 : compiler::TNode<Context> tmp250;
4348 : compiler::TNode<JSReceiver> tmp251;
4349 : compiler::TNode<String> tmp252;
4350 : compiler::TNode<Number> tmp253;
4351 : compiler::TNode<Object> tmp254;
4352 : compiler::TNode<Object> tmp255;
4353 : compiler::TNode<BuiltinPtr> tmp256;
4354 : compiler::TNode<Map> tmp257;
4355 : compiler::TNode<UintPtrT> tmp258;
4356 : compiler::TNode<IntPtrT> tmp259;
4357 : compiler::TNode<IntPtrT> tmp260;
4358 : compiler::TNode<BuiltinPtr> tmp261;
4359 : compiler::TNode<FixedArray> tmp262;
4360 : compiler::TNode<IntPtrT> tmp263;
4361 : compiler::TNode<IntPtrT> tmp264;
4362 : compiler::TNode<BoolT> tmp265;
4363 : compiler::TNode<UintPtrT> tmp266;
4364 : compiler::TNode<Object> tmp267;
4365 : compiler::TNode<String> tmp268;
4366 : compiler::TNode<Object> tmp269;
4367 : compiler::TNode<Object> tmp270;
4368 : ca_.Bind(&block19, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270);
4369 : ca_.Goto(&block17, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269);
4370 : }
4371 :
4372 112 : if (block18.is_used()) {
4373 : compiler::TNode<Context> tmp271;
4374 : compiler::TNode<JSReceiver> tmp272;
4375 : compiler::TNode<String> tmp273;
4376 : compiler::TNode<Number> tmp274;
4377 : compiler::TNode<Object> tmp275;
4378 : compiler::TNode<Object> tmp276;
4379 : compiler::TNode<BuiltinPtr> tmp277;
4380 : compiler::TNode<Map> tmp278;
4381 : compiler::TNode<UintPtrT> tmp279;
4382 : compiler::TNode<IntPtrT> tmp280;
4383 : compiler::TNode<IntPtrT> tmp281;
4384 : compiler::TNode<BuiltinPtr> tmp282;
4385 : compiler::TNode<FixedArray> tmp283;
4386 : compiler::TNode<IntPtrT> tmp284;
4387 : compiler::TNode<IntPtrT> tmp285;
4388 : compiler::TNode<BoolT> tmp286;
4389 : compiler::TNode<UintPtrT> tmp287;
4390 : compiler::TNode<Object> tmp288;
4391 : compiler::TNode<String> tmp289;
4392 : compiler::TNode<Object> tmp290;
4393 : compiler::TNode<Object> tmp291;
4394 : compiler::TNode<String> tmp292;
4395 : 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);
4396 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
4397 : compiler::TNode<String> tmp293;
4398 : USE(tmp293);
4399 168 : tmp293 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
4400 : compiler::TNode<BoolT> tmp294;
4401 : USE(tmp294);
4402 112 : tmp294 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp292}, compiler::TNode<HeapObject>{tmp293}));
4403 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);
4404 : }
4405 :
4406 112 : if (block20.is_used()) {
4407 : compiler::TNode<Context> tmp295;
4408 : compiler::TNode<JSReceiver> tmp296;
4409 : compiler::TNode<String> tmp297;
4410 : compiler::TNode<Number> tmp298;
4411 : compiler::TNode<Object> tmp299;
4412 : compiler::TNode<Object> tmp300;
4413 : compiler::TNode<BuiltinPtr> tmp301;
4414 : compiler::TNode<Map> tmp302;
4415 : compiler::TNode<UintPtrT> tmp303;
4416 : compiler::TNode<IntPtrT> tmp304;
4417 : compiler::TNode<IntPtrT> tmp305;
4418 : compiler::TNode<BuiltinPtr> tmp306;
4419 : compiler::TNode<FixedArray> tmp307;
4420 : compiler::TNode<IntPtrT> tmp308;
4421 : compiler::TNode<IntPtrT> tmp309;
4422 : compiler::TNode<BoolT> tmp310;
4423 : compiler::TNode<UintPtrT> tmp311;
4424 : compiler::TNode<Object> tmp312;
4425 : compiler::TNode<String> tmp313;
4426 : compiler::TNode<Object> tmp314;
4427 : compiler::TNode<String> tmp315;
4428 : ca_.Bind(&block20, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315);
4429 : ca_.Goto(&block4, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311);
4430 : }
4431 :
4432 112 : if (block21.is_used()) {
4433 : compiler::TNode<Context> tmp316;
4434 : compiler::TNode<JSReceiver> tmp317;
4435 : compiler::TNode<String> tmp318;
4436 : compiler::TNode<Number> tmp319;
4437 : compiler::TNode<Object> tmp320;
4438 : compiler::TNode<Object> tmp321;
4439 : compiler::TNode<BuiltinPtr> tmp322;
4440 : compiler::TNode<Map> tmp323;
4441 : compiler::TNode<UintPtrT> tmp324;
4442 : compiler::TNode<IntPtrT> tmp325;
4443 : compiler::TNode<IntPtrT> tmp326;
4444 : compiler::TNode<BuiltinPtr> tmp327;
4445 : compiler::TNode<FixedArray> tmp328;
4446 : compiler::TNode<IntPtrT> tmp329;
4447 : compiler::TNode<IntPtrT> tmp330;
4448 : compiler::TNode<BoolT> tmp331;
4449 : compiler::TNode<UintPtrT> tmp332;
4450 : compiler::TNode<Object> tmp333;
4451 : compiler::TNode<String> tmp334;
4452 : compiler::TNode<Object> tmp335;
4453 : compiler::TNode<String> tmp336;
4454 : ca_.Bind(&block21, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
4455 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
4456 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
4457 : ca_.Goto(&block16, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp336, tmp335);
4458 : }
4459 :
4460 112 : if (block17.is_used()) {
4461 : compiler::TNode<Context> tmp337;
4462 : compiler::TNode<JSReceiver> tmp338;
4463 : compiler::TNode<String> tmp339;
4464 : compiler::TNode<Number> tmp340;
4465 : compiler::TNode<Object> tmp341;
4466 : compiler::TNode<Object> tmp342;
4467 : compiler::TNode<BuiltinPtr> tmp343;
4468 : compiler::TNode<Map> tmp344;
4469 : compiler::TNode<UintPtrT> tmp345;
4470 : compiler::TNode<IntPtrT> tmp346;
4471 : compiler::TNode<IntPtrT> tmp347;
4472 : compiler::TNode<BuiltinPtr> tmp348;
4473 : compiler::TNode<FixedArray> tmp349;
4474 : compiler::TNode<IntPtrT> tmp350;
4475 : compiler::TNode<IntPtrT> tmp351;
4476 : compiler::TNode<BoolT> tmp352;
4477 : compiler::TNode<UintPtrT> tmp353;
4478 : compiler::TNode<Object> tmp354;
4479 : compiler::TNode<String> tmp355;
4480 : compiler::TNode<Object> tmp356;
4481 : ca_.Bind(&block17, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355, &tmp356);
4482 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
4483 : compiler::TNode<Number> tmp357;
4484 : USE(tmp357);
4485 56 : compiler::CodeAssemblerLabel label0(&ca_);
4486 168 : tmp357 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp356)}, &label0);
4487 : 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);
4488 56 : if (label0.is_used()) {
4489 56 : ca_.Bind(&label0);
4490 : 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));
4491 : }
4492 : }
4493 :
4494 112 : if (block25.is_used()) {
4495 : compiler::TNode<Context> tmp358;
4496 : compiler::TNode<JSReceiver> tmp359;
4497 : compiler::TNode<String> tmp360;
4498 : compiler::TNode<Number> tmp361;
4499 : compiler::TNode<Object> tmp362;
4500 : compiler::TNode<Object> tmp363;
4501 : compiler::TNode<BuiltinPtr> tmp364;
4502 : compiler::TNode<Map> tmp365;
4503 : compiler::TNode<UintPtrT> tmp366;
4504 : compiler::TNode<IntPtrT> tmp367;
4505 : compiler::TNode<IntPtrT> tmp368;
4506 : compiler::TNode<BuiltinPtr> tmp369;
4507 : compiler::TNode<FixedArray> tmp370;
4508 : compiler::TNode<IntPtrT> tmp371;
4509 : compiler::TNode<IntPtrT> tmp372;
4510 : compiler::TNode<BoolT> tmp373;
4511 : compiler::TNode<UintPtrT> tmp374;
4512 : compiler::TNode<Object> tmp375;
4513 : compiler::TNode<String> tmp376;
4514 : compiler::TNode<Object> tmp377;
4515 : compiler::TNode<Object> tmp378;
4516 : ca_.Bind(&block25, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377, &tmp378);
4517 : ca_.Goto(&block23, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377);
4518 : }
4519 :
4520 112 : if (block24.is_used()) {
4521 : compiler::TNode<Context> tmp379;
4522 : compiler::TNode<JSReceiver> tmp380;
4523 : compiler::TNode<String> tmp381;
4524 : compiler::TNode<Number> tmp382;
4525 : compiler::TNode<Object> tmp383;
4526 : compiler::TNode<Object> tmp384;
4527 : compiler::TNode<BuiltinPtr> tmp385;
4528 : compiler::TNode<Map> tmp386;
4529 : compiler::TNode<UintPtrT> tmp387;
4530 : compiler::TNode<IntPtrT> tmp388;
4531 : compiler::TNode<IntPtrT> tmp389;
4532 : compiler::TNode<BuiltinPtr> tmp390;
4533 : compiler::TNode<FixedArray> tmp391;
4534 : compiler::TNode<IntPtrT> tmp392;
4535 : compiler::TNode<IntPtrT> tmp393;
4536 : compiler::TNode<BoolT> tmp394;
4537 : compiler::TNode<UintPtrT> tmp395;
4538 : compiler::TNode<Object> tmp396;
4539 : compiler::TNode<String> tmp397;
4540 : compiler::TNode<Object> tmp398;
4541 : compiler::TNode<Object> tmp399;
4542 : compiler::TNode<Number> tmp400;
4543 : 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);
4544 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
4545 : compiler::TNode<String> tmp401;
4546 : USE(tmp401);
4547 112 : tmp401 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp400}));
4548 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
4549 : ca_.Goto(&block22, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp396, tmp401, tmp398);
4550 : }
4551 :
4552 112 : if (block23.is_used()) {
4553 : compiler::TNode<Context> tmp402;
4554 : compiler::TNode<JSReceiver> tmp403;
4555 : compiler::TNode<String> tmp404;
4556 : compiler::TNode<Number> tmp405;
4557 : compiler::TNode<Object> tmp406;
4558 : compiler::TNode<Object> tmp407;
4559 : compiler::TNode<BuiltinPtr> tmp408;
4560 : compiler::TNode<Map> tmp409;
4561 : compiler::TNode<UintPtrT> tmp410;
4562 : compiler::TNode<IntPtrT> tmp411;
4563 : compiler::TNode<IntPtrT> tmp412;
4564 : compiler::TNode<BuiltinPtr> tmp413;
4565 : compiler::TNode<FixedArray> tmp414;
4566 : compiler::TNode<IntPtrT> tmp415;
4567 : compiler::TNode<IntPtrT> tmp416;
4568 : compiler::TNode<BoolT> tmp417;
4569 : compiler::TNode<UintPtrT> tmp418;
4570 : compiler::TNode<Object> tmp419;
4571 : compiler::TNode<String> tmp420;
4572 : compiler::TNode<Object> tmp421;
4573 : ca_.Bind(&block23, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420, &tmp421);
4574 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 307);
4575 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 308);
4576 : compiler::TNode<BoolT> tmp422;
4577 : USE(tmp422);
4578 112 : tmp422 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp421)}));
4579 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));
4580 : }
4581 :
4582 112 : if (block26.is_used()) {
4583 : compiler::TNode<Context> tmp423;
4584 : compiler::TNode<JSReceiver> tmp424;
4585 : compiler::TNode<String> tmp425;
4586 : compiler::TNode<Number> tmp426;
4587 : compiler::TNode<Object> tmp427;
4588 : compiler::TNode<Object> tmp428;
4589 : compiler::TNode<BuiltinPtr> tmp429;
4590 : compiler::TNode<Map> tmp430;
4591 : compiler::TNode<UintPtrT> tmp431;
4592 : compiler::TNode<IntPtrT> tmp432;
4593 : compiler::TNode<IntPtrT> tmp433;
4594 : compiler::TNode<BuiltinPtr> tmp434;
4595 : compiler::TNode<FixedArray> tmp435;
4596 : compiler::TNode<IntPtrT> tmp436;
4597 : compiler::TNode<IntPtrT> tmp437;
4598 : compiler::TNode<BoolT> tmp438;
4599 : compiler::TNode<UintPtrT> tmp439;
4600 : compiler::TNode<Object> tmp440;
4601 : compiler::TNode<String> tmp441;
4602 : compiler::TNode<Object> tmp442;
4603 : compiler::TNode<HeapObject> tmp443;
4604 : ca_.Bind(&block26, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442, &tmp443);
4605 : ca_.Goto(&block4, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp439);
4606 : }
4607 :
4608 112 : if (block27.is_used()) {
4609 : compiler::TNode<Context> tmp444;
4610 : compiler::TNode<JSReceiver> tmp445;
4611 : compiler::TNode<String> tmp446;
4612 : compiler::TNode<Number> tmp447;
4613 : compiler::TNode<Object> tmp448;
4614 : compiler::TNode<Object> tmp449;
4615 : compiler::TNode<BuiltinPtr> tmp450;
4616 : compiler::TNode<Map> tmp451;
4617 : compiler::TNode<UintPtrT> tmp452;
4618 : compiler::TNode<IntPtrT> tmp453;
4619 : compiler::TNode<IntPtrT> tmp454;
4620 : compiler::TNode<BuiltinPtr> tmp455;
4621 : compiler::TNode<FixedArray> tmp456;
4622 : compiler::TNode<IntPtrT> tmp457;
4623 : compiler::TNode<IntPtrT> tmp458;
4624 : compiler::TNode<BoolT> tmp459;
4625 : compiler::TNode<UintPtrT> tmp460;
4626 : compiler::TNode<Object> tmp461;
4627 : compiler::TNode<String> tmp462;
4628 : compiler::TNode<Object> tmp463;
4629 : compiler::TNode<HeapObject> tmp464;
4630 : ca_.Bind(&block27, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463, &tmp464);
4631 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 309);
4632 : compiler::TNode<String> tmp465;
4633 112 : tmp465 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp444, tmp464));
4634 : USE(tmp465);
4635 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
4636 : ca_.Goto(&block22, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, tmp465, tmp463);
4637 : }
4638 :
4639 112 : if (block22.is_used()) {
4640 : compiler::TNode<Context> tmp466;
4641 : compiler::TNode<JSReceiver> tmp467;
4642 : compiler::TNode<String> tmp468;
4643 : compiler::TNode<Number> tmp469;
4644 : compiler::TNode<Object> tmp470;
4645 : compiler::TNode<Object> tmp471;
4646 : compiler::TNode<BuiltinPtr> tmp472;
4647 : compiler::TNode<Map> tmp473;
4648 : compiler::TNode<UintPtrT> tmp474;
4649 : compiler::TNode<IntPtrT> tmp475;
4650 : compiler::TNode<IntPtrT> tmp476;
4651 : compiler::TNode<BuiltinPtr> tmp477;
4652 : compiler::TNode<FixedArray> tmp478;
4653 : compiler::TNode<IntPtrT> tmp479;
4654 : compiler::TNode<IntPtrT> tmp480;
4655 : compiler::TNode<BoolT> tmp481;
4656 : compiler::TNode<UintPtrT> tmp482;
4657 : compiler::TNode<Object> tmp483;
4658 : compiler::TNode<String> tmp484;
4659 : compiler::TNode<Object> tmp485;
4660 : ca_.Bind(&block22, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483, &tmp484, &tmp485);
4661 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
4662 : ca_.Goto(&block16, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484, tmp485);
4663 : }
4664 :
4665 112 : if (block16.is_used()) {
4666 : compiler::TNode<Context> tmp486;
4667 : compiler::TNode<JSReceiver> tmp487;
4668 : compiler::TNode<String> tmp488;
4669 : compiler::TNode<Number> tmp489;
4670 : compiler::TNode<Object> tmp490;
4671 : compiler::TNode<Object> tmp491;
4672 : compiler::TNode<BuiltinPtr> tmp492;
4673 : compiler::TNode<Map> tmp493;
4674 : compiler::TNode<UintPtrT> tmp494;
4675 : compiler::TNode<IntPtrT> tmp495;
4676 : compiler::TNode<IntPtrT> tmp496;
4677 : compiler::TNode<BuiltinPtr> tmp497;
4678 : compiler::TNode<FixedArray> tmp498;
4679 : compiler::TNode<IntPtrT> tmp499;
4680 : compiler::TNode<IntPtrT> tmp500;
4681 : compiler::TNode<BoolT> tmp501;
4682 : compiler::TNode<UintPtrT> tmp502;
4683 : compiler::TNode<Object> tmp503;
4684 : compiler::TNode<String> tmp504;
4685 : compiler::TNode<Object> tmp505;
4686 : ca_.Bind(&block16, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504, &tmp505);
4687 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
4688 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
4689 : ca_.Goto(&block13, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503, tmp504);
4690 : }
4691 :
4692 112 : if (block13.is_used()) {
4693 : compiler::TNode<Context> tmp506;
4694 : compiler::TNode<JSReceiver> tmp507;
4695 : compiler::TNode<String> tmp508;
4696 : compiler::TNode<Number> tmp509;
4697 : compiler::TNode<Object> tmp510;
4698 : compiler::TNode<Object> tmp511;
4699 : compiler::TNode<BuiltinPtr> tmp512;
4700 : compiler::TNode<Map> tmp513;
4701 : compiler::TNode<UintPtrT> tmp514;
4702 : compiler::TNode<IntPtrT> tmp515;
4703 : compiler::TNode<IntPtrT> tmp516;
4704 : compiler::TNode<BuiltinPtr> tmp517;
4705 : compiler::TNode<FixedArray> tmp518;
4706 : compiler::TNode<IntPtrT> tmp519;
4707 : compiler::TNode<IntPtrT> tmp520;
4708 : compiler::TNode<BoolT> tmp521;
4709 : compiler::TNode<UintPtrT> tmp522;
4710 : compiler::TNode<Object> tmp523;
4711 : compiler::TNode<String> tmp524;
4712 : ca_.Bind(&block13, &tmp506, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523, &tmp524);
4713 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
4714 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
4715 : compiler::TNode<IntPtrT> tmp525;
4716 : USE(tmp525);
4717 336 : tmp525 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
4718 : compiler::TNode<BoolT> tmp526;
4719 : USE(tmp526);
4720 336 : tmp526 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp519}, compiler::TNode<IntPtrT>{tmp525}));
4721 : compiler::TNode<IntPtrT> tmp527;
4722 : USE(tmp527);
4723 336 : tmp527 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
4724 : compiler::TNode<BoolT> tmp528;
4725 : USE(tmp528);
4726 336 : tmp528 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp527}));
4727 : compiler::TNode<BoolT> tmp529;
4728 : USE(tmp529);
4729 224 : tmp529 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp526}, compiler::TNode<BoolT>{tmp528}));
4730 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
4731 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
4732 : compiler::TNode<IntPtrT> tmp530;
4733 : USE(tmp530);
4734 336 : tmp530 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
4735 : compiler::TNode<BoolT> tmp531;
4736 : USE(tmp531);
4737 336 : tmp531 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp530}));
4738 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);
4739 : }
4740 :
4741 112 : if (block32.is_used()) {
4742 : compiler::TNode<Context> tmp532;
4743 : compiler::TNode<JSReceiver> tmp533;
4744 : compiler::TNode<String> tmp534;
4745 : compiler::TNode<Number> tmp535;
4746 : compiler::TNode<Object> tmp536;
4747 : compiler::TNode<Object> tmp537;
4748 : compiler::TNode<BuiltinPtr> tmp538;
4749 : compiler::TNode<Map> tmp539;
4750 : compiler::TNode<UintPtrT> tmp540;
4751 : compiler::TNode<IntPtrT> tmp541;
4752 : compiler::TNode<IntPtrT> tmp542;
4753 : compiler::TNode<BuiltinPtr> tmp543;
4754 : compiler::TNode<FixedArray> tmp544;
4755 : compiler::TNode<IntPtrT> tmp545;
4756 : compiler::TNode<IntPtrT> tmp546;
4757 : compiler::TNode<BoolT> tmp547;
4758 : compiler::TNode<UintPtrT> tmp548;
4759 : compiler::TNode<Object> tmp549;
4760 : compiler::TNode<String> tmp550;
4761 : compiler::TNode<String> tmp551;
4762 : compiler::TNode<IntPtrT> tmp552;
4763 : compiler::TNode<IntPtrT> tmp553;
4764 : compiler::TNode<Context> tmp554;
4765 : compiler::TNode<String> tmp555;
4766 : compiler::TNode<IntPtrT> tmp556;
4767 : compiler::TNode<IntPtrT> tmp557;
4768 : compiler::TNode<BoolT> tmp558;
4769 : compiler::TNode<IntPtrT> tmp559;
4770 : compiler::TNode<IntPtrT> tmp560;
4771 : compiler::TNode<BoolT> tmp561;
4772 : compiler::TNode<Context> tmp562;
4773 : compiler::TNode<IntPtrT> tmp563;
4774 : compiler::TNode<IntPtrT> tmp564;
4775 : compiler::TNode<BoolT> tmp565;
4776 : 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);
4777 : compiler::TNode<IntPtrT> tmp566;
4778 : USE(tmp566);
4779 336 : tmp566 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
4780 : compiler::TNode<BoolT> tmp567;
4781 : USE(tmp567);
4782 336 : tmp567 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp564}, compiler::TNode<IntPtrT>{tmp566}));
4783 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);
4784 : }
4785 :
4786 112 : if (block30.is_used()) {
4787 : compiler::TNode<Context> tmp568;
4788 : compiler::TNode<JSReceiver> tmp569;
4789 : compiler::TNode<String> tmp570;
4790 : compiler::TNode<Number> tmp571;
4791 : compiler::TNode<Object> tmp572;
4792 : compiler::TNode<Object> tmp573;
4793 : compiler::TNode<BuiltinPtr> tmp574;
4794 : compiler::TNode<Map> tmp575;
4795 : compiler::TNode<UintPtrT> tmp576;
4796 : compiler::TNode<IntPtrT> tmp577;
4797 : compiler::TNode<IntPtrT> tmp578;
4798 : compiler::TNode<BuiltinPtr> tmp579;
4799 : compiler::TNode<FixedArray> tmp580;
4800 : compiler::TNode<IntPtrT> tmp581;
4801 : compiler::TNode<IntPtrT> tmp582;
4802 : compiler::TNode<BoolT> tmp583;
4803 : compiler::TNode<UintPtrT> tmp584;
4804 : compiler::TNode<Object> tmp585;
4805 : compiler::TNode<String> tmp586;
4806 : compiler::TNode<String> tmp587;
4807 : compiler::TNode<IntPtrT> tmp588;
4808 : compiler::TNode<IntPtrT> tmp589;
4809 : compiler::TNode<Context> tmp590;
4810 : compiler::TNode<String> tmp591;
4811 : compiler::TNode<IntPtrT> tmp592;
4812 : compiler::TNode<IntPtrT> tmp593;
4813 : compiler::TNode<BoolT> tmp594;
4814 : compiler::TNode<IntPtrT> tmp595;
4815 : compiler::TNode<IntPtrT> tmp596;
4816 : compiler::TNode<BoolT> tmp597;
4817 : compiler::TNode<Context> tmp598;
4818 : compiler::TNode<IntPtrT> tmp599;
4819 : compiler::TNode<IntPtrT> tmp600;
4820 : compiler::TNode<BoolT> tmp601;
4821 : 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);
4822 : 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);
4823 : }
4824 :
4825 112 : if (block31.is_used()) {
4826 : compiler::TNode<Context> tmp602;
4827 : compiler::TNode<JSReceiver> tmp603;
4828 : compiler::TNode<String> tmp604;
4829 : compiler::TNode<Number> tmp605;
4830 : compiler::TNode<Object> tmp606;
4831 : compiler::TNode<Object> tmp607;
4832 : compiler::TNode<BuiltinPtr> tmp608;
4833 : compiler::TNode<Map> tmp609;
4834 : compiler::TNode<UintPtrT> tmp610;
4835 : compiler::TNode<IntPtrT> tmp611;
4836 : compiler::TNode<IntPtrT> tmp612;
4837 : compiler::TNode<BuiltinPtr> tmp613;
4838 : compiler::TNode<FixedArray> tmp614;
4839 : compiler::TNode<IntPtrT> tmp615;
4840 : compiler::TNode<IntPtrT> tmp616;
4841 : compiler::TNode<BoolT> tmp617;
4842 : compiler::TNode<UintPtrT> tmp618;
4843 : compiler::TNode<Object> tmp619;
4844 : compiler::TNode<String> tmp620;
4845 : compiler::TNode<String> tmp621;
4846 : compiler::TNode<IntPtrT> tmp622;
4847 : compiler::TNode<IntPtrT> tmp623;
4848 : compiler::TNode<Context> tmp624;
4849 : compiler::TNode<String> tmp625;
4850 : compiler::TNode<IntPtrT> tmp626;
4851 : compiler::TNode<IntPtrT> tmp627;
4852 : compiler::TNode<BoolT> tmp628;
4853 : compiler::TNode<IntPtrT> tmp629;
4854 : compiler::TNode<IntPtrT> tmp630;
4855 : compiler::TNode<BoolT> tmp631;
4856 : compiler::TNode<Context> tmp632;
4857 : compiler::TNode<IntPtrT> tmp633;
4858 : compiler::TNode<IntPtrT> tmp634;
4859 : compiler::TNode<BoolT> tmp635;
4860 : 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);
4861 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
4862 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
4863 : compiler::TNode<IntPtrT> tmp636;
4864 : USE(tmp636);
4865 224 : tmp636 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp634}, compiler::TNode<IntPtrT>{tmp633}));
4866 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
4867 : compiler::TNode<IntPtrT> tmp637;
4868 : USE(tmp637);
4869 224 : tmp637 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp636}, compiler::TNode<IntPtrT>{tmp634}));
4870 : compiler::TNode<BoolT> tmp638;
4871 : USE(tmp638);
4872 336 : tmp638 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp637}, compiler::TNode<IntPtrT>{tmp633}));
4873 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);
4874 : }
4875 :
4876 112 : if (block33.is_used()) {
4877 : compiler::TNode<Context> tmp639;
4878 : compiler::TNode<JSReceiver> tmp640;
4879 : compiler::TNode<String> tmp641;
4880 : compiler::TNode<Number> tmp642;
4881 : compiler::TNode<Object> tmp643;
4882 : compiler::TNode<Object> tmp644;
4883 : compiler::TNode<BuiltinPtr> tmp645;
4884 : compiler::TNode<Map> tmp646;
4885 : compiler::TNode<UintPtrT> tmp647;
4886 : compiler::TNode<IntPtrT> tmp648;
4887 : compiler::TNode<IntPtrT> tmp649;
4888 : compiler::TNode<BuiltinPtr> tmp650;
4889 : compiler::TNode<FixedArray> tmp651;
4890 : compiler::TNode<IntPtrT> tmp652;
4891 : compiler::TNode<IntPtrT> tmp653;
4892 : compiler::TNode<BoolT> tmp654;
4893 : compiler::TNode<UintPtrT> tmp655;
4894 : compiler::TNode<Object> tmp656;
4895 : compiler::TNode<String> tmp657;
4896 : compiler::TNode<String> tmp658;
4897 : compiler::TNode<IntPtrT> tmp659;
4898 : compiler::TNode<IntPtrT> tmp660;
4899 : compiler::TNode<Context> tmp661;
4900 : compiler::TNode<String> tmp662;
4901 : compiler::TNode<IntPtrT> tmp663;
4902 : compiler::TNode<IntPtrT> tmp664;
4903 : compiler::TNode<BoolT> tmp665;
4904 : compiler::TNode<IntPtrT> tmp666;
4905 : compiler::TNode<IntPtrT> tmp667;
4906 : compiler::TNode<BoolT> tmp668;
4907 : compiler::TNode<Context> tmp669;
4908 : compiler::TNode<IntPtrT> tmp670;
4909 : compiler::TNode<IntPtrT> tmp671;
4910 : compiler::TNode<BoolT> tmp672;
4911 : compiler::TNode<IntPtrT> tmp673;
4912 : compiler::TNode<IntPtrT> tmp674;
4913 : 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);
4914 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
4915 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp669);
4916 224 : CodeStubAssembler(state_).Unreachable();
4917 : }
4918 :
4919 112 : if (block34.is_used()) {
4920 : compiler::TNode<Context> tmp676;
4921 : compiler::TNode<JSReceiver> tmp677;
4922 : compiler::TNode<String> tmp678;
4923 : compiler::TNode<Number> tmp679;
4924 : compiler::TNode<Object> tmp680;
4925 : compiler::TNode<Object> tmp681;
4926 : compiler::TNode<BuiltinPtr> tmp682;
4927 : compiler::TNode<Map> tmp683;
4928 : compiler::TNode<UintPtrT> tmp684;
4929 : compiler::TNode<IntPtrT> tmp685;
4930 : compiler::TNode<IntPtrT> tmp686;
4931 : compiler::TNode<BuiltinPtr> tmp687;
4932 : compiler::TNode<FixedArray> tmp688;
4933 : compiler::TNode<IntPtrT> tmp689;
4934 : compiler::TNode<IntPtrT> tmp690;
4935 : compiler::TNode<BoolT> tmp691;
4936 : compiler::TNode<UintPtrT> tmp692;
4937 : compiler::TNode<Object> tmp693;
4938 : compiler::TNode<String> tmp694;
4939 : compiler::TNode<String> tmp695;
4940 : compiler::TNode<IntPtrT> tmp696;
4941 : compiler::TNode<IntPtrT> tmp697;
4942 : compiler::TNode<Context> tmp698;
4943 : compiler::TNode<String> tmp699;
4944 : compiler::TNode<IntPtrT> tmp700;
4945 : compiler::TNode<IntPtrT> tmp701;
4946 : compiler::TNode<BoolT> tmp702;
4947 : compiler::TNode<IntPtrT> tmp703;
4948 : compiler::TNode<IntPtrT> tmp704;
4949 : compiler::TNode<BoolT> tmp705;
4950 : compiler::TNode<Context> tmp706;
4951 : compiler::TNode<IntPtrT> tmp707;
4952 : compiler::TNode<IntPtrT> tmp708;
4953 : compiler::TNode<BoolT> tmp709;
4954 : compiler::TNode<IntPtrT> tmp710;
4955 : compiler::TNode<IntPtrT> tmp711;
4956 : 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);
4957 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
4958 : compiler::TNode<IntPtrT> tmp712;
4959 : USE(tmp712);
4960 336 : tmp712 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp706}, compiler::TNode<IntPtrT>{tmp690}, compiler::TNode<IntPtrT>{tmp711}));
4961 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
4962 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);
4963 : }
4964 :
4965 112 : if (block35.is_used()) {
4966 : compiler::TNode<Context> tmp713;
4967 : compiler::TNode<JSReceiver> tmp714;
4968 : compiler::TNode<String> tmp715;
4969 : compiler::TNode<Number> tmp716;
4970 : compiler::TNode<Object> tmp717;
4971 : compiler::TNode<Object> tmp718;
4972 : compiler::TNode<BuiltinPtr> tmp719;
4973 : compiler::TNode<Map> tmp720;
4974 : compiler::TNode<UintPtrT> tmp721;
4975 : compiler::TNode<IntPtrT> tmp722;
4976 : compiler::TNode<IntPtrT> tmp723;
4977 : compiler::TNode<BuiltinPtr> tmp724;
4978 : compiler::TNode<FixedArray> tmp725;
4979 : compiler::TNode<IntPtrT> tmp726;
4980 : compiler::TNode<IntPtrT> tmp727;
4981 : compiler::TNode<BoolT> tmp728;
4982 : compiler::TNode<UintPtrT> tmp729;
4983 : compiler::TNode<Object> tmp730;
4984 : compiler::TNode<String> tmp731;
4985 : compiler::TNode<String> tmp732;
4986 : compiler::TNode<IntPtrT> tmp733;
4987 : compiler::TNode<IntPtrT> tmp734;
4988 : compiler::TNode<Context> tmp735;
4989 : compiler::TNode<String> tmp736;
4990 : compiler::TNode<IntPtrT> tmp737;
4991 : compiler::TNode<IntPtrT> tmp738;
4992 : compiler::TNode<BoolT> tmp739;
4993 : compiler::TNode<IntPtrT> tmp740;
4994 : compiler::TNode<IntPtrT> tmp741;
4995 : compiler::TNode<BoolT> tmp742;
4996 : compiler::TNode<Context> tmp743;
4997 : compiler::TNode<IntPtrT> tmp744;
4998 : compiler::TNode<IntPtrT> tmp745;
4999 : compiler::TNode<BoolT> tmp746;
5000 : compiler::TNode<IntPtrT> tmp747;
5001 : compiler::TNode<IntPtrT> tmp748;
5002 : 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);
5003 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
5004 : compiler::TNode<IntPtrT> tmp749;
5005 : USE(tmp749);
5006 336 : tmp749 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
5007 : compiler::TNode<IntPtrT> tmp750;
5008 : USE(tmp750);
5009 224 : tmp750 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<IntPtrT>{tmp749}));
5010 : compiler::TNode<Smi> tmp751;
5011 : USE(tmp751);
5012 336 : tmp751 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp747}));
5013 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
5014 : compiler::TNode<FixedArray> tmp752;
5015 : USE(tmp752);
5016 336 : tmp752 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp725}, compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<Smi>{tmp751}));
5017 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
5018 : 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);
5019 : }
5020 :
5021 112 : if (block36.is_used()) {
5022 : compiler::TNode<Context> tmp753;
5023 : compiler::TNode<JSReceiver> tmp754;
5024 : compiler::TNode<String> tmp755;
5025 : compiler::TNode<Number> tmp756;
5026 : compiler::TNode<Object> tmp757;
5027 : compiler::TNode<Object> tmp758;
5028 : compiler::TNode<BuiltinPtr> tmp759;
5029 : compiler::TNode<Map> tmp760;
5030 : compiler::TNode<UintPtrT> tmp761;
5031 : compiler::TNode<IntPtrT> tmp762;
5032 : compiler::TNode<IntPtrT> tmp763;
5033 : compiler::TNode<BuiltinPtr> tmp764;
5034 : compiler::TNode<FixedArray> tmp765;
5035 : compiler::TNode<IntPtrT> tmp766;
5036 : compiler::TNode<IntPtrT> tmp767;
5037 : compiler::TNode<BoolT> tmp768;
5038 : compiler::TNode<UintPtrT> tmp769;
5039 : compiler::TNode<Object> tmp770;
5040 : compiler::TNode<String> tmp771;
5041 : compiler::TNode<String> tmp772;
5042 : compiler::TNode<IntPtrT> tmp773;
5043 : compiler::TNode<IntPtrT> tmp774;
5044 : compiler::TNode<Context> tmp775;
5045 : compiler::TNode<String> tmp776;
5046 : compiler::TNode<IntPtrT> tmp777;
5047 : compiler::TNode<IntPtrT> tmp778;
5048 : compiler::TNode<BoolT> tmp779;
5049 : compiler::TNode<IntPtrT> tmp780;
5050 : compiler::TNode<IntPtrT> tmp781;
5051 : compiler::TNode<BoolT> tmp782;
5052 : compiler::TNode<Context> tmp783;
5053 : compiler::TNode<IntPtrT> tmp784;
5054 : compiler::TNode<IntPtrT> tmp785;
5055 : compiler::TNode<BoolT> tmp786;
5056 : compiler::TNode<IntPtrT> tmp787;
5057 : compiler::TNode<IntPtrT> tmp788;
5058 : 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);
5059 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
5060 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
5061 : 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);
5062 : }
5063 :
5064 112 : if (block29.is_used()) {
5065 : compiler::TNode<Context> tmp789;
5066 : compiler::TNode<JSReceiver> tmp790;
5067 : compiler::TNode<String> tmp791;
5068 : compiler::TNode<Number> tmp792;
5069 : compiler::TNode<Object> tmp793;
5070 : compiler::TNode<Object> tmp794;
5071 : compiler::TNode<BuiltinPtr> tmp795;
5072 : compiler::TNode<Map> tmp796;
5073 : compiler::TNode<UintPtrT> tmp797;
5074 : compiler::TNode<IntPtrT> tmp798;
5075 : compiler::TNode<IntPtrT> tmp799;
5076 : compiler::TNode<BuiltinPtr> tmp800;
5077 : compiler::TNode<FixedArray> tmp801;
5078 : compiler::TNode<IntPtrT> tmp802;
5079 : compiler::TNode<IntPtrT> tmp803;
5080 : compiler::TNode<BoolT> tmp804;
5081 : compiler::TNode<UintPtrT> tmp805;
5082 : compiler::TNode<Object> tmp806;
5083 : compiler::TNode<String> tmp807;
5084 : compiler::TNode<String> tmp808;
5085 : compiler::TNode<IntPtrT> tmp809;
5086 : compiler::TNode<IntPtrT> tmp810;
5087 : compiler::TNode<Context> tmp811;
5088 : compiler::TNode<String> tmp812;
5089 : compiler::TNode<IntPtrT> tmp813;
5090 : compiler::TNode<IntPtrT> tmp814;
5091 : compiler::TNode<BoolT> tmp815;
5092 : compiler::TNode<IntPtrT> tmp816;
5093 : compiler::TNode<IntPtrT> tmp817;
5094 : compiler::TNode<BoolT> tmp818;
5095 : compiler::TNode<Context> tmp819;
5096 : compiler::TNode<IntPtrT> tmp820;
5097 : compiler::TNode<IntPtrT> tmp821;
5098 : compiler::TNode<BoolT> tmp822;
5099 : 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);
5100 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
5101 : compiler::TNode<IntPtrT> tmp823;
5102 : USE(tmp823);
5103 336 : tmp823 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp812}));
5104 : compiler::TNode<IntPtrT> tmp824;
5105 : USE(tmp824);
5106 336 : tmp824 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp811}, compiler::TNode<IntPtrT>{tmp803}, compiler::TNode<IntPtrT>{tmp823}));
5107 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
5108 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 164);
5109 : compiler::TNode<IntPtrT> tmp825;
5110 : USE(tmp825);
5111 336 : tmp825 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
5112 : compiler::TNode<IntPtrT> tmp826;
5113 : USE(tmp826);
5114 224 : tmp826 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<IntPtrT>{tmp825}));
5115 : compiler::TNode<FixedArray> tmp827;
5116 : USE(tmp827);
5117 336 : tmp827 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray6String(compiler::TNode<FixedArray>{tmp801}, compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<String>{tmp812}));
5118 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
5119 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 166);
5120 : compiler::TNode<Int32T> tmp828;
5121 : USE(tmp828);
5122 224 : tmp828 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp812}));
5123 : compiler::TNode<BoolT> tmp829;
5124 : USE(tmp829);
5125 224 : tmp829 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp828}));
5126 : compiler::TNode<BoolT> tmp830;
5127 : USE(tmp830);
5128 336 : tmp830 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp829}, compiler::TNode<BoolT>{tmp804}));
5129 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 165);
5130 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
5131 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
5132 : 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);
5133 : }
5134 :
5135 112 : if (block28.is_used()) {
5136 : compiler::TNode<Context> tmp831;
5137 : compiler::TNode<JSReceiver> tmp832;
5138 : compiler::TNode<String> tmp833;
5139 : compiler::TNode<Number> tmp834;
5140 : compiler::TNode<Object> tmp835;
5141 : compiler::TNode<Object> tmp836;
5142 : compiler::TNode<BuiltinPtr> tmp837;
5143 : compiler::TNode<Map> tmp838;
5144 : compiler::TNode<UintPtrT> tmp839;
5145 : compiler::TNode<IntPtrT> tmp840;
5146 : compiler::TNode<IntPtrT> tmp841;
5147 : compiler::TNode<BuiltinPtr> tmp842;
5148 : compiler::TNode<FixedArray> tmp843;
5149 : compiler::TNode<IntPtrT> tmp844;
5150 : compiler::TNode<IntPtrT> tmp845;
5151 : compiler::TNode<BoolT> tmp846;
5152 : compiler::TNode<UintPtrT> tmp847;
5153 : compiler::TNode<Object> tmp848;
5154 : compiler::TNode<String> tmp849;
5155 : compiler::TNode<String> tmp850;
5156 : compiler::TNode<IntPtrT> tmp851;
5157 : compiler::TNode<IntPtrT> tmp852;
5158 : compiler::TNode<Context> tmp853;
5159 : compiler::TNode<String> tmp854;
5160 : compiler::TNode<IntPtrT> tmp855;
5161 : compiler::TNode<IntPtrT> tmp856;
5162 : 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);
5163 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 316);
5164 : compiler::TNode<IntPtrT> tmp857;
5165 : USE(tmp857);
5166 336 : tmp857 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
5167 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
5168 : ca_.Goto(&block4, tmp831, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp840, tmp857, tmp842, tmp843, tmp844, tmp845, tmp846, tmp847);
5169 : }
5170 :
5171 112 : if (block3.is_used()) {
5172 : compiler::TNode<Context> tmp858;
5173 : compiler::TNode<JSReceiver> tmp859;
5174 : compiler::TNode<String> tmp860;
5175 : compiler::TNode<Number> tmp861;
5176 : compiler::TNode<Object> tmp862;
5177 : compiler::TNode<Object> tmp863;
5178 : compiler::TNode<BuiltinPtr> tmp864;
5179 : compiler::TNode<Map> tmp865;
5180 : compiler::TNode<UintPtrT> tmp866;
5181 : compiler::TNode<IntPtrT> tmp867;
5182 : compiler::TNode<IntPtrT> tmp868;
5183 : compiler::TNode<BuiltinPtr> tmp869;
5184 : compiler::TNode<FixedArray> tmp870;
5185 : compiler::TNode<IntPtrT> tmp871;
5186 : compiler::TNode<IntPtrT> tmp872;
5187 : compiler::TNode<BoolT> tmp873;
5188 : compiler::TNode<UintPtrT> tmp874;
5189 : ca_.Bind(&block3, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873, &tmp874);
5190 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
5191 : compiler::TNode<BoolT> tmp875;
5192 : USE(tmp875);
5193 336 : tmp875 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5194 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
5195 : compiler::TNode<IntPtrT> tmp876;
5196 : USE(tmp876);
5197 336 : tmp876 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
5198 : compiler::TNode<BoolT> tmp877;
5199 : USE(tmp877);
5200 336 : tmp877 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp868}, compiler::TNode<IntPtrT>{tmp876}));
5201 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);
5202 : }
5203 :
5204 112 : if (block40.is_used()) {
5205 : compiler::TNode<Context> tmp878;
5206 : compiler::TNode<JSReceiver> tmp879;
5207 : compiler::TNode<String> tmp880;
5208 : compiler::TNode<Number> tmp881;
5209 : compiler::TNode<Object> tmp882;
5210 : compiler::TNode<Object> tmp883;
5211 : compiler::TNode<BuiltinPtr> tmp884;
5212 : compiler::TNode<Map> tmp885;
5213 : compiler::TNode<UintPtrT> tmp886;
5214 : compiler::TNode<IntPtrT> tmp887;
5215 : compiler::TNode<IntPtrT> tmp888;
5216 : compiler::TNode<BuiltinPtr> tmp889;
5217 : compiler::TNode<FixedArray> tmp890;
5218 : compiler::TNode<IntPtrT> tmp891;
5219 : compiler::TNode<IntPtrT> tmp892;
5220 : compiler::TNode<BoolT> tmp893;
5221 : compiler::TNode<UintPtrT> tmp894;
5222 : compiler::TNode<IntPtrT> tmp895;
5223 : compiler::TNode<IntPtrT> tmp896;
5224 : compiler::TNode<Context> tmp897;
5225 : compiler::TNode<IntPtrT> tmp898;
5226 : compiler::TNode<IntPtrT> tmp899;
5227 : compiler::TNode<BoolT> tmp900;
5228 : 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);
5229 : compiler::TNode<IntPtrT> tmp901;
5230 : USE(tmp901);
5231 336 : tmp901 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
5232 : compiler::TNode<BoolT> tmp902;
5233 : USE(tmp902);
5234 336 : tmp902 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp899}, compiler::TNode<IntPtrT>{tmp901}));
5235 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);
5236 : }
5237 :
5238 112 : if (block38.is_used()) {
5239 : compiler::TNode<Context> tmp903;
5240 : compiler::TNode<JSReceiver> tmp904;
5241 : compiler::TNode<String> tmp905;
5242 : compiler::TNode<Number> tmp906;
5243 : compiler::TNode<Object> tmp907;
5244 : compiler::TNode<Object> tmp908;
5245 : compiler::TNode<BuiltinPtr> tmp909;
5246 : compiler::TNode<Map> tmp910;
5247 : compiler::TNode<UintPtrT> tmp911;
5248 : compiler::TNode<IntPtrT> tmp912;
5249 : compiler::TNode<IntPtrT> tmp913;
5250 : compiler::TNode<BuiltinPtr> tmp914;
5251 : compiler::TNode<FixedArray> tmp915;
5252 : compiler::TNode<IntPtrT> tmp916;
5253 : compiler::TNode<IntPtrT> tmp917;
5254 : compiler::TNode<BoolT> tmp918;
5255 : compiler::TNode<UintPtrT> tmp919;
5256 : compiler::TNode<IntPtrT> tmp920;
5257 : compiler::TNode<IntPtrT> tmp921;
5258 : compiler::TNode<Context> tmp922;
5259 : compiler::TNode<IntPtrT> tmp923;
5260 : compiler::TNode<IntPtrT> tmp924;
5261 : compiler::TNode<BoolT> tmp925;
5262 : 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);
5263 : 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);
5264 : }
5265 :
5266 112 : if (block39.is_used()) {
5267 : compiler::TNode<Context> tmp926;
5268 : compiler::TNode<JSReceiver> tmp927;
5269 : compiler::TNode<String> tmp928;
5270 : compiler::TNode<Number> tmp929;
5271 : compiler::TNode<Object> tmp930;
5272 : compiler::TNode<Object> tmp931;
5273 : compiler::TNode<BuiltinPtr> tmp932;
5274 : compiler::TNode<Map> tmp933;
5275 : compiler::TNode<UintPtrT> tmp934;
5276 : compiler::TNode<IntPtrT> tmp935;
5277 : compiler::TNode<IntPtrT> tmp936;
5278 : compiler::TNode<BuiltinPtr> tmp937;
5279 : compiler::TNode<FixedArray> tmp938;
5280 : compiler::TNode<IntPtrT> tmp939;
5281 : compiler::TNode<IntPtrT> tmp940;
5282 : compiler::TNode<BoolT> tmp941;
5283 : compiler::TNode<UintPtrT> tmp942;
5284 : compiler::TNode<IntPtrT> tmp943;
5285 : compiler::TNode<IntPtrT> tmp944;
5286 : compiler::TNode<Context> tmp945;
5287 : compiler::TNode<IntPtrT> tmp946;
5288 : compiler::TNode<IntPtrT> tmp947;
5289 : compiler::TNode<BoolT> tmp948;
5290 : 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);
5291 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
5292 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
5293 : compiler::TNode<IntPtrT> tmp949;
5294 : USE(tmp949);
5295 224 : tmp949 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp947}, compiler::TNode<IntPtrT>{tmp946}));
5296 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
5297 : compiler::TNode<IntPtrT> tmp950;
5298 : USE(tmp950);
5299 224 : tmp950 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp949}, compiler::TNode<IntPtrT>{tmp947}));
5300 : compiler::TNode<BoolT> tmp951;
5301 : USE(tmp951);
5302 336 : tmp951 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp950}, compiler::TNode<IntPtrT>{tmp946}));
5303 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);
5304 : }
5305 :
5306 112 : if (block41.is_used()) {
5307 : compiler::TNode<Context> tmp952;
5308 : compiler::TNode<JSReceiver> tmp953;
5309 : compiler::TNode<String> tmp954;
5310 : compiler::TNode<Number> tmp955;
5311 : compiler::TNode<Object> tmp956;
5312 : compiler::TNode<Object> tmp957;
5313 : compiler::TNode<BuiltinPtr> tmp958;
5314 : compiler::TNode<Map> tmp959;
5315 : compiler::TNode<UintPtrT> tmp960;
5316 : compiler::TNode<IntPtrT> tmp961;
5317 : compiler::TNode<IntPtrT> tmp962;
5318 : compiler::TNode<BuiltinPtr> tmp963;
5319 : compiler::TNode<FixedArray> tmp964;
5320 : compiler::TNode<IntPtrT> tmp965;
5321 : compiler::TNode<IntPtrT> tmp966;
5322 : compiler::TNode<BoolT> tmp967;
5323 : compiler::TNode<UintPtrT> tmp968;
5324 : compiler::TNode<IntPtrT> tmp969;
5325 : compiler::TNode<IntPtrT> tmp970;
5326 : compiler::TNode<Context> tmp971;
5327 : compiler::TNode<IntPtrT> tmp972;
5328 : compiler::TNode<IntPtrT> tmp973;
5329 : compiler::TNode<BoolT> tmp974;
5330 : compiler::TNode<IntPtrT> tmp975;
5331 : compiler::TNode<IntPtrT> tmp976;
5332 : 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);
5333 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
5334 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp971);
5335 224 : CodeStubAssembler(state_).Unreachable();
5336 : }
5337 :
5338 112 : if (block42.is_used()) {
5339 : compiler::TNode<Context> tmp978;
5340 : compiler::TNode<JSReceiver> tmp979;
5341 : compiler::TNode<String> tmp980;
5342 : compiler::TNode<Number> tmp981;
5343 : compiler::TNode<Object> tmp982;
5344 : compiler::TNode<Object> tmp983;
5345 : compiler::TNode<BuiltinPtr> tmp984;
5346 : compiler::TNode<Map> tmp985;
5347 : compiler::TNode<UintPtrT> tmp986;
5348 : compiler::TNode<IntPtrT> tmp987;
5349 : compiler::TNode<IntPtrT> tmp988;
5350 : compiler::TNode<BuiltinPtr> tmp989;
5351 : compiler::TNode<FixedArray> tmp990;
5352 : compiler::TNode<IntPtrT> tmp991;
5353 : compiler::TNode<IntPtrT> tmp992;
5354 : compiler::TNode<BoolT> tmp993;
5355 : compiler::TNode<UintPtrT> tmp994;
5356 : compiler::TNode<IntPtrT> tmp995;
5357 : compiler::TNode<IntPtrT> tmp996;
5358 : compiler::TNode<Context> tmp997;
5359 : compiler::TNode<IntPtrT> tmp998;
5360 : compiler::TNode<IntPtrT> tmp999;
5361 : compiler::TNode<BoolT> tmp1000;
5362 : compiler::TNode<IntPtrT> tmp1001;
5363 : compiler::TNode<IntPtrT> tmp1002;
5364 : 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);
5365 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
5366 : compiler::TNode<IntPtrT> tmp1003;
5367 : USE(tmp1003);
5368 336 : tmp1003 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp997}, compiler::TNode<IntPtrT>{tmp992}, compiler::TNode<IntPtrT>{tmp1002}));
5369 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
5370 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);
5371 : }
5372 :
5373 112 : if (block43.is_used()) {
5374 : compiler::TNode<Context> tmp1004;
5375 : compiler::TNode<JSReceiver> tmp1005;
5376 : compiler::TNode<String> tmp1006;
5377 : compiler::TNode<Number> tmp1007;
5378 : compiler::TNode<Object> tmp1008;
5379 : compiler::TNode<Object> tmp1009;
5380 : compiler::TNode<BuiltinPtr> tmp1010;
5381 : compiler::TNode<Map> tmp1011;
5382 : compiler::TNode<UintPtrT> tmp1012;
5383 : compiler::TNode<IntPtrT> tmp1013;
5384 : compiler::TNode<IntPtrT> tmp1014;
5385 : compiler::TNode<BuiltinPtr> tmp1015;
5386 : compiler::TNode<FixedArray> tmp1016;
5387 : compiler::TNode<IntPtrT> tmp1017;
5388 : compiler::TNode<IntPtrT> tmp1018;
5389 : compiler::TNode<BoolT> tmp1019;
5390 : compiler::TNode<UintPtrT> tmp1020;
5391 : compiler::TNode<IntPtrT> tmp1021;
5392 : compiler::TNode<IntPtrT> tmp1022;
5393 : compiler::TNode<Context> tmp1023;
5394 : compiler::TNode<IntPtrT> tmp1024;
5395 : compiler::TNode<IntPtrT> tmp1025;
5396 : compiler::TNode<BoolT> tmp1026;
5397 : compiler::TNode<IntPtrT> tmp1027;
5398 : compiler::TNode<IntPtrT> tmp1028;
5399 : 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);
5400 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
5401 : compiler::TNode<IntPtrT> tmp1029;
5402 : USE(tmp1029);
5403 336 : tmp1029 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
5404 : compiler::TNode<IntPtrT> tmp1030;
5405 : USE(tmp1030);
5406 224 : tmp1030 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<IntPtrT>{tmp1029}));
5407 : compiler::TNode<Smi> tmp1031;
5408 : USE(tmp1031);
5409 336 : tmp1031 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1027}));
5410 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
5411 : compiler::TNode<FixedArray> tmp1032;
5412 : USE(tmp1032);
5413 336 : tmp1032 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1016}, compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<Smi>{tmp1031}));
5414 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
5415 : 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);
5416 : }
5417 :
5418 112 : if (block44.is_used()) {
5419 : compiler::TNode<Context> tmp1033;
5420 : compiler::TNode<JSReceiver> tmp1034;
5421 : compiler::TNode<String> tmp1035;
5422 : compiler::TNode<Number> tmp1036;
5423 : compiler::TNode<Object> tmp1037;
5424 : compiler::TNode<Object> tmp1038;
5425 : compiler::TNode<BuiltinPtr> tmp1039;
5426 : compiler::TNode<Map> tmp1040;
5427 : compiler::TNode<UintPtrT> tmp1041;
5428 : compiler::TNode<IntPtrT> tmp1042;
5429 : compiler::TNode<IntPtrT> tmp1043;
5430 : compiler::TNode<BuiltinPtr> tmp1044;
5431 : compiler::TNode<FixedArray> tmp1045;
5432 : compiler::TNode<IntPtrT> tmp1046;
5433 : compiler::TNode<IntPtrT> tmp1047;
5434 : compiler::TNode<BoolT> tmp1048;
5435 : compiler::TNode<UintPtrT> tmp1049;
5436 : compiler::TNode<IntPtrT> tmp1050;
5437 : compiler::TNode<IntPtrT> tmp1051;
5438 : compiler::TNode<Context> tmp1052;
5439 : compiler::TNode<IntPtrT> tmp1053;
5440 : compiler::TNode<IntPtrT> tmp1054;
5441 : compiler::TNode<BoolT> tmp1055;
5442 : compiler::TNode<IntPtrT> tmp1056;
5443 : compiler::TNode<IntPtrT> tmp1057;
5444 : 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);
5445 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
5446 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
5447 : 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);
5448 : }
5449 :
5450 112 : if (block37.is_used()) {
5451 : compiler::TNode<Context> tmp1058;
5452 : compiler::TNode<JSReceiver> tmp1059;
5453 : compiler::TNode<String> tmp1060;
5454 : compiler::TNode<Number> tmp1061;
5455 : compiler::TNode<Object> tmp1062;
5456 : compiler::TNode<Object> tmp1063;
5457 : compiler::TNode<BuiltinPtr> tmp1064;
5458 : compiler::TNode<Map> tmp1065;
5459 : compiler::TNode<UintPtrT> tmp1066;
5460 : compiler::TNode<IntPtrT> tmp1067;
5461 : compiler::TNode<IntPtrT> tmp1068;
5462 : compiler::TNode<BuiltinPtr> tmp1069;
5463 : compiler::TNode<FixedArray> tmp1070;
5464 : compiler::TNode<IntPtrT> tmp1071;
5465 : compiler::TNode<IntPtrT> tmp1072;
5466 : compiler::TNode<BoolT> tmp1073;
5467 : compiler::TNode<UintPtrT> tmp1074;
5468 : compiler::TNode<IntPtrT> tmp1075;
5469 : compiler::TNode<IntPtrT> tmp1076;
5470 : compiler::TNode<Context> tmp1077;
5471 : compiler::TNode<IntPtrT> tmp1078;
5472 : compiler::TNode<IntPtrT> tmp1079;
5473 : compiler::TNode<BoolT> tmp1080;
5474 : 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);
5475 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
5476 : compiler::TNode<String> tmp1081;
5477 : USE(tmp1081);
5478 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}));
5479 : ca_.Goto(&block1, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1064, tmp1081);
5480 : }
5481 :
5482 112 : if (block1.is_used()) {
5483 : compiler::TNode<Context> tmp1082;
5484 : compiler::TNode<JSReceiver> tmp1083;
5485 : compiler::TNode<String> tmp1084;
5486 : compiler::TNode<Number> tmp1085;
5487 : compiler::TNode<Object> tmp1086;
5488 : compiler::TNode<Object> tmp1087;
5489 : compiler::TNode<BuiltinPtr> tmp1088;
5490 : compiler::TNode<String> tmp1089;
5491 : ca_.Bind(&block1, &tmp1082, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088, &tmp1089);
5492 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 262);
5493 : ca_.Goto(&block45, tmp1082, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088, tmp1089);
5494 : }
5495 :
5496 : compiler::TNode<Context> tmp1090;
5497 : compiler::TNode<JSReceiver> tmp1091;
5498 : compiler::TNode<String> tmp1092;
5499 : compiler::TNode<Number> tmp1093;
5500 : compiler::TNode<Object> tmp1094;
5501 : compiler::TNode<Object> tmp1095;
5502 : compiler::TNode<BuiltinPtr> tmp1096;
5503 : compiler::TNode<String> tmp1097;
5504 : ca_.Bind(&block45, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096, &tmp1097);
5505 224 : return compiler::TNode<String>{tmp1097};
5506 : }
5507 :
5508 224 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt32Array, CodeStubAssembler) {
5509 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5510 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5511 : USE(parameter0);
5512 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5513 : USE(parameter1);
5514 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5515 : USE(parameter2);
5516 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5517 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5518 :
5519 56 : if (block0.is_used()) {
5520 : compiler::TNode<Context> tmp0;
5521 : compiler::TNode<JSReceiver> tmp1;
5522 : compiler::TNode<Number> tmp2;
5523 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5524 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5525 : compiler::TNode<JSTypedArray> tmp3;
5526 : USE(tmp3);
5527 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5528 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5529 : compiler::TNode<RawPtrT> tmp4;
5530 : USE(tmp4);
5531 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5532 : compiler::TNode<Smi> tmp5;
5533 : USE(tmp5);
5534 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5535 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5536 : compiler::TNode<Object> tmp6;
5537 : USE(tmp6);
5538 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt32Array()), CodeStubAssembler::SMI_PARAMETERS));
5539 112 : CodeStubAssembler(state_).Return(tmp6);
5540 : }
5541 56 : }
5542 :
5543 224 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat32Array, CodeStubAssembler) {
5544 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5545 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5546 : USE(parameter0);
5547 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5548 : USE(parameter1);
5549 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5550 : USE(parameter2);
5551 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5552 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5553 :
5554 56 : if (block0.is_used()) {
5555 : compiler::TNode<Context> tmp0;
5556 : compiler::TNode<JSReceiver> tmp1;
5557 : compiler::TNode<Number> tmp2;
5558 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5559 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5560 : compiler::TNode<JSTypedArray> tmp3;
5561 : USE(tmp3);
5562 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5563 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5564 : compiler::TNode<RawPtrT> tmp4;
5565 : USE(tmp4);
5566 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5567 : compiler::TNode<Smi> tmp5;
5568 : USE(tmp5);
5569 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5570 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5571 : compiler::TNode<Object> tmp6;
5572 : USE(tmp6);
5573 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat32Array()), CodeStubAssembler::SMI_PARAMETERS));
5574 112 : CodeStubAssembler(state_).Return(tmp6);
5575 : }
5576 56 : }
5577 :
5578 224 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat64Array, CodeStubAssembler) {
5579 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5580 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5581 : USE(parameter0);
5582 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5583 : USE(parameter1);
5584 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5585 : USE(parameter2);
5586 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5587 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5588 :
5589 56 : if (block0.is_used()) {
5590 : compiler::TNode<Context> tmp0;
5591 : compiler::TNode<JSReceiver> tmp1;
5592 : compiler::TNode<Number> tmp2;
5593 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5594 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5595 : compiler::TNode<JSTypedArray> tmp3;
5596 : USE(tmp3);
5597 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5598 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5599 : compiler::TNode<RawPtrT> tmp4;
5600 : USE(tmp4);
5601 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5602 : compiler::TNode<Smi> tmp5;
5603 : USE(tmp5);
5604 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5605 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5606 : compiler::TNode<Object> tmp6;
5607 : USE(tmp6);
5608 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat64Array()), CodeStubAssembler::SMI_PARAMETERS));
5609 112 : CodeStubAssembler(state_).Return(tmp6);
5610 : }
5611 56 : }
5612 :
5613 224 : TF_BUILTIN(LoadJoinTypedElement24ATFixedUint8ClampedArray, CodeStubAssembler) {
5614 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5615 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5616 : USE(parameter0);
5617 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5618 : USE(parameter1);
5619 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5620 : USE(parameter2);
5621 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5622 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5623 :
5624 56 : if (block0.is_used()) {
5625 : compiler::TNode<Context> tmp0;
5626 : compiler::TNode<JSReceiver> tmp1;
5627 : compiler::TNode<Number> tmp2;
5628 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5629 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5630 : compiler::TNode<JSTypedArray> tmp3;
5631 : USE(tmp3);
5632 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5633 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5634 : compiler::TNode<RawPtrT> tmp4;
5635 : USE(tmp4);
5636 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5637 : compiler::TNode<Smi> tmp5;
5638 : USE(tmp5);
5639 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5640 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5641 : compiler::TNode<Object> tmp6;
5642 : USE(tmp6);
5643 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType24ATFixedUint8ClampedArray()), CodeStubAssembler::SMI_PARAMETERS));
5644 112 : CodeStubAssembler(state_).Return(tmp6);
5645 : }
5646 56 : }
5647 :
5648 224 : TF_BUILTIN(LoadJoinTypedElement21ATFixedBigUint64Array, CodeStubAssembler) {
5649 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5650 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5651 : USE(parameter0);
5652 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5653 : USE(parameter1);
5654 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5655 : USE(parameter2);
5656 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5657 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5658 :
5659 56 : if (block0.is_used()) {
5660 : compiler::TNode<Context> tmp0;
5661 : compiler::TNode<JSReceiver> tmp1;
5662 : compiler::TNode<Number> tmp2;
5663 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5664 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5665 : compiler::TNode<JSTypedArray> tmp3;
5666 : USE(tmp3);
5667 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5668 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5669 : compiler::TNode<RawPtrT> tmp4;
5670 : USE(tmp4);
5671 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5672 : compiler::TNode<Smi> tmp5;
5673 : USE(tmp5);
5674 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5675 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5676 : compiler::TNode<Object> tmp6;
5677 : USE(tmp6);
5678 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType21ATFixedBigUint64Array()), CodeStubAssembler::SMI_PARAMETERS));
5679 112 : CodeStubAssembler(state_).Return(tmp6);
5680 : }
5681 56 : }
5682 :
5683 224 : TF_BUILTIN(LoadJoinTypedElement20ATFixedBigInt64Array, CodeStubAssembler) {
5684 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5685 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5686 : USE(parameter0);
5687 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5688 : USE(parameter1);
5689 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5690 : USE(parameter2);
5691 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5692 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5693 :
5694 56 : if (block0.is_used()) {
5695 : compiler::TNode<Context> tmp0;
5696 : compiler::TNode<JSReceiver> tmp1;
5697 : compiler::TNode<Number> tmp2;
5698 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5699 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5700 : compiler::TNode<JSTypedArray> tmp3;
5701 : USE(tmp3);
5702 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5703 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5704 : compiler::TNode<RawPtrT> tmp4;
5705 : USE(tmp4);
5706 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5707 : compiler::TNode<Smi> tmp5;
5708 : USE(tmp5);
5709 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5710 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5711 : compiler::TNode<Object> tmp6;
5712 : USE(tmp6);
5713 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType20ATFixedBigInt64Array()), CodeStubAssembler::SMI_PARAMETERS));
5714 112 : CodeStubAssembler(state_).Return(tmp6);
5715 : }
5716 56 : }
5717 :
5718 224 : TF_BUILTIN(LoadJoinTypedElement17ATFixedUint8Array, CodeStubAssembler) {
5719 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5720 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5721 : USE(parameter0);
5722 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5723 : USE(parameter1);
5724 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5725 : USE(parameter2);
5726 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5727 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5728 :
5729 56 : if (block0.is_used()) {
5730 : compiler::TNode<Context> tmp0;
5731 : compiler::TNode<JSReceiver> tmp1;
5732 : compiler::TNode<Number> tmp2;
5733 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5734 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5735 : compiler::TNode<JSTypedArray> tmp3;
5736 : USE(tmp3);
5737 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5738 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5739 : compiler::TNode<RawPtrT> tmp4;
5740 : USE(tmp4);
5741 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5742 : compiler::TNode<Smi> tmp5;
5743 : USE(tmp5);
5744 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5745 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5746 : compiler::TNode<Object> tmp6;
5747 : USE(tmp6);
5748 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedUint8Array()), CodeStubAssembler::SMI_PARAMETERS));
5749 112 : CodeStubAssembler(state_).Return(tmp6);
5750 : }
5751 56 : }
5752 :
5753 224 : TF_BUILTIN(LoadJoinTypedElement16ATFixedInt8Array, CodeStubAssembler) {
5754 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5755 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5756 : USE(parameter0);
5757 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5758 : USE(parameter1);
5759 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5760 : USE(parameter2);
5761 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5762 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5763 :
5764 56 : if (block0.is_used()) {
5765 : compiler::TNode<Context> tmp0;
5766 : compiler::TNode<JSReceiver> tmp1;
5767 : compiler::TNode<Number> tmp2;
5768 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5769 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5770 : compiler::TNode<JSTypedArray> tmp3;
5771 : USE(tmp3);
5772 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5773 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5774 : compiler::TNode<RawPtrT> tmp4;
5775 : USE(tmp4);
5776 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5777 : compiler::TNode<Smi> tmp5;
5778 : USE(tmp5);
5779 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5780 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5781 : compiler::TNode<Object> tmp6;
5782 : USE(tmp6);
5783 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType16ATFixedInt8Array()), CodeStubAssembler::SMI_PARAMETERS));
5784 112 : CodeStubAssembler(state_).Return(tmp6);
5785 : }
5786 56 : }
5787 :
5788 224 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint16Array, CodeStubAssembler) {
5789 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5790 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5791 : USE(parameter0);
5792 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5793 : USE(parameter1);
5794 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5795 : USE(parameter2);
5796 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5797 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5798 :
5799 56 : if (block0.is_used()) {
5800 : compiler::TNode<Context> tmp0;
5801 : compiler::TNode<JSReceiver> tmp1;
5802 : compiler::TNode<Number> tmp2;
5803 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5804 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5805 : compiler::TNode<JSTypedArray> tmp3;
5806 : USE(tmp3);
5807 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5808 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5809 : compiler::TNode<RawPtrT> tmp4;
5810 : USE(tmp4);
5811 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5812 : compiler::TNode<Smi> tmp5;
5813 : USE(tmp5);
5814 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5815 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5816 : compiler::TNode<Object> tmp6;
5817 : USE(tmp6);
5818 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint16Array()), CodeStubAssembler::SMI_PARAMETERS));
5819 112 : CodeStubAssembler(state_).Return(tmp6);
5820 : }
5821 56 : }
5822 :
5823 224 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt16Array, CodeStubAssembler) {
5824 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5825 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5826 : USE(parameter0);
5827 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5828 : USE(parameter1);
5829 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5830 : USE(parameter2);
5831 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5832 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5833 :
5834 56 : if (block0.is_used()) {
5835 : compiler::TNode<Context> tmp0;
5836 : compiler::TNode<JSReceiver> tmp1;
5837 : compiler::TNode<Number> tmp2;
5838 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5839 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5840 : compiler::TNode<JSTypedArray> tmp3;
5841 : USE(tmp3);
5842 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5843 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5844 : compiler::TNode<RawPtrT> tmp4;
5845 : USE(tmp4);
5846 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5847 : compiler::TNode<Smi> tmp5;
5848 : USE(tmp5);
5849 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5850 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5851 : compiler::TNode<Object> tmp6;
5852 : USE(tmp6);
5853 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt16Array()), CodeStubAssembler::SMI_PARAMETERS));
5854 112 : CodeStubAssembler(state_).Return(tmp6);
5855 : }
5856 56 : }
5857 :
5858 224 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint32Array, CodeStubAssembler) {
5859 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5860 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5861 : USE(parameter0);
5862 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5863 : USE(parameter1);
5864 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5865 : USE(parameter2);
5866 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5867 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5868 :
5869 56 : if (block0.is_used()) {
5870 : compiler::TNode<Context> tmp0;
5871 : compiler::TNode<JSReceiver> tmp1;
5872 : compiler::TNode<Number> tmp2;
5873 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5874 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5875 : compiler::TNode<JSTypedArray> tmp3;
5876 : USE(tmp3);
5877 112 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5878 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5879 : compiler::TNode<RawPtrT> tmp4;
5880 : USE(tmp4);
5881 112 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5882 : compiler::TNode<Smi> tmp5;
5883 : USE(tmp5);
5884 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5885 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5886 : compiler::TNode<Object> tmp6;
5887 : USE(tmp6);
5888 168 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint32Array()), CodeStubAssembler::SMI_PARAMETERS));
5889 112 : CodeStubAssembler(state_).Return(tmp6);
5890 : }
5891 56 : }
5892 :
5893 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) {
5894 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5895 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5897 : 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);
5898 : 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);
5899 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5900 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5901 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5902 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block10(&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> block11(&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> block14(&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> block15(&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> block12(&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, Object> block19(&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, Object, String> block18(&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, String> block20(&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, String> block21(&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> block17(&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, Object> block25(&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, Object, Number> block24(&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> block23(&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, HeapObject> block26(&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, HeapObject> block27(&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, Object> block22(&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, Object> block16(&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> block13(&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> block32(&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> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
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> block31(&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> block33(&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> block34(&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, IntPtrT, IntPtrT> block35(&ca_, compiler::CodeAssemblerLabel::kDeferred);
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, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5927 : 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);
5928 : 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);
5929 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block3(&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> block40(&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> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
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> block39(&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> block41(&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> block42(&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, IntPtrT, IntPtrT> block43(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5936 : 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);
5937 : 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);
5938 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5939 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5940 : ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
5941 :
5942 112 : if (block0.is_used()) {
5943 : compiler::TNode<Context> tmp0;
5944 : compiler::TNode<JSReceiver> tmp1;
5945 : compiler::TNode<String> tmp2;
5946 : compiler::TNode<Number> tmp3;
5947 : compiler::TNode<Object> tmp4;
5948 : compiler::TNode<Object> tmp5;
5949 : compiler::TNode<BuiltinPtr> tmp6;
5950 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
5951 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
5952 112 : compiler::TNode<IntPtrT> tmp7 = ca_.IntPtrConstant(HeapObject::kMapOffset);
5953 : USE(tmp7);
5954 224 : compiler::TNode<Map>tmp8 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp7});
5955 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
5956 : compiler::TNode<UintPtrT> tmp9;
5957 : USE(tmp9);
5958 336 : tmp9 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number>{tmp3}));
5959 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
5960 : compiler::TNode<IntPtrT> tmp10;
5961 : USE(tmp10);
5962 336 : tmp10 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
5963 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 269);
5964 : compiler::TNode<IntPtrT> tmp11;
5965 : USE(tmp11);
5966 336 : tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
5967 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 270);
5968 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
5969 : compiler::TNode<FixedArray> tmp12;
5970 : USE(tmp12);
5971 : compiler::TNode<IntPtrT> tmp13;
5972 : USE(tmp13);
5973 : compiler::TNode<IntPtrT> tmp14;
5974 : USE(tmp14);
5975 : compiler::TNode<BoolT> tmp15;
5976 : USE(tmp15);
5977 448 : std::tie(tmp12, tmp13, tmp14, tmp15) = ArrayJoinBuiltinsFromDSLAssembler(state_).NewBuffer(compiler::TNode<UintPtrT>{tmp9}, compiler::TNode<String>{tmp2}).Flatten();
5978 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
5979 : compiler::TNode<UintPtrT> tmp16;
5980 : USE(tmp16);
5981 336 : tmp16 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
5982 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
5983 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp8, tmp9, tmp10, tmp11, tmp6, tmp12, tmp13, tmp14, tmp15, tmp16);
5984 : }
5985 :
5986 112 : if (block4.is_used()) {
5987 : compiler::TNode<Context> tmp17;
5988 : compiler::TNode<JSReceiver> tmp18;
5989 : compiler::TNode<String> tmp19;
5990 : compiler::TNode<Number> tmp20;
5991 : compiler::TNode<Object> tmp21;
5992 : compiler::TNode<Object> tmp22;
5993 : compiler::TNode<BuiltinPtr> tmp23;
5994 : compiler::TNode<Map> tmp24;
5995 : compiler::TNode<UintPtrT> tmp25;
5996 : compiler::TNode<IntPtrT> tmp26;
5997 : compiler::TNode<IntPtrT> tmp27;
5998 : compiler::TNode<BuiltinPtr> tmp28;
5999 : compiler::TNode<FixedArray> tmp29;
6000 : compiler::TNode<IntPtrT> tmp30;
6001 : compiler::TNode<IntPtrT> tmp31;
6002 : compiler::TNode<BoolT> tmp32;
6003 : compiler::TNode<UintPtrT> tmp33;
6004 : ca_.Bind(&block4, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
6005 : compiler::TNode<BoolT> tmp34;
6006 : USE(tmp34);
6007 448 : tmp34 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp33}, compiler::TNode<UintPtrT>{tmp25}));
6008 112 : ca_.Branch(tmp34, &block2, &block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33);
6009 : }
6010 :
6011 112 : if (block2.is_used()) {
6012 : compiler::TNode<Context> tmp35;
6013 : compiler::TNode<JSReceiver> tmp36;
6014 : compiler::TNode<String> tmp37;
6015 : compiler::TNode<Number> tmp38;
6016 : compiler::TNode<Object> tmp39;
6017 : compiler::TNode<Object> tmp40;
6018 : compiler::TNode<BuiltinPtr> tmp41;
6019 : compiler::TNode<Map> tmp42;
6020 : compiler::TNode<UintPtrT> tmp43;
6021 : compiler::TNode<IntPtrT> tmp44;
6022 : compiler::TNode<IntPtrT> tmp45;
6023 : compiler::TNode<BuiltinPtr> tmp46;
6024 : compiler::TNode<FixedArray> tmp47;
6025 : compiler::TNode<IntPtrT> tmp48;
6026 : compiler::TNode<IntPtrT> tmp49;
6027 : compiler::TNode<BoolT> tmp50;
6028 : compiler::TNode<UintPtrT> tmp51;
6029 : ca_.Bind(&block2, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
6030 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 279);
6031 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
6032 112 : compiler::CodeAssemblerLabel label0(&ca_);
6033 112 : compiler::CodeAssemblerLabel label1(&ca_);
6034 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);
6035 112 : if (label0.is_used()) {
6036 112 : ca_.Bind(&label0);
6037 : ca_.Goto(&block7, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
6038 : }
6039 112 : if (label1.is_used()) {
6040 112 : ca_.Bind(&label1);
6041 : ca_.Goto(&block8, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
6042 : }
6043 : }
6044 :
6045 112 : if (block7.is_used()) {
6046 : compiler::TNode<Context> tmp52;
6047 : compiler::TNode<JSReceiver> tmp53;
6048 : compiler::TNode<String> tmp54;
6049 : compiler::TNode<Number> tmp55;
6050 : compiler::TNode<Object> tmp56;
6051 : compiler::TNode<Object> tmp57;
6052 : compiler::TNode<BuiltinPtr> tmp58;
6053 : compiler::TNode<Map> tmp59;
6054 : compiler::TNode<UintPtrT> tmp60;
6055 : compiler::TNode<IntPtrT> tmp61;
6056 : compiler::TNode<IntPtrT> tmp62;
6057 : compiler::TNode<BuiltinPtr> tmp63;
6058 : compiler::TNode<FixedArray> tmp64;
6059 : compiler::TNode<IntPtrT> tmp65;
6060 : compiler::TNode<IntPtrT> tmp66;
6061 : compiler::TNode<BoolT> tmp67;
6062 : compiler::TNode<UintPtrT> tmp68;
6063 : compiler::TNode<BuiltinPtr> tmp69;
6064 : compiler::TNode<JSReceiver> tmp70;
6065 : compiler::TNode<Map> tmp71;
6066 : compiler::TNode<Number> tmp72;
6067 : ca_.Bind(&block7, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72);
6068 : ca_.Goto(&block5, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68);
6069 : }
6070 :
6071 112 : if (block8.is_used()) {
6072 : compiler::TNode<Context> tmp73;
6073 : compiler::TNode<JSReceiver> tmp74;
6074 : compiler::TNode<String> tmp75;
6075 : compiler::TNode<Number> tmp76;
6076 : compiler::TNode<Object> tmp77;
6077 : compiler::TNode<Object> tmp78;
6078 : compiler::TNode<BuiltinPtr> tmp79;
6079 : compiler::TNode<Map> tmp80;
6080 : compiler::TNode<UintPtrT> tmp81;
6081 : compiler::TNode<IntPtrT> tmp82;
6082 : compiler::TNode<IntPtrT> tmp83;
6083 : compiler::TNode<BuiltinPtr> tmp84;
6084 : compiler::TNode<FixedArray> tmp85;
6085 : compiler::TNode<IntPtrT> tmp86;
6086 : compiler::TNode<IntPtrT> tmp87;
6087 : compiler::TNode<BoolT> tmp88;
6088 : compiler::TNode<UintPtrT> tmp89;
6089 : compiler::TNode<BuiltinPtr> tmp90;
6090 : compiler::TNode<JSReceiver> tmp91;
6091 : compiler::TNode<Map> tmp92;
6092 : compiler::TNode<Number> tmp93;
6093 : ca_.Bind(&block8, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93);
6094 : ca_.Goto(&block6, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89);
6095 : }
6096 :
6097 112 : if (block5.is_used()) {
6098 : compiler::TNode<Context> tmp94;
6099 : compiler::TNode<JSReceiver> tmp95;
6100 : compiler::TNode<String> tmp96;
6101 : compiler::TNode<Number> tmp97;
6102 : compiler::TNode<Object> tmp98;
6103 : compiler::TNode<Object> tmp99;
6104 : compiler::TNode<BuiltinPtr> tmp100;
6105 : compiler::TNode<Map> tmp101;
6106 : compiler::TNode<UintPtrT> tmp102;
6107 : compiler::TNode<IntPtrT> tmp103;
6108 : compiler::TNode<IntPtrT> tmp104;
6109 : compiler::TNode<BuiltinPtr> tmp105;
6110 : compiler::TNode<FixedArray> tmp106;
6111 : compiler::TNode<IntPtrT> tmp107;
6112 : compiler::TNode<IntPtrT> tmp108;
6113 : compiler::TNode<BoolT> tmp109;
6114 : compiler::TNode<UintPtrT> tmp110;
6115 : ca_.Bind(&block5, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110);
6116 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
6117 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
6118 : 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);
6119 : }
6120 :
6121 112 : if (block6.is_used()) {
6122 : compiler::TNode<Context> tmp111;
6123 : compiler::TNode<JSReceiver> tmp112;
6124 : compiler::TNode<String> tmp113;
6125 : compiler::TNode<Number> tmp114;
6126 : compiler::TNode<Object> tmp115;
6127 : compiler::TNode<Object> tmp116;
6128 : compiler::TNode<BuiltinPtr> tmp117;
6129 : compiler::TNode<Map> tmp118;
6130 : compiler::TNode<UintPtrT> tmp119;
6131 : compiler::TNode<IntPtrT> tmp120;
6132 : compiler::TNode<IntPtrT> tmp121;
6133 : compiler::TNode<BuiltinPtr> tmp122;
6134 : compiler::TNode<FixedArray> tmp123;
6135 : compiler::TNode<IntPtrT> tmp124;
6136 : compiler::TNode<IntPtrT> tmp125;
6137 : compiler::TNode<BoolT> tmp126;
6138 : compiler::TNode<UintPtrT> tmp127;
6139 : ca_.Bind(&block6, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127);
6140 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
6141 : compiler::TNode<UintPtrT> tmp128;
6142 : USE(tmp128);
6143 336 : tmp128 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
6144 : compiler::TNode<BoolT> tmp129;
6145 : USE(tmp129);
6146 336 : tmp129 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp127}, compiler::TNode<UintPtrT>{tmp128}));
6147 112 : ca_.Branch(tmp129, &block9, &block10, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127);
6148 : }
6149 :
6150 112 : if (block9.is_used()) {
6151 : compiler::TNode<Context> tmp130;
6152 : compiler::TNode<JSReceiver> tmp131;
6153 : compiler::TNode<String> tmp132;
6154 : compiler::TNode<Number> tmp133;
6155 : compiler::TNode<Object> tmp134;
6156 : compiler::TNode<Object> tmp135;
6157 : compiler::TNode<BuiltinPtr> tmp136;
6158 : compiler::TNode<Map> tmp137;
6159 : compiler::TNode<UintPtrT> tmp138;
6160 : compiler::TNode<IntPtrT> tmp139;
6161 : compiler::TNode<IntPtrT> tmp140;
6162 : compiler::TNode<BuiltinPtr> tmp141;
6163 : compiler::TNode<FixedArray> tmp142;
6164 : compiler::TNode<IntPtrT> tmp143;
6165 : compiler::TNode<IntPtrT> tmp144;
6166 : compiler::TNode<BoolT> tmp145;
6167 : compiler::TNode<UintPtrT> tmp146;
6168 : ca_.Bind(&block9, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
6169 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 286);
6170 : compiler::TNode<IntPtrT> tmp147;
6171 : USE(tmp147);
6172 336 : tmp147 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
6173 : compiler::TNode<IntPtrT> tmp148;
6174 : USE(tmp148);
6175 224 : tmp148 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp140}, compiler::TNode<IntPtrT>{tmp147}));
6176 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
6177 : ca_.Goto(&block10, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp148, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146);
6178 : }
6179 :
6180 112 : if (block10.is_used()) {
6181 : compiler::TNode<Context> tmp149;
6182 : compiler::TNode<JSReceiver> tmp150;
6183 : compiler::TNode<String> tmp151;
6184 : compiler::TNode<Number> tmp152;
6185 : compiler::TNode<Object> tmp153;
6186 : compiler::TNode<Object> tmp154;
6187 : compiler::TNode<BuiltinPtr> tmp155;
6188 : compiler::TNode<Map> tmp156;
6189 : compiler::TNode<UintPtrT> tmp157;
6190 : compiler::TNode<IntPtrT> tmp158;
6191 : compiler::TNode<IntPtrT> tmp159;
6192 : compiler::TNode<BuiltinPtr> tmp160;
6193 : compiler::TNode<FixedArray> tmp161;
6194 : compiler::TNode<IntPtrT> tmp162;
6195 : compiler::TNode<IntPtrT> tmp163;
6196 : compiler::TNode<BoolT> tmp164;
6197 : compiler::TNode<UintPtrT> tmp165;
6198 : ca_.Bind(&block10, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
6199 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 290);
6200 : compiler::TNode<UintPtrT> tmp166;
6201 : USE(tmp166);
6202 336 : tmp166 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
6203 : compiler::TNode<UintPtrT> tmp167;
6204 : USE(tmp167);
6205 224 : tmp167 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp165}, compiler::TNode<UintPtrT>{tmp166}));
6206 : compiler::TNode<Number> tmp168;
6207 : USE(tmp168);
6208 336 : tmp168 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert20UT5ATSmi10HeapNumber9ATuintptr(compiler::TNode<UintPtrT>{tmp165}));
6209 560 : compiler::TNode<Object> tmp169 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp160, tmp149, tmp150, tmp168);
6210 : USE(tmp169);
6211 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
6212 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
6213 112 : if ((p_useToLocaleString)) {
6214 : ca_.Goto(&block11, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
6215 : } else {
6216 : ca_.Goto(&block12, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
6217 : }
6218 : }
6219 :
6220 112 : if (block11.is_used()) {
6221 : compiler::TNode<Context> tmp170;
6222 : compiler::TNode<JSReceiver> tmp171;
6223 : compiler::TNode<String> tmp172;
6224 : compiler::TNode<Number> tmp173;
6225 : compiler::TNode<Object> tmp174;
6226 : compiler::TNode<Object> tmp175;
6227 : compiler::TNode<BuiltinPtr> tmp176;
6228 : compiler::TNode<Map> tmp177;
6229 : compiler::TNode<UintPtrT> tmp178;
6230 : compiler::TNode<IntPtrT> tmp179;
6231 : compiler::TNode<IntPtrT> tmp180;
6232 : compiler::TNode<BuiltinPtr> tmp181;
6233 : compiler::TNode<FixedArray> tmp182;
6234 : compiler::TNode<IntPtrT> tmp183;
6235 : compiler::TNode<IntPtrT> tmp184;
6236 : compiler::TNode<BoolT> tmp185;
6237 : compiler::TNode<UintPtrT> tmp186;
6238 : compiler::TNode<Object> tmp187;
6239 : compiler::TNode<String> tmp188;
6240 : ca_.Bind(&block11, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188);
6241 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
6242 : compiler::TNode<String> tmp189;
6243 112 : tmp189 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp170, tmp187, tmp174, tmp175));
6244 : USE(tmp189);
6245 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
6246 : compiler::TNode<String> tmp190;
6247 : USE(tmp190);
6248 168 : tmp190 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
6249 : compiler::TNode<BoolT> tmp191;
6250 : USE(tmp191);
6251 112 : tmp191 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp189}, compiler::TNode<HeapObject>{tmp190}));
6252 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);
6253 : }
6254 :
6255 112 : if (block14.is_used()) {
6256 : compiler::TNode<Context> tmp192;
6257 : compiler::TNode<JSReceiver> tmp193;
6258 : compiler::TNode<String> tmp194;
6259 : compiler::TNode<Number> tmp195;
6260 : compiler::TNode<Object> tmp196;
6261 : compiler::TNode<Object> tmp197;
6262 : compiler::TNode<BuiltinPtr> tmp198;
6263 : compiler::TNode<Map> tmp199;
6264 : compiler::TNode<UintPtrT> tmp200;
6265 : compiler::TNode<IntPtrT> tmp201;
6266 : compiler::TNode<IntPtrT> tmp202;
6267 : compiler::TNode<BuiltinPtr> tmp203;
6268 : compiler::TNode<FixedArray> tmp204;
6269 : compiler::TNode<IntPtrT> tmp205;
6270 : compiler::TNode<IntPtrT> tmp206;
6271 : compiler::TNode<BoolT> tmp207;
6272 : compiler::TNode<UintPtrT> tmp208;
6273 : compiler::TNode<Object> tmp209;
6274 : compiler::TNode<String> tmp210;
6275 : ca_.Bind(&block14, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210);
6276 : ca_.Goto(&block4, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208);
6277 : }
6278 :
6279 112 : if (block15.is_used()) {
6280 : compiler::TNode<Context> tmp211;
6281 : compiler::TNode<JSReceiver> tmp212;
6282 : compiler::TNode<String> tmp213;
6283 : compiler::TNode<Number> tmp214;
6284 : compiler::TNode<Object> tmp215;
6285 : compiler::TNode<Object> tmp216;
6286 : compiler::TNode<BuiltinPtr> tmp217;
6287 : compiler::TNode<Map> tmp218;
6288 : compiler::TNode<UintPtrT> tmp219;
6289 : compiler::TNode<IntPtrT> tmp220;
6290 : compiler::TNode<IntPtrT> tmp221;
6291 : compiler::TNode<BuiltinPtr> tmp222;
6292 : compiler::TNode<FixedArray> tmp223;
6293 : compiler::TNode<IntPtrT> tmp224;
6294 : compiler::TNode<IntPtrT> tmp225;
6295 : compiler::TNode<BoolT> tmp226;
6296 : compiler::TNode<UintPtrT> tmp227;
6297 : compiler::TNode<Object> tmp228;
6298 : compiler::TNode<String> tmp229;
6299 : ca_.Bind(&block15, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229);
6300 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
6301 : ca_.Goto(&block13, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229);
6302 : }
6303 :
6304 112 : if (block12.is_used()) {
6305 : compiler::TNode<Context> tmp230;
6306 : compiler::TNode<JSReceiver> tmp231;
6307 : compiler::TNode<String> tmp232;
6308 : compiler::TNode<Number> tmp233;
6309 : compiler::TNode<Object> tmp234;
6310 : compiler::TNode<Object> tmp235;
6311 : compiler::TNode<BuiltinPtr> tmp236;
6312 : compiler::TNode<Map> tmp237;
6313 : compiler::TNode<UintPtrT> tmp238;
6314 : compiler::TNode<IntPtrT> tmp239;
6315 : compiler::TNode<IntPtrT> tmp240;
6316 : compiler::TNode<BuiltinPtr> tmp241;
6317 : compiler::TNode<FixedArray> tmp242;
6318 : compiler::TNode<IntPtrT> tmp243;
6319 : compiler::TNode<IntPtrT> tmp244;
6320 : compiler::TNode<BoolT> tmp245;
6321 : compiler::TNode<UintPtrT> tmp246;
6322 : compiler::TNode<Object> tmp247;
6323 : compiler::TNode<String> tmp248;
6324 : ca_.Bind(&block12, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248);
6325 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
6326 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
6327 : compiler::TNode<String> tmp249;
6328 : USE(tmp249);
6329 56 : compiler::CodeAssemblerLabel label0(&ca_);
6330 168 : tmp249 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp230}, compiler::TNode<Object>{tmp247}, &label0);
6331 : 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);
6332 56 : if (label0.is_used()) {
6333 56 : ca_.Bind(&label0);
6334 : ca_.Goto(&block19, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247);
6335 : }
6336 : }
6337 :
6338 112 : if (block19.is_used()) {
6339 : compiler::TNode<Context> tmp250;
6340 : compiler::TNode<JSReceiver> tmp251;
6341 : compiler::TNode<String> tmp252;
6342 : compiler::TNode<Number> tmp253;
6343 : compiler::TNode<Object> tmp254;
6344 : compiler::TNode<Object> tmp255;
6345 : compiler::TNode<BuiltinPtr> tmp256;
6346 : compiler::TNode<Map> tmp257;
6347 : compiler::TNode<UintPtrT> tmp258;
6348 : compiler::TNode<IntPtrT> tmp259;
6349 : compiler::TNode<IntPtrT> tmp260;
6350 : compiler::TNode<BuiltinPtr> tmp261;
6351 : compiler::TNode<FixedArray> tmp262;
6352 : compiler::TNode<IntPtrT> tmp263;
6353 : compiler::TNode<IntPtrT> tmp264;
6354 : compiler::TNode<BoolT> tmp265;
6355 : compiler::TNode<UintPtrT> tmp266;
6356 : compiler::TNode<Object> tmp267;
6357 : compiler::TNode<String> tmp268;
6358 : compiler::TNode<Object> tmp269;
6359 : compiler::TNode<Object> tmp270;
6360 : ca_.Bind(&block19, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270);
6361 : ca_.Goto(&block17, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269);
6362 : }
6363 :
6364 112 : if (block18.is_used()) {
6365 : compiler::TNode<Context> tmp271;
6366 : compiler::TNode<JSReceiver> tmp272;
6367 : compiler::TNode<String> tmp273;
6368 : compiler::TNode<Number> tmp274;
6369 : compiler::TNode<Object> tmp275;
6370 : compiler::TNode<Object> tmp276;
6371 : compiler::TNode<BuiltinPtr> tmp277;
6372 : compiler::TNode<Map> tmp278;
6373 : compiler::TNode<UintPtrT> tmp279;
6374 : compiler::TNode<IntPtrT> tmp280;
6375 : compiler::TNode<IntPtrT> tmp281;
6376 : compiler::TNode<BuiltinPtr> tmp282;
6377 : compiler::TNode<FixedArray> tmp283;
6378 : compiler::TNode<IntPtrT> tmp284;
6379 : compiler::TNode<IntPtrT> tmp285;
6380 : compiler::TNode<BoolT> tmp286;
6381 : compiler::TNode<UintPtrT> tmp287;
6382 : compiler::TNode<Object> tmp288;
6383 : compiler::TNode<String> tmp289;
6384 : compiler::TNode<Object> tmp290;
6385 : compiler::TNode<Object> tmp291;
6386 : compiler::TNode<String> tmp292;
6387 : 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);
6388 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
6389 : compiler::TNode<String> tmp293;
6390 : USE(tmp293);
6391 168 : tmp293 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
6392 : compiler::TNode<BoolT> tmp294;
6393 : USE(tmp294);
6394 112 : tmp294 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp292}, compiler::TNode<HeapObject>{tmp293}));
6395 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);
6396 : }
6397 :
6398 112 : if (block20.is_used()) {
6399 : compiler::TNode<Context> tmp295;
6400 : compiler::TNode<JSReceiver> tmp296;
6401 : compiler::TNode<String> tmp297;
6402 : compiler::TNode<Number> tmp298;
6403 : compiler::TNode<Object> tmp299;
6404 : compiler::TNode<Object> tmp300;
6405 : compiler::TNode<BuiltinPtr> tmp301;
6406 : compiler::TNode<Map> tmp302;
6407 : compiler::TNode<UintPtrT> tmp303;
6408 : compiler::TNode<IntPtrT> tmp304;
6409 : compiler::TNode<IntPtrT> tmp305;
6410 : compiler::TNode<BuiltinPtr> tmp306;
6411 : compiler::TNode<FixedArray> tmp307;
6412 : compiler::TNode<IntPtrT> tmp308;
6413 : compiler::TNode<IntPtrT> tmp309;
6414 : compiler::TNode<BoolT> tmp310;
6415 : compiler::TNode<UintPtrT> tmp311;
6416 : compiler::TNode<Object> tmp312;
6417 : compiler::TNode<String> tmp313;
6418 : compiler::TNode<Object> tmp314;
6419 : compiler::TNode<String> tmp315;
6420 : ca_.Bind(&block20, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315);
6421 : ca_.Goto(&block4, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311);
6422 : }
6423 :
6424 112 : if (block21.is_used()) {
6425 : compiler::TNode<Context> tmp316;
6426 : compiler::TNode<JSReceiver> tmp317;
6427 : compiler::TNode<String> tmp318;
6428 : compiler::TNode<Number> tmp319;
6429 : compiler::TNode<Object> tmp320;
6430 : compiler::TNode<Object> tmp321;
6431 : compiler::TNode<BuiltinPtr> tmp322;
6432 : compiler::TNode<Map> tmp323;
6433 : compiler::TNode<UintPtrT> tmp324;
6434 : compiler::TNode<IntPtrT> tmp325;
6435 : compiler::TNode<IntPtrT> tmp326;
6436 : compiler::TNode<BuiltinPtr> tmp327;
6437 : compiler::TNode<FixedArray> tmp328;
6438 : compiler::TNode<IntPtrT> tmp329;
6439 : compiler::TNode<IntPtrT> tmp330;
6440 : compiler::TNode<BoolT> tmp331;
6441 : compiler::TNode<UintPtrT> tmp332;
6442 : compiler::TNode<Object> tmp333;
6443 : compiler::TNode<String> tmp334;
6444 : compiler::TNode<Object> tmp335;
6445 : compiler::TNode<String> tmp336;
6446 : ca_.Bind(&block21, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
6447 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
6448 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
6449 : ca_.Goto(&block16, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp336, tmp335);
6450 : }
6451 :
6452 112 : if (block17.is_used()) {
6453 : compiler::TNode<Context> tmp337;
6454 : compiler::TNode<JSReceiver> tmp338;
6455 : compiler::TNode<String> tmp339;
6456 : compiler::TNode<Number> tmp340;
6457 : compiler::TNode<Object> tmp341;
6458 : compiler::TNode<Object> tmp342;
6459 : compiler::TNode<BuiltinPtr> tmp343;
6460 : compiler::TNode<Map> tmp344;
6461 : compiler::TNode<UintPtrT> tmp345;
6462 : compiler::TNode<IntPtrT> tmp346;
6463 : compiler::TNode<IntPtrT> tmp347;
6464 : compiler::TNode<BuiltinPtr> tmp348;
6465 : compiler::TNode<FixedArray> tmp349;
6466 : compiler::TNode<IntPtrT> tmp350;
6467 : compiler::TNode<IntPtrT> tmp351;
6468 : compiler::TNode<BoolT> tmp352;
6469 : compiler::TNode<UintPtrT> tmp353;
6470 : compiler::TNode<Object> tmp354;
6471 : compiler::TNode<String> tmp355;
6472 : compiler::TNode<Object> tmp356;
6473 : ca_.Bind(&block17, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355, &tmp356);
6474 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
6475 : compiler::TNode<Number> tmp357;
6476 : USE(tmp357);
6477 56 : compiler::CodeAssemblerLabel label0(&ca_);
6478 168 : tmp357 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp356)}, &label0);
6479 : 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);
6480 56 : if (label0.is_used()) {
6481 56 : ca_.Bind(&label0);
6482 : 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));
6483 : }
6484 : }
6485 :
6486 112 : if (block25.is_used()) {
6487 : compiler::TNode<Context> tmp358;
6488 : compiler::TNode<JSReceiver> tmp359;
6489 : compiler::TNode<String> tmp360;
6490 : compiler::TNode<Number> tmp361;
6491 : compiler::TNode<Object> tmp362;
6492 : compiler::TNode<Object> tmp363;
6493 : compiler::TNode<BuiltinPtr> tmp364;
6494 : compiler::TNode<Map> tmp365;
6495 : compiler::TNode<UintPtrT> tmp366;
6496 : compiler::TNode<IntPtrT> tmp367;
6497 : compiler::TNode<IntPtrT> tmp368;
6498 : compiler::TNode<BuiltinPtr> tmp369;
6499 : compiler::TNode<FixedArray> tmp370;
6500 : compiler::TNode<IntPtrT> tmp371;
6501 : compiler::TNode<IntPtrT> tmp372;
6502 : compiler::TNode<BoolT> tmp373;
6503 : compiler::TNode<UintPtrT> tmp374;
6504 : compiler::TNode<Object> tmp375;
6505 : compiler::TNode<String> tmp376;
6506 : compiler::TNode<Object> tmp377;
6507 : compiler::TNode<Object> tmp378;
6508 : ca_.Bind(&block25, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377, &tmp378);
6509 : ca_.Goto(&block23, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377);
6510 : }
6511 :
6512 112 : if (block24.is_used()) {
6513 : compiler::TNode<Context> tmp379;
6514 : compiler::TNode<JSReceiver> tmp380;
6515 : compiler::TNode<String> tmp381;
6516 : compiler::TNode<Number> tmp382;
6517 : compiler::TNode<Object> tmp383;
6518 : compiler::TNode<Object> tmp384;
6519 : compiler::TNode<BuiltinPtr> tmp385;
6520 : compiler::TNode<Map> tmp386;
6521 : compiler::TNode<UintPtrT> tmp387;
6522 : compiler::TNode<IntPtrT> tmp388;
6523 : compiler::TNode<IntPtrT> tmp389;
6524 : compiler::TNode<BuiltinPtr> tmp390;
6525 : compiler::TNode<FixedArray> tmp391;
6526 : compiler::TNode<IntPtrT> tmp392;
6527 : compiler::TNode<IntPtrT> tmp393;
6528 : compiler::TNode<BoolT> tmp394;
6529 : compiler::TNode<UintPtrT> tmp395;
6530 : compiler::TNode<Object> tmp396;
6531 : compiler::TNode<String> tmp397;
6532 : compiler::TNode<Object> tmp398;
6533 : compiler::TNode<Object> tmp399;
6534 : compiler::TNode<Number> tmp400;
6535 : 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);
6536 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
6537 : compiler::TNode<String> tmp401;
6538 : USE(tmp401);
6539 112 : tmp401 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp400}));
6540 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
6541 : ca_.Goto(&block22, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp396, tmp401, tmp398);
6542 : }
6543 :
6544 112 : if (block23.is_used()) {
6545 : compiler::TNode<Context> tmp402;
6546 : compiler::TNode<JSReceiver> tmp403;
6547 : compiler::TNode<String> tmp404;
6548 : compiler::TNode<Number> tmp405;
6549 : compiler::TNode<Object> tmp406;
6550 : compiler::TNode<Object> tmp407;
6551 : compiler::TNode<BuiltinPtr> tmp408;
6552 : compiler::TNode<Map> tmp409;
6553 : compiler::TNode<UintPtrT> tmp410;
6554 : compiler::TNode<IntPtrT> tmp411;
6555 : compiler::TNode<IntPtrT> tmp412;
6556 : compiler::TNode<BuiltinPtr> tmp413;
6557 : compiler::TNode<FixedArray> tmp414;
6558 : compiler::TNode<IntPtrT> tmp415;
6559 : compiler::TNode<IntPtrT> tmp416;
6560 : compiler::TNode<BoolT> tmp417;
6561 : compiler::TNode<UintPtrT> tmp418;
6562 : compiler::TNode<Object> tmp419;
6563 : compiler::TNode<String> tmp420;
6564 : compiler::TNode<Object> tmp421;
6565 : ca_.Bind(&block23, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420, &tmp421);
6566 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 307);
6567 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 308);
6568 : compiler::TNode<BoolT> tmp422;
6569 : USE(tmp422);
6570 112 : tmp422 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp421)}));
6571 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));
6572 : }
6573 :
6574 112 : if (block26.is_used()) {
6575 : compiler::TNode<Context> tmp423;
6576 : compiler::TNode<JSReceiver> tmp424;
6577 : compiler::TNode<String> tmp425;
6578 : compiler::TNode<Number> tmp426;
6579 : compiler::TNode<Object> tmp427;
6580 : compiler::TNode<Object> tmp428;
6581 : compiler::TNode<BuiltinPtr> tmp429;
6582 : compiler::TNode<Map> tmp430;
6583 : compiler::TNode<UintPtrT> tmp431;
6584 : compiler::TNode<IntPtrT> tmp432;
6585 : compiler::TNode<IntPtrT> tmp433;
6586 : compiler::TNode<BuiltinPtr> tmp434;
6587 : compiler::TNode<FixedArray> tmp435;
6588 : compiler::TNode<IntPtrT> tmp436;
6589 : compiler::TNode<IntPtrT> tmp437;
6590 : compiler::TNode<BoolT> tmp438;
6591 : compiler::TNode<UintPtrT> tmp439;
6592 : compiler::TNode<Object> tmp440;
6593 : compiler::TNode<String> tmp441;
6594 : compiler::TNode<Object> tmp442;
6595 : compiler::TNode<HeapObject> tmp443;
6596 : ca_.Bind(&block26, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442, &tmp443);
6597 : ca_.Goto(&block4, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp439);
6598 : }
6599 :
6600 112 : if (block27.is_used()) {
6601 : compiler::TNode<Context> tmp444;
6602 : compiler::TNode<JSReceiver> tmp445;
6603 : compiler::TNode<String> tmp446;
6604 : compiler::TNode<Number> tmp447;
6605 : compiler::TNode<Object> tmp448;
6606 : compiler::TNode<Object> tmp449;
6607 : compiler::TNode<BuiltinPtr> tmp450;
6608 : compiler::TNode<Map> tmp451;
6609 : compiler::TNode<UintPtrT> tmp452;
6610 : compiler::TNode<IntPtrT> tmp453;
6611 : compiler::TNode<IntPtrT> tmp454;
6612 : compiler::TNode<BuiltinPtr> tmp455;
6613 : compiler::TNode<FixedArray> tmp456;
6614 : compiler::TNode<IntPtrT> tmp457;
6615 : compiler::TNode<IntPtrT> tmp458;
6616 : compiler::TNode<BoolT> tmp459;
6617 : compiler::TNode<UintPtrT> tmp460;
6618 : compiler::TNode<Object> tmp461;
6619 : compiler::TNode<String> tmp462;
6620 : compiler::TNode<Object> tmp463;
6621 : compiler::TNode<HeapObject> tmp464;
6622 : ca_.Bind(&block27, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463, &tmp464);
6623 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 309);
6624 : compiler::TNode<String> tmp465;
6625 112 : tmp465 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp444, tmp464));
6626 : USE(tmp465);
6627 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
6628 : ca_.Goto(&block22, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, tmp465, tmp463);
6629 : }
6630 :
6631 112 : if (block22.is_used()) {
6632 : compiler::TNode<Context> tmp466;
6633 : compiler::TNode<JSReceiver> tmp467;
6634 : compiler::TNode<String> tmp468;
6635 : compiler::TNode<Number> tmp469;
6636 : compiler::TNode<Object> tmp470;
6637 : compiler::TNode<Object> tmp471;
6638 : compiler::TNode<BuiltinPtr> tmp472;
6639 : compiler::TNode<Map> tmp473;
6640 : compiler::TNode<UintPtrT> tmp474;
6641 : compiler::TNode<IntPtrT> tmp475;
6642 : compiler::TNode<IntPtrT> tmp476;
6643 : compiler::TNode<BuiltinPtr> tmp477;
6644 : compiler::TNode<FixedArray> tmp478;
6645 : compiler::TNode<IntPtrT> tmp479;
6646 : compiler::TNode<IntPtrT> tmp480;
6647 : compiler::TNode<BoolT> tmp481;
6648 : compiler::TNode<UintPtrT> tmp482;
6649 : compiler::TNode<Object> tmp483;
6650 : compiler::TNode<String> tmp484;
6651 : compiler::TNode<Object> tmp485;
6652 : ca_.Bind(&block22, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483, &tmp484, &tmp485);
6653 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
6654 : ca_.Goto(&block16, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484, tmp485);
6655 : }
6656 :
6657 112 : if (block16.is_used()) {
6658 : compiler::TNode<Context> tmp486;
6659 : compiler::TNode<JSReceiver> tmp487;
6660 : compiler::TNode<String> tmp488;
6661 : compiler::TNode<Number> tmp489;
6662 : compiler::TNode<Object> tmp490;
6663 : compiler::TNode<Object> tmp491;
6664 : compiler::TNode<BuiltinPtr> tmp492;
6665 : compiler::TNode<Map> tmp493;
6666 : compiler::TNode<UintPtrT> tmp494;
6667 : compiler::TNode<IntPtrT> tmp495;
6668 : compiler::TNode<IntPtrT> tmp496;
6669 : compiler::TNode<BuiltinPtr> tmp497;
6670 : compiler::TNode<FixedArray> tmp498;
6671 : compiler::TNode<IntPtrT> tmp499;
6672 : compiler::TNode<IntPtrT> tmp500;
6673 : compiler::TNode<BoolT> tmp501;
6674 : compiler::TNode<UintPtrT> tmp502;
6675 : compiler::TNode<Object> tmp503;
6676 : compiler::TNode<String> tmp504;
6677 : compiler::TNode<Object> tmp505;
6678 : ca_.Bind(&block16, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504, &tmp505);
6679 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
6680 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
6681 : ca_.Goto(&block13, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503, tmp504);
6682 : }
6683 :
6684 112 : if (block13.is_used()) {
6685 : compiler::TNode<Context> tmp506;
6686 : compiler::TNode<JSReceiver> tmp507;
6687 : compiler::TNode<String> tmp508;
6688 : compiler::TNode<Number> tmp509;
6689 : compiler::TNode<Object> tmp510;
6690 : compiler::TNode<Object> tmp511;
6691 : compiler::TNode<BuiltinPtr> tmp512;
6692 : compiler::TNode<Map> tmp513;
6693 : compiler::TNode<UintPtrT> tmp514;
6694 : compiler::TNode<IntPtrT> tmp515;
6695 : compiler::TNode<IntPtrT> tmp516;
6696 : compiler::TNode<BuiltinPtr> tmp517;
6697 : compiler::TNode<FixedArray> tmp518;
6698 : compiler::TNode<IntPtrT> tmp519;
6699 : compiler::TNode<IntPtrT> tmp520;
6700 : compiler::TNode<BoolT> tmp521;
6701 : compiler::TNode<UintPtrT> tmp522;
6702 : compiler::TNode<Object> tmp523;
6703 : compiler::TNode<String> tmp524;
6704 : ca_.Bind(&block13, &tmp506, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523, &tmp524);
6705 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
6706 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
6707 : compiler::TNode<IntPtrT> tmp525;
6708 : USE(tmp525);
6709 336 : tmp525 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
6710 : compiler::TNode<BoolT> tmp526;
6711 : USE(tmp526);
6712 336 : tmp526 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp519}, compiler::TNode<IntPtrT>{tmp525}));
6713 : compiler::TNode<IntPtrT> tmp527;
6714 : USE(tmp527);
6715 336 : tmp527 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
6716 : compiler::TNode<BoolT> tmp528;
6717 : USE(tmp528);
6718 336 : tmp528 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp527}));
6719 : compiler::TNode<BoolT> tmp529;
6720 : USE(tmp529);
6721 224 : tmp529 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp526}, compiler::TNode<BoolT>{tmp528}));
6722 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
6723 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
6724 : compiler::TNode<IntPtrT> tmp530;
6725 : USE(tmp530);
6726 336 : tmp530 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
6727 : compiler::TNode<BoolT> tmp531;
6728 : USE(tmp531);
6729 336 : tmp531 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp530}));
6730 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);
6731 : }
6732 :
6733 112 : if (block32.is_used()) {
6734 : compiler::TNode<Context> tmp532;
6735 : compiler::TNode<JSReceiver> tmp533;
6736 : compiler::TNode<String> tmp534;
6737 : compiler::TNode<Number> tmp535;
6738 : compiler::TNode<Object> tmp536;
6739 : compiler::TNode<Object> tmp537;
6740 : compiler::TNode<BuiltinPtr> tmp538;
6741 : compiler::TNode<Map> tmp539;
6742 : compiler::TNode<UintPtrT> tmp540;
6743 : compiler::TNode<IntPtrT> tmp541;
6744 : compiler::TNode<IntPtrT> tmp542;
6745 : compiler::TNode<BuiltinPtr> tmp543;
6746 : compiler::TNode<FixedArray> tmp544;
6747 : compiler::TNode<IntPtrT> tmp545;
6748 : compiler::TNode<IntPtrT> tmp546;
6749 : compiler::TNode<BoolT> tmp547;
6750 : compiler::TNode<UintPtrT> tmp548;
6751 : compiler::TNode<Object> tmp549;
6752 : compiler::TNode<String> tmp550;
6753 : compiler::TNode<String> tmp551;
6754 : compiler::TNode<IntPtrT> tmp552;
6755 : compiler::TNode<IntPtrT> tmp553;
6756 : compiler::TNode<Context> tmp554;
6757 : compiler::TNode<String> tmp555;
6758 : compiler::TNode<IntPtrT> tmp556;
6759 : compiler::TNode<IntPtrT> tmp557;
6760 : compiler::TNode<BoolT> tmp558;
6761 : compiler::TNode<IntPtrT> tmp559;
6762 : compiler::TNode<IntPtrT> tmp560;
6763 : compiler::TNode<BoolT> tmp561;
6764 : compiler::TNode<Context> tmp562;
6765 : compiler::TNode<IntPtrT> tmp563;
6766 : compiler::TNode<IntPtrT> tmp564;
6767 : compiler::TNode<BoolT> tmp565;
6768 : 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);
6769 : compiler::TNode<IntPtrT> tmp566;
6770 : USE(tmp566);
6771 336 : tmp566 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
6772 : compiler::TNode<BoolT> tmp567;
6773 : USE(tmp567);
6774 336 : tmp567 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp564}, compiler::TNode<IntPtrT>{tmp566}));
6775 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);
6776 : }
6777 :
6778 112 : if (block30.is_used()) {
6779 : compiler::TNode<Context> tmp568;
6780 : compiler::TNode<JSReceiver> tmp569;
6781 : compiler::TNode<String> tmp570;
6782 : compiler::TNode<Number> tmp571;
6783 : compiler::TNode<Object> tmp572;
6784 : compiler::TNode<Object> tmp573;
6785 : compiler::TNode<BuiltinPtr> tmp574;
6786 : compiler::TNode<Map> tmp575;
6787 : compiler::TNode<UintPtrT> tmp576;
6788 : compiler::TNode<IntPtrT> tmp577;
6789 : compiler::TNode<IntPtrT> tmp578;
6790 : compiler::TNode<BuiltinPtr> tmp579;
6791 : compiler::TNode<FixedArray> tmp580;
6792 : compiler::TNode<IntPtrT> tmp581;
6793 : compiler::TNode<IntPtrT> tmp582;
6794 : compiler::TNode<BoolT> tmp583;
6795 : compiler::TNode<UintPtrT> tmp584;
6796 : compiler::TNode<Object> tmp585;
6797 : compiler::TNode<String> tmp586;
6798 : compiler::TNode<String> tmp587;
6799 : compiler::TNode<IntPtrT> tmp588;
6800 : compiler::TNode<IntPtrT> tmp589;
6801 : compiler::TNode<Context> tmp590;
6802 : compiler::TNode<String> tmp591;
6803 : compiler::TNode<IntPtrT> tmp592;
6804 : compiler::TNode<IntPtrT> tmp593;
6805 : compiler::TNode<BoolT> tmp594;
6806 : compiler::TNode<IntPtrT> tmp595;
6807 : compiler::TNode<IntPtrT> tmp596;
6808 : compiler::TNode<BoolT> tmp597;
6809 : compiler::TNode<Context> tmp598;
6810 : compiler::TNode<IntPtrT> tmp599;
6811 : compiler::TNode<IntPtrT> tmp600;
6812 : compiler::TNode<BoolT> tmp601;
6813 : 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);
6814 : 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);
6815 : }
6816 :
6817 112 : if (block31.is_used()) {
6818 : compiler::TNode<Context> tmp602;
6819 : compiler::TNode<JSReceiver> tmp603;
6820 : compiler::TNode<String> tmp604;
6821 : compiler::TNode<Number> tmp605;
6822 : compiler::TNode<Object> tmp606;
6823 : compiler::TNode<Object> tmp607;
6824 : compiler::TNode<BuiltinPtr> tmp608;
6825 : compiler::TNode<Map> tmp609;
6826 : compiler::TNode<UintPtrT> tmp610;
6827 : compiler::TNode<IntPtrT> tmp611;
6828 : compiler::TNode<IntPtrT> tmp612;
6829 : compiler::TNode<BuiltinPtr> tmp613;
6830 : compiler::TNode<FixedArray> tmp614;
6831 : compiler::TNode<IntPtrT> tmp615;
6832 : compiler::TNode<IntPtrT> tmp616;
6833 : compiler::TNode<BoolT> tmp617;
6834 : compiler::TNode<UintPtrT> tmp618;
6835 : compiler::TNode<Object> tmp619;
6836 : compiler::TNode<String> tmp620;
6837 : compiler::TNode<String> tmp621;
6838 : compiler::TNode<IntPtrT> tmp622;
6839 : compiler::TNode<IntPtrT> tmp623;
6840 : compiler::TNode<Context> tmp624;
6841 : compiler::TNode<String> tmp625;
6842 : compiler::TNode<IntPtrT> tmp626;
6843 : compiler::TNode<IntPtrT> tmp627;
6844 : compiler::TNode<BoolT> tmp628;
6845 : compiler::TNode<IntPtrT> tmp629;
6846 : compiler::TNode<IntPtrT> tmp630;
6847 : compiler::TNode<BoolT> tmp631;
6848 : compiler::TNode<Context> tmp632;
6849 : compiler::TNode<IntPtrT> tmp633;
6850 : compiler::TNode<IntPtrT> tmp634;
6851 : compiler::TNode<BoolT> tmp635;
6852 : 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);
6853 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
6854 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
6855 : compiler::TNode<IntPtrT> tmp636;
6856 : USE(tmp636);
6857 224 : tmp636 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp634}, compiler::TNode<IntPtrT>{tmp633}));
6858 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
6859 : compiler::TNode<IntPtrT> tmp637;
6860 : USE(tmp637);
6861 224 : tmp637 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp636}, compiler::TNode<IntPtrT>{tmp634}));
6862 : compiler::TNode<BoolT> tmp638;
6863 : USE(tmp638);
6864 336 : tmp638 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp637}, compiler::TNode<IntPtrT>{tmp633}));
6865 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);
6866 : }
6867 :
6868 112 : if (block33.is_used()) {
6869 : compiler::TNode<Context> tmp639;
6870 : compiler::TNode<JSReceiver> tmp640;
6871 : compiler::TNode<String> tmp641;
6872 : compiler::TNode<Number> tmp642;
6873 : compiler::TNode<Object> tmp643;
6874 : compiler::TNode<Object> tmp644;
6875 : compiler::TNode<BuiltinPtr> tmp645;
6876 : compiler::TNode<Map> tmp646;
6877 : compiler::TNode<UintPtrT> tmp647;
6878 : compiler::TNode<IntPtrT> tmp648;
6879 : compiler::TNode<IntPtrT> tmp649;
6880 : compiler::TNode<BuiltinPtr> tmp650;
6881 : compiler::TNode<FixedArray> tmp651;
6882 : compiler::TNode<IntPtrT> tmp652;
6883 : compiler::TNode<IntPtrT> tmp653;
6884 : compiler::TNode<BoolT> tmp654;
6885 : compiler::TNode<UintPtrT> tmp655;
6886 : compiler::TNode<Object> tmp656;
6887 : compiler::TNode<String> tmp657;
6888 : compiler::TNode<String> tmp658;
6889 : compiler::TNode<IntPtrT> tmp659;
6890 : compiler::TNode<IntPtrT> tmp660;
6891 : compiler::TNode<Context> tmp661;
6892 : compiler::TNode<String> tmp662;
6893 : compiler::TNode<IntPtrT> tmp663;
6894 : compiler::TNode<IntPtrT> tmp664;
6895 : compiler::TNode<BoolT> tmp665;
6896 : compiler::TNode<IntPtrT> tmp666;
6897 : compiler::TNode<IntPtrT> tmp667;
6898 : compiler::TNode<BoolT> tmp668;
6899 : compiler::TNode<Context> tmp669;
6900 : compiler::TNode<IntPtrT> tmp670;
6901 : compiler::TNode<IntPtrT> tmp671;
6902 : compiler::TNode<BoolT> tmp672;
6903 : compiler::TNode<IntPtrT> tmp673;
6904 : compiler::TNode<IntPtrT> tmp674;
6905 : 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);
6906 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
6907 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp669);
6908 224 : CodeStubAssembler(state_).Unreachable();
6909 : }
6910 :
6911 112 : if (block34.is_used()) {
6912 : compiler::TNode<Context> tmp676;
6913 : compiler::TNode<JSReceiver> tmp677;
6914 : compiler::TNode<String> tmp678;
6915 : compiler::TNode<Number> tmp679;
6916 : compiler::TNode<Object> tmp680;
6917 : compiler::TNode<Object> tmp681;
6918 : compiler::TNode<BuiltinPtr> tmp682;
6919 : compiler::TNode<Map> tmp683;
6920 : compiler::TNode<UintPtrT> tmp684;
6921 : compiler::TNode<IntPtrT> tmp685;
6922 : compiler::TNode<IntPtrT> tmp686;
6923 : compiler::TNode<BuiltinPtr> tmp687;
6924 : compiler::TNode<FixedArray> tmp688;
6925 : compiler::TNode<IntPtrT> tmp689;
6926 : compiler::TNode<IntPtrT> tmp690;
6927 : compiler::TNode<BoolT> tmp691;
6928 : compiler::TNode<UintPtrT> tmp692;
6929 : compiler::TNode<Object> tmp693;
6930 : compiler::TNode<String> tmp694;
6931 : compiler::TNode<String> tmp695;
6932 : compiler::TNode<IntPtrT> tmp696;
6933 : compiler::TNode<IntPtrT> tmp697;
6934 : compiler::TNode<Context> tmp698;
6935 : compiler::TNode<String> tmp699;
6936 : compiler::TNode<IntPtrT> tmp700;
6937 : compiler::TNode<IntPtrT> tmp701;
6938 : compiler::TNode<BoolT> tmp702;
6939 : compiler::TNode<IntPtrT> tmp703;
6940 : compiler::TNode<IntPtrT> tmp704;
6941 : compiler::TNode<BoolT> tmp705;
6942 : compiler::TNode<Context> tmp706;
6943 : compiler::TNode<IntPtrT> tmp707;
6944 : compiler::TNode<IntPtrT> tmp708;
6945 : compiler::TNode<BoolT> tmp709;
6946 : compiler::TNode<IntPtrT> tmp710;
6947 : compiler::TNode<IntPtrT> tmp711;
6948 : 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);
6949 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
6950 : compiler::TNode<IntPtrT> tmp712;
6951 : USE(tmp712);
6952 336 : tmp712 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp706}, compiler::TNode<IntPtrT>{tmp690}, compiler::TNode<IntPtrT>{tmp711}));
6953 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
6954 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);
6955 : }
6956 :
6957 112 : if (block35.is_used()) {
6958 : compiler::TNode<Context> tmp713;
6959 : compiler::TNode<JSReceiver> tmp714;
6960 : compiler::TNode<String> tmp715;
6961 : compiler::TNode<Number> tmp716;
6962 : compiler::TNode<Object> tmp717;
6963 : compiler::TNode<Object> tmp718;
6964 : compiler::TNode<BuiltinPtr> tmp719;
6965 : compiler::TNode<Map> tmp720;
6966 : compiler::TNode<UintPtrT> tmp721;
6967 : compiler::TNode<IntPtrT> tmp722;
6968 : compiler::TNode<IntPtrT> tmp723;
6969 : compiler::TNode<BuiltinPtr> tmp724;
6970 : compiler::TNode<FixedArray> tmp725;
6971 : compiler::TNode<IntPtrT> tmp726;
6972 : compiler::TNode<IntPtrT> tmp727;
6973 : compiler::TNode<BoolT> tmp728;
6974 : compiler::TNode<UintPtrT> tmp729;
6975 : compiler::TNode<Object> tmp730;
6976 : compiler::TNode<String> tmp731;
6977 : compiler::TNode<String> tmp732;
6978 : compiler::TNode<IntPtrT> tmp733;
6979 : compiler::TNode<IntPtrT> tmp734;
6980 : compiler::TNode<Context> tmp735;
6981 : compiler::TNode<String> tmp736;
6982 : compiler::TNode<IntPtrT> tmp737;
6983 : compiler::TNode<IntPtrT> tmp738;
6984 : compiler::TNode<BoolT> tmp739;
6985 : compiler::TNode<IntPtrT> tmp740;
6986 : compiler::TNode<IntPtrT> tmp741;
6987 : compiler::TNode<BoolT> tmp742;
6988 : compiler::TNode<Context> tmp743;
6989 : compiler::TNode<IntPtrT> tmp744;
6990 : compiler::TNode<IntPtrT> tmp745;
6991 : compiler::TNode<BoolT> tmp746;
6992 : compiler::TNode<IntPtrT> tmp747;
6993 : compiler::TNode<IntPtrT> tmp748;
6994 : 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);
6995 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
6996 : compiler::TNode<IntPtrT> tmp749;
6997 : USE(tmp749);
6998 336 : tmp749 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
6999 : compiler::TNode<IntPtrT> tmp750;
7000 : USE(tmp750);
7001 224 : tmp750 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<IntPtrT>{tmp749}));
7002 : compiler::TNode<Smi> tmp751;
7003 : USE(tmp751);
7004 336 : tmp751 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp747}));
7005 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
7006 : compiler::TNode<FixedArray> tmp752;
7007 : USE(tmp752);
7008 336 : tmp752 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp725}, compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<Smi>{tmp751}));
7009 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
7010 : 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);
7011 : }
7012 :
7013 112 : if (block36.is_used()) {
7014 : compiler::TNode<Context> tmp753;
7015 : compiler::TNode<JSReceiver> tmp754;
7016 : compiler::TNode<String> tmp755;
7017 : compiler::TNode<Number> tmp756;
7018 : compiler::TNode<Object> tmp757;
7019 : compiler::TNode<Object> tmp758;
7020 : compiler::TNode<BuiltinPtr> tmp759;
7021 : compiler::TNode<Map> tmp760;
7022 : compiler::TNode<UintPtrT> tmp761;
7023 : compiler::TNode<IntPtrT> tmp762;
7024 : compiler::TNode<IntPtrT> tmp763;
7025 : compiler::TNode<BuiltinPtr> tmp764;
7026 : compiler::TNode<FixedArray> tmp765;
7027 : compiler::TNode<IntPtrT> tmp766;
7028 : compiler::TNode<IntPtrT> tmp767;
7029 : compiler::TNode<BoolT> tmp768;
7030 : compiler::TNode<UintPtrT> tmp769;
7031 : compiler::TNode<Object> tmp770;
7032 : compiler::TNode<String> tmp771;
7033 : compiler::TNode<String> tmp772;
7034 : compiler::TNode<IntPtrT> tmp773;
7035 : compiler::TNode<IntPtrT> tmp774;
7036 : compiler::TNode<Context> tmp775;
7037 : compiler::TNode<String> tmp776;
7038 : compiler::TNode<IntPtrT> tmp777;
7039 : compiler::TNode<IntPtrT> tmp778;
7040 : compiler::TNode<BoolT> tmp779;
7041 : compiler::TNode<IntPtrT> tmp780;
7042 : compiler::TNode<IntPtrT> tmp781;
7043 : compiler::TNode<BoolT> tmp782;
7044 : compiler::TNode<Context> tmp783;
7045 : compiler::TNode<IntPtrT> tmp784;
7046 : compiler::TNode<IntPtrT> tmp785;
7047 : compiler::TNode<BoolT> tmp786;
7048 : compiler::TNode<IntPtrT> tmp787;
7049 : compiler::TNode<IntPtrT> tmp788;
7050 : 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);
7051 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
7052 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
7053 : 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);
7054 : }
7055 :
7056 112 : if (block29.is_used()) {
7057 : compiler::TNode<Context> tmp789;
7058 : compiler::TNode<JSReceiver> tmp790;
7059 : compiler::TNode<String> tmp791;
7060 : compiler::TNode<Number> tmp792;
7061 : compiler::TNode<Object> tmp793;
7062 : compiler::TNode<Object> tmp794;
7063 : compiler::TNode<BuiltinPtr> tmp795;
7064 : compiler::TNode<Map> tmp796;
7065 : compiler::TNode<UintPtrT> tmp797;
7066 : compiler::TNode<IntPtrT> tmp798;
7067 : compiler::TNode<IntPtrT> tmp799;
7068 : compiler::TNode<BuiltinPtr> tmp800;
7069 : compiler::TNode<FixedArray> tmp801;
7070 : compiler::TNode<IntPtrT> tmp802;
7071 : compiler::TNode<IntPtrT> tmp803;
7072 : compiler::TNode<BoolT> tmp804;
7073 : compiler::TNode<UintPtrT> tmp805;
7074 : compiler::TNode<Object> tmp806;
7075 : compiler::TNode<String> tmp807;
7076 : compiler::TNode<String> tmp808;
7077 : compiler::TNode<IntPtrT> tmp809;
7078 : compiler::TNode<IntPtrT> tmp810;
7079 : compiler::TNode<Context> tmp811;
7080 : compiler::TNode<String> tmp812;
7081 : compiler::TNode<IntPtrT> tmp813;
7082 : compiler::TNode<IntPtrT> tmp814;
7083 : compiler::TNode<BoolT> tmp815;
7084 : compiler::TNode<IntPtrT> tmp816;
7085 : compiler::TNode<IntPtrT> tmp817;
7086 : compiler::TNode<BoolT> tmp818;
7087 : compiler::TNode<Context> tmp819;
7088 : compiler::TNode<IntPtrT> tmp820;
7089 : compiler::TNode<IntPtrT> tmp821;
7090 : compiler::TNode<BoolT> tmp822;
7091 : 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);
7092 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
7093 : compiler::TNode<IntPtrT> tmp823;
7094 : USE(tmp823);
7095 336 : tmp823 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp812}));
7096 : compiler::TNode<IntPtrT> tmp824;
7097 : USE(tmp824);
7098 336 : tmp824 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp811}, compiler::TNode<IntPtrT>{tmp803}, compiler::TNode<IntPtrT>{tmp823}));
7099 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
7100 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 164);
7101 : compiler::TNode<IntPtrT> tmp825;
7102 : USE(tmp825);
7103 336 : tmp825 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
7104 : compiler::TNode<IntPtrT> tmp826;
7105 : USE(tmp826);
7106 224 : tmp826 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<IntPtrT>{tmp825}));
7107 : compiler::TNode<FixedArray> tmp827;
7108 : USE(tmp827);
7109 336 : tmp827 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray6String(compiler::TNode<FixedArray>{tmp801}, compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<String>{tmp812}));
7110 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
7111 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 166);
7112 : compiler::TNode<Int32T> tmp828;
7113 : USE(tmp828);
7114 224 : tmp828 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp812}));
7115 : compiler::TNode<BoolT> tmp829;
7116 : USE(tmp829);
7117 224 : tmp829 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp828}));
7118 : compiler::TNode<BoolT> tmp830;
7119 : USE(tmp830);
7120 336 : tmp830 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp829}, compiler::TNode<BoolT>{tmp804}));
7121 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 165);
7122 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
7123 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
7124 : 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);
7125 : }
7126 :
7127 112 : if (block28.is_used()) {
7128 : compiler::TNode<Context> tmp831;
7129 : compiler::TNode<JSReceiver> tmp832;
7130 : compiler::TNode<String> tmp833;
7131 : compiler::TNode<Number> tmp834;
7132 : compiler::TNode<Object> tmp835;
7133 : compiler::TNode<Object> tmp836;
7134 : compiler::TNode<BuiltinPtr> tmp837;
7135 : compiler::TNode<Map> tmp838;
7136 : compiler::TNode<UintPtrT> tmp839;
7137 : compiler::TNode<IntPtrT> tmp840;
7138 : compiler::TNode<IntPtrT> tmp841;
7139 : compiler::TNode<BuiltinPtr> tmp842;
7140 : compiler::TNode<FixedArray> tmp843;
7141 : compiler::TNode<IntPtrT> tmp844;
7142 : compiler::TNode<IntPtrT> tmp845;
7143 : compiler::TNode<BoolT> tmp846;
7144 : compiler::TNode<UintPtrT> tmp847;
7145 : compiler::TNode<Object> tmp848;
7146 : compiler::TNode<String> tmp849;
7147 : compiler::TNode<String> tmp850;
7148 : compiler::TNode<IntPtrT> tmp851;
7149 : compiler::TNode<IntPtrT> tmp852;
7150 : compiler::TNode<Context> tmp853;
7151 : compiler::TNode<String> tmp854;
7152 : compiler::TNode<IntPtrT> tmp855;
7153 : compiler::TNode<IntPtrT> tmp856;
7154 : 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);
7155 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 316);
7156 : compiler::TNode<IntPtrT> tmp857;
7157 : USE(tmp857);
7158 336 : tmp857 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
7159 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
7160 : ca_.Goto(&block4, tmp831, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp840, tmp857, tmp842, tmp843, tmp844, tmp845, tmp846, tmp847);
7161 : }
7162 :
7163 112 : if (block3.is_used()) {
7164 : compiler::TNode<Context> tmp858;
7165 : compiler::TNode<JSReceiver> tmp859;
7166 : compiler::TNode<String> tmp860;
7167 : compiler::TNode<Number> tmp861;
7168 : compiler::TNode<Object> tmp862;
7169 : compiler::TNode<Object> tmp863;
7170 : compiler::TNode<BuiltinPtr> tmp864;
7171 : compiler::TNode<Map> tmp865;
7172 : compiler::TNode<UintPtrT> tmp866;
7173 : compiler::TNode<IntPtrT> tmp867;
7174 : compiler::TNode<IntPtrT> tmp868;
7175 : compiler::TNode<BuiltinPtr> tmp869;
7176 : compiler::TNode<FixedArray> tmp870;
7177 : compiler::TNode<IntPtrT> tmp871;
7178 : compiler::TNode<IntPtrT> tmp872;
7179 : compiler::TNode<BoolT> tmp873;
7180 : compiler::TNode<UintPtrT> tmp874;
7181 : ca_.Bind(&block3, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873, &tmp874);
7182 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
7183 : compiler::TNode<BoolT> tmp875;
7184 : USE(tmp875);
7185 336 : tmp875 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
7186 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
7187 : compiler::TNode<IntPtrT> tmp876;
7188 : USE(tmp876);
7189 336 : tmp876 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
7190 : compiler::TNode<BoolT> tmp877;
7191 : USE(tmp877);
7192 336 : tmp877 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp868}, compiler::TNode<IntPtrT>{tmp876}));
7193 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);
7194 : }
7195 :
7196 112 : if (block40.is_used()) {
7197 : compiler::TNode<Context> tmp878;
7198 : compiler::TNode<JSReceiver> tmp879;
7199 : compiler::TNode<String> tmp880;
7200 : compiler::TNode<Number> tmp881;
7201 : compiler::TNode<Object> tmp882;
7202 : compiler::TNode<Object> tmp883;
7203 : compiler::TNode<BuiltinPtr> tmp884;
7204 : compiler::TNode<Map> tmp885;
7205 : compiler::TNode<UintPtrT> tmp886;
7206 : compiler::TNode<IntPtrT> tmp887;
7207 : compiler::TNode<IntPtrT> tmp888;
7208 : compiler::TNode<BuiltinPtr> tmp889;
7209 : compiler::TNode<FixedArray> tmp890;
7210 : compiler::TNode<IntPtrT> tmp891;
7211 : compiler::TNode<IntPtrT> tmp892;
7212 : compiler::TNode<BoolT> tmp893;
7213 : compiler::TNode<UintPtrT> tmp894;
7214 : compiler::TNode<IntPtrT> tmp895;
7215 : compiler::TNode<IntPtrT> tmp896;
7216 : compiler::TNode<Context> tmp897;
7217 : compiler::TNode<IntPtrT> tmp898;
7218 : compiler::TNode<IntPtrT> tmp899;
7219 : compiler::TNode<BoolT> tmp900;
7220 : 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);
7221 : compiler::TNode<IntPtrT> tmp901;
7222 : USE(tmp901);
7223 336 : tmp901 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
7224 : compiler::TNode<BoolT> tmp902;
7225 : USE(tmp902);
7226 336 : tmp902 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp899}, compiler::TNode<IntPtrT>{tmp901}));
7227 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);
7228 : }
7229 :
7230 112 : if (block38.is_used()) {
7231 : compiler::TNode<Context> tmp903;
7232 : compiler::TNode<JSReceiver> tmp904;
7233 : compiler::TNode<String> tmp905;
7234 : compiler::TNode<Number> tmp906;
7235 : compiler::TNode<Object> tmp907;
7236 : compiler::TNode<Object> tmp908;
7237 : compiler::TNode<BuiltinPtr> tmp909;
7238 : compiler::TNode<Map> tmp910;
7239 : compiler::TNode<UintPtrT> tmp911;
7240 : compiler::TNode<IntPtrT> tmp912;
7241 : compiler::TNode<IntPtrT> tmp913;
7242 : compiler::TNode<BuiltinPtr> tmp914;
7243 : compiler::TNode<FixedArray> tmp915;
7244 : compiler::TNode<IntPtrT> tmp916;
7245 : compiler::TNode<IntPtrT> tmp917;
7246 : compiler::TNode<BoolT> tmp918;
7247 : compiler::TNode<UintPtrT> tmp919;
7248 : compiler::TNode<IntPtrT> tmp920;
7249 : compiler::TNode<IntPtrT> tmp921;
7250 : compiler::TNode<Context> tmp922;
7251 : compiler::TNode<IntPtrT> tmp923;
7252 : compiler::TNode<IntPtrT> tmp924;
7253 : compiler::TNode<BoolT> tmp925;
7254 : 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);
7255 : 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);
7256 : }
7257 :
7258 112 : if (block39.is_used()) {
7259 : compiler::TNode<Context> tmp926;
7260 : compiler::TNode<JSReceiver> tmp927;
7261 : compiler::TNode<String> tmp928;
7262 : compiler::TNode<Number> tmp929;
7263 : compiler::TNode<Object> tmp930;
7264 : compiler::TNode<Object> tmp931;
7265 : compiler::TNode<BuiltinPtr> tmp932;
7266 : compiler::TNode<Map> tmp933;
7267 : compiler::TNode<UintPtrT> tmp934;
7268 : compiler::TNode<IntPtrT> tmp935;
7269 : compiler::TNode<IntPtrT> tmp936;
7270 : compiler::TNode<BuiltinPtr> tmp937;
7271 : compiler::TNode<FixedArray> tmp938;
7272 : compiler::TNode<IntPtrT> tmp939;
7273 : compiler::TNode<IntPtrT> tmp940;
7274 : compiler::TNode<BoolT> tmp941;
7275 : compiler::TNode<UintPtrT> tmp942;
7276 : compiler::TNode<IntPtrT> tmp943;
7277 : compiler::TNode<IntPtrT> tmp944;
7278 : compiler::TNode<Context> tmp945;
7279 : compiler::TNode<IntPtrT> tmp946;
7280 : compiler::TNode<IntPtrT> tmp947;
7281 : compiler::TNode<BoolT> tmp948;
7282 : 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);
7283 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
7284 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
7285 : compiler::TNode<IntPtrT> tmp949;
7286 : USE(tmp949);
7287 224 : tmp949 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp947}, compiler::TNode<IntPtrT>{tmp946}));
7288 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
7289 : compiler::TNode<IntPtrT> tmp950;
7290 : USE(tmp950);
7291 224 : tmp950 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp949}, compiler::TNode<IntPtrT>{tmp947}));
7292 : compiler::TNode<BoolT> tmp951;
7293 : USE(tmp951);
7294 336 : tmp951 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp950}, compiler::TNode<IntPtrT>{tmp946}));
7295 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);
7296 : }
7297 :
7298 112 : if (block41.is_used()) {
7299 : compiler::TNode<Context> tmp952;
7300 : compiler::TNode<JSReceiver> tmp953;
7301 : compiler::TNode<String> tmp954;
7302 : compiler::TNode<Number> tmp955;
7303 : compiler::TNode<Object> tmp956;
7304 : compiler::TNode<Object> tmp957;
7305 : compiler::TNode<BuiltinPtr> tmp958;
7306 : compiler::TNode<Map> tmp959;
7307 : compiler::TNode<UintPtrT> tmp960;
7308 : compiler::TNode<IntPtrT> tmp961;
7309 : compiler::TNode<IntPtrT> tmp962;
7310 : compiler::TNode<BuiltinPtr> tmp963;
7311 : compiler::TNode<FixedArray> tmp964;
7312 : compiler::TNode<IntPtrT> tmp965;
7313 : compiler::TNode<IntPtrT> tmp966;
7314 : compiler::TNode<BoolT> tmp967;
7315 : compiler::TNode<UintPtrT> tmp968;
7316 : compiler::TNode<IntPtrT> tmp969;
7317 : compiler::TNode<IntPtrT> tmp970;
7318 : compiler::TNode<Context> tmp971;
7319 : compiler::TNode<IntPtrT> tmp972;
7320 : compiler::TNode<IntPtrT> tmp973;
7321 : compiler::TNode<BoolT> tmp974;
7322 : compiler::TNode<IntPtrT> tmp975;
7323 : compiler::TNode<IntPtrT> tmp976;
7324 : 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);
7325 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
7326 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp971);
7327 224 : CodeStubAssembler(state_).Unreachable();
7328 : }
7329 :
7330 112 : if (block42.is_used()) {
7331 : compiler::TNode<Context> tmp978;
7332 : compiler::TNode<JSReceiver> tmp979;
7333 : compiler::TNode<String> tmp980;
7334 : compiler::TNode<Number> tmp981;
7335 : compiler::TNode<Object> tmp982;
7336 : compiler::TNode<Object> tmp983;
7337 : compiler::TNode<BuiltinPtr> tmp984;
7338 : compiler::TNode<Map> tmp985;
7339 : compiler::TNode<UintPtrT> tmp986;
7340 : compiler::TNode<IntPtrT> tmp987;
7341 : compiler::TNode<IntPtrT> tmp988;
7342 : compiler::TNode<BuiltinPtr> tmp989;
7343 : compiler::TNode<FixedArray> tmp990;
7344 : compiler::TNode<IntPtrT> tmp991;
7345 : compiler::TNode<IntPtrT> tmp992;
7346 : compiler::TNode<BoolT> tmp993;
7347 : compiler::TNode<UintPtrT> tmp994;
7348 : compiler::TNode<IntPtrT> tmp995;
7349 : compiler::TNode<IntPtrT> tmp996;
7350 : compiler::TNode<Context> tmp997;
7351 : compiler::TNode<IntPtrT> tmp998;
7352 : compiler::TNode<IntPtrT> tmp999;
7353 : compiler::TNode<BoolT> tmp1000;
7354 : compiler::TNode<IntPtrT> tmp1001;
7355 : compiler::TNode<IntPtrT> tmp1002;
7356 : 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);
7357 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
7358 : compiler::TNode<IntPtrT> tmp1003;
7359 : USE(tmp1003);
7360 336 : tmp1003 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp997}, compiler::TNode<IntPtrT>{tmp992}, compiler::TNode<IntPtrT>{tmp1002}));
7361 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
7362 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);
7363 : }
7364 :
7365 112 : if (block43.is_used()) {
7366 : compiler::TNode<Context> tmp1004;
7367 : compiler::TNode<JSReceiver> tmp1005;
7368 : compiler::TNode<String> tmp1006;
7369 : compiler::TNode<Number> tmp1007;
7370 : compiler::TNode<Object> tmp1008;
7371 : compiler::TNode<Object> tmp1009;
7372 : compiler::TNode<BuiltinPtr> tmp1010;
7373 : compiler::TNode<Map> tmp1011;
7374 : compiler::TNode<UintPtrT> tmp1012;
7375 : compiler::TNode<IntPtrT> tmp1013;
7376 : compiler::TNode<IntPtrT> tmp1014;
7377 : compiler::TNode<BuiltinPtr> tmp1015;
7378 : compiler::TNode<FixedArray> tmp1016;
7379 : compiler::TNode<IntPtrT> tmp1017;
7380 : compiler::TNode<IntPtrT> tmp1018;
7381 : compiler::TNode<BoolT> tmp1019;
7382 : compiler::TNode<UintPtrT> tmp1020;
7383 : compiler::TNode<IntPtrT> tmp1021;
7384 : compiler::TNode<IntPtrT> tmp1022;
7385 : compiler::TNode<Context> tmp1023;
7386 : compiler::TNode<IntPtrT> tmp1024;
7387 : compiler::TNode<IntPtrT> tmp1025;
7388 : compiler::TNode<BoolT> tmp1026;
7389 : compiler::TNode<IntPtrT> tmp1027;
7390 : compiler::TNode<IntPtrT> tmp1028;
7391 : 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);
7392 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
7393 : compiler::TNode<IntPtrT> tmp1029;
7394 : USE(tmp1029);
7395 336 : tmp1029 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
7396 : compiler::TNode<IntPtrT> tmp1030;
7397 : USE(tmp1030);
7398 224 : tmp1030 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<IntPtrT>{tmp1029}));
7399 : compiler::TNode<Smi> tmp1031;
7400 : USE(tmp1031);
7401 336 : tmp1031 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1027}));
7402 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
7403 : compiler::TNode<FixedArray> tmp1032;
7404 : USE(tmp1032);
7405 336 : tmp1032 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1016}, compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<Smi>{tmp1031}));
7406 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
7407 : 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);
7408 : }
7409 :
7410 112 : if (block44.is_used()) {
7411 : compiler::TNode<Context> tmp1033;
7412 : compiler::TNode<JSReceiver> tmp1034;
7413 : compiler::TNode<String> tmp1035;
7414 : compiler::TNode<Number> tmp1036;
7415 : compiler::TNode<Object> tmp1037;
7416 : compiler::TNode<Object> tmp1038;
7417 : compiler::TNode<BuiltinPtr> tmp1039;
7418 : compiler::TNode<Map> tmp1040;
7419 : compiler::TNode<UintPtrT> tmp1041;
7420 : compiler::TNode<IntPtrT> tmp1042;
7421 : compiler::TNode<IntPtrT> tmp1043;
7422 : compiler::TNode<BuiltinPtr> tmp1044;
7423 : compiler::TNode<FixedArray> tmp1045;
7424 : compiler::TNode<IntPtrT> tmp1046;
7425 : compiler::TNode<IntPtrT> tmp1047;
7426 : compiler::TNode<BoolT> tmp1048;
7427 : compiler::TNode<UintPtrT> tmp1049;
7428 : compiler::TNode<IntPtrT> tmp1050;
7429 : compiler::TNode<IntPtrT> tmp1051;
7430 : compiler::TNode<Context> tmp1052;
7431 : compiler::TNode<IntPtrT> tmp1053;
7432 : compiler::TNode<IntPtrT> tmp1054;
7433 : compiler::TNode<BoolT> tmp1055;
7434 : compiler::TNode<IntPtrT> tmp1056;
7435 : compiler::TNode<IntPtrT> tmp1057;
7436 : 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);
7437 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
7438 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
7439 : 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);
7440 : }
7441 :
7442 112 : if (block37.is_used()) {
7443 : compiler::TNode<Context> tmp1058;
7444 : compiler::TNode<JSReceiver> tmp1059;
7445 : compiler::TNode<String> tmp1060;
7446 : compiler::TNode<Number> tmp1061;
7447 : compiler::TNode<Object> tmp1062;
7448 : compiler::TNode<Object> tmp1063;
7449 : compiler::TNode<BuiltinPtr> tmp1064;
7450 : compiler::TNode<Map> tmp1065;
7451 : compiler::TNode<UintPtrT> tmp1066;
7452 : compiler::TNode<IntPtrT> tmp1067;
7453 : compiler::TNode<IntPtrT> tmp1068;
7454 : compiler::TNode<BuiltinPtr> tmp1069;
7455 : compiler::TNode<FixedArray> tmp1070;
7456 : compiler::TNode<IntPtrT> tmp1071;
7457 : compiler::TNode<IntPtrT> tmp1072;
7458 : compiler::TNode<BoolT> tmp1073;
7459 : compiler::TNode<UintPtrT> tmp1074;
7460 : compiler::TNode<IntPtrT> tmp1075;
7461 : compiler::TNode<IntPtrT> tmp1076;
7462 : compiler::TNode<Context> tmp1077;
7463 : compiler::TNode<IntPtrT> tmp1078;
7464 : compiler::TNode<IntPtrT> tmp1079;
7465 : compiler::TNode<BoolT> tmp1080;
7466 : 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);
7467 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
7468 : compiler::TNode<String> tmp1081;
7469 : USE(tmp1081);
7470 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}));
7471 : ca_.Goto(&block1, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1064, tmp1081);
7472 : }
7473 :
7474 112 : if (block1.is_used()) {
7475 : compiler::TNode<Context> tmp1082;
7476 : compiler::TNode<JSReceiver> tmp1083;
7477 : compiler::TNode<String> tmp1084;
7478 : compiler::TNode<Number> tmp1085;
7479 : compiler::TNode<Object> tmp1086;
7480 : compiler::TNode<Object> tmp1087;
7481 : compiler::TNode<BuiltinPtr> tmp1088;
7482 : compiler::TNode<String> tmp1089;
7483 : ca_.Bind(&block1, &tmp1082, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088, &tmp1089);
7484 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 262);
7485 : ca_.Goto(&block45, tmp1082, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088, tmp1089);
7486 : }
7487 :
7488 : compiler::TNode<Context> tmp1090;
7489 : compiler::TNode<JSReceiver> tmp1091;
7490 : compiler::TNode<String> tmp1092;
7491 : compiler::TNode<Number> tmp1093;
7492 : compiler::TNode<Object> tmp1094;
7493 : compiler::TNode<Object> tmp1095;
7494 : compiler::TNode<BuiltinPtr> tmp1096;
7495 : compiler::TNode<String> tmp1097;
7496 : ca_.Bind(&block45, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096, &tmp1097);
7497 224 : return compiler::TNode<String>{tmp1097};
7498 : }
7499 :
7500 56 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<JSReceiver> p_element) {
7501 56 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7502 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7503 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7504 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7505 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7506 : ca_.Goto(&block0, p_fixedArray, p_index, p_element);
7507 :
7508 56 : if (block0.is_used()) {
7509 : compiler::TNode<FixedArray> tmp0;
7510 : compiler::TNode<IntPtrT> tmp1;
7511 : compiler::TNode<JSReceiver> tmp2;
7512 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
7513 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
7514 : compiler::TNode<IntPtrT> tmp3;
7515 : USE(tmp3);
7516 112 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
7517 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
7518 : compiler::TNode<BoolT> tmp4;
7519 : USE(tmp4);
7520 168 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
7521 56 : ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
7522 : }
7523 :
7524 56 : if (block2.is_used()) {
7525 : compiler::TNode<FixedArray> tmp5;
7526 : compiler::TNode<IntPtrT> tmp6;
7527 : compiler::TNode<JSReceiver> tmp7;
7528 : compiler::TNode<IntPtrT> tmp8;
7529 : ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
7530 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
7531 112 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
7532 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
7533 : ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
7534 : }
7535 :
7536 56 : if (block3.is_used()) {
7537 : compiler::TNode<FixedArray> tmp9;
7538 : compiler::TNode<IntPtrT> tmp10;
7539 : compiler::TNode<JSReceiver> tmp11;
7540 : compiler::TNode<IntPtrT> tmp12;
7541 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
7542 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
7543 : compiler::TNode<IntPtrT> tmp13;
7544 : USE(tmp13);
7545 112 : tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
7546 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
7547 : compiler::TNode<IntPtrT> tmp14;
7548 : USE(tmp14);
7549 168 : tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
7550 : compiler::TNode<FixedArray> tmp15;
7551 : USE(tmp15);
7552 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));
7553 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
7554 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
7555 112 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
7556 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
7557 : ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
7558 : }
7559 :
7560 56 : if (block1.is_used()) {
7561 : compiler::TNode<FixedArray> tmp16;
7562 : compiler::TNode<IntPtrT> tmp17;
7563 : compiler::TNode<JSReceiver> tmp18;
7564 : compiler::TNode<FixedArray> tmp19;
7565 : ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
7566 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
7567 : ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
7568 : }
7569 :
7570 : compiler::TNode<FixedArray> tmp20;
7571 : compiler::TNode<IntPtrT> tmp21;
7572 : compiler::TNode<JSReceiver> tmp22;
7573 : compiler::TNode<FixedArray> tmp23;
7574 : ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
7575 112 : return compiler::TNode<FixedArray>{tmp23};
7576 : }
7577 :
7578 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) {
7579 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7580 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7581 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7582 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7583 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7584 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7585 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7586 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7587 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7588 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7589 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7590 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7591 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7592 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7593 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7594 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7595 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7596 : ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
7597 :
7598 112 : if (block0.is_used()) {
7599 : compiler::TNode<Context> tmp0;
7600 : compiler::TNode<JSReceiver> tmp1;
7601 : compiler::TNode<Number> tmp2;
7602 : compiler::TNode<Object> tmp3;
7603 : compiler::TNode<Object> tmp4;
7604 : compiler::TNode<Object> tmp5;
7605 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
7606 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 539);
7607 : compiler::TNode<Oddball> tmp6;
7608 : USE(tmp6);
7609 336 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
7610 : compiler::TNode<BoolT> tmp7;
7611 : USE(tmp7);
7612 224 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
7613 112 : ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
7614 : }
7615 :
7616 112 : if (block2.is_used()) {
7617 : compiler::TNode<Context> tmp8;
7618 : compiler::TNode<JSReceiver> tmp9;
7619 : compiler::TNode<Number> tmp10;
7620 : compiler::TNode<Object> tmp11;
7621 : compiler::TNode<Object> tmp12;
7622 : compiler::TNode<Object> tmp13;
7623 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
7624 : ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
7625 : }
7626 :
7627 112 : if (block3.is_used()) {
7628 : compiler::TNode<Context> tmp14;
7629 : compiler::TNode<JSReceiver> tmp15;
7630 : compiler::TNode<Number> tmp16;
7631 : compiler::TNode<Object> tmp17;
7632 : compiler::TNode<Object> tmp18;
7633 : compiler::TNode<Object> tmp19;
7634 : ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
7635 : compiler::TNode<String> tmp20;
7636 : USE(tmp20);
7637 448 : tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
7638 : ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
7639 : }
7640 :
7641 112 : if (block5.is_used()) {
7642 : compiler::TNode<Context> tmp21;
7643 : compiler::TNode<JSReceiver> tmp22;
7644 : compiler::TNode<Number> tmp23;
7645 : compiler::TNode<Object> tmp24;
7646 : compiler::TNode<Object> tmp25;
7647 : compiler::TNode<Object> tmp26;
7648 : ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
7649 : compiler::TNode<String> tmp27;
7650 : USE(tmp27);
7651 336 : tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6String18ATconstexpr_string(","));
7652 : ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
7653 : }
7654 :
7655 112 : if (block4.is_used()) {
7656 : compiler::TNode<Context> tmp28;
7657 : compiler::TNode<JSReceiver> tmp29;
7658 : compiler::TNode<Number> tmp30;
7659 : compiler::TNode<Object> tmp31;
7660 : compiler::TNode<Object> tmp32;
7661 : compiler::TNode<Object> tmp33;
7662 : compiler::TNode<String> tmp34;
7663 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
7664 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 538);
7665 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
7666 : compiler::TNode<Number> tmp35;
7667 : USE(tmp35);
7668 336 : tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
7669 112 : compiler::CodeAssemblerLabel label0(&ca_);
7670 112 : compiler::CodeAssemblerLabel label1(&ca_);
7671 224 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
7672 112 : if (label0.is_used()) {
7673 112 : ca_.Bind(&label0);
7674 : ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
7675 : }
7676 112 : if (label1.is_used()) {
7677 112 : ca_.Bind(&label1);
7678 : ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
7679 : }
7680 : }
7681 :
7682 112 : if (block9.is_used()) {
7683 : compiler::TNode<Context> tmp36;
7684 : compiler::TNode<JSReceiver> tmp37;
7685 : compiler::TNode<Number> tmp38;
7686 : compiler::TNode<Object> tmp39;
7687 : compiler::TNode<Object> tmp40;
7688 : compiler::TNode<Object> tmp41;
7689 : compiler::TNode<String> tmp42;
7690 : compiler::TNode<Number> tmp43;
7691 : ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
7692 : ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
7693 : }
7694 :
7695 112 : if (block10.is_used()) {
7696 : compiler::TNode<Context> tmp44;
7697 : compiler::TNode<JSReceiver> tmp45;
7698 : compiler::TNode<Number> tmp46;
7699 : compiler::TNode<Object> tmp47;
7700 : compiler::TNode<Object> tmp48;
7701 : compiler::TNode<Object> tmp49;
7702 : compiler::TNode<String> tmp50;
7703 : compiler::TNode<Number> tmp51;
7704 : ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
7705 : ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
7706 : }
7707 :
7708 112 : if (block8.is_used()) {
7709 : compiler::TNode<Context> tmp52;
7710 : compiler::TNode<JSReceiver> tmp53;
7711 : compiler::TNode<Number> tmp54;
7712 : compiler::TNode<Object> tmp55;
7713 : compiler::TNode<Object> tmp56;
7714 : compiler::TNode<Object> tmp57;
7715 : compiler::TNode<String> tmp58;
7716 : ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
7717 112 : compiler::CodeAssemblerLabel label0(&ca_);
7718 112 : compiler::CodeAssemblerLabel label1(&ca_);
7719 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
7720 112 : if (label0.is_used()) {
7721 112 : ca_.Bind(&label0);
7722 : ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
7723 : }
7724 112 : if (label1.is_used()) {
7725 112 : ca_.Bind(&label1);
7726 : ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
7727 : }
7728 : }
7729 :
7730 112 : if (block11.is_used()) {
7731 : compiler::TNode<Context> tmp59;
7732 : compiler::TNode<JSReceiver> tmp60;
7733 : compiler::TNode<Number> tmp61;
7734 : compiler::TNode<Object> tmp62;
7735 : compiler::TNode<Object> tmp63;
7736 : compiler::TNode<Object> tmp64;
7737 : compiler::TNode<String> tmp65;
7738 : compiler::TNode<JSReceiver> tmp66;
7739 : ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
7740 : ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
7741 : }
7742 :
7743 112 : if (block12.is_used()) {
7744 : compiler::TNode<Context> tmp67;
7745 : compiler::TNode<JSReceiver> tmp68;
7746 : compiler::TNode<Number> tmp69;
7747 : compiler::TNode<Object> tmp70;
7748 : compiler::TNode<Object> tmp71;
7749 : compiler::TNode<Object> tmp72;
7750 : compiler::TNode<String> tmp73;
7751 : compiler::TNode<JSReceiver> tmp74;
7752 : ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
7753 : ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
7754 : }
7755 :
7756 112 : if (block6.is_used()) {
7757 : compiler::TNode<Context> tmp75;
7758 : compiler::TNode<JSReceiver> tmp76;
7759 : compiler::TNode<Number> tmp77;
7760 : compiler::TNode<Object> tmp78;
7761 : compiler::TNode<Object> tmp79;
7762 : compiler::TNode<Object> tmp80;
7763 : compiler::TNode<String> tmp81;
7764 : ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
7765 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
7766 : compiler::TNode<Object> tmp82;
7767 : USE(tmp82);
7768 : compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7769 224 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
7770 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}));
7771 : }
7772 112 : if (catch83_label.is_used()) {
7773 112 : compiler::CodeAssemblerLabel catch83_skip(&ca_);
7774 112 : ca_.Goto(&catch83_skip);
7775 : compiler::TNode<Object> catch83_exception_object;
7776 : ca_.Bind(&catch83_label, &catch83_exception_object);
7777 : ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
7778 112 : ca_.Bind(&catch83_skip);
7779 : }
7780 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
7781 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
7782 : compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7783 224 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
7784 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
7785 : }
7786 112 : if (catch84_label.is_used()) {
7787 112 : compiler::CodeAssemblerLabel catch84_skip(&ca_);
7788 112 : ca_.Goto(&catch84_skip);
7789 : compiler::TNode<Object> catch84_exception_object;
7790 : ca_.Bind(&catch84_label, &catch84_exception_object);
7791 : ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
7792 112 : ca_.Bind(&catch84_skip);
7793 : }
7794 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
7795 : ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
7796 : }
7797 :
7798 112 : if (block16.is_used()) {
7799 : compiler::TNode<Context> tmp85;
7800 : compiler::TNode<JSReceiver> tmp86;
7801 : compiler::TNode<Number> tmp87;
7802 : compiler::TNode<Object> tmp88;
7803 : compiler::TNode<Object> tmp89;
7804 : compiler::TNode<Object> tmp90;
7805 : compiler::TNode<String> tmp91;
7806 : compiler::TNode<JSReceiver> tmp92;
7807 : compiler::TNode<String> tmp93;
7808 : compiler::TNode<Number> tmp94;
7809 : compiler::TNode<Object> tmp95;
7810 : compiler::TNode<Object> tmp96;
7811 : compiler::TNode<Object> tmp97;
7812 : ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
7813 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
7814 : ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
7815 : }
7816 :
7817 112 : if (block17.is_used()) {
7818 : compiler::TNode<Context> tmp98;
7819 : compiler::TNode<JSReceiver> tmp99;
7820 : compiler::TNode<Number> tmp100;
7821 : compiler::TNode<Object> tmp101;
7822 : compiler::TNode<Object> tmp102;
7823 : compiler::TNode<Object> tmp103;
7824 : compiler::TNode<String> tmp104;
7825 : compiler::TNode<Object> tmp105;
7826 : compiler::TNode<JSReceiver> tmp106;
7827 : compiler::TNode<Object> tmp107;
7828 : ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
7829 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
7830 : ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
7831 : }
7832 :
7833 112 : if (block15.is_used()) {
7834 : compiler::TNode<Context> tmp108;
7835 : compiler::TNode<JSReceiver> tmp109;
7836 : compiler::TNode<Number> tmp110;
7837 : compiler::TNode<Object> tmp111;
7838 : compiler::TNode<Object> tmp112;
7839 : compiler::TNode<Object> tmp113;
7840 : compiler::TNode<String> tmp114;
7841 : compiler::TNode<Object> tmp115;
7842 : ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
7843 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 550);
7844 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
7845 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
7846 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
7847 224 : CodeStubAssembler(state_).Unreachable();
7848 : }
7849 :
7850 112 : if (block7.is_used()) {
7851 : compiler::TNode<Context> tmp117;
7852 : compiler::TNode<JSReceiver> tmp118;
7853 : compiler::TNode<Number> tmp119;
7854 : compiler::TNode<Object> tmp120;
7855 : compiler::TNode<Object> tmp121;
7856 : compiler::TNode<Object> tmp122;
7857 : compiler::TNode<String> tmp123;
7858 : ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
7859 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 554);
7860 : compiler::TNode<String> tmp124;
7861 : USE(tmp124);
7862 336 : tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
7863 : ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
7864 : }
7865 :
7866 112 : if (block1.is_used()) {
7867 : compiler::TNode<Context> tmp125;
7868 : compiler::TNode<JSReceiver> tmp126;
7869 : compiler::TNode<Number> tmp127;
7870 : compiler::TNode<Object> tmp128;
7871 : compiler::TNode<Object> tmp129;
7872 : compiler::TNode<Object> tmp130;
7873 : compiler::TNode<Object> tmp131;
7874 : ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
7875 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 532);
7876 : ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
7877 : }
7878 :
7879 : compiler::TNode<Context> tmp132;
7880 : compiler::TNode<JSReceiver> tmp133;
7881 : compiler::TNode<Number> tmp134;
7882 : compiler::TNode<Object> tmp135;
7883 : compiler::TNode<Object> tmp136;
7884 : compiler::TNode<Object> tmp137;
7885 : compiler::TNode<Object> tmp138;
7886 : ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
7887 224 : return compiler::TNode<Object>{tmp138};
7888 : }
7889 :
7890 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) {
7891 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7892 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7893 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7894 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7895 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7897 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7898 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7899 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7900 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7901 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7902 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7903 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7904 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7905 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7906 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7907 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7908 : ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
7909 :
7910 112 : if (block0.is_used()) {
7911 : compiler::TNode<Context> tmp0;
7912 : compiler::TNode<JSReceiver> tmp1;
7913 : compiler::TNode<Number> tmp2;
7914 : compiler::TNode<Object> tmp3;
7915 : compiler::TNode<Object> tmp4;
7916 : compiler::TNode<Object> tmp5;
7917 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
7918 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 539);
7919 : compiler::TNode<Oddball> tmp6;
7920 : USE(tmp6);
7921 336 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
7922 : compiler::TNode<BoolT> tmp7;
7923 : USE(tmp7);
7924 224 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
7925 112 : ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
7926 : }
7927 :
7928 112 : if (block2.is_used()) {
7929 : compiler::TNode<Context> tmp8;
7930 : compiler::TNode<JSReceiver> tmp9;
7931 : compiler::TNode<Number> tmp10;
7932 : compiler::TNode<Object> tmp11;
7933 : compiler::TNode<Object> tmp12;
7934 : compiler::TNode<Object> tmp13;
7935 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
7936 : ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
7937 : }
7938 :
7939 112 : if (block3.is_used()) {
7940 : compiler::TNode<Context> tmp14;
7941 : compiler::TNode<JSReceiver> tmp15;
7942 : compiler::TNode<Number> tmp16;
7943 : compiler::TNode<Object> tmp17;
7944 : compiler::TNode<Object> tmp18;
7945 : compiler::TNode<Object> tmp19;
7946 : ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
7947 : compiler::TNode<String> tmp20;
7948 : USE(tmp20);
7949 448 : tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
7950 : ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
7951 : }
7952 :
7953 112 : if (block5.is_used()) {
7954 : compiler::TNode<Context> tmp21;
7955 : compiler::TNode<JSReceiver> tmp22;
7956 : compiler::TNode<Number> tmp23;
7957 : compiler::TNode<Object> tmp24;
7958 : compiler::TNode<Object> tmp25;
7959 : compiler::TNode<Object> tmp26;
7960 : ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
7961 : compiler::TNode<String> tmp27;
7962 : USE(tmp27);
7963 336 : tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6String18ATconstexpr_string(","));
7964 : ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
7965 : }
7966 :
7967 112 : if (block4.is_used()) {
7968 : compiler::TNode<Context> tmp28;
7969 : compiler::TNode<JSReceiver> tmp29;
7970 : compiler::TNode<Number> tmp30;
7971 : compiler::TNode<Object> tmp31;
7972 : compiler::TNode<Object> tmp32;
7973 : compiler::TNode<Object> tmp33;
7974 : compiler::TNode<String> tmp34;
7975 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
7976 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 538);
7977 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
7978 : compiler::TNode<Number> tmp35;
7979 : USE(tmp35);
7980 336 : tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
7981 112 : compiler::CodeAssemblerLabel label0(&ca_);
7982 112 : compiler::CodeAssemblerLabel label1(&ca_);
7983 224 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
7984 112 : if (label0.is_used()) {
7985 112 : ca_.Bind(&label0);
7986 : ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
7987 : }
7988 112 : if (label1.is_used()) {
7989 112 : ca_.Bind(&label1);
7990 : ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
7991 : }
7992 : }
7993 :
7994 112 : if (block9.is_used()) {
7995 : compiler::TNode<Context> tmp36;
7996 : compiler::TNode<JSReceiver> tmp37;
7997 : compiler::TNode<Number> tmp38;
7998 : compiler::TNode<Object> tmp39;
7999 : compiler::TNode<Object> tmp40;
8000 : compiler::TNode<Object> tmp41;
8001 : compiler::TNode<String> tmp42;
8002 : compiler::TNode<Number> tmp43;
8003 : ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
8004 : ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
8005 : }
8006 :
8007 112 : if (block10.is_used()) {
8008 : compiler::TNode<Context> tmp44;
8009 : compiler::TNode<JSReceiver> tmp45;
8010 : compiler::TNode<Number> tmp46;
8011 : compiler::TNode<Object> tmp47;
8012 : compiler::TNode<Object> tmp48;
8013 : compiler::TNode<Object> tmp49;
8014 : compiler::TNode<String> tmp50;
8015 : compiler::TNode<Number> tmp51;
8016 : ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
8017 : ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
8018 : }
8019 :
8020 112 : if (block8.is_used()) {
8021 : compiler::TNode<Context> tmp52;
8022 : compiler::TNode<JSReceiver> tmp53;
8023 : compiler::TNode<Number> tmp54;
8024 : compiler::TNode<Object> tmp55;
8025 : compiler::TNode<Object> tmp56;
8026 : compiler::TNode<Object> tmp57;
8027 : compiler::TNode<String> tmp58;
8028 : ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
8029 112 : compiler::CodeAssemblerLabel label0(&ca_);
8030 112 : compiler::CodeAssemblerLabel label1(&ca_);
8031 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
8032 112 : if (label0.is_used()) {
8033 112 : ca_.Bind(&label0);
8034 : ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
8035 : }
8036 112 : if (label1.is_used()) {
8037 112 : ca_.Bind(&label1);
8038 : ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
8039 : }
8040 : }
8041 :
8042 112 : if (block11.is_used()) {
8043 : compiler::TNode<Context> tmp59;
8044 : compiler::TNode<JSReceiver> tmp60;
8045 : compiler::TNode<Number> tmp61;
8046 : compiler::TNode<Object> tmp62;
8047 : compiler::TNode<Object> tmp63;
8048 : compiler::TNode<Object> tmp64;
8049 : compiler::TNode<String> tmp65;
8050 : compiler::TNode<JSReceiver> tmp66;
8051 : ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
8052 : ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
8053 : }
8054 :
8055 112 : if (block12.is_used()) {
8056 : compiler::TNode<Context> tmp67;
8057 : compiler::TNode<JSReceiver> tmp68;
8058 : compiler::TNode<Number> tmp69;
8059 : compiler::TNode<Object> tmp70;
8060 : compiler::TNode<Object> tmp71;
8061 : compiler::TNode<Object> tmp72;
8062 : compiler::TNode<String> tmp73;
8063 : compiler::TNode<JSReceiver> tmp74;
8064 : ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
8065 : ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
8066 : }
8067 :
8068 112 : if (block6.is_used()) {
8069 : compiler::TNode<Context> tmp75;
8070 : compiler::TNode<JSReceiver> tmp76;
8071 : compiler::TNode<Number> tmp77;
8072 : compiler::TNode<Object> tmp78;
8073 : compiler::TNode<Object> tmp79;
8074 : compiler::TNode<Object> tmp80;
8075 : compiler::TNode<String> tmp81;
8076 : ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
8077 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
8078 : compiler::TNode<Object> tmp82;
8079 : USE(tmp82);
8080 : compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
8081 224 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
8082 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}));
8083 : }
8084 112 : if (catch83_label.is_used()) {
8085 112 : compiler::CodeAssemblerLabel catch83_skip(&ca_);
8086 112 : ca_.Goto(&catch83_skip);
8087 : compiler::TNode<Object> catch83_exception_object;
8088 : ca_.Bind(&catch83_label, &catch83_exception_object);
8089 : ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
8090 112 : ca_.Bind(&catch83_skip);
8091 : }
8092 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
8093 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
8094 : compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
8095 224 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
8096 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
8097 : }
8098 112 : if (catch84_label.is_used()) {
8099 112 : compiler::CodeAssemblerLabel catch84_skip(&ca_);
8100 112 : ca_.Goto(&catch84_skip);
8101 : compiler::TNode<Object> catch84_exception_object;
8102 : ca_.Bind(&catch84_label, &catch84_exception_object);
8103 : ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
8104 112 : ca_.Bind(&catch84_skip);
8105 : }
8106 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
8107 : ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
8108 : }
8109 :
8110 112 : if (block16.is_used()) {
8111 : compiler::TNode<Context> tmp85;
8112 : compiler::TNode<JSReceiver> tmp86;
8113 : compiler::TNode<Number> tmp87;
8114 : compiler::TNode<Object> tmp88;
8115 : compiler::TNode<Object> tmp89;
8116 : compiler::TNode<Object> tmp90;
8117 : compiler::TNode<String> tmp91;
8118 : compiler::TNode<JSReceiver> tmp92;
8119 : compiler::TNode<String> tmp93;
8120 : compiler::TNode<Number> tmp94;
8121 : compiler::TNode<Object> tmp95;
8122 : compiler::TNode<Object> tmp96;
8123 : compiler::TNode<Object> tmp97;
8124 : ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
8125 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
8126 : ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
8127 : }
8128 :
8129 112 : if (block17.is_used()) {
8130 : compiler::TNode<Context> tmp98;
8131 : compiler::TNode<JSReceiver> tmp99;
8132 : compiler::TNode<Number> tmp100;
8133 : compiler::TNode<Object> tmp101;
8134 : compiler::TNode<Object> tmp102;
8135 : compiler::TNode<Object> tmp103;
8136 : compiler::TNode<String> tmp104;
8137 : compiler::TNode<Object> tmp105;
8138 : compiler::TNode<JSReceiver> tmp106;
8139 : compiler::TNode<Object> tmp107;
8140 : ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
8141 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
8142 : ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
8143 : }
8144 :
8145 112 : if (block15.is_used()) {
8146 : compiler::TNode<Context> tmp108;
8147 : compiler::TNode<JSReceiver> tmp109;
8148 : compiler::TNode<Number> tmp110;
8149 : compiler::TNode<Object> tmp111;
8150 : compiler::TNode<Object> tmp112;
8151 : compiler::TNode<Object> tmp113;
8152 : compiler::TNode<String> tmp114;
8153 : compiler::TNode<Object> tmp115;
8154 : ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
8155 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 550);
8156 336 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
8157 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
8158 224 : CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
8159 224 : CodeStubAssembler(state_).Unreachable();
8160 : }
8161 :
8162 112 : if (block7.is_used()) {
8163 : compiler::TNode<Context> tmp117;
8164 : compiler::TNode<JSReceiver> tmp118;
8165 : compiler::TNode<Number> tmp119;
8166 : compiler::TNode<Object> tmp120;
8167 : compiler::TNode<Object> tmp121;
8168 : compiler::TNode<Object> tmp122;
8169 : compiler::TNode<String> tmp123;
8170 : ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
8171 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 554);
8172 : compiler::TNode<String> tmp124;
8173 : USE(tmp124);
8174 336 : tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
8175 : ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
8176 : }
8177 :
8178 112 : if (block1.is_used()) {
8179 : compiler::TNode<Context> tmp125;
8180 : compiler::TNode<JSReceiver> tmp126;
8181 : compiler::TNode<Number> tmp127;
8182 : compiler::TNode<Object> tmp128;
8183 : compiler::TNode<Object> tmp129;
8184 : compiler::TNode<Object> tmp130;
8185 : compiler::TNode<Object> tmp131;
8186 : ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
8187 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 532);
8188 : ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
8189 : }
8190 :
8191 : compiler::TNode<Context> tmp132;
8192 : compiler::TNode<JSReceiver> tmp133;
8193 : compiler::TNode<Number> tmp134;
8194 : compiler::TNode<Object> tmp135;
8195 : compiler::TNode<Object> tmp136;
8196 : compiler::TNode<Object> tmp137;
8197 : compiler::TNode<Object> tmp138;
8198 : ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
8199 224 : return compiler::TNode<Object>{tmp138};
8200 : }
8201 :
8202 448 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<Smi> p_element) {
8203 448 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8204 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8205 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
8206 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8207 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8208 : ca_.Goto(&block0, p_fixedArray, p_index, p_element);
8209 :
8210 448 : if (block0.is_used()) {
8211 : compiler::TNode<FixedArray> tmp0;
8212 : compiler::TNode<IntPtrT> tmp1;
8213 : compiler::TNode<Smi> tmp2;
8214 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
8215 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
8216 : compiler::TNode<IntPtrT> tmp3;
8217 : USE(tmp3);
8218 896 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
8219 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
8220 : compiler::TNode<BoolT> tmp4;
8221 : USE(tmp4);
8222 1344 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
8223 448 : ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
8224 : }
8225 :
8226 448 : if (block2.is_used()) {
8227 : compiler::TNode<FixedArray> tmp5;
8228 : compiler::TNode<IntPtrT> tmp6;
8229 : compiler::TNode<Smi> tmp7;
8230 : compiler::TNode<IntPtrT> tmp8;
8231 : ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
8232 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
8233 896 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<Smi>{tmp7});
8234 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
8235 : ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
8236 : }
8237 :
8238 448 : if (block3.is_used()) {
8239 : compiler::TNode<FixedArray> tmp9;
8240 : compiler::TNode<IntPtrT> tmp10;
8241 : compiler::TNode<Smi> tmp11;
8242 : compiler::TNode<IntPtrT> tmp12;
8243 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
8244 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
8245 : compiler::TNode<IntPtrT> tmp13;
8246 : USE(tmp13);
8247 896 : tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
8248 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
8249 : compiler::TNode<IntPtrT> tmp14;
8250 : USE(tmp14);
8251 1344 : tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
8252 : compiler::TNode<FixedArray> tmp15;
8253 : USE(tmp15);
8254 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));
8255 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
8256 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
8257 896 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<Smi>{tmp11});
8258 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
8259 : ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
8260 : }
8261 :
8262 448 : if (block1.is_used()) {
8263 : compiler::TNode<FixedArray> tmp16;
8264 : compiler::TNode<IntPtrT> tmp17;
8265 : compiler::TNode<Smi> tmp18;
8266 : compiler::TNode<FixedArray> tmp19;
8267 : ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
8268 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
8269 : ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
8270 : }
8271 :
8272 : compiler::TNode<FixedArray> tmp20;
8273 : compiler::TNode<IntPtrT> tmp21;
8274 : compiler::TNode<Smi> tmp22;
8275 : compiler::TNode<FixedArray> tmp23;
8276 : ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
8277 896 : return compiler::TNode<FixedArray>{tmp23};
8278 : }
8279 :
8280 224 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray6String(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<String> p_element) {
8281 224 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8282 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8283 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
8284 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8285 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8286 : ca_.Goto(&block0, p_fixedArray, p_index, p_element);
8287 :
8288 224 : if (block0.is_used()) {
8289 : compiler::TNode<FixedArray> tmp0;
8290 : compiler::TNode<IntPtrT> tmp1;
8291 : compiler::TNode<String> tmp2;
8292 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
8293 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
8294 : compiler::TNode<IntPtrT> tmp3;
8295 : USE(tmp3);
8296 448 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
8297 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
8298 : compiler::TNode<BoolT> tmp4;
8299 : USE(tmp4);
8300 672 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
8301 224 : ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
8302 : }
8303 :
8304 224 : if (block2.is_used()) {
8305 : compiler::TNode<FixedArray> tmp5;
8306 : compiler::TNode<IntPtrT> tmp6;
8307 : compiler::TNode<String> tmp7;
8308 : compiler::TNode<IntPtrT> tmp8;
8309 : ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
8310 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
8311 448 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
8312 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
8313 : ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
8314 : }
8315 :
8316 224 : if (block3.is_used()) {
8317 : compiler::TNode<FixedArray> tmp9;
8318 : compiler::TNode<IntPtrT> tmp10;
8319 : compiler::TNode<String> tmp11;
8320 : compiler::TNode<IntPtrT> tmp12;
8321 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
8322 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
8323 : compiler::TNode<IntPtrT> tmp13;
8324 : USE(tmp13);
8325 448 : tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
8326 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
8327 : compiler::TNode<IntPtrT> tmp14;
8328 : USE(tmp14);
8329 672 : tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
8330 : compiler::TNode<FixedArray> tmp15;
8331 : USE(tmp15);
8332 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));
8333 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
8334 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
8335 448 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
8336 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
8337 : ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
8338 : }
8339 :
8340 224 : if (block1.is_used()) {
8341 : compiler::TNode<FixedArray> tmp16;
8342 : compiler::TNode<IntPtrT> tmp17;
8343 : compiler::TNode<String> tmp18;
8344 : compiler::TNode<FixedArray> tmp19;
8345 : ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
8346 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
8347 : ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
8348 : }
8349 :
8350 : compiler::TNode<FixedArray> tmp20;
8351 : compiler::TNode<IntPtrT> tmp21;
8352 : compiler::TNode<String> tmp22;
8353 : compiler::TNode<FixedArray> tmp23;
8354 : ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
8355 448 : return compiler::TNode<FixedArray>{tmp23};
8356 : }
8357 :
8358 : } // namespace internal
8359 59480 : } // namespace v8
8360 :
|