Line data Source code
1 : #include "src/builtins/builtins-utils-gen.h"
2 : #include "src/builtins/builtins.h"
3 : #include "src/code-factory.h"
4 : #include "src/elements-kind.h"
5 : #include "src/heap/factory-inl.h"
6 : #include "src/objects.h"
7 : #include "src/objects/arguments.h"
8 : #include "src/objects/bigint.h"
9 : #include "src/objects/js-generator.h"
10 : #include "src/objects/js-promise.h"
11 : #include "src/objects/js-regexp-string-iterator.h"
12 : #include "src/objects/module.h"
13 : #include "src/objects/stack-frame-info.h"
14 : #include "src/builtins/builtins-array-gen.h"
15 : #include "src/builtins/builtins-collections-gen.h"
16 : #include "src/builtins/builtins-data-view-gen.h"
17 : #include "src/builtins/builtins-iterator-gen.h"
18 : #include "src/builtins/builtins-proxy-gen.h"
19 : #include "src/builtins/builtins-regexp-gen.h"
20 : #include "src/builtins/builtins-typed-array-gen.h"
21 : #include "src/builtins/builtins-constructor-gen.h"
22 : #include "src/builtins/builtins-typed-array-gen.h"
23 : #include "src/builtins/builtins-typed-array-gen.h"
24 : #include "src/builtins/builtins-typed-array-gen.h"
25 : #include "src/builtins/builtins-typed-array-gen.h"
26 : #include "src/builtins/builtins-typed-array-gen.h"
27 : #include "src/builtins/builtins-typed-array-gen.h"
28 : #include "src/builtins/builtins-typed-array-gen.h"
29 : #include "src/builtins/builtins-typed-array-gen.h"
30 : #include "torque-generated/builtins-base-from-dsl-gen.h"
31 : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
32 : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
33 : #include "torque-generated/builtins-array-from-dsl-gen.h"
34 : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
35 : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
36 : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
37 : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
38 : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
39 : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
40 : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
41 : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
42 : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
43 : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
44 : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
45 : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
46 : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
47 : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
48 : #include "torque-generated/builtins-collections-from-dsl-gen.h"
49 : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
50 : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
51 : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
52 : #include "torque-generated/builtins-object-from-dsl-gen.h"
53 : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
54 : #include "torque-generated/builtins-string-from-dsl-gen.h"
55 : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
56 : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
57 : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
58 : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
59 : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
60 : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
61 : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
62 : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
63 : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
64 : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
65 : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
66 : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
67 : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
68 : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
69 : #include "torque-generated/builtins-test-from-dsl-gen.h"
70 :
71 : namespace v8 {
72 : namespace internal {
73 :
74 392 : TF_BUILTIN(LoadJoinElement20ATDictionaryElements, CodeStubAssembler) {
75 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
76 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
77 56 : USE(parameter0);
78 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
79 56 : USE(parameter1);
80 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
81 56 : USE(parameter2);
82 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
83 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
84 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
85 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
86 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
87 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
88 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
89 :
90 56 : if (block0.is_used()) {
91 56 : compiler::TNode<Context> tmp0;
92 56 : compiler::TNode<JSReceiver> tmp1;
93 56 : compiler::TNode<Number> tmp2;
94 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
95 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 21);
96 56 : compiler::TNode<JSArray> tmp3;
97 56 : USE(tmp3);
98 56 : tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
99 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 22);
100 56 : compiler::TNode<FixedArrayBase> tmp4;
101 56 : USE(tmp4);
102 56 : tmp4 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp3}));
103 56 : compiler::TNode<NumberDictionary> tmp5;
104 56 : USE(tmp5);
105 56 : tmp5 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
106 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 24);
107 56 : compiler::TNode<UintPtrT> tmp6;
108 56 : USE(tmp6);
109 56 : tmp6 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr22UT12ATHeapNumber5ATSmi(compiler::TNode<Number>{tmp2}));
110 56 : compiler::TNode<IntPtrT> tmp7;
111 56 : USE(tmp7);
112 56 : tmp7 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp6}));
113 56 : compiler::TNode<Object> tmp8;
114 56 : USE(tmp8);
115 112 : compiler::CodeAssemblerLabel label0(&ca_);
116 112 : compiler::CodeAssemblerLabel label1(&ca_);
117 56 : tmp8 = CodeStubAssembler(state_).BasicLoadNumberDictionaryElement(compiler::TNode<NumberDictionary>{tmp5}, compiler::TNode<IntPtrT>{tmp7}, &label0, &label1);
118 56 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp7, tmp8);
119 56 : if (label0.is_used()) {
120 56 : ca_.Bind(&label0);
121 56 : ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp7);
122 : }
123 56 : if (label1.is_used()) {
124 56 : ca_.Bind(&label1);
125 56 : ca_.Goto(&block7, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp7);
126 : }
127 : }
128 :
129 56 : if (block6.is_used()) {
130 56 : compiler::TNode<Context> tmp9;
131 56 : compiler::TNode<JSReceiver> tmp10;
132 56 : compiler::TNode<Number> tmp11;
133 56 : compiler::TNode<JSArray> tmp12;
134 56 : compiler::TNode<NumberDictionary> tmp13;
135 56 : compiler::TNode<NumberDictionary> tmp14;
136 56 : compiler::TNode<IntPtrT> tmp15;
137 56 : ca_.Bind(&block6, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
138 56 : ca_.Goto(&block4, tmp9, tmp10, tmp11, tmp12, tmp13);
139 : }
140 :
141 56 : if (block7.is_used()) {
142 56 : compiler::TNode<Context> tmp16;
143 56 : compiler::TNode<JSReceiver> tmp17;
144 56 : compiler::TNode<Number> tmp18;
145 56 : compiler::TNode<JSArray> tmp19;
146 56 : compiler::TNode<NumberDictionary> tmp20;
147 56 : compiler::TNode<NumberDictionary> tmp21;
148 56 : compiler::TNode<IntPtrT> tmp22;
149 56 : ca_.Bind(&block7, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
150 56 : ca_.Goto(&block2, tmp16, tmp17, tmp18, tmp19, tmp20);
151 : }
152 :
153 56 : if (block5.is_used()) {
154 56 : compiler::TNode<Context> tmp23;
155 56 : compiler::TNode<JSReceiver> tmp24;
156 56 : compiler::TNode<Number> tmp25;
157 56 : compiler::TNode<JSArray> tmp26;
158 56 : compiler::TNode<NumberDictionary> tmp27;
159 56 : compiler::TNode<NumberDictionary> tmp28;
160 56 : compiler::TNode<IntPtrT> tmp29;
161 56 : compiler::TNode<Object> tmp30;
162 56 : ca_.Bind(&block5, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
163 56 : CodeStubAssembler(state_).Return(tmp30);
164 : }
165 :
166 56 : if (block4.is_used()) {
167 56 : compiler::TNode<Context> tmp31;
168 56 : compiler::TNode<JSReceiver> tmp32;
169 56 : compiler::TNode<Number> tmp33;
170 56 : compiler::TNode<JSArray> tmp34;
171 56 : compiler::TNode<NumberDictionary> tmp35;
172 56 : ca_.Bind(&block4, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
173 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 28);
174 56 : compiler::TNode<Object> tmp36;
175 56 : USE(tmp36);
176 56 : tmp36 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp31}, compiler::TNode<Object>{tmp32}, compiler::TNode<Object>{tmp33}));
177 56 : CodeStubAssembler(state_).Return(tmp36);
178 : }
179 :
180 56 : if (block2.is_used()) {
181 56 : compiler::TNode<Context> tmp37;
182 56 : compiler::TNode<JSReceiver> tmp38;
183 56 : compiler::TNode<Number> tmp39;
184 56 : compiler::TNode<JSArray> tmp40;
185 56 : compiler::TNode<NumberDictionary> tmp41;
186 56 : ca_.Bind(&block2, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41);
187 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 31);
188 56 : compiler::TNode<String> tmp42;
189 56 : USE(tmp42);
190 56 : tmp42 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
191 56 : CodeStubAssembler(state_).Return(tmp42);
192 : }
193 56 : }
194 :
195 392 : TF_BUILTIN(LoadJoinElement25ATFastSmiOrObjectElements, CodeStubAssembler) {
196 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
197 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
198 56 : USE(parameter0);
199 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
200 56 : USE(parameter1);
201 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
202 56 : USE(parameter2);
203 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
204 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
205 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
206 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
207 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
208 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
209 :
210 56 : if (block0.is_used()) {
211 56 : compiler::TNode<Context> tmp0;
212 56 : compiler::TNode<JSReceiver> tmp1;
213 56 : compiler::TNode<Number> tmp2;
214 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
215 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 37);
216 56 : compiler::TNode<JSArray> tmp3;
217 56 : USE(tmp3);
218 56 : tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
219 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 38);
220 56 : compiler::TNode<FixedArrayBase> tmp4;
221 56 : USE(tmp4);
222 56 : tmp4 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp3}));
223 56 : compiler::TNode<FixedArray> tmp5;
224 56 : USE(tmp5);
225 56 : tmp5 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
226 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 39);
227 56 : compiler::TNode<Smi> tmp6;
228 56 : USE(tmp6);
229 56 : tmp6 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
230 56 : compiler::TNode<Object> tmp7;
231 56 : USE(tmp7);
232 56 : tmp7 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<Smi>{tmp6}));
233 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 40);
234 56 : compiler::TNode<Oddball> tmp8;
235 56 : USE(tmp8);
236 56 : tmp8 = BaseBuiltinsFromDSLAssembler(state_).Hole();
237 56 : compiler::TNode<BoolT> tmp9;
238 56 : USE(tmp9);
239 56 : tmp9 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp7}, compiler::TNode<HeapObject>{tmp8}));
240 56 : ca_.Branch(tmp9, &block1, &block2, tmp0, tmp1, tmp2, tmp3, tmp5, tmp7);
241 : }
242 :
243 56 : if (block1.is_used()) {
244 56 : compiler::TNode<Context> tmp10;
245 56 : compiler::TNode<JSReceiver> tmp11;
246 56 : compiler::TNode<Number> tmp12;
247 56 : compiler::TNode<JSArray> tmp13;
248 56 : compiler::TNode<FixedArray> tmp14;
249 56 : compiler::TNode<Object> tmp15;
250 56 : ca_.Bind(&block1, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
251 56 : compiler::TNode<String> tmp16;
252 56 : USE(tmp16);
253 56 : tmp16 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
254 56 : ca_.Goto(&block4, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
255 : }
256 :
257 56 : if (block2.is_used()) {
258 56 : compiler::TNode<Context> tmp17;
259 56 : compiler::TNode<JSReceiver> tmp18;
260 56 : compiler::TNode<Number> tmp19;
261 56 : compiler::TNode<JSArray> tmp20;
262 56 : compiler::TNode<FixedArray> tmp21;
263 56 : compiler::TNode<Object> tmp22;
264 56 : ca_.Bind(&block2, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
265 56 : ca_.Goto(&block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp22);
266 : }
267 :
268 56 : if (block4.is_used()) {
269 56 : compiler::TNode<Context> tmp23;
270 56 : compiler::TNode<JSReceiver> tmp24;
271 56 : compiler::TNode<Number> tmp25;
272 56 : compiler::TNode<JSArray> tmp26;
273 56 : compiler::TNode<FixedArray> tmp27;
274 56 : compiler::TNode<Object> tmp28;
275 56 : compiler::TNode<String> tmp29;
276 56 : ca_.Bind(&block4, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
277 56 : ca_.Goto(&block3, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29);
278 : }
279 :
280 56 : if (block3.is_used()) {
281 56 : compiler::TNode<Context> tmp30;
282 56 : compiler::TNode<JSReceiver> tmp31;
283 56 : compiler::TNode<Number> tmp32;
284 56 : compiler::TNode<JSArray> tmp33;
285 56 : compiler::TNode<FixedArray> tmp34;
286 56 : compiler::TNode<Object> tmp35;
287 56 : compiler::TNode<Object> tmp36;
288 56 : ca_.Bind(&block3, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
289 56 : CodeStubAssembler(state_).Return(tmp36);
290 : }
291 56 : }
292 :
293 392 : TF_BUILTIN(LoadJoinElement20ATFastDoubleElements, CodeStubAssembler) {
294 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
295 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
296 56 : USE(parameter0);
297 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
298 56 : USE(parameter1);
299 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
300 56 : USE(parameter2);
301 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
302 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
303 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi, Float64T> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
304 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
305 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
306 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
307 :
308 56 : if (block0.is_used()) {
309 56 : compiler::TNode<Context> tmp0;
310 56 : compiler::TNode<JSReceiver> tmp1;
311 56 : compiler::TNode<Number> tmp2;
312 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
313 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 45);
314 56 : compiler::TNode<JSArray> tmp3;
315 56 : USE(tmp3);
316 56 : tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
317 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 47);
318 56 : compiler::TNode<FixedArrayBase> tmp4;
319 56 : USE(tmp4);
320 56 : tmp4 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp3}));
321 56 : compiler::TNode<FixedDoubleArray> tmp5;
322 56 : USE(tmp5);
323 56 : tmp5 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
324 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 46);
325 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
326 56 : compiler::TNode<Smi> tmp6;
327 56 : USE(tmp6);
328 56 : tmp6 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
329 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
330 56 : compiler::TNode<Float64T> tmp7;
331 56 : USE(tmp7);
332 112 : compiler::CodeAssemblerLabel label0(&ca_);
333 56 : tmp7 = CodeStubAssembler(state_).LoadDoubleWithHoleCheck(compiler::TNode<FixedDoubleArray>{tmp5}, compiler::TNode<Smi>{tmp6}, &label0);
334 56 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp6, tmp7);
335 56 : if (label0.is_used()) {
336 56 : ca_.Bind(&label0);
337 56 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp6);
338 : }
339 : }
340 :
341 56 : if (block4.is_used()) {
342 56 : compiler::TNode<Context> tmp8;
343 56 : compiler::TNode<JSReceiver> tmp9;
344 56 : compiler::TNode<Number> tmp10;
345 56 : compiler::TNode<JSArray> tmp11;
346 56 : compiler::TNode<FixedDoubleArray> tmp12;
347 56 : compiler::TNode<FixedDoubleArray> tmp13;
348 56 : compiler::TNode<Smi> tmp14;
349 56 : ca_.Bind(&block4, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
350 56 : ca_.Goto(&block2, tmp8, tmp9, tmp10, tmp11, tmp12);
351 : }
352 :
353 56 : if (block3.is_used()) {
354 56 : compiler::TNode<Context> tmp15;
355 56 : compiler::TNode<JSReceiver> tmp16;
356 56 : compiler::TNode<Number> tmp17;
357 56 : compiler::TNode<JSArray> tmp18;
358 56 : compiler::TNode<FixedDoubleArray> tmp19;
359 56 : compiler::TNode<FixedDoubleArray> tmp20;
360 56 : compiler::TNode<Smi> tmp21;
361 56 : compiler::TNode<Float64T> tmp22;
362 56 : ca_.Bind(&block3, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
363 56 : ca_.Goto(&block1, tmp15, tmp16, tmp17, tmp18, tmp19, tmp22);
364 : }
365 :
366 56 : if (block2.is_used()) {
367 56 : compiler::TNode<Context> tmp23;
368 56 : compiler::TNode<JSReceiver> tmp24;
369 56 : compiler::TNode<Number> tmp25;
370 56 : compiler::TNode<JSArray> tmp26;
371 56 : compiler::TNode<FixedDoubleArray> tmp27;
372 56 : ca_.Bind(&block2, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
373 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
374 56 : compiler::TNode<String> tmp28;
375 56 : USE(tmp28);
376 56 : tmp28 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
377 56 : CodeStubAssembler(state_).Return(tmp28);
378 : }
379 :
380 56 : if (block1.is_used()) {
381 56 : compiler::TNode<Context> tmp29;
382 56 : compiler::TNode<JSReceiver> tmp30;
383 56 : compiler::TNode<Number> tmp31;
384 56 : compiler::TNode<JSArray> tmp32;
385 56 : compiler::TNode<FixedDoubleArray> tmp33;
386 56 : compiler::TNode<Float64T> tmp34;
387 56 : ca_.Bind(&block1, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
388 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
389 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 50);
390 56 : compiler::TNode<HeapNumber> tmp35;
391 56 : USE(tmp35);
392 56 : tmp35 = ca_.UncheckedCast<HeapNumber>(CodeStubAssembler(state_).AllocateHeapNumberWithValue(compiler::TNode<Float64T>{tmp34}));
393 56 : CodeStubAssembler(state_).Return(tmp35);
394 : }
395 56 : }
396 :
397 448 : TF_BUILTIN(ConvertToLocaleString, CodeStubAssembler) {
398 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
399 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
400 56 : USE(parameter0);
401 56 : compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kElement));
402 56 : USE(parameter1);
403 56 : compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kLocales));
404 56 : USE(parameter2);
405 56 : compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kOptions));
406 56 : USE(parameter3);
407 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
408 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
409 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
410 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
411 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
412 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
413 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
414 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
415 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
416 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
417 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
418 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
419 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3);
420 :
421 56 : if (block0.is_used()) {
422 56 : compiler::TNode<Context> tmp0;
423 56 : compiler::TNode<Object> tmp1;
424 56 : compiler::TNode<Object> tmp2;
425 56 : compiler::TNode<Object> tmp3;
426 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
427 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 65);
428 56 : compiler::TNode<BoolT> tmp4;
429 56 : USE(tmp4);
430 56 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp1}));
431 56 : ca_.Branch(tmp4, &block1, &block2, tmp0, tmp1, tmp2, tmp3);
432 : }
433 :
434 56 : if (block1.is_used()) {
435 56 : compiler::TNode<Context> tmp5;
436 56 : compiler::TNode<Object> tmp6;
437 56 : compiler::TNode<Object> tmp7;
438 56 : compiler::TNode<Object> tmp8;
439 56 : ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
440 56 : compiler::TNode<String> tmp9;
441 56 : USE(tmp9);
442 56 : tmp9 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
443 56 : CodeStubAssembler(state_).Return(tmp9);
444 : }
445 :
446 56 : if (block2.is_used()) {
447 56 : compiler::TNode<Context> tmp10;
448 56 : compiler::TNode<Object> tmp11;
449 56 : compiler::TNode<Object> tmp12;
450 56 : compiler::TNode<Object> tmp13;
451 56 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13);
452 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 67);
453 56 : compiler::TNode<Object> tmp14;
454 56 : USE(tmp14);
455 56 : tmp14 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("toLocaleString"));
456 56 : compiler::TNode<Object> tmp15;
457 56 : USE(tmp15);
458 56 : tmp15 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp11}, compiler::TNode<Object>{tmp14}));
459 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 69);
460 56 : compiler::TNode<JSReceiver> tmp16;
461 56 : USE(tmp16);
462 112 : compiler::CodeAssemblerLabel label0(&ca_);
463 56 : tmp16 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp15}, &label0);
464 56 : ca_.Goto(&block5, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15, tmp16);
465 56 : if (label0.is_used()) {
466 56 : ca_.Bind(&label0);
467 56 : ca_.Goto(&block6, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15);
468 : }
469 : }
470 :
471 56 : if (block6.is_used()) {
472 56 : compiler::TNode<Context> tmp17;
473 56 : compiler::TNode<Object> tmp18;
474 56 : compiler::TNode<Object> tmp19;
475 56 : compiler::TNode<Object> tmp20;
476 56 : compiler::TNode<Object> tmp21;
477 56 : compiler::TNode<Object> tmp22;
478 56 : ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
479 56 : ca_.Goto(&block4, tmp17, tmp18, tmp19, tmp20, tmp21);
480 : }
481 :
482 56 : if (block5.is_used()) {
483 56 : compiler::TNode<Context> tmp23;
484 56 : compiler::TNode<Object> tmp24;
485 56 : compiler::TNode<Object> tmp25;
486 56 : compiler::TNode<Object> tmp26;
487 56 : compiler::TNode<Object> tmp27;
488 56 : compiler::TNode<Object> tmp28;
489 56 : compiler::TNode<JSReceiver> tmp29;
490 56 : ca_.Bind(&block5, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
491 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 70);
492 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
493 56 : compiler::TNode<BoolT> tmp30;
494 56 : USE(tmp30);
495 56 : tmp30 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp25}));
496 56 : ca_.Branch(tmp30, &block7, &block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp29, ca_.Uninitialized<Object>());
497 : }
498 :
499 56 : if (block7.is_used()) {
500 56 : compiler::TNode<Context> tmp31;
501 56 : compiler::TNode<Object> tmp32;
502 56 : compiler::TNode<Object> tmp33;
503 56 : compiler::TNode<Object> tmp34;
504 56 : compiler::TNode<Object> tmp35;
505 56 : compiler::TNode<JSReceiver> tmp36;
506 56 : compiler::TNode<Object> tmp37;
507 56 : ca_.Bind(&block7, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
508 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 72);
509 56 : compiler::TNode<Object> tmp38;
510 56 : USE(tmp38);
511 56 : tmp38 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp31}, compiler::TNode<JSReceiver>{tmp36}, compiler::TNode<Object>{tmp32}));
512 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
513 56 : ca_.Goto(&block9, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp38);
514 : }
515 :
516 56 : if (block8.is_used()) {
517 56 : compiler::TNode<Context> tmp39;
518 56 : compiler::TNode<Object> tmp40;
519 56 : compiler::TNode<Object> tmp41;
520 56 : compiler::TNode<Object> tmp42;
521 56 : compiler::TNode<Object> tmp43;
522 56 : compiler::TNode<JSReceiver> tmp44;
523 56 : compiler::TNode<Object> tmp45;
524 56 : ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
525 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
526 56 : compiler::TNode<BoolT> tmp46;
527 56 : USE(tmp46);
528 56 : tmp46 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp42}));
529 56 : ca_.Branch(tmp46, &block10, &block11, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45);
530 : }
531 :
532 56 : if (block10.is_used()) {
533 56 : compiler::TNode<Context> tmp47;
534 56 : compiler::TNode<Object> tmp48;
535 56 : compiler::TNode<Object> tmp49;
536 56 : compiler::TNode<Object> tmp50;
537 56 : compiler::TNode<Object> tmp51;
538 56 : compiler::TNode<JSReceiver> tmp52;
539 56 : compiler::TNode<Object> tmp53;
540 56 : ca_.Bind(&block10, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
541 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 74);
542 56 : compiler::TNode<Object> tmp54;
543 56 : USE(tmp54);
544 56 : tmp54 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp47}, compiler::TNode<JSReceiver>{tmp52}, compiler::TNode<Object>{tmp48}, compiler::TNode<Object>{tmp49}));
545 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
546 56 : ca_.Goto(&block12, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp54);
547 : }
548 :
549 56 : if (block11.is_used()) {
550 56 : compiler::TNode<Context> tmp55;
551 56 : compiler::TNode<Object> tmp56;
552 56 : compiler::TNode<Object> tmp57;
553 56 : compiler::TNode<Object> tmp58;
554 56 : compiler::TNode<Object> tmp59;
555 56 : compiler::TNode<JSReceiver> tmp60;
556 56 : compiler::TNode<Object> tmp61;
557 56 : ca_.Bind(&block11, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61);
558 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 76);
559 56 : compiler::TNode<Object> tmp62;
560 56 : USE(tmp62);
561 56 : 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}));
562 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
563 56 : ca_.Goto(&block12, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp62);
564 : }
565 :
566 56 : if (block12.is_used()) {
567 56 : compiler::TNode<Context> tmp63;
568 56 : compiler::TNode<Object> tmp64;
569 56 : compiler::TNode<Object> tmp65;
570 56 : compiler::TNode<Object> tmp66;
571 56 : compiler::TNode<Object> tmp67;
572 56 : compiler::TNode<JSReceiver> tmp68;
573 56 : compiler::TNode<Object> tmp69;
574 56 : ca_.Bind(&block12, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
575 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
576 56 : ca_.Goto(&block9, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69);
577 : }
578 :
579 56 : if (block9.is_used()) {
580 56 : compiler::TNode<Context> tmp70;
581 56 : compiler::TNode<Object> tmp71;
582 56 : compiler::TNode<Object> tmp72;
583 56 : compiler::TNode<Object> tmp73;
584 56 : compiler::TNode<Object> tmp74;
585 56 : compiler::TNode<JSReceiver> tmp75;
586 56 : compiler::TNode<Object> tmp76;
587 56 : ca_.Bind(&block9, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76);
588 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 78);
589 56 : compiler::TNode<String> tmp77;
590 56 : USE(tmp77);
591 56 : tmp77 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp70}, compiler::TNode<Object>{tmp76}));
592 56 : CodeStubAssembler(state_).Return(tmp77);
593 : }
594 :
595 56 : if (block4.is_used()) {
596 56 : compiler::TNode<Context> tmp78;
597 56 : compiler::TNode<Object> tmp79;
598 56 : compiler::TNode<Object> tmp80;
599 56 : compiler::TNode<Object> tmp81;
600 56 : compiler::TNode<Object> tmp82;
601 56 : ca_.Bind(&block4, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82);
602 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 81);
603 56 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp78}, MessageTemplate::kCalledNonCallable, compiler::TNode<Object>{tmp82});
604 : }
605 56 : }
606 :
607 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) {
608 224 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
609 224 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
610 224 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
611 224 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
612 224 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
613 224 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
614 224 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
615 224 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
616 224 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
617 224 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
618 224 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
619 112 : ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_originalMap, p_originalLen);
620 :
621 112 : if (block0.is_used()) {
622 112 : compiler::TNode<Context> tmp0;
623 112 : compiler::TNode<BuiltinPtr> tmp1;
624 112 : compiler::TNode<JSReceiver> tmp2;
625 112 : compiler::TNode<Map> tmp3;
626 112 : compiler::TNode<Number> tmp4;
627 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
628 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 96);
629 112 : compiler::TNode<BoolT> tmp5;
630 112 : USE(tmp5);
631 112 : tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp1}, compiler::TNode<Smi>{ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor))}));
632 112 : ca_.Branch(tmp5, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4);
633 : }
634 :
635 112 : if (block3.is_used()) {
636 112 : compiler::TNode<Context> tmp6;
637 112 : compiler::TNode<BuiltinPtr> tmp7;
638 112 : compiler::TNode<JSReceiver> tmp8;
639 112 : compiler::TNode<Map> tmp9;
640 112 : compiler::TNode<Number> tmp10;
641 112 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
642 112 : ca_.Goto(&block2);
643 : }
644 :
645 112 : if (block4.is_used()) {
646 112 : compiler::TNode<Context> tmp11;
647 112 : compiler::TNode<BuiltinPtr> tmp12;
648 112 : compiler::TNode<JSReceiver> tmp13;
649 112 : compiler::TNode<Map> tmp14;
650 112 : compiler::TNode<Number> tmp15;
651 112 : ca_.Bind(&block4, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
652 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 98);
653 112 : compiler::TNode<JSArray> tmp16;
654 112 : USE(tmp16);
655 112 : tmp16 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp11}, compiler::TNode<Object>{tmp13}));
656 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 99);
657 112 : compiler::TNode<Map> tmp17;
658 112 : USE(tmp17);
659 112 : tmp17 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp16}));
660 112 : compiler::TNode<BoolT> tmp18;
661 112 : USE(tmp18);
662 112 : tmp18 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<HeapObject>{tmp14}, compiler::TNode<HeapObject>{tmp17}));
663 112 : ca_.Branch(tmp18, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
664 : }
665 :
666 112 : if (block5.is_used()) {
667 112 : compiler::TNode<Context> tmp19;
668 112 : compiler::TNode<BuiltinPtr> tmp20;
669 112 : compiler::TNode<JSReceiver> tmp21;
670 112 : compiler::TNode<Map> tmp22;
671 112 : compiler::TNode<Number> tmp23;
672 112 : compiler::TNode<JSArray> tmp24;
673 112 : ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
674 112 : ca_.Goto(&block1);
675 : }
676 :
677 112 : if (block6.is_used()) {
678 112 : compiler::TNode<Context> tmp25;
679 112 : compiler::TNode<BuiltinPtr> tmp26;
680 112 : compiler::TNode<JSReceiver> tmp27;
681 112 : compiler::TNode<Map> tmp28;
682 112 : compiler::TNode<Number> tmp29;
683 112 : compiler::TNode<JSArray> tmp30;
684 112 : ca_.Bind(&block6, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
685 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 100);
686 112 : compiler::TNode<Number> tmp31;
687 112 : USE(tmp31);
688 112 : tmp31 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArrayLength(compiler::TNode<JSArray>{tmp30}));
689 112 : compiler::TNode<BoolT> tmp32;
690 112 : USE(tmp32);
691 112 : tmp32 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp29}, compiler::TNode<Number>{tmp31}));
692 112 : ca_.Branch(tmp32, &block7, &block8, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30);
693 : }
694 :
695 112 : if (block7.is_used()) {
696 112 : compiler::TNode<Context> tmp33;
697 112 : compiler::TNode<BuiltinPtr> tmp34;
698 112 : compiler::TNode<JSReceiver> tmp35;
699 112 : compiler::TNode<Map> tmp36;
700 112 : compiler::TNode<Number> tmp37;
701 112 : compiler::TNode<JSArray> tmp38;
702 112 : ca_.Bind(&block7, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
703 112 : ca_.Goto(&block1);
704 : }
705 :
706 112 : if (block8.is_used()) {
707 112 : compiler::TNode<Context> tmp39;
708 112 : compiler::TNode<BuiltinPtr> tmp40;
709 112 : compiler::TNode<JSReceiver> tmp41;
710 112 : compiler::TNode<Map> tmp42;
711 112 : compiler::TNode<Number> tmp43;
712 112 : compiler::TNode<JSArray> tmp44;
713 112 : ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44);
714 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 101);
715 112 : compiler::TNode<BoolT> tmp45;
716 112 : USE(tmp45);
717 112 : tmp45 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
718 112 : ca_.Branch(tmp45, &block9, &block10, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44);
719 : }
720 :
721 112 : if (block9.is_used()) {
722 112 : compiler::TNode<Context> tmp46;
723 112 : compiler::TNode<BuiltinPtr> tmp47;
724 112 : compiler::TNode<JSReceiver> tmp48;
725 112 : compiler::TNode<Map> tmp49;
726 112 : compiler::TNode<Number> tmp50;
727 112 : compiler::TNode<JSArray> tmp51;
728 112 : ca_.Bind(&block9, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
729 112 : ca_.Goto(&block1);
730 : }
731 :
732 112 : if (block10.is_used()) {
733 112 : compiler::TNode<Context> tmp52;
734 112 : compiler::TNode<BuiltinPtr> tmp53;
735 112 : compiler::TNode<JSReceiver> tmp54;
736 112 : compiler::TNode<Map> tmp55;
737 112 : compiler::TNode<Number> tmp56;
738 112 : compiler::TNode<JSArray> tmp57;
739 112 : ca_.Bind(&block10, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
740 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 102);
741 112 : ca_.Goto(&block2);
742 : }
743 :
744 112 : if (block1.is_used()) {
745 112 : ca_.Bind(&block1);
746 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
747 112 : ca_.Goto(label_Cannot);
748 : }
749 :
750 112 : if (block2.is_used()) {
751 112 : ca_.Bind(&block2);
752 112 : ca_.Goto(label_Can);
753 : }
754 112 : }
755 :
756 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) {
757 224 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
758 224 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
759 224 : compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
760 224 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
761 224 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
762 112 : ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_initialMap, p_initialLen);
763 :
764 112 : if (block0.is_used()) {
765 112 : compiler::TNode<Context> tmp0;
766 112 : compiler::TNode<BuiltinPtr> tmp1;
767 112 : compiler::TNode<JSReceiver> tmp2;
768 112 : compiler::TNode<Map> tmp3;
769 112 : compiler::TNode<Number> tmp4;
770 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
771 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 109);
772 112 : compiler::TNode<JSTypedArray> tmp5;
773 112 : USE(tmp5);
774 112 : tmp5 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
775 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 110);
776 112 : compiler::TNode<JSArrayBuffer> tmp6;
777 112 : USE(tmp6);
778 112 : tmp6 = ca_.UncheckedCast<JSArrayBuffer>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArrayBufferViewBuffer(compiler::TNode<JSArrayBufferView>{tmp5}));
779 112 : compiler::TNode<BoolT> tmp7;
780 112 : USE(tmp7);
781 112 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsDetachedBuffer(compiler::TNode<JSArrayBuffer>{tmp6}));
782 112 : ca_.Branch(tmp7, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
783 : }
784 :
785 112 : if (block3.is_used()) {
786 112 : compiler::TNode<Context> tmp8;
787 112 : compiler::TNode<BuiltinPtr> tmp9;
788 112 : compiler::TNode<JSReceiver> tmp10;
789 112 : compiler::TNode<Map> tmp11;
790 112 : compiler::TNode<Number> tmp12;
791 112 : compiler::TNode<JSTypedArray> tmp13;
792 112 : ca_.Bind(&block3, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
793 112 : ca_.Goto(&block1);
794 : }
795 :
796 112 : if (block4.is_used()) {
797 112 : compiler::TNode<Context> tmp14;
798 112 : compiler::TNode<BuiltinPtr> tmp15;
799 112 : compiler::TNode<JSReceiver> tmp16;
800 112 : compiler::TNode<Map> tmp17;
801 112 : compiler::TNode<Number> tmp18;
802 112 : compiler::TNode<JSTypedArray> tmp19;
803 112 : ca_.Bind(&block4, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
804 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 111);
805 112 : ca_.Goto(&block2);
806 : }
807 :
808 112 : if (block1.is_used()) {
809 112 : ca_.Bind(&block1);
810 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
811 112 : ca_.Goto(label_Cannot);
812 : }
813 :
814 112 : if (block2.is_used()) {
815 112 : ca_.Bind(&block2);
816 112 : ca_.Goto(label_Can);
817 : }
818 112 : }
819 :
820 672 : compiler::TNode<IntPtrT> ArrayJoinBuiltinsFromDSLAssembler::AddStringLength(compiler::TNode<Context> p_context, compiler::TNode<IntPtrT> p_lenA, compiler::TNode<IntPtrT> p_lenB) {
821 1344 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
822 1344 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
823 1344 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
824 1344 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
825 1344 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
826 1344 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
827 1344 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
828 1344 : compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
829 672 : ca_.Goto(&block0, p_context, p_lenA, p_lenB);
830 :
831 672 : if (block0.is_used()) {
832 672 : compiler::TNode<Context> tmp0;
833 672 : compiler::TNode<IntPtrT> tmp1;
834 672 : compiler::TNode<IntPtrT> tmp2;
835 672 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
836 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 120);
837 672 : compiler::TNode<IntPtrT> tmp3;
838 672 : USE(tmp3);
839 1344 : compiler::CodeAssemblerLabel label0(&ca_);
840 672 : tmp3 = CodeStubAssembler(state_).TryIntPtrAdd(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp2}, &label0);
841 672 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp1, tmp2, tmp3);
842 672 : if (label0.is_used()) {
843 672 : ca_.Bind(&label0);
844 672 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp1, tmp2);
845 : }
846 : }
847 :
848 672 : if (block5.is_used()) {
849 672 : compiler::TNode<Context> tmp4;
850 672 : compiler::TNode<IntPtrT> tmp5;
851 672 : compiler::TNode<IntPtrT> tmp6;
852 672 : compiler::TNode<IntPtrT> tmp7;
853 672 : compiler::TNode<IntPtrT> tmp8;
854 672 : ca_.Bind(&block5, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
855 672 : ca_.Goto(&block3, tmp4, tmp5, tmp6);
856 : }
857 :
858 672 : if (block4.is_used()) {
859 672 : compiler::TNode<Context> tmp9;
860 672 : compiler::TNode<IntPtrT> tmp10;
861 672 : compiler::TNode<IntPtrT> tmp11;
862 672 : compiler::TNode<IntPtrT> tmp12;
863 672 : compiler::TNode<IntPtrT> tmp13;
864 672 : compiler::TNode<IntPtrT> tmp14;
865 672 : ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
866 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 121);
867 672 : compiler::TNode<IntPtrT> tmp15;
868 672 : USE(tmp15);
869 672 : tmp15 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(String::kMaxLength));
870 672 : compiler::TNode<BoolT> tmp16;
871 672 : USE(tmp16);
872 672 : tmp16 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp15}));
873 672 : ca_.Branch(tmp16, &block6, &block7, tmp9, tmp10, tmp11, tmp14);
874 : }
875 :
876 672 : if (block6.is_used()) {
877 672 : compiler::TNode<Context> tmp17;
878 672 : compiler::TNode<IntPtrT> tmp18;
879 672 : compiler::TNode<IntPtrT> tmp19;
880 672 : compiler::TNode<IntPtrT> tmp20;
881 672 : ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20);
882 672 : ca_.Goto(&block3, tmp17, tmp18, tmp19);
883 : }
884 :
885 672 : if (block7.is_used()) {
886 672 : compiler::TNode<Context> tmp21;
887 672 : compiler::TNode<IntPtrT> tmp22;
888 672 : compiler::TNode<IntPtrT> tmp23;
889 672 : compiler::TNode<IntPtrT> tmp24;
890 672 : ca_.Bind(&block7, &tmp21, &tmp22, &tmp23, &tmp24);
891 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 122);
892 672 : ca_.Goto(&block1, tmp21, tmp22, tmp23, tmp24);
893 : }
894 :
895 672 : if (block3.is_used()) {
896 672 : compiler::TNode<Context> tmp25;
897 672 : compiler::TNode<IntPtrT> tmp26;
898 672 : compiler::TNode<IntPtrT> tmp27;
899 672 : ca_.Bind(&block3, &tmp25, &tmp26, &tmp27);
900 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 125);
901 672 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp25);
902 672 : CodeStubAssembler(state_).Unreachable();
903 : }
904 :
905 672 : if (block1.is_used()) {
906 672 : compiler::TNode<Context> tmp29;
907 672 : compiler::TNode<IntPtrT> tmp30;
908 672 : compiler::TNode<IntPtrT> tmp31;
909 672 : compiler::TNode<IntPtrT> tmp32;
910 672 : ca_.Bind(&block1, &tmp29, &tmp30, &tmp31, &tmp32);
911 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 117);
912 672 : ca_.Goto(&block8, tmp29, tmp30, tmp31, tmp32);
913 : }
914 :
915 672 : compiler::TNode<Context> tmp33;
916 672 : compiler::TNode<IntPtrT> tmp34;
917 672 : compiler::TNode<IntPtrT> tmp35;
918 672 : compiler::TNode<IntPtrT> tmp36;
919 672 : ca_.Bind(&block8, &tmp33, &tmp34, &tmp35, &tmp36);
920 1344 : return compiler::TNode<IntPtrT>{tmp36};
921 : }
922 :
923 224 : ArrayJoinBuiltinsFromDSLAssembler::Buffer ArrayJoinBuiltinsFromDSLAssembler::NewBuffer(compiler::TNode<UintPtrT> p_len, compiler::TNode<String> p_sep) {
924 448 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
925 448 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
926 448 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
927 448 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
928 448 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
929 448 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, FixedArray, IntPtrT, IntPtrT, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
930 448 : compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, FixedArray, IntPtrT, IntPtrT, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
931 224 : ca_.Goto(&block0, p_len, p_sep);
932 :
933 224 : if (block0.is_used()) {
934 224 : compiler::TNode<UintPtrT> tmp0;
935 224 : compiler::TNode<String> tmp1;
936 224 : ca_.Bind(&block0, &tmp0, &tmp1);
937 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 217);
938 224 : compiler::TNode<UintPtrT> tmp2;
939 224 : USE(tmp2);
940 224 : tmp2 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
941 224 : compiler::TNode<BoolT> tmp3;
942 224 : USE(tmp3);
943 224 : tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp0}, compiler::TNode<UintPtrT>{tmp2}));
944 224 : ca_.Branch(tmp3, &block2, &block3, tmp0, tmp1);
945 : }
946 :
947 224 : if (block2.is_used()) {
948 224 : compiler::TNode<UintPtrT> tmp4;
949 224 : compiler::TNode<String> tmp5;
950 224 : ca_.Bind(&block2, &tmp4, &tmp5);
951 224 : ca_.Goto(&block5, tmp4, tmp5);
952 : }
953 :
954 224 : if (block3.is_used()) {
955 224 : compiler::TNode<UintPtrT> tmp6;
956 224 : compiler::TNode<String> tmp7;
957 224 : ca_.Bind(&block3, &tmp6, &tmp7);
958 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 219);
959 224 : compiler::TNode<IntPtrT> tmp8;
960 224 : USE(tmp8);
961 224 : tmp8 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp6}));
962 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 217);
963 224 : ca_.Goto(&block4, tmp6, tmp7, tmp8);
964 : }
965 :
966 224 : if (block5.is_used()) {
967 224 : compiler::TNode<UintPtrT> tmp9;
968 224 : compiler::TNode<String> tmp10;
969 224 : ca_.Bind(&block5, &tmp9, &tmp10);
970 224 : compiler::TNode<IntPtrT> tmp11;
971 224 : USE(tmp11);
972 224 : tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
973 224 : ca_.Goto(&block4, tmp9, tmp10, tmp11);
974 : }
975 :
976 224 : if (block4.is_used()) {
977 224 : compiler::TNode<UintPtrT> tmp12;
978 224 : compiler::TNode<String> tmp13;
979 224 : compiler::TNode<IntPtrT> tmp14;
980 224 : ca_.Bind(&block4, &tmp12, &tmp13, &tmp14);
981 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 222);
982 224 : compiler::TNode<FixedArray> tmp15;
983 224 : USE(tmp15);
984 224 : tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateZeroedFixedArray(compiler::TNode<IntPtrT>{tmp14}));
985 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 225);
986 224 : compiler::TNode<Int32T> tmp16;
987 224 : USE(tmp16);
988 224 : tmp16 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp13}));
989 224 : compiler::TNode<BoolT> tmp17;
990 224 : USE(tmp17);
991 224 : tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp16}));
992 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 221);
993 224 : compiler::TNode<IntPtrT> tmp18;
994 224 : USE(tmp18);
995 224 : tmp18 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
996 224 : compiler::TNode<IntPtrT> tmp19;
997 224 : USE(tmp19);
998 224 : tmp19 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
999 224 : ca_.Goto(&block1, tmp12, tmp13, tmp15, tmp18, tmp19, tmp17);
1000 : }
1001 :
1002 224 : if (block1.is_used()) {
1003 224 : compiler::TNode<UintPtrT> tmp20;
1004 224 : compiler::TNode<String> tmp21;
1005 224 : compiler::TNode<FixedArray> tmp22;
1006 224 : compiler::TNode<IntPtrT> tmp23;
1007 224 : compiler::TNode<IntPtrT> tmp24;
1008 224 : compiler::TNode<BoolT> tmp25;
1009 224 : ca_.Bind(&block1, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
1010 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 216);
1011 224 : ca_.Goto(&block6, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25);
1012 : }
1013 :
1014 224 : compiler::TNode<UintPtrT> tmp26;
1015 224 : compiler::TNode<String> tmp27;
1016 224 : compiler::TNode<FixedArray> tmp28;
1017 224 : compiler::TNode<IntPtrT> tmp29;
1018 224 : compiler::TNode<IntPtrT> tmp30;
1019 224 : compiler::TNode<BoolT> tmp31;
1020 224 : ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
1021 448 : return ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp28}, compiler::TNode<IntPtrT>{tmp29}, compiler::TNode<IntPtrT>{tmp30}, compiler::TNode<BoolT>{tmp31}};
1022 : }
1023 :
1024 224 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::BufferJoin(compiler::TNode<Context> p_context, ArrayJoinBuiltinsFromDSLAssembler::Buffer p_buffer, compiler::TNode<String> p_sep) {
1025 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1026 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1027 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1028 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1029 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1030 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1031 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1032 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1033 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1034 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1035 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1036 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1037 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1038 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1039 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1040 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1041 448 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1042 224 : ca_.Goto(&block0, p_context, p_buffer.fixedArray, p_buffer.index, p_buffer.totalStringLength, p_buffer.isOneByte, p_sep);
1043 :
1044 224 : if (block0.is_used()) {
1045 224 : compiler::TNode<Context> tmp0;
1046 224 : compiler::TNode<FixedArray> tmp1;
1047 224 : compiler::TNode<IntPtrT> tmp2;
1048 224 : compiler::TNode<IntPtrT> tmp3;
1049 224 : compiler::TNode<BoolT> tmp4;
1050 224 : compiler::TNode<String> tmp5;
1051 224 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
1052 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 232);
1053 224 : compiler::TNode<IntPtrT> tmp6;
1054 224 : USE(tmp6);
1055 224 : tmp6 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
1056 224 : compiler::TNode<BoolT> tmp7;
1057 224 : USE(tmp7);
1058 224 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp6}));
1059 224 : ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
1060 : }
1061 :
1062 224 : if (block2.is_used()) {
1063 224 : compiler::TNode<Context> tmp8;
1064 224 : compiler::TNode<FixedArray> tmp9;
1065 224 : compiler::TNode<IntPtrT> tmp10;
1066 224 : compiler::TNode<IntPtrT> tmp11;
1067 224 : compiler::TNode<BoolT> tmp12;
1068 224 : compiler::TNode<String> tmp13;
1069 224 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
1070 224 : compiler::TNode<String> tmp14;
1071 224 : USE(tmp14);
1072 224 : tmp14 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
1073 224 : ca_.Goto(&block1, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
1074 : }
1075 :
1076 224 : if (block3.is_used()) {
1077 224 : compiler::TNode<Context> tmp15;
1078 224 : compiler::TNode<FixedArray> tmp16;
1079 224 : compiler::TNode<IntPtrT> tmp17;
1080 224 : compiler::TNode<IntPtrT> tmp18;
1081 224 : compiler::TNode<BoolT> tmp19;
1082 224 : compiler::TNode<String> tmp20;
1083 224 : ca_.Bind(&block3, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
1084 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 235);
1085 224 : compiler::TNode<IntPtrT> tmp21;
1086 224 : USE(tmp21);
1087 224 : tmp21 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
1088 224 : compiler::TNode<BoolT> tmp22;
1089 224 : USE(tmp22);
1090 224 : tmp22 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp17}, compiler::TNode<IntPtrT>{tmp21}));
1091 224 : ca_.Branch(tmp22, &block4, &block5, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
1092 : }
1093 :
1094 224 : if (block4.is_used()) {
1095 224 : compiler::TNode<Context> tmp23;
1096 224 : compiler::TNode<FixedArray> tmp24;
1097 224 : compiler::TNode<IntPtrT> tmp25;
1098 224 : compiler::TNode<IntPtrT> tmp26;
1099 224 : compiler::TNode<BoolT> tmp27;
1100 224 : compiler::TNode<String> tmp28;
1101 224 : ca_.Bind(&block4, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
1102 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 236);
1103 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 237);
1104 224 : compiler::TNode<Object> tmp29;
1105 224 : USE(tmp29);
1106 224 : tmp29 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, 0));
1107 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 240);
1108 224 : compiler::TNode<String> tmp30;
1109 224 : USE(tmp30);
1110 448 : compiler::CodeAssemblerLabel label0(&ca_);
1111 224 : tmp30 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp23}, compiler::TNode<Object>{tmp29}, &label0);
1112 224 : ca_.Goto(&block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29, tmp30);
1113 224 : if (label0.is_used()) {
1114 224 : ca_.Bind(&label0);
1115 224 : ca_.Goto(&block9, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29);
1116 : }
1117 : }
1118 :
1119 224 : if (block9.is_used()) {
1120 224 : compiler::TNode<Context> tmp31;
1121 224 : compiler::TNode<FixedArray> tmp32;
1122 224 : compiler::TNode<IntPtrT> tmp33;
1123 224 : compiler::TNode<IntPtrT> tmp34;
1124 224 : compiler::TNode<BoolT> tmp35;
1125 224 : compiler::TNode<String> tmp36;
1126 224 : compiler::TNode<FixedArray> tmp37;
1127 224 : compiler::TNode<Object> tmp38;
1128 224 : compiler::TNode<Object> tmp39;
1129 224 : ca_.Bind(&block9, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
1130 224 : ca_.Goto(&block7, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38);
1131 : }
1132 :
1133 224 : if (block8.is_used()) {
1134 224 : compiler::TNode<Context> tmp40;
1135 224 : compiler::TNode<FixedArray> tmp41;
1136 224 : compiler::TNode<IntPtrT> tmp42;
1137 224 : compiler::TNode<IntPtrT> tmp43;
1138 224 : compiler::TNode<BoolT> tmp44;
1139 224 : compiler::TNode<String> tmp45;
1140 224 : compiler::TNode<FixedArray> tmp46;
1141 224 : compiler::TNode<Object> tmp47;
1142 224 : compiler::TNode<Object> tmp48;
1143 224 : compiler::TNode<String> tmp49;
1144 224 : ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
1145 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 241);
1146 224 : ca_.Goto(&block1, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp49);
1147 : }
1148 :
1149 224 : if (block7.is_used()) {
1150 224 : compiler::TNode<Context> tmp50;
1151 224 : compiler::TNode<FixedArray> tmp51;
1152 224 : compiler::TNode<IntPtrT> tmp52;
1153 224 : compiler::TNode<IntPtrT> tmp53;
1154 224 : compiler::TNode<BoolT> tmp54;
1155 224 : compiler::TNode<String> tmp55;
1156 224 : compiler::TNode<FixedArray> tmp56;
1157 224 : compiler::TNode<Object> tmp57;
1158 224 : ca_.Bind(&block7, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
1159 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 246);
1160 224 : compiler::TNode<Number> tmp58;
1161 224 : USE(tmp58);
1162 448 : compiler::CodeAssemblerLabel label0(&ca_);
1163 224 : tmp58 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp57)}, &label0);
1164 224 : ca_.Goto(&block12, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57), tmp58);
1165 224 : if (label0.is_used()) {
1166 224 : ca_.Bind(&label0);
1167 224 : ca_.Goto(&block13, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57));
1168 : }
1169 : }
1170 :
1171 224 : if (block13.is_used()) {
1172 224 : compiler::TNode<Context> tmp59;
1173 224 : compiler::TNode<FixedArray> tmp60;
1174 224 : compiler::TNode<IntPtrT> tmp61;
1175 224 : compiler::TNode<IntPtrT> tmp62;
1176 224 : compiler::TNode<BoolT> tmp63;
1177 224 : compiler::TNode<String> tmp64;
1178 224 : compiler::TNode<FixedArray> tmp65;
1179 224 : compiler::TNode<Object> tmp66;
1180 224 : compiler::TNode<Object> tmp67;
1181 224 : ca_.Bind(&block13, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
1182 224 : ca_.Goto(&block11, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66);
1183 : }
1184 :
1185 224 : if (block12.is_used()) {
1186 224 : compiler::TNode<Context> tmp68;
1187 224 : compiler::TNode<FixedArray> tmp69;
1188 224 : compiler::TNode<IntPtrT> tmp70;
1189 224 : compiler::TNode<IntPtrT> tmp71;
1190 224 : compiler::TNode<BoolT> tmp72;
1191 224 : compiler::TNode<String> tmp73;
1192 224 : compiler::TNode<FixedArray> tmp74;
1193 224 : compiler::TNode<Object> tmp75;
1194 224 : compiler::TNode<Object> tmp76;
1195 224 : compiler::TNode<Number> tmp77;
1196 224 : ca_.Bind(&block12, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
1197 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 247);
1198 224 : compiler::TNode<String> tmp78;
1199 224 : tmp78 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp68, tmp73, tmp77));
1200 224 : USE(tmp78);
1201 224 : ca_.Goto(&block1, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp78);
1202 : }
1203 :
1204 224 : if (block11.is_used()) {
1205 224 : compiler::TNode<Context> tmp79;
1206 224 : compiler::TNode<FixedArray> tmp80;
1207 224 : compiler::TNode<IntPtrT> tmp81;
1208 224 : compiler::TNode<IntPtrT> tmp82;
1209 224 : compiler::TNode<BoolT> tmp83;
1210 224 : compiler::TNode<String> tmp84;
1211 224 : compiler::TNode<FixedArray> tmp85;
1212 224 : compiler::TNode<Object> tmp86;
1213 224 : ca_.Bind(&block11, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86);
1214 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 249);
1215 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 250);
1216 224 : CodeStubAssembler(state_).Unreachable();
1217 : }
1218 :
1219 224 : if (block5.is_used()) {
1220 224 : compiler::TNode<Context> tmp87;
1221 224 : compiler::TNode<FixedArray> tmp88;
1222 224 : compiler::TNode<IntPtrT> tmp89;
1223 224 : compiler::TNode<IntPtrT> tmp90;
1224 224 : compiler::TNode<BoolT> tmp91;
1225 224 : compiler::TNode<String> tmp92;
1226 224 : ca_.Bind(&block5, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
1227 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 255);
1228 224 : compiler::TNode<UintPtrT> tmp93;
1229 224 : USE(tmp93);
1230 224 : tmp93 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).Unsigned(compiler::TNode<IntPtrT>{tmp90}));
1231 224 : compiler::TNode<Uint32T> tmp94;
1232 224 : USE(tmp94);
1233 224 : tmp94 = ca_.UncheckedCast<Uint32T>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATuint329ATuintptr(compiler::TNode<UintPtrT>{tmp93}));
1234 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 256);
1235 224 : ca_.Branch(tmp91, &block14, &block15, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp94);
1236 : }
1237 :
1238 224 : if (block14.is_used()) {
1239 224 : compiler::TNode<Context> tmp95;
1240 224 : compiler::TNode<FixedArray> tmp96;
1241 224 : compiler::TNode<IntPtrT> tmp97;
1242 224 : compiler::TNode<IntPtrT> tmp98;
1243 224 : compiler::TNode<BoolT> tmp99;
1244 224 : compiler::TNode<String> tmp100;
1245 224 : compiler::TNode<Uint32T> tmp101;
1246 224 : ca_.Bind(&block14, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101);
1247 224 : compiler::TNode<String> tmp102;
1248 224 : USE(tmp102);
1249 224 : tmp102 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqOneByteString(compiler::TNode<Context>{tmp95}, compiler::TNode<Uint32T>{tmp101}));
1250 224 : ca_.Goto(&block17, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102);
1251 : }
1252 :
1253 224 : if (block15.is_used()) {
1254 224 : compiler::TNode<Context> tmp103;
1255 224 : compiler::TNode<FixedArray> tmp104;
1256 224 : compiler::TNode<IntPtrT> tmp105;
1257 224 : compiler::TNode<IntPtrT> tmp106;
1258 224 : compiler::TNode<BoolT> tmp107;
1259 224 : compiler::TNode<String> tmp108;
1260 224 : compiler::TNode<Uint32T> tmp109;
1261 224 : ca_.Bind(&block15, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
1262 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 257);
1263 224 : compiler::TNode<String> tmp110;
1264 224 : USE(tmp110);
1265 224 : tmp110 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqTwoByteString(compiler::TNode<Context>{tmp103}, compiler::TNode<Uint32T>{tmp109}));
1266 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 256);
1267 224 : ca_.Goto(&block16, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110);
1268 : }
1269 :
1270 224 : if (block17.is_used()) {
1271 224 : compiler::TNode<Context> tmp111;
1272 224 : compiler::TNode<FixedArray> tmp112;
1273 224 : compiler::TNode<IntPtrT> tmp113;
1274 224 : compiler::TNode<IntPtrT> tmp114;
1275 224 : compiler::TNode<BoolT> tmp115;
1276 224 : compiler::TNode<String> tmp116;
1277 224 : compiler::TNode<Uint32T> tmp117;
1278 224 : compiler::TNode<String> tmp118;
1279 224 : ca_.Bind(&block17, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
1280 224 : ca_.Goto(&block16, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
1281 : }
1282 :
1283 224 : if (block16.is_used()) {
1284 224 : compiler::TNode<Context> tmp119;
1285 224 : compiler::TNode<FixedArray> tmp120;
1286 224 : compiler::TNode<IntPtrT> tmp121;
1287 224 : compiler::TNode<IntPtrT> tmp122;
1288 224 : compiler::TNode<BoolT> tmp123;
1289 224 : compiler::TNode<String> tmp124;
1290 224 : compiler::TNode<Uint32T> tmp125;
1291 224 : compiler::TNode<String> tmp126;
1292 224 : ca_.Bind(&block16, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
1293 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 259);
1294 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 258);
1295 224 : compiler::TNode<String> tmp127;
1296 224 : USE(tmp127);
1297 224 : tmp127 = ca_.UncheckedCast<String>(ArrayBuiltinsAssembler(state_).CallJSArrayArrayJoinConcatToSequentialString(compiler::TNode<FixedArray>{tmp120}, compiler::TNode<IntPtrT>{tmp121}, compiler::TNode<String>{tmp124}, compiler::TNode<String>{tmp126}));
1298 224 : ca_.Goto(&block1, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp127);
1299 : }
1300 :
1301 224 : if (block1.is_used()) {
1302 224 : compiler::TNode<Context> tmp128;
1303 224 : compiler::TNode<FixedArray> tmp129;
1304 224 : compiler::TNode<IntPtrT> tmp130;
1305 224 : compiler::TNode<IntPtrT> tmp131;
1306 224 : compiler::TNode<BoolT> tmp132;
1307 224 : compiler::TNode<String> tmp133;
1308 224 : compiler::TNode<String> tmp134;
1309 224 : ca_.Bind(&block1, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134);
1310 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 229);
1311 224 : ca_.Goto(&block18, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134);
1312 : }
1313 :
1314 224 : compiler::TNode<Context> tmp135;
1315 224 : compiler::TNode<FixedArray> tmp136;
1316 224 : compiler::TNode<IntPtrT> tmp137;
1317 224 : compiler::TNode<IntPtrT> tmp138;
1318 224 : compiler::TNode<BoolT> tmp139;
1319 224 : compiler::TNode<String> tmp140;
1320 224 : compiler::TNode<String> tmp141;
1321 224 : ca_.Bind(&block18, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141);
1322 448 : return compiler::TNode<String>{tmp141};
1323 : }
1324 :
1325 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) {
1326 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1327 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1328 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver, JSArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1329 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1330 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1331 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1332 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1333 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1334 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1335 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1336 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1337 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1338 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1339 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block18(&ca_, compiler::CodeAssemblerLabel::kDeferred);
1340 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1341 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1342 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1343 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1344 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number, Smi> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1345 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1346 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1347 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1348 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1349 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1350 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1351 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1352 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1353 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1354 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1355 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1356 112 : ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
1357 :
1358 112 : if (block0.is_used()) {
1359 112 : compiler::TNode<Context> tmp0;
1360 112 : compiler::TNode<JSReceiver> tmp1;
1361 112 : compiler::TNode<String> tmp2;
1362 112 : compiler::TNode<Number> tmp3;
1363 112 : compiler::TNode<Object> tmp4;
1364 112 : compiler::TNode<Object> tmp5;
1365 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
1366 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 333);
1367 112 : compiler::TNode<Map> tmp6;
1368 112 : USE(tmp6);
1369 112 : tmp6 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp1}));
1370 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 334);
1371 112 : compiler::TNode<Int32T> tmp7;
1372 112 : USE(tmp7);
1373 112 : tmp7 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp6}));
1374 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 335);
1375 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 338);
1376 112 : compiler::TNode<JSArray> tmp8;
1377 112 : USE(tmp8);
1378 224 : compiler::CodeAssemblerLabel label0(&ca_);
1379 112 : tmp8 = BaseBuiltinsFromDSLAssembler(state_).Cast7JSArray(compiler::TNode<HeapObject>{tmp1}, &label0);
1380 112 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, ca_.Uninitialized<BuiltinPtr>(), tmp1, tmp8);
1381 112 : if (label0.is_used()) {
1382 112 : ca_.Bind(&label0);
1383 112 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, ca_.Uninitialized<BuiltinPtr>(), tmp1);
1384 : }
1385 : }
1386 :
1387 112 : if (block5.is_used()) {
1388 112 : compiler::TNode<Context> tmp9;
1389 112 : compiler::TNode<JSReceiver> tmp10;
1390 112 : compiler::TNode<String> tmp11;
1391 112 : compiler::TNode<Number> tmp12;
1392 112 : compiler::TNode<Object> tmp13;
1393 112 : compiler::TNode<Object> tmp14;
1394 112 : compiler::TNode<Map> tmp15;
1395 112 : compiler::TNode<Int32T> tmp16;
1396 112 : compiler::TNode<BuiltinPtr> tmp17;
1397 112 : compiler::TNode<JSReceiver> tmp18;
1398 112 : ca_.Bind(&block5, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
1399 112 : ca_.Goto(&block3, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
1400 : }
1401 :
1402 112 : if (block4.is_used()) {
1403 112 : compiler::TNode<Context> tmp19;
1404 112 : compiler::TNode<JSReceiver> tmp20;
1405 112 : compiler::TNode<String> tmp21;
1406 112 : compiler::TNode<Number> tmp22;
1407 112 : compiler::TNode<Object> tmp23;
1408 112 : compiler::TNode<Object> tmp24;
1409 112 : compiler::TNode<Map> tmp25;
1410 112 : compiler::TNode<Int32T> tmp26;
1411 112 : compiler::TNode<BuiltinPtr> tmp27;
1412 112 : compiler::TNode<JSReceiver> tmp28;
1413 112 : compiler::TNode<JSArray> tmp29;
1414 112 : ca_.Bind(&block4, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
1415 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 339);
1416 112 : compiler::TNode<Number> tmp30;
1417 112 : USE(tmp30);
1418 112 : tmp30 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArrayLength(compiler::TNode<JSArray>{tmp29}));
1419 112 : compiler::TNode<BoolT> tmp31;
1420 112 : USE(tmp31);
1421 112 : tmp31 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp22}));
1422 112 : ca_.Branch(tmp31, &block6, &block7, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp29);
1423 : }
1424 :
1425 112 : if (block6.is_used()) {
1426 112 : compiler::TNode<Context> tmp32;
1427 112 : compiler::TNode<JSReceiver> tmp33;
1428 112 : compiler::TNode<String> tmp34;
1429 112 : compiler::TNode<Number> tmp35;
1430 112 : compiler::TNode<Object> tmp36;
1431 112 : compiler::TNode<Object> tmp37;
1432 112 : compiler::TNode<Map> tmp38;
1433 112 : compiler::TNode<Int32T> tmp39;
1434 112 : compiler::TNode<BuiltinPtr> tmp40;
1435 112 : compiler::TNode<JSArray> tmp41;
1436 112 : ca_.Bind(&block6, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41);
1437 112 : ca_.Goto(&block3, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40);
1438 : }
1439 :
1440 112 : if (block7.is_used()) {
1441 112 : compiler::TNode<Context> tmp42;
1442 112 : compiler::TNode<JSReceiver> tmp43;
1443 112 : compiler::TNode<String> tmp44;
1444 112 : compiler::TNode<Number> tmp45;
1445 112 : compiler::TNode<Object> tmp46;
1446 112 : compiler::TNode<Object> tmp47;
1447 112 : compiler::TNode<Map> tmp48;
1448 112 : compiler::TNode<Int32T> tmp49;
1449 112 : compiler::TNode<BuiltinPtr> tmp50;
1450 112 : compiler::TNode<JSArray> tmp51;
1451 112 : ca_.Bind(&block7, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
1452 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 340);
1453 112 : compiler::TNode<BoolT> tmp52;
1454 112 : USE(tmp52);
1455 112 : tmp52 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsPrototypeInitialArrayPrototype(compiler::TNode<Context>{tmp42}, compiler::TNode<Map>{tmp48}));
1456 112 : compiler::TNode<BoolT> tmp53;
1457 112 : USE(tmp53);
1458 112 : tmp53 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp52}));
1459 112 : ca_.Branch(tmp53, &block8, &block9, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51);
1460 : }
1461 :
1462 112 : if (block8.is_used()) {
1463 112 : compiler::TNode<Context> tmp54;
1464 112 : compiler::TNode<JSReceiver> tmp55;
1465 112 : compiler::TNode<String> tmp56;
1466 112 : compiler::TNode<Number> tmp57;
1467 112 : compiler::TNode<Object> tmp58;
1468 112 : compiler::TNode<Object> tmp59;
1469 112 : compiler::TNode<Map> tmp60;
1470 112 : compiler::TNode<Int32T> tmp61;
1471 112 : compiler::TNode<BuiltinPtr> tmp62;
1472 112 : compiler::TNode<JSArray> tmp63;
1473 112 : ca_.Bind(&block8, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63);
1474 112 : ca_.Goto(&block3, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62);
1475 : }
1476 :
1477 112 : if (block9.is_used()) {
1478 112 : compiler::TNode<Context> tmp64;
1479 112 : compiler::TNode<JSReceiver> tmp65;
1480 112 : compiler::TNode<String> tmp66;
1481 112 : compiler::TNode<Number> tmp67;
1482 112 : compiler::TNode<Object> tmp68;
1483 112 : compiler::TNode<Object> tmp69;
1484 112 : compiler::TNode<Map> tmp70;
1485 112 : compiler::TNode<Int32T> tmp71;
1486 112 : compiler::TNode<BuiltinPtr> tmp72;
1487 112 : compiler::TNode<JSArray> tmp73;
1488 112 : ca_.Bind(&block9, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73);
1489 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 341);
1490 112 : compiler::TNode<BoolT> tmp74;
1491 112 : USE(tmp74);
1492 112 : tmp74 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
1493 112 : ca_.Branch(tmp74, &block10, &block11, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
1494 : }
1495 :
1496 112 : if (block10.is_used()) {
1497 112 : compiler::TNode<Context> tmp75;
1498 112 : compiler::TNode<JSReceiver> tmp76;
1499 112 : compiler::TNode<String> tmp77;
1500 112 : compiler::TNode<Number> tmp78;
1501 112 : compiler::TNode<Object> tmp79;
1502 112 : compiler::TNode<Object> tmp80;
1503 112 : compiler::TNode<Map> tmp81;
1504 112 : compiler::TNode<Int32T> tmp82;
1505 112 : compiler::TNode<BuiltinPtr> tmp83;
1506 112 : compiler::TNode<JSArray> tmp84;
1507 112 : ca_.Bind(&block10, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84);
1508 112 : ca_.Goto(&block3, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83);
1509 : }
1510 :
1511 112 : if (block11.is_used()) {
1512 112 : compiler::TNode<Context> tmp85;
1513 112 : compiler::TNode<JSReceiver> tmp86;
1514 112 : compiler::TNode<String> tmp87;
1515 112 : compiler::TNode<Number> tmp88;
1516 112 : compiler::TNode<Object> tmp89;
1517 112 : compiler::TNode<Object> tmp90;
1518 112 : compiler::TNode<Map> tmp91;
1519 112 : compiler::TNode<Int32T> tmp92;
1520 112 : compiler::TNode<BuiltinPtr> tmp93;
1521 112 : compiler::TNode<JSArray> tmp94;
1522 112 : ca_.Bind(&block11, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94);
1523 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
1524 112 : compiler::TNode<BoolT> tmp95;
1525 112 : USE(tmp95);
1526 112 : tmp95 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp92}, HOLEY_ELEMENTS));
1527 112 : ca_.Branch(tmp95, &block12, &block13, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94);
1528 : }
1529 :
1530 112 : if (block12.is_used()) {
1531 112 : compiler::TNode<Context> tmp96;
1532 112 : compiler::TNode<JSReceiver> tmp97;
1533 112 : compiler::TNode<String> tmp98;
1534 112 : compiler::TNode<Number> tmp99;
1535 112 : compiler::TNode<Object> tmp100;
1536 112 : compiler::TNode<Object> tmp101;
1537 112 : compiler::TNode<Map> tmp102;
1538 112 : compiler::TNode<Int32T> tmp103;
1539 112 : compiler::TNode<BuiltinPtr> tmp104;
1540 112 : compiler::TNode<JSArray> tmp105;
1541 112 : ca_.Bind(&block12, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105);
1542 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 344);
1543 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
1544 112 : ca_.Goto(&block14, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATFastSmiOrObjectElements)), tmp105);
1545 : }
1546 :
1547 112 : if (block13.is_used()) {
1548 112 : compiler::TNode<Context> tmp106;
1549 112 : compiler::TNode<JSReceiver> tmp107;
1550 112 : compiler::TNode<String> tmp108;
1551 112 : compiler::TNode<Number> tmp109;
1552 112 : compiler::TNode<Object> tmp110;
1553 112 : compiler::TNode<Object> tmp111;
1554 112 : compiler::TNode<Map> tmp112;
1555 112 : compiler::TNode<Int32T> tmp113;
1556 112 : compiler::TNode<BuiltinPtr> tmp114;
1557 112 : compiler::TNode<JSArray> tmp115;
1558 112 : ca_.Bind(&block13, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
1559 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
1560 112 : compiler::TNode<BoolT> tmp116;
1561 112 : USE(tmp116);
1562 112 : tmp116 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp113}, HOLEY_DOUBLE_ELEMENTS));
1563 112 : ca_.Branch(tmp116, &block15, &block16, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115);
1564 : }
1565 :
1566 112 : if (block15.is_used()) {
1567 112 : compiler::TNode<Context> tmp117;
1568 112 : compiler::TNode<JSReceiver> tmp118;
1569 112 : compiler::TNode<String> tmp119;
1570 112 : compiler::TNode<Number> tmp120;
1571 112 : compiler::TNode<Object> tmp121;
1572 112 : compiler::TNode<Object> tmp122;
1573 112 : compiler::TNode<Map> tmp123;
1574 112 : compiler::TNode<Int32T> tmp124;
1575 112 : compiler::TNode<BuiltinPtr> tmp125;
1576 112 : compiler::TNode<JSArray> tmp126;
1577 112 : ca_.Bind(&block15, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
1578 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 346);
1579 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
1580 112 : ca_.Goto(&block17, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATFastDoubleElements)), tmp126);
1581 : }
1582 :
1583 112 : if (block16.is_used()) {
1584 112 : compiler::TNode<Context> tmp127;
1585 112 : compiler::TNode<JSReceiver> tmp128;
1586 112 : compiler::TNode<String> tmp129;
1587 112 : compiler::TNode<Number> tmp130;
1588 112 : compiler::TNode<Object> tmp131;
1589 112 : compiler::TNode<Object> tmp132;
1590 112 : compiler::TNode<Map> tmp133;
1591 112 : compiler::TNode<Int32T> tmp134;
1592 112 : compiler::TNode<BuiltinPtr> tmp135;
1593 112 : compiler::TNode<JSArray> tmp136;
1594 112 : ca_.Bind(&block16, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136);
1595 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 347);
1596 112 : compiler::TNode<Int32T> tmp137;
1597 112 : USE(tmp137);
1598 112 : tmp137 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(DICTIONARY_ELEMENTS));
1599 112 : compiler::TNode<BoolT> tmp138;
1600 112 : USE(tmp138);
1601 112 : tmp138 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp134}, compiler::TNode<Int32T>{tmp137}));
1602 112 : ca_.Branch(tmp138, &block18, &block19, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136);
1603 : }
1604 :
1605 112 : if (block18.is_used()) {
1606 112 : compiler::TNode<Context> tmp139;
1607 112 : compiler::TNode<JSReceiver> tmp140;
1608 112 : compiler::TNode<String> tmp141;
1609 112 : compiler::TNode<Number> tmp142;
1610 112 : compiler::TNode<Object> tmp143;
1611 112 : compiler::TNode<Object> tmp144;
1612 112 : compiler::TNode<Map> tmp145;
1613 112 : compiler::TNode<Int32T> tmp146;
1614 112 : compiler::TNode<BuiltinPtr> tmp147;
1615 112 : compiler::TNode<JSArray> tmp148;
1616 112 : ca_.Bind(&block18, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148);
1617 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 350);
1618 112 : compiler::TNode<FixedArrayBase> tmp149;
1619 112 : USE(tmp149);
1620 112 : tmp149 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp148}));
1621 112 : compiler::TNode<NumberDictionary> tmp150;
1622 112 : USE(tmp150);
1623 112 : tmp150 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp139}, compiler::TNode<Object>{tmp149}));
1624 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 349);
1625 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 351);
1626 112 : compiler::TNode<Smi> tmp151;
1627 112 : USE(tmp151);
1628 112 : tmp151 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).GetNumberDictionaryNumberOfElements(compiler::TNode<NumberDictionary>{tmp150}));
1629 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 352);
1630 112 : compiler::TNode<Smi> tmp152;
1631 112 : USE(tmp152);
1632 112 : tmp152 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
1633 112 : compiler::TNode<BoolT> tmp153;
1634 112 : USE(tmp153);
1635 112 : tmp153 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp151}, compiler::TNode<Smi>{tmp152}));
1636 112 : ca_.Branch(tmp153, &block21, &block22, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp150, tmp151);
1637 : }
1638 :
1639 112 : if (block21.is_used()) {
1640 112 : compiler::TNode<Context> tmp154;
1641 112 : compiler::TNode<JSReceiver> tmp155;
1642 112 : compiler::TNode<String> tmp156;
1643 112 : compiler::TNode<Number> tmp157;
1644 112 : compiler::TNode<Object> tmp158;
1645 112 : compiler::TNode<Object> tmp159;
1646 112 : compiler::TNode<Map> tmp160;
1647 112 : compiler::TNode<Int32T> tmp161;
1648 112 : compiler::TNode<BuiltinPtr> tmp162;
1649 112 : compiler::TNode<JSArray> tmp163;
1650 112 : compiler::TNode<NumberDictionary> tmp164;
1651 112 : compiler::TNode<Smi> tmp165;
1652 112 : ca_.Bind(&block21, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
1653 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 353);
1654 112 : compiler::TNode<String> tmp166;
1655 112 : USE(tmp166);
1656 112 : tmp166 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
1657 112 : compiler::TNode<BoolT> tmp167;
1658 112 : USE(tmp167);
1659 112 : tmp167 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp156}, compiler::TNode<HeapObject>{tmp166}));
1660 112 : ca_.Branch(tmp167, &block24, &block25, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165);
1661 : }
1662 :
1663 112 : if (block24.is_used()) {
1664 112 : compiler::TNode<Context> tmp168;
1665 112 : compiler::TNode<JSReceiver> tmp169;
1666 112 : compiler::TNode<String> tmp170;
1667 112 : compiler::TNode<Number> tmp171;
1668 112 : compiler::TNode<Object> tmp172;
1669 112 : compiler::TNode<Object> tmp173;
1670 112 : compiler::TNode<Map> tmp174;
1671 112 : compiler::TNode<Int32T> tmp175;
1672 112 : compiler::TNode<BuiltinPtr> tmp176;
1673 112 : compiler::TNode<JSArray> tmp177;
1674 112 : compiler::TNode<NumberDictionary> tmp178;
1675 112 : compiler::TNode<Smi> tmp179;
1676 112 : ca_.Bind(&block24, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179);
1677 112 : compiler::TNode<String> tmp180;
1678 112 : USE(tmp180);
1679 112 : tmp180 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
1680 112 : ca_.Goto(&block1, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp180);
1681 : }
1682 :
1683 112 : if (block25.is_used()) {
1684 112 : compiler::TNode<Context> tmp181;
1685 112 : compiler::TNode<JSReceiver> tmp182;
1686 112 : compiler::TNode<String> tmp183;
1687 112 : compiler::TNode<Number> tmp184;
1688 112 : compiler::TNode<Object> tmp185;
1689 112 : compiler::TNode<Object> tmp186;
1690 112 : compiler::TNode<Map> tmp187;
1691 112 : compiler::TNode<Int32T> tmp188;
1692 112 : compiler::TNode<BuiltinPtr> tmp189;
1693 112 : compiler::TNode<JSArray> tmp190;
1694 112 : compiler::TNode<NumberDictionary> tmp191;
1695 112 : compiler::TNode<Smi> tmp192;
1696 112 : ca_.Bind(&block25, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192);
1697 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 356);
1698 112 : compiler::TNode<Number> tmp193;
1699 112 : USE(tmp193);
1700 112 : tmp193 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
1701 112 : compiler::TNode<Number> tmp194;
1702 112 : USE(tmp194);
1703 112 : tmp194 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp184}, compiler::TNode<Number>{tmp193}));
1704 112 : compiler::TNode<Smi> tmp195;
1705 112 : USE(tmp195);
1706 224 : compiler::CodeAssemblerLabel label0(&ca_);
1707 112 : tmp195 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp194}, &label0);
1708 112 : ca_.Goto(&block28, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp194, tmp195);
1709 112 : if (label0.is_used()) {
1710 112 : ca_.Bind(&label0);
1711 112 : ca_.Goto(&block29, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp194);
1712 : }
1713 : }
1714 :
1715 112 : if (block29.is_used()) {
1716 112 : compiler::TNode<Context> tmp196;
1717 112 : compiler::TNode<JSReceiver> tmp197;
1718 112 : compiler::TNode<String> tmp198;
1719 112 : compiler::TNode<Number> tmp199;
1720 112 : compiler::TNode<Object> tmp200;
1721 112 : compiler::TNode<Object> tmp201;
1722 112 : compiler::TNode<Map> tmp202;
1723 112 : compiler::TNode<Int32T> tmp203;
1724 112 : compiler::TNode<BuiltinPtr> tmp204;
1725 112 : compiler::TNode<JSArray> tmp205;
1726 112 : compiler::TNode<NumberDictionary> tmp206;
1727 112 : compiler::TNode<Smi> tmp207;
1728 112 : compiler::TNode<Number> tmp208;
1729 112 : ca_.Bind(&block29, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208);
1730 112 : ca_.Goto(&block27, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207);
1731 : }
1732 :
1733 112 : if (block28.is_used()) {
1734 112 : compiler::TNode<Context> tmp209;
1735 112 : compiler::TNode<JSReceiver> tmp210;
1736 112 : compiler::TNode<String> tmp211;
1737 112 : compiler::TNode<Number> tmp212;
1738 112 : compiler::TNode<Object> tmp213;
1739 112 : compiler::TNode<Object> tmp214;
1740 112 : compiler::TNode<Map> tmp215;
1741 112 : compiler::TNode<Int32T> tmp216;
1742 112 : compiler::TNode<BuiltinPtr> tmp217;
1743 112 : compiler::TNode<JSArray> tmp218;
1744 112 : compiler::TNode<NumberDictionary> tmp219;
1745 112 : compiler::TNode<Smi> tmp220;
1746 112 : compiler::TNode<Number> tmp221;
1747 112 : compiler::TNode<Smi> tmp222;
1748 112 : ca_.Bind(&block28, &tmp209, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222);
1749 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 355);
1750 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 357);
1751 112 : compiler::TNode<String> tmp223;
1752 112 : tmp223 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp209, tmp211, tmp222));
1753 112 : USE(tmp223);
1754 112 : ca_.Goto(&block1, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp223);
1755 : }
1756 :
1757 112 : if (block27.is_used()) {
1758 112 : compiler::TNode<Context> tmp224;
1759 112 : compiler::TNode<JSReceiver> tmp225;
1760 112 : compiler::TNode<String> tmp226;
1761 112 : compiler::TNode<Number> tmp227;
1762 112 : compiler::TNode<Object> tmp228;
1763 112 : compiler::TNode<Object> tmp229;
1764 112 : compiler::TNode<Map> tmp230;
1765 112 : compiler::TNode<Int32T> tmp231;
1766 112 : compiler::TNode<BuiltinPtr> tmp232;
1767 112 : compiler::TNode<JSArray> tmp233;
1768 112 : compiler::TNode<NumberDictionary> tmp234;
1769 112 : compiler::TNode<Smi> tmp235;
1770 112 : ca_.Bind(&block27, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235);
1771 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 360);
1772 112 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp224);
1773 112 : CodeStubAssembler(state_).Unreachable();
1774 : }
1775 :
1776 112 : if (block22.is_used()) {
1777 112 : compiler::TNode<Context> tmp237;
1778 112 : compiler::TNode<JSReceiver> tmp238;
1779 112 : compiler::TNode<String> tmp239;
1780 112 : compiler::TNode<Number> tmp240;
1781 112 : compiler::TNode<Object> tmp241;
1782 112 : compiler::TNode<Object> tmp242;
1783 112 : compiler::TNode<Map> tmp243;
1784 112 : compiler::TNode<Int32T> tmp244;
1785 112 : compiler::TNode<BuiltinPtr> tmp245;
1786 112 : compiler::TNode<JSArray> tmp246;
1787 112 : compiler::TNode<NumberDictionary> tmp247;
1788 112 : compiler::TNode<Smi> tmp248;
1789 112 : ca_.Bind(&block22, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248);
1790 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 363);
1791 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 352);
1792 112 : ca_.Goto(&block23, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATDictionaryElements)), tmp246, tmp247, tmp248);
1793 : }
1794 :
1795 112 : if (block23.is_used()) {
1796 112 : compiler::TNode<Context> tmp249;
1797 112 : compiler::TNode<JSReceiver> tmp250;
1798 112 : compiler::TNode<String> tmp251;
1799 112 : compiler::TNode<Number> tmp252;
1800 112 : compiler::TNode<Object> tmp253;
1801 112 : compiler::TNode<Object> tmp254;
1802 112 : compiler::TNode<Map> tmp255;
1803 112 : compiler::TNode<Int32T> tmp256;
1804 112 : compiler::TNode<BuiltinPtr> tmp257;
1805 112 : compiler::TNode<JSArray> tmp258;
1806 112 : compiler::TNode<NumberDictionary> tmp259;
1807 112 : compiler::TNode<Smi> tmp260;
1808 112 : ca_.Bind(&block23, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260);
1809 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 348);
1810 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 347);
1811 112 : ca_.Goto(&block20, tmp249, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258);
1812 : }
1813 :
1814 112 : if (block19.is_used()) {
1815 112 : compiler::TNode<Context> tmp261;
1816 112 : compiler::TNode<JSReceiver> tmp262;
1817 112 : compiler::TNode<String> tmp263;
1818 112 : compiler::TNode<Number> tmp264;
1819 112 : compiler::TNode<Object> tmp265;
1820 112 : compiler::TNode<Object> tmp266;
1821 112 : compiler::TNode<Map> tmp267;
1822 112 : compiler::TNode<Int32T> tmp268;
1823 112 : compiler::TNode<BuiltinPtr> tmp269;
1824 112 : compiler::TNode<JSArray> tmp270;
1825 112 : ca_.Bind(&block19, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270);
1826 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 367);
1827 112 : ca_.Goto(&block3, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269);
1828 : }
1829 :
1830 112 : if (block20.is_used()) {
1831 112 : compiler::TNode<Context> tmp271;
1832 112 : compiler::TNode<JSReceiver> tmp272;
1833 112 : compiler::TNode<String> tmp273;
1834 112 : compiler::TNode<Number> tmp274;
1835 112 : compiler::TNode<Object> tmp275;
1836 112 : compiler::TNode<Object> tmp276;
1837 112 : compiler::TNode<Map> tmp277;
1838 112 : compiler::TNode<Int32T> tmp278;
1839 112 : compiler::TNode<BuiltinPtr> tmp279;
1840 112 : compiler::TNode<JSArray> tmp280;
1841 112 : ca_.Bind(&block20, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280);
1842 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
1843 112 : ca_.Goto(&block17, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280);
1844 : }
1845 :
1846 112 : if (block17.is_used()) {
1847 112 : compiler::TNode<Context> tmp281;
1848 112 : compiler::TNode<JSReceiver> tmp282;
1849 112 : compiler::TNode<String> tmp283;
1850 112 : compiler::TNode<Number> tmp284;
1851 112 : compiler::TNode<Object> tmp285;
1852 112 : compiler::TNode<Object> tmp286;
1853 112 : compiler::TNode<Map> tmp287;
1854 112 : compiler::TNode<Int32T> tmp288;
1855 112 : compiler::TNode<BuiltinPtr> tmp289;
1856 112 : compiler::TNode<JSArray> tmp290;
1857 112 : ca_.Bind(&block17, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290);
1858 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
1859 112 : ca_.Goto(&block14, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290);
1860 : }
1861 :
1862 112 : if (block14.is_used()) {
1863 112 : compiler::TNode<Context> tmp291;
1864 112 : compiler::TNode<JSReceiver> tmp292;
1865 112 : compiler::TNode<String> tmp293;
1866 112 : compiler::TNode<Number> tmp294;
1867 112 : compiler::TNode<Object> tmp295;
1868 112 : compiler::TNode<Object> tmp296;
1869 112 : compiler::TNode<Map> tmp297;
1870 112 : compiler::TNode<Int32T> tmp298;
1871 112 : compiler::TNode<BuiltinPtr> tmp299;
1872 112 : compiler::TNode<JSArray> tmp300;
1873 112 : ca_.Bind(&block14, &tmp291, &tmp292, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300);
1874 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 337);
1875 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 370);
1876 112 : ca_.Goto(&block2, tmp291, tmp292, tmp293, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299);
1877 : }
1878 :
1879 112 : if (block3.is_used()) {
1880 112 : compiler::TNode<Context> tmp301;
1881 112 : compiler::TNode<JSReceiver> tmp302;
1882 112 : compiler::TNode<String> tmp303;
1883 112 : compiler::TNode<Number> tmp304;
1884 112 : compiler::TNode<Object> tmp305;
1885 112 : compiler::TNode<Object> tmp306;
1886 112 : compiler::TNode<Map> tmp307;
1887 112 : compiler::TNode<Int32T> tmp308;
1888 112 : compiler::TNode<BuiltinPtr> tmp309;
1889 112 : ca_.Bind(&block3, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309);
1890 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 371);
1891 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 337);
1892 112 : ca_.Goto(&block2, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)));
1893 : }
1894 :
1895 112 : if (block2.is_used()) {
1896 112 : compiler::TNode<Context> tmp310;
1897 112 : compiler::TNode<JSReceiver> tmp311;
1898 112 : compiler::TNode<String> tmp312;
1899 112 : compiler::TNode<Number> tmp313;
1900 112 : compiler::TNode<Object> tmp314;
1901 112 : compiler::TNode<Object> tmp315;
1902 112 : compiler::TNode<Map> tmp316;
1903 112 : compiler::TNode<Int32T> tmp317;
1904 112 : compiler::TNode<BuiltinPtr> tmp318;
1905 112 : ca_.Bind(&block2, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318);
1906 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 374);
1907 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 373);
1908 112 : compiler::TNode<String> tmp319;
1909 112 : USE(tmp319);
1910 112 : tmp319 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoinImpl7JSArray(compiler::TNode<Context>{tmp310}, compiler::TNode<JSReceiver>{tmp311}, compiler::TNode<String>{tmp312}, compiler::TNode<Number>{tmp313}, p_useToLocaleString, compiler::TNode<Object>{tmp314}, compiler::TNode<Object>{tmp315}, compiler::TNode<BuiltinPtr>{tmp318}));
1911 112 : ca_.Goto(&block1, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp319);
1912 : }
1913 :
1914 112 : if (block1.is_used()) {
1915 112 : compiler::TNode<Context> tmp320;
1916 112 : compiler::TNode<JSReceiver> tmp321;
1917 112 : compiler::TNode<String> tmp322;
1918 112 : compiler::TNode<Number> tmp323;
1919 112 : compiler::TNode<Object> tmp324;
1920 112 : compiler::TNode<Object> tmp325;
1921 112 : compiler::TNode<Object> tmp326;
1922 112 : ca_.Bind(&block1, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326);
1923 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 326);
1924 112 : ca_.Goto(&block30, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326);
1925 : }
1926 :
1927 112 : compiler::TNode<Context> tmp327;
1928 112 : compiler::TNode<JSReceiver> tmp328;
1929 112 : compiler::TNode<String> tmp329;
1930 112 : compiler::TNode<Number> tmp330;
1931 112 : compiler::TNode<Object> tmp331;
1932 112 : compiler::TNode<Object> tmp332;
1933 112 : compiler::TNode<Object> tmp333;
1934 112 : ca_.Bind(&block30, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333);
1935 224 : return compiler::TNode<Object>{tmp333};
1936 : }
1937 :
1938 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) {
1939 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1940 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1941 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1942 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1943 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1944 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1945 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1946 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1947 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1948 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1949 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1950 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1951 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1952 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1953 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1954 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1955 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1956 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1957 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1958 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1959 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1960 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1961 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1962 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1963 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1964 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1965 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1966 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1967 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block33(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1968 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1969 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1970 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1971 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1972 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1973 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1974 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1975 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1976 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1977 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1978 112 : ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
1979 :
1980 112 : if (block0.is_used()) {
1981 112 : compiler::TNode<Context> tmp0;
1982 112 : compiler::TNode<JSReceiver> tmp1;
1983 112 : compiler::TNode<String> tmp2;
1984 112 : compiler::TNode<Number> tmp3;
1985 112 : compiler::TNode<Object> tmp4;
1986 112 : compiler::TNode<Object> tmp5;
1987 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
1988 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 380);
1989 112 : compiler::TNode<Map> tmp6;
1990 112 : USE(tmp6);
1991 112 : tmp6 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp1}));
1992 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 381);
1993 112 : compiler::TNode<Int32T> tmp7;
1994 112 : USE(tmp7);
1995 112 : tmp7 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp6}));
1996 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 382);
1997 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
1998 112 : compiler::TNode<BoolT> tmp8;
1999 112 : USE(tmp8);
2000 112 : tmp8 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindGreaterThan(compiler::TNode<Int32T>{tmp7}, UINT32_ELEMENTS));
2001 112 : ca_.Branch(tmp8, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, ca_.Uninitialized<BuiltinPtr>());
2002 : }
2003 :
2004 112 : if (block2.is_used()) {
2005 112 : compiler::TNode<Context> tmp9;
2006 112 : compiler::TNode<JSReceiver> tmp10;
2007 112 : compiler::TNode<String> tmp11;
2008 112 : compiler::TNode<Number> tmp12;
2009 112 : compiler::TNode<Object> tmp13;
2010 112 : compiler::TNode<Object> tmp14;
2011 112 : compiler::TNode<Map> tmp15;
2012 112 : compiler::TNode<Int32T> tmp16;
2013 112 : compiler::TNode<BuiltinPtr> tmp17;
2014 112 : ca_.Bind(&block2, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17);
2015 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
2016 112 : compiler::TNode<Int32T> tmp18;
2017 112 : USE(tmp18);
2018 112 : tmp18 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT32_ELEMENTS));
2019 112 : compiler::TNode<BoolT> tmp19;
2020 112 : USE(tmp19);
2021 112 : tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp16}, compiler::TNode<Int32T>{tmp18}));
2022 112 : ca_.Branch(tmp19, &block5, &block6, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
2023 : }
2024 :
2025 112 : if (block5.is_used()) {
2026 112 : compiler::TNode<Context> tmp20;
2027 112 : compiler::TNode<JSReceiver> tmp21;
2028 112 : compiler::TNode<String> tmp22;
2029 112 : compiler::TNode<Number> tmp23;
2030 112 : compiler::TNode<Object> tmp24;
2031 112 : compiler::TNode<Object> tmp25;
2032 112 : compiler::TNode<Map> tmp26;
2033 112 : compiler::TNode<Int32T> tmp27;
2034 112 : compiler::TNode<BuiltinPtr> tmp28;
2035 112 : ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
2036 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 386);
2037 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
2038 112 : ca_.Goto(&block7, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt32Array)));
2039 : }
2040 :
2041 112 : if (block6.is_used()) {
2042 112 : compiler::TNode<Context> tmp29;
2043 112 : compiler::TNode<JSReceiver> tmp30;
2044 112 : compiler::TNode<String> tmp31;
2045 112 : compiler::TNode<Number> tmp32;
2046 112 : compiler::TNode<Object> tmp33;
2047 112 : compiler::TNode<Object> tmp34;
2048 112 : compiler::TNode<Map> tmp35;
2049 112 : compiler::TNode<Int32T> tmp36;
2050 112 : compiler::TNode<BuiltinPtr> tmp37;
2051 112 : ca_.Bind(&block6, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
2052 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
2053 112 : compiler::TNode<Int32T> tmp38;
2054 112 : USE(tmp38);
2055 112 : tmp38 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT32_ELEMENTS));
2056 112 : compiler::TNode<BoolT> tmp39;
2057 112 : USE(tmp39);
2058 112 : tmp39 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp36}, compiler::TNode<Int32T>{tmp38}));
2059 112 : ca_.Branch(tmp39, &block8, &block9, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37);
2060 : }
2061 :
2062 112 : if (block8.is_used()) {
2063 112 : compiler::TNode<Context> tmp40;
2064 112 : compiler::TNode<JSReceiver> tmp41;
2065 112 : compiler::TNode<String> tmp42;
2066 112 : compiler::TNode<Number> tmp43;
2067 112 : compiler::TNode<Object> tmp44;
2068 112 : compiler::TNode<Object> tmp45;
2069 112 : compiler::TNode<Map> tmp46;
2070 112 : compiler::TNode<Int32T> tmp47;
2071 112 : compiler::TNode<BuiltinPtr> tmp48;
2072 112 : ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48);
2073 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 388);
2074 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
2075 112 : ca_.Goto(&block10, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat32Array)));
2076 : }
2077 :
2078 112 : if (block9.is_used()) {
2079 112 : compiler::TNode<Context> tmp49;
2080 112 : compiler::TNode<JSReceiver> tmp50;
2081 112 : compiler::TNode<String> tmp51;
2082 112 : compiler::TNode<Number> tmp52;
2083 112 : compiler::TNode<Object> tmp53;
2084 112 : compiler::TNode<Object> tmp54;
2085 112 : compiler::TNode<Map> tmp55;
2086 112 : compiler::TNode<Int32T> tmp56;
2087 112 : compiler::TNode<BuiltinPtr> tmp57;
2088 112 : ca_.Bind(&block9, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
2089 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
2090 112 : compiler::TNode<Int32T> tmp58;
2091 112 : USE(tmp58);
2092 112 : tmp58 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT64_ELEMENTS));
2093 112 : compiler::TNode<BoolT> tmp59;
2094 112 : USE(tmp59);
2095 112 : tmp59 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp56}, compiler::TNode<Int32T>{tmp58}));
2096 112 : ca_.Branch(tmp59, &block11, &block12, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57);
2097 : }
2098 :
2099 112 : if (block11.is_used()) {
2100 112 : compiler::TNode<Context> tmp60;
2101 112 : compiler::TNode<JSReceiver> tmp61;
2102 112 : compiler::TNode<String> tmp62;
2103 112 : compiler::TNode<Number> tmp63;
2104 112 : compiler::TNode<Object> tmp64;
2105 112 : compiler::TNode<Object> tmp65;
2106 112 : compiler::TNode<Map> tmp66;
2107 112 : compiler::TNode<Int32T> tmp67;
2108 112 : compiler::TNode<BuiltinPtr> tmp68;
2109 112 : ca_.Bind(&block11, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68);
2110 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 390);
2111 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
2112 112 : ca_.Goto(&block13, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat64Array)));
2113 : }
2114 :
2115 112 : if (block12.is_used()) {
2116 112 : compiler::TNode<Context> tmp69;
2117 112 : compiler::TNode<JSReceiver> tmp70;
2118 112 : compiler::TNode<String> tmp71;
2119 112 : compiler::TNode<Number> tmp72;
2120 112 : compiler::TNode<Object> tmp73;
2121 112 : compiler::TNode<Object> tmp74;
2122 112 : compiler::TNode<Map> tmp75;
2123 112 : compiler::TNode<Int32T> tmp76;
2124 112 : compiler::TNode<BuiltinPtr> tmp77;
2125 112 : ca_.Bind(&block12, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
2126 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
2127 112 : compiler::TNode<Int32T> tmp78;
2128 112 : USE(tmp78);
2129 112 : tmp78 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_CLAMPED_ELEMENTS));
2130 112 : compiler::TNode<BoolT> tmp79;
2131 112 : USE(tmp79);
2132 112 : tmp79 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp76}, compiler::TNode<Int32T>{tmp78}));
2133 112 : ca_.Branch(tmp79, &block14, &block15, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77);
2134 : }
2135 :
2136 112 : if (block14.is_used()) {
2137 112 : compiler::TNode<Context> tmp80;
2138 112 : compiler::TNode<JSReceiver> tmp81;
2139 112 : compiler::TNode<String> tmp82;
2140 112 : compiler::TNode<Number> tmp83;
2141 112 : compiler::TNode<Object> tmp84;
2142 112 : compiler::TNode<Object> tmp85;
2143 112 : compiler::TNode<Map> tmp86;
2144 112 : compiler::TNode<Int32T> tmp87;
2145 112 : compiler::TNode<BuiltinPtr> tmp88;
2146 112 : ca_.Bind(&block14, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88);
2147 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 392);
2148 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
2149 112 : ca_.Goto(&block16, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement24ATFixedUint8ClampedArray)));
2150 : }
2151 :
2152 112 : if (block15.is_used()) {
2153 112 : compiler::TNode<Context> tmp89;
2154 112 : compiler::TNode<JSReceiver> tmp90;
2155 112 : compiler::TNode<String> tmp91;
2156 112 : compiler::TNode<Number> tmp92;
2157 112 : compiler::TNode<Object> tmp93;
2158 112 : compiler::TNode<Object> tmp94;
2159 112 : compiler::TNode<Map> tmp95;
2160 112 : compiler::TNode<Int32T> tmp96;
2161 112 : compiler::TNode<BuiltinPtr> tmp97;
2162 112 : ca_.Bind(&block15, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
2163 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
2164 112 : compiler::TNode<Int32T> tmp98;
2165 112 : USE(tmp98);
2166 112 : tmp98 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGUINT64_ELEMENTS));
2167 112 : compiler::TNode<BoolT> tmp99;
2168 112 : USE(tmp99);
2169 112 : tmp99 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp96}, compiler::TNode<Int32T>{tmp98}));
2170 112 : ca_.Branch(tmp99, &block17, &block18, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97);
2171 : }
2172 :
2173 112 : if (block17.is_used()) {
2174 112 : compiler::TNode<Context> tmp100;
2175 112 : compiler::TNode<JSReceiver> tmp101;
2176 112 : compiler::TNode<String> tmp102;
2177 112 : compiler::TNode<Number> tmp103;
2178 112 : compiler::TNode<Object> tmp104;
2179 112 : compiler::TNode<Object> tmp105;
2180 112 : compiler::TNode<Map> tmp106;
2181 112 : compiler::TNode<Int32T> tmp107;
2182 112 : compiler::TNode<BuiltinPtr> tmp108;
2183 112 : ca_.Bind(&block17, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108);
2184 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 394);
2185 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
2186 112 : ca_.Goto(&block19, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement21ATFixedBigUint64Array)));
2187 : }
2188 :
2189 112 : if (block18.is_used()) {
2190 112 : compiler::TNode<Context> tmp109;
2191 112 : compiler::TNode<JSReceiver> tmp110;
2192 112 : compiler::TNode<String> tmp111;
2193 112 : compiler::TNode<Number> tmp112;
2194 112 : compiler::TNode<Object> tmp113;
2195 112 : compiler::TNode<Object> tmp114;
2196 112 : compiler::TNode<Map> tmp115;
2197 112 : compiler::TNode<Int32T> tmp116;
2198 112 : compiler::TNode<BuiltinPtr> tmp117;
2199 112 : ca_.Bind(&block18, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117);
2200 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 395);
2201 112 : compiler::TNode<Int32T> tmp118;
2202 112 : USE(tmp118);
2203 112 : tmp118 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGINT64_ELEMENTS));
2204 112 : compiler::TNode<BoolT> tmp119;
2205 112 : USE(tmp119);
2206 112 : tmp119 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp116}, compiler::TNode<Int32T>{tmp118}));
2207 112 : ca_.Branch(tmp119, &block20, &block21, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117);
2208 : }
2209 :
2210 112 : if (block20.is_used()) {
2211 112 : compiler::TNode<Context> tmp120;
2212 112 : compiler::TNode<JSReceiver> tmp121;
2213 112 : compiler::TNode<String> tmp122;
2214 112 : compiler::TNode<Number> tmp123;
2215 112 : compiler::TNode<Object> tmp124;
2216 112 : compiler::TNode<Object> tmp125;
2217 112 : compiler::TNode<Map> tmp126;
2218 112 : compiler::TNode<Int32T> tmp127;
2219 112 : compiler::TNode<BuiltinPtr> tmp128;
2220 112 : ca_.Bind(&block20, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128);
2221 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 396);
2222 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 395);
2223 112 : ca_.Goto(&block22, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement20ATFixedBigInt64Array)));
2224 : }
2225 :
2226 112 : if (block21.is_used()) {
2227 112 : compiler::TNode<Context> tmp129;
2228 112 : compiler::TNode<JSReceiver> tmp130;
2229 112 : compiler::TNode<String> tmp131;
2230 112 : compiler::TNode<Number> tmp132;
2231 112 : compiler::TNode<Object> tmp133;
2232 112 : compiler::TNode<Object> tmp134;
2233 112 : compiler::TNode<Map> tmp135;
2234 112 : compiler::TNode<Int32T> tmp136;
2235 112 : compiler::TNode<BuiltinPtr> tmp137;
2236 112 : ca_.Bind(&block21, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137);
2237 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 398);
2238 112 : CodeStubAssembler(state_).Unreachable();
2239 : }
2240 :
2241 112 : if (block22.is_used()) {
2242 112 : compiler::TNode<Context> tmp138;
2243 112 : compiler::TNode<JSReceiver> tmp139;
2244 112 : compiler::TNode<String> tmp140;
2245 112 : compiler::TNode<Number> tmp141;
2246 112 : compiler::TNode<Object> tmp142;
2247 112 : compiler::TNode<Object> tmp143;
2248 112 : compiler::TNode<Map> tmp144;
2249 112 : compiler::TNode<Int32T> tmp145;
2250 112 : compiler::TNode<BuiltinPtr> tmp146;
2251 112 : ca_.Bind(&block22, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
2252 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
2253 112 : ca_.Goto(&block19, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146);
2254 : }
2255 :
2256 112 : if (block19.is_used()) {
2257 112 : compiler::TNode<Context> tmp147;
2258 112 : compiler::TNode<JSReceiver> tmp148;
2259 112 : compiler::TNode<String> tmp149;
2260 112 : compiler::TNode<Number> tmp150;
2261 112 : compiler::TNode<Object> tmp151;
2262 112 : compiler::TNode<Object> tmp152;
2263 112 : compiler::TNode<Map> tmp153;
2264 112 : compiler::TNode<Int32T> tmp154;
2265 112 : compiler::TNode<BuiltinPtr> tmp155;
2266 112 : ca_.Bind(&block19, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155);
2267 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
2268 112 : ca_.Goto(&block16, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155);
2269 : }
2270 :
2271 112 : if (block16.is_used()) {
2272 112 : compiler::TNode<Context> tmp156;
2273 112 : compiler::TNode<JSReceiver> tmp157;
2274 112 : compiler::TNode<String> tmp158;
2275 112 : compiler::TNode<Number> tmp159;
2276 112 : compiler::TNode<Object> tmp160;
2277 112 : compiler::TNode<Object> tmp161;
2278 112 : compiler::TNode<Map> tmp162;
2279 112 : compiler::TNode<Int32T> tmp163;
2280 112 : compiler::TNode<BuiltinPtr> tmp164;
2281 112 : ca_.Bind(&block16, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164);
2282 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
2283 112 : ca_.Goto(&block13, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164);
2284 : }
2285 :
2286 112 : if (block13.is_used()) {
2287 112 : compiler::TNode<Context> tmp165;
2288 112 : compiler::TNode<JSReceiver> tmp166;
2289 112 : compiler::TNode<String> tmp167;
2290 112 : compiler::TNode<Number> tmp168;
2291 112 : compiler::TNode<Object> tmp169;
2292 112 : compiler::TNode<Object> tmp170;
2293 112 : compiler::TNode<Map> tmp171;
2294 112 : compiler::TNode<Int32T> tmp172;
2295 112 : compiler::TNode<BuiltinPtr> tmp173;
2296 112 : ca_.Bind(&block13, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173);
2297 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
2298 112 : ca_.Goto(&block10, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173);
2299 : }
2300 :
2301 112 : if (block10.is_used()) {
2302 112 : compiler::TNode<Context> tmp174;
2303 112 : compiler::TNode<JSReceiver> tmp175;
2304 112 : compiler::TNode<String> tmp176;
2305 112 : compiler::TNode<Number> tmp177;
2306 112 : compiler::TNode<Object> tmp178;
2307 112 : compiler::TNode<Object> tmp179;
2308 112 : compiler::TNode<Map> tmp180;
2309 112 : compiler::TNode<Int32T> tmp181;
2310 112 : compiler::TNode<BuiltinPtr> tmp182;
2311 112 : ca_.Bind(&block10, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182);
2312 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
2313 112 : ca_.Goto(&block7, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182);
2314 : }
2315 :
2316 112 : if (block7.is_used()) {
2317 112 : compiler::TNode<Context> tmp183;
2318 112 : compiler::TNode<JSReceiver> tmp184;
2319 112 : compiler::TNode<String> tmp185;
2320 112 : compiler::TNode<Number> tmp186;
2321 112 : compiler::TNode<Object> tmp187;
2322 112 : compiler::TNode<Object> tmp188;
2323 112 : compiler::TNode<Map> tmp189;
2324 112 : compiler::TNode<Int32T> tmp190;
2325 112 : compiler::TNode<BuiltinPtr> tmp191;
2326 112 : ca_.Bind(&block7, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191);
2327 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
2328 112 : ca_.Goto(&block4, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191);
2329 : }
2330 :
2331 112 : if (block3.is_used()) {
2332 112 : compiler::TNode<Context> tmp192;
2333 112 : compiler::TNode<JSReceiver> tmp193;
2334 112 : compiler::TNode<String> tmp194;
2335 112 : compiler::TNode<Number> tmp195;
2336 112 : compiler::TNode<Object> tmp196;
2337 112 : compiler::TNode<Object> tmp197;
2338 112 : compiler::TNode<Map> tmp198;
2339 112 : compiler::TNode<Int32T> tmp199;
2340 112 : compiler::TNode<BuiltinPtr> tmp200;
2341 112 : ca_.Bind(&block3, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200);
2342 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
2343 112 : compiler::TNode<Int32T> tmp201;
2344 112 : USE(tmp201);
2345 112 : tmp201 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_ELEMENTS));
2346 112 : compiler::TNode<BoolT> tmp202;
2347 112 : USE(tmp202);
2348 112 : tmp202 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp199}, compiler::TNode<Int32T>{tmp201}));
2349 112 : ca_.Branch(tmp202, &block23, &block24, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200);
2350 : }
2351 :
2352 112 : if (block23.is_used()) {
2353 112 : compiler::TNode<Context> tmp203;
2354 112 : compiler::TNode<JSReceiver> tmp204;
2355 112 : compiler::TNode<String> tmp205;
2356 112 : compiler::TNode<Number> tmp206;
2357 112 : compiler::TNode<Object> tmp207;
2358 112 : compiler::TNode<Object> tmp208;
2359 112 : compiler::TNode<Map> tmp209;
2360 112 : compiler::TNode<Int32T> tmp210;
2361 112 : compiler::TNode<BuiltinPtr> tmp211;
2362 112 : ca_.Bind(&block23, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211);
2363 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 402);
2364 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
2365 112 : ca_.Goto(&block25, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedUint8Array)));
2366 : }
2367 :
2368 112 : if (block24.is_used()) {
2369 112 : compiler::TNode<Context> tmp212;
2370 112 : compiler::TNode<JSReceiver> tmp213;
2371 112 : compiler::TNode<String> tmp214;
2372 112 : compiler::TNode<Number> tmp215;
2373 112 : compiler::TNode<Object> tmp216;
2374 112 : compiler::TNode<Object> tmp217;
2375 112 : compiler::TNode<Map> tmp218;
2376 112 : compiler::TNode<Int32T> tmp219;
2377 112 : compiler::TNode<BuiltinPtr> tmp220;
2378 112 : ca_.Bind(&block24, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220);
2379 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
2380 112 : compiler::TNode<Int32T> tmp221;
2381 112 : USE(tmp221);
2382 112 : tmp221 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT8_ELEMENTS));
2383 112 : compiler::TNode<BoolT> tmp222;
2384 112 : USE(tmp222);
2385 112 : tmp222 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp219}, compiler::TNode<Int32T>{tmp221}));
2386 112 : ca_.Branch(tmp222, &block26, &block27, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220);
2387 : }
2388 :
2389 112 : if (block26.is_used()) {
2390 112 : compiler::TNode<Context> tmp223;
2391 112 : compiler::TNode<JSReceiver> tmp224;
2392 112 : compiler::TNode<String> tmp225;
2393 112 : compiler::TNode<Number> tmp226;
2394 112 : compiler::TNode<Object> tmp227;
2395 112 : compiler::TNode<Object> tmp228;
2396 112 : compiler::TNode<Map> tmp229;
2397 112 : compiler::TNode<Int32T> tmp230;
2398 112 : compiler::TNode<BuiltinPtr> tmp231;
2399 112 : ca_.Bind(&block26, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231);
2400 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 404);
2401 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
2402 112 : ca_.Goto(&block28, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement16ATFixedInt8Array)));
2403 : }
2404 :
2405 112 : if (block27.is_used()) {
2406 112 : compiler::TNode<Context> tmp232;
2407 112 : compiler::TNode<JSReceiver> tmp233;
2408 112 : compiler::TNode<String> tmp234;
2409 112 : compiler::TNode<Number> tmp235;
2410 112 : compiler::TNode<Object> tmp236;
2411 112 : compiler::TNode<Object> tmp237;
2412 112 : compiler::TNode<Map> tmp238;
2413 112 : compiler::TNode<Int32T> tmp239;
2414 112 : compiler::TNode<BuiltinPtr> tmp240;
2415 112 : ca_.Bind(&block27, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240);
2416 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
2417 112 : compiler::TNode<Int32T> tmp241;
2418 112 : USE(tmp241);
2419 112 : tmp241 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT16_ELEMENTS));
2420 112 : compiler::TNode<BoolT> tmp242;
2421 112 : USE(tmp242);
2422 112 : tmp242 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp239}, compiler::TNode<Int32T>{tmp241}));
2423 112 : ca_.Branch(tmp242, &block29, &block30, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240);
2424 : }
2425 :
2426 112 : if (block29.is_used()) {
2427 112 : compiler::TNode<Context> tmp243;
2428 112 : compiler::TNode<JSReceiver> tmp244;
2429 112 : compiler::TNode<String> tmp245;
2430 112 : compiler::TNode<Number> tmp246;
2431 112 : compiler::TNode<Object> tmp247;
2432 112 : compiler::TNode<Object> tmp248;
2433 112 : compiler::TNode<Map> tmp249;
2434 112 : compiler::TNode<Int32T> tmp250;
2435 112 : compiler::TNode<BuiltinPtr> tmp251;
2436 112 : ca_.Bind(&block29, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251);
2437 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 406);
2438 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
2439 112 : ca_.Goto(&block31, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint16Array)));
2440 : }
2441 :
2442 112 : if (block30.is_used()) {
2443 112 : compiler::TNode<Context> tmp252;
2444 112 : compiler::TNode<JSReceiver> tmp253;
2445 112 : compiler::TNode<String> tmp254;
2446 112 : compiler::TNode<Number> tmp255;
2447 112 : compiler::TNode<Object> tmp256;
2448 112 : compiler::TNode<Object> tmp257;
2449 112 : compiler::TNode<Map> tmp258;
2450 112 : compiler::TNode<Int32T> tmp259;
2451 112 : compiler::TNode<BuiltinPtr> tmp260;
2452 112 : ca_.Bind(&block30, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260);
2453 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
2454 112 : compiler::TNode<Int32T> tmp261;
2455 112 : USE(tmp261);
2456 112 : tmp261 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT16_ELEMENTS));
2457 112 : compiler::TNode<BoolT> tmp262;
2458 112 : USE(tmp262);
2459 112 : tmp262 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp259}, compiler::TNode<Int32T>{tmp261}));
2460 112 : ca_.Branch(tmp262, &block32, &block33, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260);
2461 : }
2462 :
2463 112 : if (block32.is_used()) {
2464 112 : compiler::TNode<Context> tmp263;
2465 112 : compiler::TNode<JSReceiver> tmp264;
2466 112 : compiler::TNode<String> tmp265;
2467 112 : compiler::TNode<Number> tmp266;
2468 112 : compiler::TNode<Object> tmp267;
2469 112 : compiler::TNode<Object> tmp268;
2470 112 : compiler::TNode<Map> tmp269;
2471 112 : compiler::TNode<Int32T> tmp270;
2472 112 : compiler::TNode<BuiltinPtr> tmp271;
2473 112 : ca_.Bind(&block32, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271);
2474 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 408);
2475 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
2476 112 : ca_.Goto(&block34, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt16Array)));
2477 : }
2478 :
2479 112 : if (block33.is_used()) {
2480 112 : compiler::TNode<Context> tmp272;
2481 112 : compiler::TNode<JSReceiver> tmp273;
2482 112 : compiler::TNode<String> tmp274;
2483 112 : compiler::TNode<Number> tmp275;
2484 112 : compiler::TNode<Object> tmp276;
2485 112 : compiler::TNode<Object> tmp277;
2486 112 : compiler::TNode<Map> tmp278;
2487 112 : compiler::TNode<Int32T> tmp279;
2488 112 : compiler::TNode<BuiltinPtr> tmp280;
2489 112 : ca_.Bind(&block33, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280);
2490 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 409);
2491 112 : compiler::TNode<Int32T> tmp281;
2492 112 : USE(tmp281);
2493 112 : tmp281 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT32_ELEMENTS));
2494 112 : compiler::TNode<BoolT> tmp282;
2495 112 : USE(tmp282);
2496 112 : tmp282 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp279}, compiler::TNode<Int32T>{tmp281}));
2497 112 : ca_.Branch(tmp282, &block35, &block36, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280);
2498 : }
2499 :
2500 112 : if (block35.is_used()) {
2501 112 : compiler::TNode<Context> tmp283;
2502 112 : compiler::TNode<JSReceiver> tmp284;
2503 112 : compiler::TNode<String> tmp285;
2504 112 : compiler::TNode<Number> tmp286;
2505 112 : compiler::TNode<Object> tmp287;
2506 112 : compiler::TNode<Object> tmp288;
2507 112 : compiler::TNode<Map> tmp289;
2508 112 : compiler::TNode<Int32T> tmp290;
2509 112 : compiler::TNode<BuiltinPtr> tmp291;
2510 112 : ca_.Bind(&block35, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291);
2511 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 410);
2512 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 409);
2513 112 : ca_.Goto(&block37, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint32Array)));
2514 : }
2515 :
2516 112 : if (block36.is_used()) {
2517 112 : compiler::TNode<Context> tmp292;
2518 112 : compiler::TNode<JSReceiver> tmp293;
2519 112 : compiler::TNode<String> tmp294;
2520 112 : compiler::TNode<Number> tmp295;
2521 112 : compiler::TNode<Object> tmp296;
2522 112 : compiler::TNode<Object> tmp297;
2523 112 : compiler::TNode<Map> tmp298;
2524 112 : compiler::TNode<Int32T> tmp299;
2525 112 : compiler::TNode<BuiltinPtr> tmp300;
2526 112 : ca_.Bind(&block36, &tmp292, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300);
2527 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 412);
2528 112 : CodeStubAssembler(state_).Unreachable();
2529 : }
2530 :
2531 112 : if (block37.is_used()) {
2532 112 : compiler::TNode<Context> tmp301;
2533 112 : compiler::TNode<JSReceiver> tmp302;
2534 112 : compiler::TNode<String> tmp303;
2535 112 : compiler::TNode<Number> tmp304;
2536 112 : compiler::TNode<Object> tmp305;
2537 112 : compiler::TNode<Object> tmp306;
2538 112 : compiler::TNode<Map> tmp307;
2539 112 : compiler::TNode<Int32T> tmp308;
2540 112 : compiler::TNode<BuiltinPtr> tmp309;
2541 112 : ca_.Bind(&block37, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309);
2542 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
2543 112 : ca_.Goto(&block34, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309);
2544 : }
2545 :
2546 112 : if (block34.is_used()) {
2547 112 : compiler::TNode<Context> tmp310;
2548 112 : compiler::TNode<JSReceiver> tmp311;
2549 112 : compiler::TNode<String> tmp312;
2550 112 : compiler::TNode<Number> tmp313;
2551 112 : compiler::TNode<Object> tmp314;
2552 112 : compiler::TNode<Object> tmp315;
2553 112 : compiler::TNode<Map> tmp316;
2554 112 : compiler::TNode<Int32T> tmp317;
2555 112 : compiler::TNode<BuiltinPtr> tmp318;
2556 112 : ca_.Bind(&block34, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318);
2557 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
2558 112 : ca_.Goto(&block31, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318);
2559 : }
2560 :
2561 112 : if (block31.is_used()) {
2562 112 : compiler::TNode<Context> tmp319;
2563 112 : compiler::TNode<JSReceiver> tmp320;
2564 112 : compiler::TNode<String> tmp321;
2565 112 : compiler::TNode<Number> tmp322;
2566 112 : compiler::TNode<Object> tmp323;
2567 112 : compiler::TNode<Object> tmp324;
2568 112 : compiler::TNode<Map> tmp325;
2569 112 : compiler::TNode<Int32T> tmp326;
2570 112 : compiler::TNode<BuiltinPtr> tmp327;
2571 112 : ca_.Bind(&block31, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327);
2572 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
2573 112 : ca_.Goto(&block28, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327);
2574 : }
2575 :
2576 112 : if (block28.is_used()) {
2577 112 : compiler::TNode<Context> tmp328;
2578 112 : compiler::TNode<JSReceiver> tmp329;
2579 112 : compiler::TNode<String> tmp330;
2580 112 : compiler::TNode<Number> tmp331;
2581 112 : compiler::TNode<Object> tmp332;
2582 112 : compiler::TNode<Object> tmp333;
2583 112 : compiler::TNode<Map> tmp334;
2584 112 : compiler::TNode<Int32T> tmp335;
2585 112 : compiler::TNode<BuiltinPtr> tmp336;
2586 112 : ca_.Bind(&block28, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
2587 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
2588 112 : ca_.Goto(&block25, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334, tmp335, tmp336);
2589 : }
2590 :
2591 112 : if (block25.is_used()) {
2592 112 : compiler::TNode<Context> tmp337;
2593 112 : compiler::TNode<JSReceiver> tmp338;
2594 112 : compiler::TNode<String> tmp339;
2595 112 : compiler::TNode<Number> tmp340;
2596 112 : compiler::TNode<Object> tmp341;
2597 112 : compiler::TNode<Object> tmp342;
2598 112 : compiler::TNode<Map> tmp343;
2599 112 : compiler::TNode<Int32T> tmp344;
2600 112 : compiler::TNode<BuiltinPtr> tmp345;
2601 112 : ca_.Bind(&block25, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345);
2602 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
2603 112 : ca_.Goto(&block4, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345);
2604 : }
2605 :
2606 112 : if (block4.is_used()) {
2607 112 : compiler::TNode<Context> tmp346;
2608 112 : compiler::TNode<JSReceiver> tmp347;
2609 112 : compiler::TNode<String> tmp348;
2610 112 : compiler::TNode<Number> tmp349;
2611 112 : compiler::TNode<Object> tmp350;
2612 112 : compiler::TNode<Object> tmp351;
2613 112 : compiler::TNode<Map> tmp352;
2614 112 : compiler::TNode<Int32T> tmp353;
2615 112 : compiler::TNode<BuiltinPtr> tmp354;
2616 112 : ca_.Bind(&block4, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354);
2617 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 416);
2618 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 415);
2619 112 : compiler::TNode<String> tmp355;
2620 112 : USE(tmp355);
2621 112 : tmp355 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoinImpl12JSTypedArray(compiler::TNode<Context>{tmp346}, compiler::TNode<JSReceiver>{tmp347}, compiler::TNode<String>{tmp348}, compiler::TNode<Number>{tmp349}, p_useToLocaleString, compiler::TNode<Object>{tmp350}, compiler::TNode<Object>{tmp351}, compiler::TNode<BuiltinPtr>{tmp354}));
2622 112 : ca_.Goto(&block1, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp355);
2623 : }
2624 :
2625 112 : if (block1.is_used()) {
2626 112 : compiler::TNode<Context> tmp356;
2627 112 : compiler::TNode<JSReceiver> tmp357;
2628 112 : compiler::TNode<String> tmp358;
2629 112 : compiler::TNode<Number> tmp359;
2630 112 : compiler::TNode<Object> tmp360;
2631 112 : compiler::TNode<Object> tmp361;
2632 112 : compiler::TNode<Object> tmp362;
2633 112 : ca_.Bind(&block1, &tmp356, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362);
2634 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 326);
2635 112 : ca_.Goto(&block38, tmp356, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362);
2636 : }
2637 :
2638 112 : compiler::TNode<Context> tmp363;
2639 112 : compiler::TNode<JSReceiver> tmp364;
2640 112 : compiler::TNode<String> tmp365;
2641 112 : compiler::TNode<Number> tmp366;
2642 112 : compiler::TNode<Object> tmp367;
2643 112 : compiler::TNode<Object> tmp368;
2644 112 : compiler::TNode<Object> tmp369;
2645 112 : ca_.Bind(&block38, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369);
2646 224 : return compiler::TNode<Object>{tmp369};
2647 : }
2648 :
2649 672 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::LoadJoinStack(compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_IfUninitialized) {
2650 1344 : compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2651 1344 : compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2652 1344 : compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2653 1344 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2654 1344 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2655 1344 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2656 672 : ca_.Goto(&block0, p_context);
2657 :
2658 672 : if (block0.is_used()) {
2659 672 : compiler::TNode<Context> tmp0;
2660 672 : ca_.Bind(&block0, &tmp0);
2661 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 428);
2662 672 : compiler::TNode<Context> tmp1;
2663 672 : USE(tmp1);
2664 672 : tmp1 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
2665 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 430);
2666 672 : compiler::TNode<IntPtrT> tmp2;
2667 672 : USE(tmp2);
2668 672 : tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
2669 672 : compiler::TNode<Object> tmp3;
2670 672 : USE(tmp3);
2671 672 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp1}, compiler::TNode<IntPtrT>{tmp2}));
2672 672 : compiler::TNode<HeapObject> tmp4;
2673 672 : USE(tmp4);
2674 672 : tmp4 = ca_.UncheckedCast<HeapObject>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp3}));
2675 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 429);
2676 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 431);
2677 672 : compiler::TNode<Oddball> tmp5;
2678 672 : USE(tmp5);
2679 672 : tmp5 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
2680 672 : compiler::TNode<BoolT> tmp6;
2681 672 : USE(tmp6);
2682 672 : tmp6 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp4}, compiler::TNode<HeapObject>{tmp5}));
2683 672 : ca_.Branch(tmp6, &block3, &block4, tmp0, tmp1, tmp4);
2684 : }
2685 :
2686 672 : if (block3.is_used()) {
2687 672 : compiler::TNode<Context> tmp7;
2688 672 : compiler::TNode<Context> tmp8;
2689 672 : compiler::TNode<HeapObject> tmp9;
2690 672 : ca_.Bind(&block3, &tmp7, &tmp8, &tmp9);
2691 672 : ca_.Goto(&block1);
2692 : }
2693 :
2694 672 : if (block4.is_used()) {
2695 672 : compiler::TNode<Context> tmp10;
2696 672 : compiler::TNode<Context> tmp11;
2697 672 : compiler::TNode<HeapObject> tmp12;
2698 672 : ca_.Bind(&block4, &tmp10, &tmp11, &tmp12);
2699 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 433);
2700 672 : compiler::TNode<FixedArray> tmp13;
2701 672 : USE(tmp13);
2702 672 : tmp13 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp12}));
2703 672 : ca_.Goto(&block2, tmp10, tmp13);
2704 : }
2705 :
2706 672 : if (block2.is_used()) {
2707 672 : compiler::TNode<Context> tmp14;
2708 672 : compiler::TNode<FixedArray> tmp15;
2709 672 : ca_.Bind(&block2, &tmp14, &tmp15);
2710 672 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 426);
2711 672 : ca_.Goto(&block5, tmp14, tmp15);
2712 : }
2713 :
2714 672 : if (block1.is_used()) {
2715 672 : ca_.Bind(&block1);
2716 672 : ca_.Goto(label_IfUninitialized);
2717 : }
2718 :
2719 672 : compiler::TNode<Context> tmp16;
2720 672 : compiler::TNode<FixedArray> tmp17;
2721 672 : ca_.Bind(&block5, &tmp16, &tmp17);
2722 1344 : return compiler::TNode<FixedArray>{tmp17};
2723 : }
2724 :
2725 336 : void ArrayJoinBuiltinsFromDSLAssembler::SetJoinStack(compiler::TNode<Context> p_context, compiler::TNode<FixedArray> p_stack) {
2726 672 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2727 672 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2728 672 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2729 336 : ca_.Goto(&block0, p_context, p_stack);
2730 :
2731 336 : if (block0.is_used()) {
2732 336 : compiler::TNode<Context> tmp0;
2733 336 : compiler::TNode<FixedArray> tmp1;
2734 336 : ca_.Bind(&block0, &tmp0, &tmp1);
2735 336 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 437);
2736 336 : compiler::TNode<Context> tmp2;
2737 336 : USE(tmp2);
2738 336 : tmp2 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
2739 336 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 438);
2740 336 : compiler::TNode<IntPtrT> tmp3;
2741 336 : USE(tmp3);
2742 336 : tmp3 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
2743 336 : CodeStubAssembler(state_).StoreContextElement(compiler::TNode<Context>{tmp2}, compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<Object>{tmp1});
2744 336 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 436);
2745 336 : ca_.Goto(&block1, tmp0, tmp1);
2746 : }
2747 :
2748 336 : if (block1.is_used()) {
2749 336 : compiler::TNode<Context> tmp4;
2750 336 : compiler::TNode<FixedArray> tmp5;
2751 336 : ca_.Bind(&block1, &tmp4, &tmp5);
2752 336 : ca_.Goto(&block2, tmp4, tmp5);
2753 : }
2754 :
2755 336 : compiler::TNode<Context> tmp6;
2756 336 : compiler::TNode<FixedArray> tmp7;
2757 336 : ca_.Bind(&block2, &tmp6, &tmp7);
2758 336 : }
2759 :
2760 392 : TF_BUILTIN(JoinStackPush, CodeStubAssembler) {
2761 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
2762 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
2763 56 : USE(parameter0);
2764 56 : compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
2765 56 : USE(parameter1);
2766 56 : compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
2767 56 : USE(parameter2);
2768 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2769 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2770 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2771 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2772 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2773 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2774 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2775 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2776 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2777 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
2778 :
2779 56 : if (block0.is_used()) {
2780 56 : compiler::TNode<Context> tmp0;
2781 56 : compiler::TNode<FixedArray> tmp1;
2782 56 : compiler::TNode<JSReceiver> tmp2;
2783 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
2784 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 446);
2785 56 : compiler::TNode<IntPtrT> tmp3;
2786 56 : USE(tmp3);
2787 56 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
2788 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 447);
2789 56 : compiler::TNode<IntPtrT> tmp4;
2790 56 : USE(tmp4);
2791 56 : tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
2792 56 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
2793 : }
2794 :
2795 56 : if (block3.is_used()) {
2796 56 : compiler::TNode<Context> tmp5;
2797 56 : compiler::TNode<FixedArray> tmp6;
2798 56 : compiler::TNode<JSReceiver> tmp7;
2799 56 : compiler::TNode<IntPtrT> tmp8;
2800 56 : compiler::TNode<IntPtrT> tmp9;
2801 56 : ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
2802 56 : compiler::TNode<BoolT> tmp10;
2803 56 : USE(tmp10);
2804 56 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
2805 56 : ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
2806 : }
2807 :
2808 56 : if (block1.is_used()) {
2809 56 : compiler::TNode<Context> tmp11;
2810 56 : compiler::TNode<FixedArray> tmp12;
2811 56 : compiler::TNode<JSReceiver> tmp13;
2812 56 : compiler::TNode<IntPtrT> tmp14;
2813 56 : compiler::TNode<IntPtrT> tmp15;
2814 56 : ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
2815 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 448);
2816 56 : compiler::TNode<Object> tmp16;
2817 56 : USE(tmp16);
2818 56 : tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
2819 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 451);
2820 56 : compiler::TNode<Oddball> tmp17;
2821 56 : USE(tmp17);
2822 56 : tmp17 = BaseBuiltinsFromDSLAssembler(state_).Hole();
2823 56 : compiler::TNode<BoolT> tmp18;
2824 56 : USE(tmp18);
2825 56 : tmp18 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp17}));
2826 56 : ca_.Branch(tmp18, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
2827 : }
2828 :
2829 56 : if (block5.is_used()) {
2830 56 : compiler::TNode<Context> tmp19;
2831 56 : compiler::TNode<FixedArray> tmp20;
2832 56 : compiler::TNode<JSReceiver> tmp21;
2833 56 : compiler::TNode<IntPtrT> tmp22;
2834 56 : compiler::TNode<IntPtrT> tmp23;
2835 56 : compiler::TNode<Object> tmp24;
2836 56 : ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
2837 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 452);
2838 56 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp20}, compiler::TNode<IntPtrT>{tmp23}, compiler::TNode<HeapObject>{tmp21});
2839 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 453);
2840 56 : compiler::TNode<Oddball> tmp25;
2841 56 : USE(tmp25);
2842 56 : tmp25 = BaseBuiltinsFromDSLAssembler(state_).True();
2843 56 : CodeStubAssembler(state_).Return(tmp25);
2844 : }
2845 :
2846 56 : if (block6.is_used()) {
2847 56 : compiler::TNode<Context> tmp26;
2848 56 : compiler::TNode<FixedArray> tmp27;
2849 56 : compiler::TNode<JSReceiver> tmp28;
2850 56 : compiler::TNode<IntPtrT> tmp29;
2851 56 : compiler::TNode<IntPtrT> tmp30;
2852 56 : compiler::TNode<Object> tmp31;
2853 56 : ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
2854 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 457);
2855 56 : compiler::TNode<BoolT> tmp32;
2856 56 : USE(tmp32);
2857 56 : tmp32 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp28}, compiler::TNode<Object>{tmp31}));
2858 56 : ca_.Branch(tmp32, &block7, &block8, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31);
2859 : }
2860 :
2861 56 : if (block7.is_used()) {
2862 56 : compiler::TNode<Context> tmp33;
2863 56 : compiler::TNode<FixedArray> tmp34;
2864 56 : compiler::TNode<JSReceiver> tmp35;
2865 56 : compiler::TNode<IntPtrT> tmp36;
2866 56 : compiler::TNode<IntPtrT> tmp37;
2867 56 : compiler::TNode<Object> tmp38;
2868 56 : ca_.Bind(&block7, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
2869 56 : compiler::TNode<Oddball> tmp39;
2870 56 : USE(tmp39);
2871 56 : tmp39 = BaseBuiltinsFromDSLAssembler(state_).False();
2872 56 : CodeStubAssembler(state_).Return(tmp39);
2873 : }
2874 :
2875 56 : if (block8.is_used()) {
2876 56 : compiler::TNode<Context> tmp40;
2877 56 : compiler::TNode<FixedArray> tmp41;
2878 56 : compiler::TNode<JSReceiver> tmp42;
2879 56 : compiler::TNode<IntPtrT> tmp43;
2880 56 : compiler::TNode<IntPtrT> tmp44;
2881 56 : compiler::TNode<Object> tmp45;
2882 56 : ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
2883 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 447);
2884 56 : ca_.Goto(&block4, tmp40, tmp41, tmp42, tmp43, tmp44);
2885 : }
2886 :
2887 56 : if (block4.is_used()) {
2888 56 : compiler::TNode<Context> tmp46;
2889 56 : compiler::TNode<FixedArray> tmp47;
2890 56 : compiler::TNode<JSReceiver> tmp48;
2891 56 : compiler::TNode<IntPtrT> tmp49;
2892 56 : compiler::TNode<IntPtrT> tmp50;
2893 56 : ca_.Bind(&block4, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
2894 56 : compiler::TNode<IntPtrT> tmp51;
2895 56 : USE(tmp51);
2896 56 : tmp51 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
2897 56 : compiler::TNode<IntPtrT> tmp52;
2898 56 : USE(tmp52);
2899 56 : tmp52 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp50}, compiler::TNode<IntPtrT>{tmp51}));
2900 56 : ca_.Goto(&block3, tmp46, tmp47, tmp48, tmp49, tmp52);
2901 : }
2902 :
2903 56 : if (block2.is_used()) {
2904 56 : compiler::TNode<Context> tmp53;
2905 56 : compiler::TNode<FixedArray> tmp54;
2906 56 : compiler::TNode<JSReceiver> tmp55;
2907 56 : compiler::TNode<IntPtrT> tmp56;
2908 56 : compiler::TNode<IntPtrT> tmp57;
2909 56 : ca_.Bind(&block2, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
2910 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 462);
2911 56 : compiler::TNode<FixedArray> tmp58;
2912 56 : USE(tmp58);
2913 56 : tmp58 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray>{tmp54}, compiler::TNode<IntPtrT>{tmp56}, compiler::TNode<JSReceiver>{tmp55}));
2914 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 461);
2915 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 463);
2916 56 : ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp53}, compiler::TNode<FixedArray>{tmp58});
2917 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 464);
2918 56 : compiler::TNode<Oddball> tmp59;
2919 56 : USE(tmp59);
2920 56 : tmp59 = BaseBuiltinsFromDSLAssembler(state_).True();
2921 56 : CodeStubAssembler(state_).Return(tmp59);
2922 : }
2923 56 : }
2924 :
2925 224 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPushInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::CodeAssemblerLabel* label_ReceiverAdded, compiler::CodeAssemblerLabel* label_ReceiverNotAdded) {
2926 448 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2927 448 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2928 448 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2929 448 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2930 448 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2931 448 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block10(&ca_, compiler::CodeAssemblerLabel::kDeferred);
2932 448 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2933 448 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2934 448 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2935 448 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2936 448 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2937 448 : compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2938 224 : ca_.Goto(&block0, p_context, p_receiver);
2939 :
2940 224 : if (block0.is_used()) {
2941 224 : compiler::TNode<Context> tmp0;
2942 224 : compiler::TNode<JSReceiver> tmp1;
2943 224 : ca_.Bind(&block0, &tmp0, &tmp1);
2944 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 474);
2945 224 : compiler::TNode<FixedArray> tmp2;
2946 224 : USE(tmp2);
2947 448 : compiler::CodeAssemblerLabel label0(&ca_);
2948 224 : tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
2949 224 : ca_.Goto(&block5, tmp0, tmp1, tmp2);
2950 224 : if (label0.is_used()) {
2951 224 : ca_.Bind(&label0);
2952 224 : ca_.Goto(&block6, tmp0, tmp1);
2953 : }
2954 : }
2955 :
2956 224 : if (block6.is_used()) {
2957 224 : compiler::TNode<Context> tmp3;
2958 224 : compiler::TNode<JSReceiver> tmp4;
2959 224 : ca_.Bind(&block6, &tmp3, &tmp4);
2960 224 : ca_.Goto(&block4, tmp3, tmp4);
2961 : }
2962 :
2963 224 : if (block5.is_used()) {
2964 224 : compiler::TNode<Context> tmp5;
2965 224 : compiler::TNode<JSReceiver> tmp6;
2966 224 : compiler::TNode<FixedArray> tmp7;
2967 224 : ca_.Bind(&block5, &tmp5, &tmp6, &tmp7);
2968 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
2969 224 : compiler::TNode<Object> tmp8;
2970 224 : USE(tmp8);
2971 224 : tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp7}, 0));
2972 224 : compiler::TNode<Oddball> tmp9;
2973 224 : USE(tmp9);
2974 224 : tmp9 = BaseBuiltinsFromDSLAssembler(state_).Hole();
2975 224 : compiler::TNode<BoolT> tmp10;
2976 224 : USE(tmp10);
2977 224 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp8}, compiler::TNode<HeapObject>{tmp9}));
2978 224 : ca_.Branch(tmp10, &block7, &block8, tmp5, tmp6, tmp7);
2979 : }
2980 :
2981 224 : if (block7.is_used()) {
2982 224 : compiler::TNode<Context> tmp11;
2983 224 : compiler::TNode<JSReceiver> tmp12;
2984 224 : compiler::TNode<FixedArray> tmp13;
2985 224 : ca_.Bind(&block7, &tmp11, &tmp12, &tmp13);
2986 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 477);
2987 224 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp13}, 0, compiler::TNode<HeapObject>{tmp12});
2988 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
2989 224 : ca_.Goto(&block9, tmp11, tmp12, tmp13);
2990 : }
2991 :
2992 224 : if (block8.is_used()) {
2993 224 : compiler::TNode<Context> tmp14;
2994 224 : compiler::TNode<JSReceiver> tmp15;
2995 224 : compiler::TNode<FixedArray> tmp16;
2996 224 : ca_.Bind(&block8, &tmp14, &tmp15, &tmp16);
2997 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 478);
2998 224 : compiler::TNode<Oddball> tmp17;
2999 224 : tmp17 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPush, tmp14, tmp16, tmp15));
3000 224 : USE(tmp17);
3001 224 : compiler::TNode<Oddball> tmp18;
3002 224 : USE(tmp18);
3003 224 : tmp18 = BaseBuiltinsFromDSLAssembler(state_).False();
3004 224 : compiler::TNode<BoolT> tmp19;
3005 224 : USE(tmp19);
3006 224 : tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp17}, compiler::TNode<HeapObject>{tmp18}));
3007 224 : ca_.Branch(tmp19, &block10, &block11, tmp14, tmp15, tmp16);
3008 : }
3009 :
3010 224 : if (block10.is_used()) {
3011 224 : compiler::TNode<Context> tmp20;
3012 224 : compiler::TNode<JSReceiver> tmp21;
3013 224 : compiler::TNode<FixedArray> tmp22;
3014 224 : ca_.Bind(&block10, &tmp20, &tmp21, &tmp22);
3015 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 480);
3016 224 : ca_.Goto(&block2);
3017 : }
3018 :
3019 224 : if (block11.is_used()) {
3020 224 : compiler::TNode<Context> tmp23;
3021 224 : compiler::TNode<JSReceiver> tmp24;
3022 224 : compiler::TNode<FixedArray> tmp25;
3023 224 : ca_.Bind(&block11, &tmp23, &tmp24, &tmp25);
3024 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
3025 224 : ca_.Goto(&block9, tmp23, tmp24, tmp25);
3026 : }
3027 :
3028 224 : if (block9.is_used()) {
3029 224 : compiler::TNode<Context> tmp26;
3030 224 : compiler::TNode<JSReceiver> tmp27;
3031 224 : compiler::TNode<FixedArray> tmp28;
3032 224 : ca_.Bind(&block9, &tmp26, &tmp27, &tmp28);
3033 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
3034 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 483);
3035 224 : ca_.Goto(&block3, tmp26, tmp27);
3036 : }
3037 :
3038 224 : if (block4.is_used()) {
3039 224 : compiler::TNode<Context> tmp29;
3040 224 : compiler::TNode<JSReceiver> tmp30;
3041 224 : ca_.Bind(&block4, &tmp29, &tmp30);
3042 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 485);
3043 224 : compiler::TNode<IntPtrT> tmp31;
3044 224 : USE(tmp31);
3045 224 : tmp31 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
3046 224 : compiler::TNode<FixedArray> tmp32;
3047 224 : USE(tmp32);
3048 224 : tmp32 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp31}, CodeStubAssembler::kNone));
3049 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 484);
3050 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 486);
3051 224 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp32}, 0, compiler::TNode<HeapObject>{tmp30});
3052 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 487);
3053 224 : ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp29}, compiler::TNode<FixedArray>{tmp32});
3054 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 483);
3055 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
3056 224 : ca_.Goto(&block3, tmp29, tmp30);
3057 : }
3058 :
3059 224 : if (block3.is_used()) {
3060 224 : compiler::TNode<Context> tmp33;
3061 224 : compiler::TNode<JSReceiver> tmp34;
3062 224 : ca_.Bind(&block3, &tmp33, &tmp34);
3063 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 489);
3064 224 : ca_.Goto(&block1);
3065 : }
3066 :
3067 224 : if (block1.is_used()) {
3068 224 : ca_.Bind(&block1);
3069 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 470);
3070 224 : ca_.Goto(label_ReceiverAdded);
3071 : }
3072 :
3073 224 : if (block2.is_used()) {
3074 224 : ca_.Bind(&block2);
3075 224 : ca_.Goto(label_ReceiverNotAdded);
3076 : }
3077 224 : }
3078 :
3079 392 : TF_BUILTIN(JoinStackPop, CodeStubAssembler) {
3080 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3081 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3082 56 : USE(parameter0);
3083 56 : compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
3084 56 : USE(parameter1);
3085 56 : compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
3086 56 : USE(parameter2);
3087 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3088 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3089 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3090 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3091 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3092 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3093 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3094 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3095 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3096 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3097 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3098 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
3099 :
3100 56 : if (block0.is_used()) {
3101 56 : compiler::TNode<Context> tmp0;
3102 56 : compiler::TNode<FixedArray> tmp1;
3103 56 : compiler::TNode<JSReceiver> tmp2;
3104 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
3105 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 496);
3106 56 : compiler::TNode<IntPtrT> tmp3;
3107 56 : USE(tmp3);
3108 56 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
3109 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 497);
3110 56 : compiler::TNode<IntPtrT> tmp4;
3111 56 : USE(tmp4);
3112 56 : tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3113 56 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
3114 : }
3115 :
3116 56 : if (block3.is_used()) {
3117 56 : compiler::TNode<Context> tmp5;
3118 56 : compiler::TNode<FixedArray> tmp6;
3119 56 : compiler::TNode<JSReceiver> tmp7;
3120 56 : compiler::TNode<IntPtrT> tmp8;
3121 56 : compiler::TNode<IntPtrT> tmp9;
3122 56 : ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
3123 56 : compiler::TNode<BoolT> tmp10;
3124 56 : USE(tmp10);
3125 56 : tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
3126 56 : ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
3127 : }
3128 :
3129 56 : if (block1.is_used()) {
3130 56 : compiler::TNode<Context> tmp11;
3131 56 : compiler::TNode<FixedArray> tmp12;
3132 56 : compiler::TNode<JSReceiver> tmp13;
3133 56 : compiler::TNode<IntPtrT> tmp14;
3134 56 : compiler::TNode<IntPtrT> tmp15;
3135 56 : ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
3136 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 498);
3137 56 : compiler::TNode<Object> tmp16;
3138 56 : USE(tmp16);
3139 56 : tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
3140 56 : compiler::TNode<BoolT> tmp17;
3141 56 : USE(tmp17);
3142 56 : tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp13}));
3143 56 : ca_.Branch(tmp17, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15);
3144 : }
3145 :
3146 56 : if (block5.is_used()) {
3147 56 : compiler::TNode<Context> tmp18;
3148 56 : compiler::TNode<FixedArray> tmp19;
3149 56 : compiler::TNode<JSReceiver> tmp20;
3150 56 : compiler::TNode<IntPtrT> tmp21;
3151 56 : compiler::TNode<IntPtrT> tmp22;
3152 56 : ca_.Bind(&block5, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
3153 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
3154 56 : compiler::TNode<IntPtrT> tmp23;
3155 56 : USE(tmp23);
3156 56 : tmp23 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3157 56 : compiler::TNode<BoolT> tmp24;
3158 56 : USE(tmp24);
3159 56 : tmp24 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp22}, compiler::TNode<IntPtrT>{tmp23}));
3160 56 : ca_.Branch(tmp24, &block9, &block8, tmp18, tmp19, tmp20, tmp21, tmp22);
3161 : }
3162 :
3163 56 : if (block9.is_used()) {
3164 56 : compiler::TNode<Context> tmp25;
3165 56 : compiler::TNode<FixedArray> tmp26;
3166 56 : compiler::TNode<JSReceiver> tmp27;
3167 56 : compiler::TNode<IntPtrT> tmp28;
3168 56 : compiler::TNode<IntPtrT> tmp29;
3169 56 : ca_.Bind(&block9, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
3170 56 : compiler::TNode<IntPtrT> tmp30;
3171 56 : USE(tmp30);
3172 56 : tmp30 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
3173 56 : compiler::TNode<BoolT> tmp31;
3174 56 : USE(tmp31);
3175 56 : tmp31 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp28}, compiler::TNode<IntPtrT>{tmp30}));
3176 56 : ca_.Branch(tmp31, &block7, &block8, tmp25, tmp26, tmp27, tmp28, tmp29);
3177 : }
3178 :
3179 56 : if (block7.is_used()) {
3180 56 : compiler::TNode<Context> tmp32;
3181 56 : compiler::TNode<FixedArray> tmp33;
3182 56 : compiler::TNode<JSReceiver> tmp34;
3183 56 : compiler::TNode<IntPtrT> tmp35;
3184 56 : compiler::TNode<IntPtrT> tmp36;
3185 56 : ca_.Bind(&block7, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
3186 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 503);
3187 56 : compiler::TNode<IntPtrT> tmp37;
3188 56 : USE(tmp37);
3189 56 : tmp37 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
3190 56 : compiler::TNode<FixedArray> tmp38;
3191 56 : USE(tmp38);
3192 56 : tmp38 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp37}, CodeStubAssembler::kNone));
3193 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 502);
3194 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 504);
3195 56 : ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp32}, compiler::TNode<FixedArray>{tmp38});
3196 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
3197 56 : ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35, tmp36);
3198 : }
3199 :
3200 56 : if (block8.is_used()) {
3201 56 : compiler::TNode<Context> tmp39;
3202 56 : compiler::TNode<FixedArray> tmp40;
3203 56 : compiler::TNode<JSReceiver> tmp41;
3204 56 : compiler::TNode<IntPtrT> tmp42;
3205 56 : compiler::TNode<IntPtrT> tmp43;
3206 56 : ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
3207 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 507);
3208 56 : compiler::TNode<Oddball> tmp44;
3209 56 : USE(tmp44);
3210 56 : tmp44 = BaseBuiltinsFromDSLAssembler(state_).Hole();
3211 56 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp40}, compiler::TNode<IntPtrT>{tmp43}, compiler::TNode<HeapObject>{tmp44});
3212 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
3213 56 : ca_.Goto(&block10, tmp39, tmp40, tmp41, tmp42, tmp43);
3214 : }
3215 :
3216 56 : if (block10.is_used()) {
3217 56 : compiler::TNode<Context> tmp45;
3218 56 : compiler::TNode<FixedArray> tmp46;
3219 56 : compiler::TNode<JSReceiver> tmp47;
3220 56 : compiler::TNode<IntPtrT> tmp48;
3221 56 : compiler::TNode<IntPtrT> tmp49;
3222 56 : ca_.Bind(&block10, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
3223 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 509);
3224 56 : compiler::TNode<Oddball> tmp50;
3225 56 : USE(tmp50);
3226 56 : tmp50 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3227 56 : CodeStubAssembler(state_).Return(tmp50);
3228 : }
3229 :
3230 56 : if (block6.is_used()) {
3231 56 : compiler::TNode<Context> tmp51;
3232 56 : compiler::TNode<FixedArray> tmp52;
3233 56 : compiler::TNode<JSReceiver> tmp53;
3234 56 : compiler::TNode<IntPtrT> tmp54;
3235 56 : compiler::TNode<IntPtrT> tmp55;
3236 56 : ca_.Bind(&block6, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55);
3237 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 497);
3238 56 : ca_.Goto(&block4, tmp51, tmp52, tmp53, tmp54, tmp55);
3239 : }
3240 :
3241 56 : if (block4.is_used()) {
3242 56 : compiler::TNode<Context> tmp56;
3243 56 : compiler::TNode<FixedArray> tmp57;
3244 56 : compiler::TNode<JSReceiver> tmp58;
3245 56 : compiler::TNode<IntPtrT> tmp59;
3246 56 : compiler::TNode<IntPtrT> tmp60;
3247 56 : ca_.Bind(&block4, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60);
3248 56 : compiler::TNode<IntPtrT> tmp61;
3249 56 : USE(tmp61);
3250 56 : tmp61 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
3251 56 : compiler::TNode<IntPtrT> tmp62;
3252 56 : USE(tmp62);
3253 56 : tmp62 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp60}, compiler::TNode<IntPtrT>{tmp61}));
3254 56 : ca_.Goto(&block3, tmp56, tmp57, tmp58, tmp59, tmp62);
3255 : }
3256 :
3257 56 : if (block2.is_used()) {
3258 56 : compiler::TNode<Context> tmp63;
3259 56 : compiler::TNode<FixedArray> tmp64;
3260 56 : compiler::TNode<JSReceiver> tmp65;
3261 56 : compiler::TNode<IntPtrT> tmp66;
3262 56 : compiler::TNode<IntPtrT> tmp67;
3263 56 : ca_.Bind(&block2, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
3264 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 512);
3265 56 : CodeStubAssembler(state_).Unreachable();
3266 : }
3267 56 : }
3268 :
3269 448 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPopInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver) {
3270 896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3271 896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3272 896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3273 896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3274 896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3275 896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3276 896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3277 896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3278 896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3279 896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3280 896 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3281 448 : ca_.Goto(&block0, p_context, p_receiver);
3282 :
3283 448 : if (block0.is_used()) {
3284 448 : compiler::TNode<Context> tmp0;
3285 448 : compiler::TNode<JSReceiver> tmp1;
3286 448 : ca_.Bind(&block0, &tmp0, &tmp1);
3287 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 517);
3288 448 : compiler::TNode<FixedArray> tmp2;
3289 448 : USE(tmp2);
3290 896 : compiler::CodeAssemblerLabel label0(&ca_);
3291 448 : tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
3292 448 : ca_.Goto(&block4, tmp0, tmp1, tmp2);
3293 448 : if (label0.is_used()) {
3294 448 : ca_.Bind(&label0);
3295 448 : ca_.Goto(&block5, tmp0, tmp1);
3296 : }
3297 : }
3298 :
3299 448 : if (block5.is_used()) {
3300 448 : compiler::TNode<Context> tmp3;
3301 448 : compiler::TNode<JSReceiver> tmp4;
3302 448 : ca_.Bind(&block5, &tmp3, &tmp4);
3303 448 : ca_.Goto(&block3, tmp3, tmp4);
3304 : }
3305 :
3306 448 : if (block4.is_used()) {
3307 448 : compiler::TNode<Context> tmp5;
3308 448 : compiler::TNode<JSReceiver> tmp6;
3309 448 : compiler::TNode<FixedArray> tmp7;
3310 448 : ca_.Bind(&block4, &tmp5, &tmp6, &tmp7);
3311 448 : ca_.Goto(&block2, tmp5, tmp6, tmp7);
3312 : }
3313 :
3314 448 : if (block3.is_used()) {
3315 448 : compiler::TNode<Context> tmp8;
3316 448 : compiler::TNode<JSReceiver> tmp9;
3317 448 : ca_.Bind(&block3, &tmp8, &tmp9);
3318 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 518);
3319 448 : CodeStubAssembler(state_).Unreachable();
3320 : }
3321 :
3322 448 : if (block2.is_used()) {
3323 448 : compiler::TNode<Context> tmp10;
3324 448 : compiler::TNode<JSReceiver> tmp11;
3325 448 : compiler::TNode<FixedArray> tmp12;
3326 448 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
3327 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 517);
3328 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 519);
3329 448 : compiler::TNode<IntPtrT> tmp13;
3330 448 : USE(tmp13);
3331 448 : tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp12}));
3332 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
3333 448 : compiler::TNode<Object> tmp14;
3334 448 : USE(tmp14);
3335 448 : tmp14 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, 0));
3336 448 : compiler::TNode<BoolT> tmp15;
3337 448 : USE(tmp15);
3338 448 : tmp15 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp14}, compiler::TNode<HeapObject>{tmp11}));
3339 448 : ca_.Branch(tmp15, &block8, &block7, tmp10, tmp11, tmp12, tmp13);
3340 : }
3341 :
3342 448 : if (block8.is_used()) {
3343 448 : compiler::TNode<Context> tmp16;
3344 448 : compiler::TNode<JSReceiver> tmp17;
3345 448 : compiler::TNode<FixedArray> tmp18;
3346 448 : compiler::TNode<IntPtrT> tmp19;
3347 448 : ca_.Bind(&block8, &tmp16, &tmp17, &tmp18, &tmp19);
3348 448 : compiler::TNode<IntPtrT> tmp20;
3349 448 : USE(tmp20);
3350 448 : tmp20 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
3351 448 : compiler::TNode<BoolT> tmp21;
3352 448 : USE(tmp21);
3353 448 : tmp21 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp19}, compiler::TNode<IntPtrT>{tmp20}));
3354 448 : ca_.Branch(tmp21, &block6, &block7, tmp16, tmp17, tmp18, tmp19);
3355 : }
3356 :
3357 448 : if (block6.is_used()) {
3358 448 : compiler::TNode<Context> tmp22;
3359 448 : compiler::TNode<JSReceiver> tmp23;
3360 448 : compiler::TNode<FixedArray> tmp24;
3361 448 : compiler::TNode<IntPtrT> tmp25;
3362 448 : ca_.Bind(&block6, &tmp22, &tmp23, &tmp24, &tmp25);
3363 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 524);
3364 448 : compiler::TNode<Oddball> tmp26;
3365 448 : USE(tmp26);
3366 448 : tmp26 = BaseBuiltinsFromDSLAssembler(state_).Hole();
3367 448 : compiler::TNode<IntPtrT> tmp27;
3368 448 : USE(tmp27);
3369 448 : tmp27 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3370 448 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, compiler::TNode<IntPtrT>{tmp27}, compiler::TNode<Object>{tmp26}, SKIP_WRITE_BARRIER);
3371 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
3372 448 : ca_.Goto(&block9, tmp22, tmp23, tmp24, tmp25);
3373 : }
3374 :
3375 448 : if (block7.is_used()) {
3376 448 : compiler::TNode<Context> tmp28;
3377 448 : compiler::TNode<JSReceiver> tmp29;
3378 448 : compiler::TNode<FixedArray> tmp30;
3379 448 : compiler::TNode<IntPtrT> tmp31;
3380 448 : ca_.Bind(&block7, &tmp28, &tmp29, &tmp30, &tmp31);
3381 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 527);
3382 448 : compiler::TNode<Object> tmp32;
3383 448 : tmp32 = CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPop, tmp28, tmp30, tmp29);
3384 448 : USE(tmp32);
3385 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
3386 448 : ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31);
3387 : }
3388 :
3389 448 : if (block9.is_used()) {
3390 448 : compiler::TNode<Context> tmp33;
3391 448 : compiler::TNode<JSReceiver> tmp34;
3392 448 : compiler::TNode<FixedArray> tmp35;
3393 448 : compiler::TNode<IntPtrT> tmp36;
3394 448 : ca_.Bind(&block9, &tmp33, &tmp34, &tmp35, &tmp36);
3395 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 516);
3396 448 : ca_.Goto(&block1, tmp33, tmp34);
3397 : }
3398 :
3399 448 : if (block1.is_used()) {
3400 448 : compiler::TNode<Context> tmp37;
3401 448 : compiler::TNode<JSReceiver> tmp38;
3402 448 : ca_.Bind(&block1, &tmp37, &tmp38);
3403 448 : ca_.Goto(&block10, tmp37, tmp38);
3404 : }
3405 :
3406 448 : compiler::TNode<Context> tmp39;
3407 448 : compiler::TNode<JSReceiver> tmp40;
3408 448 : ca_.Bind(&block10, &tmp39, &tmp40);
3409 448 : }
3410 :
3411 336 : TF_BUILTIN(ArrayPrototypeJoin, CodeStubAssembler) {
3412 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3413 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3414 56 : USE(parameter0);
3415 56 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3416 56 : CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
3417 56 : TNode<Object> parameter1 = arguments_impl.GetReceiver();
3418 56 : auto arguments = &arguments_impl;
3419 56 : USE(arguments);
3420 56 : USE(parameter1);
3421 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3422 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3423 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3424 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3425 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3426 56 : ca_.Goto(&block0, parameter0, parameter1);
3427 :
3428 56 : if (block0.is_used()) {
3429 56 : compiler::TNode<Context> tmp0;
3430 56 : compiler::TNode<Object> tmp1;
3431 56 : ca_.Bind(&block0, &tmp0, &tmp1);
3432 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 561);
3433 56 : compiler::TNode<IntPtrT> tmp2;
3434 56 : USE(tmp2);
3435 56 : tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3436 56 : compiler::TNode<Object> tmp3;
3437 56 : USE(tmp3);
3438 56 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
3439 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 564);
3440 56 : compiler::TNode<JSReceiver> tmp4;
3441 56 : USE(tmp4);
3442 56 : tmp4 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
3443 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 567);
3444 56 : compiler::TNode<Number> tmp5;
3445 56 : USE(tmp5);
3446 56 : tmp5 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
3447 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 571);
3448 56 : compiler::TNode<Number> tmp6;
3449 56 : USE(tmp6);
3450 56 : tmp6 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
3451 112 : compiler::CodeAssemblerLabel label0(&ca_);
3452 112 : compiler::CodeAssemblerLabel label1(&ca_);
3453 56 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp5}, compiler::TNode<Number>{tmp6}, &label0, &label1);
3454 56 : if (label0.is_used()) {
3455 56 : ca_.Bind(&label0);
3456 56 : ca_.Goto(&block3, tmp0, tmp1, tmp3, tmp4, tmp5, tmp5);
3457 : }
3458 56 : if (label1.is_used()) {
3459 56 : ca_.Bind(&label1);
3460 56 : ca_.Goto(&block4, tmp0, tmp1, tmp3, tmp4, tmp5, tmp5);
3461 : }
3462 : }
3463 :
3464 56 : if (block3.is_used()) {
3465 56 : compiler::TNode<Context> tmp7;
3466 56 : compiler::TNode<Object> tmp8;
3467 56 : compiler::TNode<Object> tmp9;
3468 56 : compiler::TNode<JSReceiver> tmp10;
3469 56 : compiler::TNode<Number> tmp11;
3470 56 : compiler::TNode<Number> tmp12;
3471 56 : ca_.Bind(&block3, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12);
3472 56 : ca_.Goto(&block1, tmp7, tmp8, tmp9, tmp10, tmp11);
3473 : }
3474 :
3475 56 : if (block4.is_used()) {
3476 56 : compiler::TNode<Context> tmp13;
3477 56 : compiler::TNode<Object> tmp14;
3478 56 : compiler::TNode<Object> tmp15;
3479 56 : compiler::TNode<JSReceiver> tmp16;
3480 56 : compiler::TNode<Number> tmp17;
3481 56 : compiler::TNode<Number> tmp18;
3482 56 : ca_.Bind(&block4, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
3483 56 : ca_.Goto(&block2, tmp13, tmp14, tmp15, tmp16, tmp17);
3484 : }
3485 :
3486 56 : if (block1.is_used()) {
3487 56 : compiler::TNode<Context> tmp19;
3488 56 : compiler::TNode<Object> tmp20;
3489 56 : compiler::TNode<Object> tmp21;
3490 56 : compiler::TNode<JSReceiver> tmp22;
3491 56 : compiler::TNode<Number> tmp23;
3492 56 : ca_.Bind(&block1, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
3493 56 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp19}, MessageTemplate::kInvalidArrayLength);
3494 : }
3495 :
3496 56 : if (block2.is_used()) {
3497 56 : compiler::TNode<Context> tmp24;
3498 56 : compiler::TNode<Object> tmp25;
3499 56 : compiler::TNode<Object> tmp26;
3500 56 : compiler::TNode<JSReceiver> tmp27;
3501 56 : compiler::TNode<Number> tmp28;
3502 56 : ca_.Bind(&block2, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
3503 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 574);
3504 56 : compiler::TNode<Oddball> tmp29;
3505 56 : USE(tmp29);
3506 56 : tmp29 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3507 56 : compiler::TNode<Oddball> tmp30;
3508 56 : USE(tmp30);
3509 56 : tmp30 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3510 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 573);
3511 56 : compiler::TNode<Object> tmp31;
3512 56 : USE(tmp31);
3513 56 : tmp31 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin7JSArray(compiler::TNode<Context>{tmp24}, false, compiler::TNode<JSReceiver>{tmp27}, compiler::TNode<Number>{tmp28}, compiler::TNode<Object>{tmp26}, compiler::TNode<Object>{tmp29}, compiler::TNode<Object>{tmp30}));
3514 56 : arguments->PopAndReturn(tmp31);
3515 : }
3516 56 : }
3517 :
3518 336 : TF_BUILTIN(ArrayPrototypeToLocaleString, CodeStubAssembler) {
3519 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3520 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3521 56 : USE(parameter0);
3522 56 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3523 56 : CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
3524 56 : TNode<Object> parameter1 = arguments_impl.GetReceiver();
3525 56 : auto arguments = &arguments_impl;
3526 56 : USE(arguments);
3527 56 : USE(parameter1);
3528 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3529 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3530 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3531 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3532 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3533 56 : ca_.Goto(&block0, parameter0, parameter1);
3534 :
3535 56 : if (block0.is_used()) {
3536 56 : compiler::TNode<Context> tmp0;
3537 56 : compiler::TNode<Object> tmp1;
3538 56 : ca_.Bind(&block0, &tmp0, &tmp1);
3539 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 580);
3540 56 : compiler::TNode<IntPtrT> tmp2;
3541 56 : USE(tmp2);
3542 56 : tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3543 56 : compiler::TNode<Object> tmp3;
3544 56 : USE(tmp3);
3545 56 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
3546 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 581);
3547 56 : compiler::TNode<IntPtrT> tmp4;
3548 56 : USE(tmp4);
3549 56 : tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
3550 56 : compiler::TNode<Object> tmp5;
3551 56 : USE(tmp5);
3552 56 : tmp5 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp4}));
3553 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 584);
3554 56 : compiler::TNode<JSReceiver> tmp6;
3555 56 : USE(tmp6);
3556 56 : tmp6 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
3557 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 587);
3558 56 : compiler::TNode<Number> tmp7;
3559 56 : USE(tmp7);
3560 56 : tmp7 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp6}));
3561 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 591);
3562 56 : compiler::TNode<Number> tmp8;
3563 56 : USE(tmp8);
3564 56 : tmp8 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
3565 112 : compiler::CodeAssemblerLabel label0(&ca_);
3566 112 : compiler::CodeAssemblerLabel label1(&ca_);
3567 56 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp7}, compiler::TNode<Number>{tmp8}, &label0, &label1);
3568 56 : if (label0.is_used()) {
3569 56 : ca_.Bind(&label0);
3570 56 : ca_.Goto(&block3, tmp0, tmp1, tmp3, tmp5, tmp6, tmp7, tmp7);
3571 : }
3572 56 : if (label1.is_used()) {
3573 56 : ca_.Bind(&label1);
3574 56 : ca_.Goto(&block4, tmp0, tmp1, tmp3, tmp5, tmp6, tmp7, tmp7);
3575 : }
3576 : }
3577 :
3578 56 : if (block3.is_used()) {
3579 56 : compiler::TNode<Context> tmp9;
3580 56 : compiler::TNode<Object> tmp10;
3581 56 : compiler::TNode<Object> tmp11;
3582 56 : compiler::TNode<Object> tmp12;
3583 56 : compiler::TNode<JSReceiver> tmp13;
3584 56 : compiler::TNode<Number> tmp14;
3585 56 : compiler::TNode<Number> tmp15;
3586 56 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
3587 56 : ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
3588 : }
3589 :
3590 56 : if (block4.is_used()) {
3591 56 : compiler::TNode<Context> tmp16;
3592 56 : compiler::TNode<Object> tmp17;
3593 56 : compiler::TNode<Object> tmp18;
3594 56 : compiler::TNode<Object> tmp19;
3595 56 : compiler::TNode<JSReceiver> tmp20;
3596 56 : compiler::TNode<Number> tmp21;
3597 56 : compiler::TNode<Number> tmp22;
3598 56 : ca_.Bind(&block4, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
3599 56 : ca_.Goto(&block2, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21);
3600 : }
3601 :
3602 56 : if (block1.is_used()) {
3603 56 : compiler::TNode<Context> tmp23;
3604 56 : compiler::TNode<Object> tmp24;
3605 56 : compiler::TNode<Object> tmp25;
3606 56 : compiler::TNode<Object> tmp26;
3607 56 : compiler::TNode<JSReceiver> tmp27;
3608 56 : compiler::TNode<Number> tmp28;
3609 56 : ca_.Bind(&block1, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
3610 56 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp23}, MessageTemplate::kInvalidArrayLength);
3611 : }
3612 :
3613 56 : if (block2.is_used()) {
3614 56 : compiler::TNode<Context> tmp29;
3615 56 : compiler::TNode<Object> tmp30;
3616 56 : compiler::TNode<Object> tmp31;
3617 56 : compiler::TNode<Object> tmp32;
3618 56 : compiler::TNode<JSReceiver> tmp33;
3619 56 : compiler::TNode<Number> tmp34;
3620 56 : ca_.Bind(&block2, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
3621 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 594);
3622 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 593);
3623 56 : compiler::TNode<Object> tmp35;
3624 56 : USE(tmp35);
3625 56 : tmp35 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
3626 56 : compiler::TNode<Object> tmp36;
3627 56 : USE(tmp36);
3628 56 : tmp36 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin7JSArray(compiler::TNode<Context>{tmp29}, true, compiler::TNode<JSReceiver>{tmp33}, compiler::TNode<Number>{tmp34}, compiler::TNode<Object>{tmp35}, compiler::TNode<Object>{tmp31}, compiler::TNode<Object>{tmp32}));
3629 56 : arguments->PopAndReturn(tmp36);
3630 : }
3631 56 : }
3632 :
3633 336 : TF_BUILTIN(ArrayPrototypeToString, CodeStubAssembler) {
3634 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3635 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3636 56 : USE(parameter0);
3637 56 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3638 56 : CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
3639 56 : TNode<Object> parameter1 = arguments_impl.GetReceiver();
3640 56 : auto arguments = &arguments_impl;
3641 56 : USE(arguments);
3642 56 : USE(parameter1);
3643 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3644 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3645 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3646 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3647 56 : ca_.Goto(&block0, parameter0, parameter1);
3648 :
3649 56 : if (block0.is_used()) {
3650 56 : compiler::TNode<Context> tmp0;
3651 56 : compiler::TNode<Object> tmp1;
3652 56 : ca_.Bind(&block0, &tmp0, &tmp1);
3653 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 601);
3654 56 : compiler::TNode<JSReceiver> tmp2;
3655 56 : USE(tmp2);
3656 56 : tmp2 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
3657 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 604);
3658 56 : compiler::TNode<Object> tmp3;
3659 56 : USE(tmp3);
3660 56 : tmp3 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("join"));
3661 56 : compiler::TNode<Object> tmp4;
3662 56 : USE(tmp4);
3663 56 : tmp4 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}, compiler::TNode<Object>{tmp3}));
3664 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 608);
3665 56 : compiler::TNode<JSReceiver> tmp5;
3666 56 : USE(tmp5);
3667 112 : compiler::CodeAssemblerLabel label0(&ca_);
3668 56 : tmp5 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}, &label0);
3669 56 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp4, tmp4, tmp5);
3670 56 : if (label0.is_used()) {
3671 56 : ca_.Bind(&label0);
3672 56 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp4, tmp4);
3673 : }
3674 : }
3675 :
3676 56 : if (block4.is_used()) {
3677 56 : compiler::TNode<Context> tmp6;
3678 56 : compiler::TNode<Object> tmp7;
3679 56 : compiler::TNode<JSReceiver> tmp8;
3680 56 : compiler::TNode<Object> tmp9;
3681 56 : compiler::TNode<Object> tmp10;
3682 56 : ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
3683 56 : ca_.Goto(&block2, tmp6, tmp7, tmp8, tmp9);
3684 : }
3685 :
3686 56 : if (block3.is_used()) {
3687 56 : compiler::TNode<Context> tmp11;
3688 56 : compiler::TNode<Object> tmp12;
3689 56 : compiler::TNode<JSReceiver> tmp13;
3690 56 : compiler::TNode<Object> tmp14;
3691 56 : compiler::TNode<Object> tmp15;
3692 56 : compiler::TNode<JSReceiver> tmp16;
3693 56 : ca_.Bind(&block3, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
3694 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 611);
3695 56 : compiler::TNode<Object> tmp17;
3696 56 : USE(tmp17);
3697 56 : tmp17 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp11}, compiler::TNode<JSReceiver>{tmp16}, compiler::TNode<Object>{tmp13}));
3698 56 : arguments->PopAndReturn(tmp17);
3699 : }
3700 :
3701 56 : if (block2.is_used()) {
3702 56 : compiler::TNode<Context> tmp18;
3703 56 : compiler::TNode<Object> tmp19;
3704 56 : compiler::TNode<JSReceiver> tmp20;
3705 56 : compiler::TNode<Object> tmp21;
3706 56 : ca_.Bind(&block2, &tmp18, &tmp19, &tmp20, &tmp21);
3707 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 614);
3708 56 : compiler::TNode<Object> tmp22;
3709 56 : tmp22 = CodeStubAssembler(state_).CallBuiltin(Builtins::kObjectToString, tmp18, tmp20);
3710 56 : USE(tmp22);
3711 56 : arguments->PopAndReturn(tmp22);
3712 : }
3713 56 : }
3714 :
3715 336 : TF_BUILTIN(TypedArrayPrototypeJoin, CodeStubAssembler) {
3716 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3717 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3718 56 : USE(parameter0);
3719 56 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3720 56 : CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
3721 56 : TNode<Object> parameter1 = arguments_impl.GetReceiver();
3722 56 : auto arguments = &arguments_impl;
3723 56 : USE(arguments);
3724 56 : USE(parameter1);
3725 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3726 56 : ca_.Goto(&block0, parameter0, parameter1);
3727 :
3728 56 : if (block0.is_used()) {
3729 56 : compiler::TNode<Context> tmp0;
3730 56 : compiler::TNode<Object> tmp1;
3731 56 : ca_.Bind(&block0, &tmp0, &tmp1);
3732 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 621);
3733 56 : compiler::TNode<IntPtrT> tmp2;
3734 56 : USE(tmp2);
3735 56 : tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3736 56 : compiler::TNode<Object> tmp3;
3737 56 : USE(tmp3);
3738 56 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
3739 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 626);
3740 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 625);
3741 56 : compiler::TNode<JSTypedArray> tmp4;
3742 56 : USE(tmp4);
3743 56 : tmp4 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.join"));
3744 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 627);
3745 56 : compiler::TNode<Smi> tmp5;
3746 56 : USE(tmp5);
3747 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).LoadJSTypedArrayLength(compiler::TNode<JSTypedArray>{tmp4}));
3748 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 630);
3749 56 : compiler::TNode<Oddball> tmp6;
3750 56 : USE(tmp6);
3751 56 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3752 56 : compiler::TNode<Oddball> tmp7;
3753 56 : USE(tmp7);
3754 56 : tmp7 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
3755 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 629);
3756 56 : compiler::TNode<Object> tmp8;
3757 56 : USE(tmp8);
3758 56 : tmp8 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp0}, false, compiler::TNode<JSReceiver>{tmp4}, compiler::TNode<Number>{tmp5}, compiler::TNode<Object>{tmp3}, compiler::TNode<Object>{tmp6}, compiler::TNode<Object>{tmp7}));
3759 56 : arguments->PopAndReturn(tmp8);
3760 : }
3761 56 : }
3762 :
3763 336 : TF_BUILTIN(TypedArrayPrototypeToLocaleString, CodeStubAssembler) {
3764 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3765 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3766 56 : USE(parameter0);
3767 56 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
3768 56 : CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
3769 56 : TNode<Object> parameter1 = arguments_impl.GetReceiver();
3770 56 : auto arguments = &arguments_impl;
3771 56 : USE(arguments);
3772 56 : USE(parameter1);
3773 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3774 56 : ca_.Goto(&block0, parameter0, parameter1);
3775 :
3776 56 : if (block0.is_used()) {
3777 56 : compiler::TNode<Context> tmp0;
3778 56 : compiler::TNode<Object> tmp1;
3779 56 : ca_.Bind(&block0, &tmp0, &tmp1);
3780 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 636);
3781 56 : compiler::TNode<IntPtrT> tmp2;
3782 56 : USE(tmp2);
3783 56 : tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3784 56 : compiler::TNode<Object> tmp3;
3785 56 : USE(tmp3);
3786 56 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
3787 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 637);
3788 56 : compiler::TNode<IntPtrT> tmp4;
3789 56 : USE(tmp4);
3790 56 : tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
3791 56 : compiler::TNode<Object> tmp5;
3792 56 : USE(tmp5);
3793 56 : tmp5 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp4}));
3794 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 642);
3795 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 641);
3796 56 : compiler::TNode<JSTypedArray> tmp6;
3797 56 : USE(tmp6);
3798 56 : tmp6 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.toLocaleString"));
3799 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 643);
3800 56 : compiler::TNode<Smi> tmp7;
3801 56 : USE(tmp7);
3802 56 : tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).LoadJSTypedArrayLength(compiler::TNode<JSTypedArray>{tmp6}));
3803 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 646);
3804 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 645);
3805 56 : compiler::TNode<Object> tmp8;
3806 56 : USE(tmp8);
3807 56 : tmp8 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
3808 56 : compiler::TNode<Object> tmp9;
3809 56 : USE(tmp9);
3810 56 : tmp9 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp0}, true, compiler::TNode<JSReceiver>{tmp6}, compiler::TNode<Number>{tmp7}, compiler::TNode<Object>{tmp8}, compiler::TNode<Object>{tmp3}, compiler::TNode<Object>{tmp5}));
3811 56 : arguments->PopAndReturn(tmp9);
3812 : }
3813 56 : }
3814 :
3815 392 : TF_BUILTIN(LoadJoinElement25ATGenericElementsAccessor, CodeStubAssembler) {
3816 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
3817 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
3818 56 : USE(parameter0);
3819 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
3820 56 : USE(parameter1);
3821 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
3822 56 : USE(parameter2);
3823 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3824 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
3825 :
3826 56 : if (block0.is_used()) {
3827 56 : compiler::TNode<Context> tmp0;
3828 56 : compiler::TNode<JSReceiver> tmp1;
3829 56 : compiler::TNode<Number> tmp2;
3830 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
3831 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 16);
3832 56 : compiler::TNode<Object> tmp3;
3833 56 : USE(tmp3);
3834 56 : tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}));
3835 56 : CodeStubAssembler(state_).Return(tmp3);
3836 : }
3837 56 : }
3838 :
3839 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) {
3840 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3841 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3842 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3843 224 : 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);
3844 224 : 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);
3845 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
3846 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3847 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3848 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3849 224 : 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);
3850 224 : 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);
3851 224 : 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);
3852 224 : 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);
3853 224 : 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);
3854 224 : 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);
3855 224 : 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);
3856 224 : 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);
3857 224 : 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);
3858 224 : 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);
3859 224 : 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);
3860 224 : 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);
3861 224 : 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);
3862 224 : 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);
3863 224 : 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);
3864 224 : 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);
3865 224 : 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);
3866 224 : 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);
3867 224 : 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);
3868 224 : 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);
3869 224 : 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);
3870 224 : 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);
3871 224 : 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);
3872 224 : 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);
3873 224 : 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);
3874 224 : 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);
3875 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3876 224 : 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);
3877 224 : 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);
3878 224 : 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);
3879 224 : 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);
3880 224 : 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);
3881 224 : 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);
3882 224 : 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);
3883 224 : 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);
3884 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3885 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3886 112 : ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
3887 :
3888 112 : if (block0.is_used()) {
3889 112 : compiler::TNode<Context> tmp0;
3890 112 : compiler::TNode<JSReceiver> tmp1;
3891 112 : compiler::TNode<String> tmp2;
3892 112 : compiler::TNode<Number> tmp3;
3893 112 : compiler::TNode<Object> tmp4;
3894 112 : compiler::TNode<Object> tmp5;
3895 112 : compiler::TNode<BuiltinPtr> tmp6;
3896 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
3897 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
3898 112 : compiler::TNode<Map> tmp7;
3899 112 : USE(tmp7);
3900 112 : tmp7 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp1}));
3901 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
3902 112 : compiler::TNode<UintPtrT> tmp8;
3903 112 : USE(tmp8);
3904 112 : tmp8 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr22UT12ATHeapNumber5ATSmi(compiler::TNode<Number>{tmp3}));
3905 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
3906 112 : compiler::TNode<IntPtrT> tmp9;
3907 112 : USE(tmp9);
3908 112 : tmp9 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
3909 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 269);
3910 112 : compiler::TNode<IntPtrT> tmp10;
3911 112 : USE(tmp10);
3912 112 : tmp10 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3913 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 270);
3914 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
3915 112 : compiler::TNode<FixedArray> tmp11;
3916 112 : USE(tmp11);
3917 112 : compiler::TNode<IntPtrT> tmp12;
3918 112 : USE(tmp12);
3919 112 : compiler::TNode<IntPtrT> tmp13;
3920 112 : USE(tmp13);
3921 112 : compiler::TNode<BoolT> tmp14;
3922 112 : USE(tmp14);
3923 112 : std::tie(tmp11, tmp12, tmp13, tmp14) = ArrayJoinBuiltinsFromDSLAssembler(state_).NewBuffer(compiler::TNode<UintPtrT>{tmp8}, compiler::TNode<String>{tmp2}).Flatten();
3924 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
3925 112 : compiler::TNode<UintPtrT> tmp15;
3926 112 : USE(tmp15);
3927 112 : tmp15 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
3928 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
3929 112 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp6, tmp11, tmp12, tmp13, tmp14, tmp15);
3930 : }
3931 :
3932 112 : if (block4.is_used()) {
3933 112 : compiler::TNode<Context> tmp16;
3934 112 : compiler::TNode<JSReceiver> tmp17;
3935 112 : compiler::TNode<String> tmp18;
3936 112 : compiler::TNode<Number> tmp19;
3937 112 : compiler::TNode<Object> tmp20;
3938 112 : compiler::TNode<Object> tmp21;
3939 112 : compiler::TNode<BuiltinPtr> tmp22;
3940 112 : compiler::TNode<Map> tmp23;
3941 112 : compiler::TNode<UintPtrT> tmp24;
3942 112 : compiler::TNode<IntPtrT> tmp25;
3943 112 : compiler::TNode<IntPtrT> tmp26;
3944 112 : compiler::TNode<BuiltinPtr> tmp27;
3945 112 : compiler::TNode<FixedArray> tmp28;
3946 112 : compiler::TNode<IntPtrT> tmp29;
3947 112 : compiler::TNode<IntPtrT> tmp30;
3948 112 : compiler::TNode<BoolT> tmp31;
3949 112 : compiler::TNode<UintPtrT> tmp32;
3950 112 : ca_.Bind(&block4, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32);
3951 112 : compiler::TNode<BoolT> tmp33;
3952 112 : USE(tmp33);
3953 112 : tmp33 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp32}, compiler::TNode<UintPtrT>{tmp24}));
3954 112 : ca_.Branch(tmp33, &block2, &block3, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32);
3955 : }
3956 :
3957 112 : if (block2.is_used()) {
3958 112 : compiler::TNode<Context> tmp34;
3959 112 : compiler::TNode<JSReceiver> tmp35;
3960 112 : compiler::TNode<String> tmp36;
3961 112 : compiler::TNode<Number> tmp37;
3962 112 : compiler::TNode<Object> tmp38;
3963 112 : compiler::TNode<Object> tmp39;
3964 112 : compiler::TNode<BuiltinPtr> tmp40;
3965 112 : compiler::TNode<Map> tmp41;
3966 112 : compiler::TNode<UintPtrT> tmp42;
3967 112 : compiler::TNode<IntPtrT> tmp43;
3968 112 : compiler::TNode<IntPtrT> tmp44;
3969 112 : compiler::TNode<BuiltinPtr> tmp45;
3970 112 : compiler::TNode<FixedArray> tmp46;
3971 112 : compiler::TNode<IntPtrT> tmp47;
3972 112 : compiler::TNode<IntPtrT> tmp48;
3973 112 : compiler::TNode<BoolT> tmp49;
3974 112 : compiler::TNode<UintPtrT> tmp50;
3975 112 : ca_.Bind(&block2, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
3976 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 279);
3977 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
3978 224 : compiler::CodeAssemblerLabel label0(&ca_);
3979 224 : compiler::CodeAssemblerLabel label1(&ca_);
3980 112 : ArrayJoinBuiltinsFromDSLAssembler(state_).CannotUseSameArrayAccessor7JSArray(compiler::TNode<Context>{tmp34}, compiler::TNode<BuiltinPtr>{tmp45}, compiler::TNode<JSReceiver>{tmp35}, compiler::TNode<Map>{tmp41}, compiler::TNode<Number>{tmp37}, &label0, &label1);
3981 112 : if (label0.is_used()) {
3982 112 : ca_.Bind(&label0);
3983 112 : ca_.Goto(&block7, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp45, tmp35, tmp41, tmp37);
3984 : }
3985 112 : if (label1.is_used()) {
3986 112 : ca_.Bind(&label1);
3987 112 : ca_.Goto(&block8, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp45, tmp35, tmp41, tmp37);
3988 : }
3989 : }
3990 :
3991 112 : if (block7.is_used()) {
3992 112 : compiler::TNode<Context> tmp51;
3993 112 : compiler::TNode<JSReceiver> tmp52;
3994 112 : compiler::TNode<String> tmp53;
3995 112 : compiler::TNode<Number> tmp54;
3996 112 : compiler::TNode<Object> tmp55;
3997 112 : compiler::TNode<Object> tmp56;
3998 112 : compiler::TNode<BuiltinPtr> tmp57;
3999 112 : compiler::TNode<Map> tmp58;
4000 112 : compiler::TNode<UintPtrT> tmp59;
4001 112 : compiler::TNode<IntPtrT> tmp60;
4002 112 : compiler::TNode<IntPtrT> tmp61;
4003 112 : compiler::TNode<BuiltinPtr> tmp62;
4004 112 : compiler::TNode<FixedArray> tmp63;
4005 112 : compiler::TNode<IntPtrT> tmp64;
4006 112 : compiler::TNode<IntPtrT> tmp65;
4007 112 : compiler::TNode<BoolT> tmp66;
4008 112 : compiler::TNode<UintPtrT> tmp67;
4009 112 : compiler::TNode<BuiltinPtr> tmp68;
4010 112 : compiler::TNode<JSReceiver> tmp69;
4011 112 : compiler::TNode<Map> tmp70;
4012 112 : compiler::TNode<Number> tmp71;
4013 112 : ca_.Bind(&block7, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71);
4014 112 : ca_.Goto(&block5, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67);
4015 : }
4016 :
4017 112 : if (block8.is_used()) {
4018 112 : compiler::TNode<Context> tmp72;
4019 112 : compiler::TNode<JSReceiver> tmp73;
4020 112 : compiler::TNode<String> tmp74;
4021 112 : compiler::TNode<Number> tmp75;
4022 112 : compiler::TNode<Object> tmp76;
4023 112 : compiler::TNode<Object> tmp77;
4024 112 : compiler::TNode<BuiltinPtr> tmp78;
4025 112 : compiler::TNode<Map> tmp79;
4026 112 : compiler::TNode<UintPtrT> tmp80;
4027 112 : compiler::TNode<IntPtrT> tmp81;
4028 112 : compiler::TNode<IntPtrT> tmp82;
4029 112 : compiler::TNode<BuiltinPtr> tmp83;
4030 112 : compiler::TNode<FixedArray> tmp84;
4031 112 : compiler::TNode<IntPtrT> tmp85;
4032 112 : compiler::TNode<IntPtrT> tmp86;
4033 112 : compiler::TNode<BoolT> tmp87;
4034 112 : compiler::TNode<UintPtrT> tmp88;
4035 112 : compiler::TNode<BuiltinPtr> tmp89;
4036 112 : compiler::TNode<JSReceiver> tmp90;
4037 112 : compiler::TNode<Map> tmp91;
4038 112 : compiler::TNode<Number> tmp92;
4039 112 : ca_.Bind(&block8, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
4040 112 : ca_.Goto(&block6, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88);
4041 : }
4042 :
4043 112 : if (block5.is_used()) {
4044 112 : compiler::TNode<Context> tmp93;
4045 112 : compiler::TNode<JSReceiver> tmp94;
4046 112 : compiler::TNode<String> tmp95;
4047 112 : compiler::TNode<Number> tmp96;
4048 112 : compiler::TNode<Object> tmp97;
4049 112 : compiler::TNode<Object> tmp98;
4050 112 : compiler::TNode<BuiltinPtr> tmp99;
4051 112 : compiler::TNode<Map> tmp100;
4052 112 : compiler::TNode<UintPtrT> tmp101;
4053 112 : compiler::TNode<IntPtrT> tmp102;
4054 112 : compiler::TNode<IntPtrT> tmp103;
4055 112 : compiler::TNode<BuiltinPtr> tmp104;
4056 112 : compiler::TNode<FixedArray> tmp105;
4057 112 : compiler::TNode<IntPtrT> tmp106;
4058 112 : compiler::TNode<IntPtrT> tmp107;
4059 112 : compiler::TNode<BoolT> tmp108;
4060 112 : compiler::TNode<UintPtrT> tmp109;
4061 112 : ca_.Bind(&block5, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
4062 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
4063 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
4064 112 : ca_.Goto(&block6, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)), tmp105, tmp106, tmp107, tmp108, tmp109);
4065 : }
4066 :
4067 112 : if (block6.is_used()) {
4068 112 : compiler::TNode<Context> tmp110;
4069 112 : compiler::TNode<JSReceiver> tmp111;
4070 112 : compiler::TNode<String> tmp112;
4071 112 : compiler::TNode<Number> tmp113;
4072 112 : compiler::TNode<Object> tmp114;
4073 112 : compiler::TNode<Object> tmp115;
4074 112 : compiler::TNode<BuiltinPtr> tmp116;
4075 112 : compiler::TNode<Map> tmp117;
4076 112 : compiler::TNode<UintPtrT> tmp118;
4077 112 : compiler::TNode<IntPtrT> tmp119;
4078 112 : compiler::TNode<IntPtrT> tmp120;
4079 112 : compiler::TNode<BuiltinPtr> tmp121;
4080 112 : compiler::TNode<FixedArray> tmp122;
4081 112 : compiler::TNode<IntPtrT> tmp123;
4082 112 : compiler::TNode<IntPtrT> tmp124;
4083 112 : compiler::TNode<BoolT> tmp125;
4084 112 : compiler::TNode<UintPtrT> tmp126;
4085 112 : ca_.Bind(&block6, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
4086 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
4087 112 : compiler::TNode<UintPtrT> tmp127;
4088 112 : USE(tmp127);
4089 112 : tmp127 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
4090 112 : compiler::TNode<BoolT> tmp128;
4091 112 : USE(tmp128);
4092 112 : tmp128 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp126}, compiler::TNode<UintPtrT>{tmp127}));
4093 112 : ca_.Branch(tmp128, &block9, &block10, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126);
4094 : }
4095 :
4096 112 : if (block9.is_used()) {
4097 112 : compiler::TNode<Context> tmp129;
4098 112 : compiler::TNode<JSReceiver> tmp130;
4099 112 : compiler::TNode<String> tmp131;
4100 112 : compiler::TNode<Number> tmp132;
4101 112 : compiler::TNode<Object> tmp133;
4102 112 : compiler::TNode<Object> tmp134;
4103 112 : compiler::TNode<BuiltinPtr> tmp135;
4104 112 : compiler::TNode<Map> tmp136;
4105 112 : compiler::TNode<UintPtrT> tmp137;
4106 112 : compiler::TNode<IntPtrT> tmp138;
4107 112 : compiler::TNode<IntPtrT> tmp139;
4108 112 : compiler::TNode<BuiltinPtr> tmp140;
4109 112 : compiler::TNode<FixedArray> tmp141;
4110 112 : compiler::TNode<IntPtrT> tmp142;
4111 112 : compiler::TNode<IntPtrT> tmp143;
4112 112 : compiler::TNode<BoolT> tmp144;
4113 112 : compiler::TNode<UintPtrT> tmp145;
4114 112 : ca_.Bind(&block9, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145);
4115 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 286);
4116 112 : compiler::TNode<IntPtrT> tmp146;
4117 112 : USE(tmp146);
4118 112 : tmp146 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
4119 112 : compiler::TNode<IntPtrT> tmp147;
4120 112 : USE(tmp147);
4121 112 : tmp147 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp139}, compiler::TNode<IntPtrT>{tmp146}));
4122 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
4123 112 : ca_.Goto(&block10, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp147, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145);
4124 : }
4125 :
4126 112 : if (block10.is_used()) {
4127 112 : compiler::TNode<Context> tmp148;
4128 112 : compiler::TNode<JSReceiver> tmp149;
4129 112 : compiler::TNode<String> tmp150;
4130 112 : compiler::TNode<Number> tmp151;
4131 112 : compiler::TNode<Object> tmp152;
4132 112 : compiler::TNode<Object> tmp153;
4133 112 : compiler::TNode<BuiltinPtr> tmp154;
4134 112 : compiler::TNode<Map> tmp155;
4135 112 : compiler::TNode<UintPtrT> tmp156;
4136 112 : compiler::TNode<IntPtrT> tmp157;
4137 112 : compiler::TNode<IntPtrT> tmp158;
4138 112 : compiler::TNode<BuiltinPtr> tmp159;
4139 112 : compiler::TNode<FixedArray> tmp160;
4140 112 : compiler::TNode<IntPtrT> tmp161;
4141 112 : compiler::TNode<IntPtrT> tmp162;
4142 112 : compiler::TNode<BoolT> tmp163;
4143 112 : compiler::TNode<UintPtrT> tmp164;
4144 112 : ca_.Bind(&block10, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164);
4145 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 290);
4146 112 : compiler::TNode<UintPtrT> tmp165;
4147 112 : USE(tmp165);
4148 112 : tmp165 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
4149 112 : compiler::TNode<UintPtrT> tmp166;
4150 112 : USE(tmp166);
4151 112 : tmp166 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp164}, compiler::TNode<UintPtrT>{tmp165}));
4152 112 : compiler::TNode<Number> tmp167;
4153 112 : USE(tmp167);
4154 112 : tmp167 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert22UT12ATHeapNumber5ATSmi9ATuintptr(compiler::TNode<UintPtrT>{tmp164}));
4155 112 : compiler::TNode<Object> tmp168 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp159, tmp148, tmp149, tmp167);
4156 112 : USE(tmp168);
4157 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
4158 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
4159 112 : if ((p_useToLocaleString)) {
4160 56 : ca_.Goto(&block11, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp166, tmp168, ca_.Uninitialized<String>());
4161 : } else {
4162 56 : ca_.Goto(&block12, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp166, tmp168, ca_.Uninitialized<String>());
4163 : }
4164 : }
4165 :
4166 112 : if (block11.is_used()) {
4167 56 : compiler::TNode<Context> tmp169;
4168 56 : compiler::TNode<JSReceiver> tmp170;
4169 56 : compiler::TNode<String> tmp171;
4170 56 : compiler::TNode<Number> tmp172;
4171 56 : compiler::TNode<Object> tmp173;
4172 56 : compiler::TNode<Object> tmp174;
4173 56 : compiler::TNode<BuiltinPtr> tmp175;
4174 56 : compiler::TNode<Map> tmp176;
4175 56 : compiler::TNode<UintPtrT> tmp177;
4176 56 : compiler::TNode<IntPtrT> tmp178;
4177 56 : compiler::TNode<IntPtrT> tmp179;
4178 56 : compiler::TNode<BuiltinPtr> tmp180;
4179 56 : compiler::TNode<FixedArray> tmp181;
4180 56 : compiler::TNode<IntPtrT> tmp182;
4181 56 : compiler::TNode<IntPtrT> tmp183;
4182 56 : compiler::TNode<BoolT> tmp184;
4183 56 : compiler::TNode<UintPtrT> tmp185;
4184 56 : compiler::TNode<Object> tmp186;
4185 56 : compiler::TNode<String> tmp187;
4186 56 : ca_.Bind(&block11, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187);
4187 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
4188 56 : compiler::TNode<String> tmp188;
4189 56 : tmp188 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp169, tmp186, tmp173, tmp174));
4190 56 : USE(tmp188);
4191 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
4192 56 : compiler::TNode<String> tmp189;
4193 56 : USE(tmp189);
4194 56 : tmp189 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
4195 56 : compiler::TNode<BoolT> tmp190;
4196 56 : USE(tmp190);
4197 56 : tmp190 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp188}, compiler::TNode<HeapObject>{tmp189}));
4198 56 : ca_.Branch(tmp190, &block14, &block15, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp188);
4199 : }
4200 :
4201 112 : if (block14.is_used()) {
4202 56 : compiler::TNode<Context> tmp191;
4203 56 : compiler::TNode<JSReceiver> tmp192;
4204 56 : compiler::TNode<String> tmp193;
4205 56 : compiler::TNode<Number> tmp194;
4206 56 : compiler::TNode<Object> tmp195;
4207 56 : compiler::TNode<Object> tmp196;
4208 56 : compiler::TNode<BuiltinPtr> tmp197;
4209 56 : compiler::TNode<Map> tmp198;
4210 56 : compiler::TNode<UintPtrT> tmp199;
4211 56 : compiler::TNode<IntPtrT> tmp200;
4212 56 : compiler::TNode<IntPtrT> tmp201;
4213 56 : compiler::TNode<BuiltinPtr> tmp202;
4214 56 : compiler::TNode<FixedArray> tmp203;
4215 56 : compiler::TNode<IntPtrT> tmp204;
4216 56 : compiler::TNode<IntPtrT> tmp205;
4217 56 : compiler::TNode<BoolT> tmp206;
4218 56 : compiler::TNode<UintPtrT> tmp207;
4219 56 : compiler::TNode<Object> tmp208;
4220 56 : compiler::TNode<String> tmp209;
4221 56 : ca_.Bind(&block14, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209);
4222 56 : ca_.Goto(&block4, tmp191, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207);
4223 : }
4224 :
4225 112 : if (block15.is_used()) {
4226 56 : compiler::TNode<Context> tmp210;
4227 56 : compiler::TNode<JSReceiver> tmp211;
4228 56 : compiler::TNode<String> tmp212;
4229 56 : compiler::TNode<Number> tmp213;
4230 56 : compiler::TNode<Object> tmp214;
4231 56 : compiler::TNode<Object> tmp215;
4232 56 : compiler::TNode<BuiltinPtr> tmp216;
4233 56 : compiler::TNode<Map> tmp217;
4234 56 : compiler::TNode<UintPtrT> tmp218;
4235 56 : compiler::TNode<IntPtrT> tmp219;
4236 56 : compiler::TNode<IntPtrT> tmp220;
4237 56 : compiler::TNode<BuiltinPtr> tmp221;
4238 56 : compiler::TNode<FixedArray> tmp222;
4239 56 : compiler::TNode<IntPtrT> tmp223;
4240 56 : compiler::TNode<IntPtrT> tmp224;
4241 56 : compiler::TNode<BoolT> tmp225;
4242 56 : compiler::TNode<UintPtrT> tmp226;
4243 56 : compiler::TNode<Object> tmp227;
4244 56 : compiler::TNode<String> tmp228;
4245 56 : ca_.Bind(&block15, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228);
4246 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
4247 56 : ca_.Goto(&block13, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228);
4248 : }
4249 :
4250 112 : if (block12.is_used()) {
4251 56 : compiler::TNode<Context> tmp229;
4252 56 : compiler::TNode<JSReceiver> tmp230;
4253 56 : compiler::TNode<String> tmp231;
4254 56 : compiler::TNode<Number> tmp232;
4255 56 : compiler::TNode<Object> tmp233;
4256 56 : compiler::TNode<Object> tmp234;
4257 56 : compiler::TNode<BuiltinPtr> tmp235;
4258 56 : compiler::TNode<Map> tmp236;
4259 56 : compiler::TNode<UintPtrT> tmp237;
4260 56 : compiler::TNode<IntPtrT> tmp238;
4261 56 : compiler::TNode<IntPtrT> tmp239;
4262 56 : compiler::TNode<BuiltinPtr> tmp240;
4263 56 : compiler::TNode<FixedArray> tmp241;
4264 56 : compiler::TNode<IntPtrT> tmp242;
4265 56 : compiler::TNode<IntPtrT> tmp243;
4266 56 : compiler::TNode<BoolT> tmp244;
4267 56 : compiler::TNode<UintPtrT> tmp245;
4268 56 : compiler::TNode<Object> tmp246;
4269 56 : compiler::TNode<String> tmp247;
4270 56 : ca_.Bind(&block12, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247);
4271 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
4272 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
4273 56 : compiler::TNode<String> tmp248;
4274 56 : USE(tmp248);
4275 112 : compiler::CodeAssemblerLabel label0(&ca_);
4276 56 : tmp248 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp229}, compiler::TNode<Object>{tmp246}, &label0);
4277 56 : ca_.Goto(&block18, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp246, tmp246, tmp248);
4278 56 : if (label0.is_used()) {
4279 56 : ca_.Bind(&label0);
4280 56 : ca_.Goto(&block19, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp246, tmp246);
4281 : }
4282 : }
4283 :
4284 112 : if (block19.is_used()) {
4285 56 : compiler::TNode<Context> tmp249;
4286 56 : compiler::TNode<JSReceiver> tmp250;
4287 56 : compiler::TNode<String> tmp251;
4288 56 : compiler::TNode<Number> tmp252;
4289 56 : compiler::TNode<Object> tmp253;
4290 56 : compiler::TNode<Object> tmp254;
4291 56 : compiler::TNode<BuiltinPtr> tmp255;
4292 56 : compiler::TNode<Map> tmp256;
4293 56 : compiler::TNode<UintPtrT> tmp257;
4294 56 : compiler::TNode<IntPtrT> tmp258;
4295 56 : compiler::TNode<IntPtrT> tmp259;
4296 56 : compiler::TNode<BuiltinPtr> tmp260;
4297 56 : compiler::TNode<FixedArray> tmp261;
4298 56 : compiler::TNode<IntPtrT> tmp262;
4299 56 : compiler::TNode<IntPtrT> tmp263;
4300 56 : compiler::TNode<BoolT> tmp264;
4301 56 : compiler::TNode<UintPtrT> tmp265;
4302 56 : compiler::TNode<Object> tmp266;
4303 56 : compiler::TNode<String> tmp267;
4304 56 : compiler::TNode<Object> tmp268;
4305 56 : compiler::TNode<Object> tmp269;
4306 56 : ca_.Bind(&block19, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269);
4307 56 : ca_.Goto(&block17, tmp249, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268);
4308 : }
4309 :
4310 112 : if (block18.is_used()) {
4311 56 : compiler::TNode<Context> tmp270;
4312 56 : compiler::TNode<JSReceiver> tmp271;
4313 56 : compiler::TNode<String> tmp272;
4314 56 : compiler::TNode<Number> tmp273;
4315 56 : compiler::TNode<Object> tmp274;
4316 56 : compiler::TNode<Object> tmp275;
4317 56 : compiler::TNode<BuiltinPtr> tmp276;
4318 56 : compiler::TNode<Map> tmp277;
4319 56 : compiler::TNode<UintPtrT> tmp278;
4320 56 : compiler::TNode<IntPtrT> tmp279;
4321 56 : compiler::TNode<IntPtrT> tmp280;
4322 56 : compiler::TNode<BuiltinPtr> tmp281;
4323 56 : compiler::TNode<FixedArray> tmp282;
4324 56 : compiler::TNode<IntPtrT> tmp283;
4325 56 : compiler::TNode<IntPtrT> tmp284;
4326 56 : compiler::TNode<BoolT> tmp285;
4327 56 : compiler::TNode<UintPtrT> tmp286;
4328 56 : compiler::TNode<Object> tmp287;
4329 56 : compiler::TNode<String> tmp288;
4330 56 : compiler::TNode<Object> tmp289;
4331 56 : compiler::TNode<Object> tmp290;
4332 56 : compiler::TNode<String> tmp291;
4333 56 : ca_.Bind(&block18, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291);
4334 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
4335 56 : compiler::TNode<String> tmp292;
4336 56 : USE(tmp292);
4337 56 : tmp292 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
4338 56 : compiler::TNode<BoolT> tmp293;
4339 56 : USE(tmp293);
4340 56 : tmp293 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp291}, compiler::TNode<HeapObject>{tmp292}));
4341 56 : ca_.Branch(tmp293, &block20, &block21, tmp270, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp291);
4342 : }
4343 :
4344 112 : if (block20.is_used()) {
4345 56 : compiler::TNode<Context> tmp294;
4346 56 : compiler::TNode<JSReceiver> tmp295;
4347 56 : compiler::TNode<String> tmp296;
4348 56 : compiler::TNode<Number> tmp297;
4349 56 : compiler::TNode<Object> tmp298;
4350 56 : compiler::TNode<Object> tmp299;
4351 56 : compiler::TNode<BuiltinPtr> tmp300;
4352 56 : compiler::TNode<Map> tmp301;
4353 56 : compiler::TNode<UintPtrT> tmp302;
4354 56 : compiler::TNode<IntPtrT> tmp303;
4355 56 : compiler::TNode<IntPtrT> tmp304;
4356 56 : compiler::TNode<BuiltinPtr> tmp305;
4357 56 : compiler::TNode<FixedArray> tmp306;
4358 56 : compiler::TNode<IntPtrT> tmp307;
4359 56 : compiler::TNode<IntPtrT> tmp308;
4360 56 : compiler::TNode<BoolT> tmp309;
4361 56 : compiler::TNode<UintPtrT> tmp310;
4362 56 : compiler::TNode<Object> tmp311;
4363 56 : compiler::TNode<String> tmp312;
4364 56 : compiler::TNode<Object> tmp313;
4365 56 : compiler::TNode<String> tmp314;
4366 56 : ca_.Bind(&block20, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314);
4367 56 : ca_.Goto(&block4, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310);
4368 : }
4369 :
4370 112 : if (block21.is_used()) {
4371 56 : compiler::TNode<Context> tmp315;
4372 56 : compiler::TNode<JSReceiver> tmp316;
4373 56 : compiler::TNode<String> tmp317;
4374 56 : compiler::TNode<Number> tmp318;
4375 56 : compiler::TNode<Object> tmp319;
4376 56 : compiler::TNode<Object> tmp320;
4377 56 : compiler::TNode<BuiltinPtr> tmp321;
4378 56 : compiler::TNode<Map> tmp322;
4379 56 : compiler::TNode<UintPtrT> tmp323;
4380 56 : compiler::TNode<IntPtrT> tmp324;
4381 56 : compiler::TNode<IntPtrT> tmp325;
4382 56 : compiler::TNode<BuiltinPtr> tmp326;
4383 56 : compiler::TNode<FixedArray> tmp327;
4384 56 : compiler::TNode<IntPtrT> tmp328;
4385 56 : compiler::TNode<IntPtrT> tmp329;
4386 56 : compiler::TNode<BoolT> tmp330;
4387 56 : compiler::TNode<UintPtrT> tmp331;
4388 56 : compiler::TNode<Object> tmp332;
4389 56 : compiler::TNode<String> tmp333;
4390 56 : compiler::TNode<Object> tmp334;
4391 56 : compiler::TNode<String> tmp335;
4392 56 : ca_.Bind(&block21, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335);
4393 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
4394 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
4395 56 : ca_.Goto(&block16, tmp315, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp335, tmp334);
4396 : }
4397 :
4398 112 : if (block17.is_used()) {
4399 56 : compiler::TNode<Context> tmp336;
4400 56 : compiler::TNode<JSReceiver> tmp337;
4401 56 : compiler::TNode<String> tmp338;
4402 56 : compiler::TNode<Number> tmp339;
4403 56 : compiler::TNode<Object> tmp340;
4404 56 : compiler::TNode<Object> tmp341;
4405 56 : compiler::TNode<BuiltinPtr> tmp342;
4406 56 : compiler::TNode<Map> tmp343;
4407 56 : compiler::TNode<UintPtrT> tmp344;
4408 56 : compiler::TNode<IntPtrT> tmp345;
4409 56 : compiler::TNode<IntPtrT> tmp346;
4410 56 : compiler::TNode<BuiltinPtr> tmp347;
4411 56 : compiler::TNode<FixedArray> tmp348;
4412 56 : compiler::TNode<IntPtrT> tmp349;
4413 56 : compiler::TNode<IntPtrT> tmp350;
4414 56 : compiler::TNode<BoolT> tmp351;
4415 56 : compiler::TNode<UintPtrT> tmp352;
4416 56 : compiler::TNode<Object> tmp353;
4417 56 : compiler::TNode<String> tmp354;
4418 56 : compiler::TNode<Object> tmp355;
4419 56 : ca_.Bind(&block17, &tmp336, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355);
4420 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
4421 56 : compiler::TNode<Number> tmp356;
4422 56 : USE(tmp356);
4423 112 : compiler::CodeAssemblerLabel label0(&ca_);
4424 56 : tmp356 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp355)}, &label0);
4425 56 : ca_.Goto(&block24, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, ca_.UncheckedCast<Object>(tmp355), tmp356);
4426 56 : if (label0.is_used()) {
4427 56 : ca_.Bind(&label0);
4428 56 : ca_.Goto(&block25, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, ca_.UncheckedCast<Object>(tmp355));
4429 : }
4430 : }
4431 :
4432 112 : if (block25.is_used()) {
4433 56 : compiler::TNode<Context> tmp357;
4434 56 : compiler::TNode<JSReceiver> tmp358;
4435 56 : compiler::TNode<String> tmp359;
4436 56 : compiler::TNode<Number> tmp360;
4437 56 : compiler::TNode<Object> tmp361;
4438 56 : compiler::TNode<Object> tmp362;
4439 56 : compiler::TNode<BuiltinPtr> tmp363;
4440 56 : compiler::TNode<Map> tmp364;
4441 56 : compiler::TNode<UintPtrT> tmp365;
4442 56 : compiler::TNode<IntPtrT> tmp366;
4443 56 : compiler::TNode<IntPtrT> tmp367;
4444 56 : compiler::TNode<BuiltinPtr> tmp368;
4445 56 : compiler::TNode<FixedArray> tmp369;
4446 56 : compiler::TNode<IntPtrT> tmp370;
4447 56 : compiler::TNode<IntPtrT> tmp371;
4448 56 : compiler::TNode<BoolT> tmp372;
4449 56 : compiler::TNode<UintPtrT> tmp373;
4450 56 : compiler::TNode<Object> tmp374;
4451 56 : compiler::TNode<String> tmp375;
4452 56 : compiler::TNode<Object> tmp376;
4453 56 : compiler::TNode<Object> tmp377;
4454 56 : ca_.Bind(&block25, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377);
4455 56 : ca_.Goto(&block23, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376);
4456 : }
4457 :
4458 112 : if (block24.is_used()) {
4459 56 : compiler::TNode<Context> tmp378;
4460 56 : compiler::TNode<JSReceiver> tmp379;
4461 56 : compiler::TNode<String> tmp380;
4462 56 : compiler::TNode<Number> tmp381;
4463 56 : compiler::TNode<Object> tmp382;
4464 56 : compiler::TNode<Object> tmp383;
4465 56 : compiler::TNode<BuiltinPtr> tmp384;
4466 56 : compiler::TNode<Map> tmp385;
4467 56 : compiler::TNode<UintPtrT> tmp386;
4468 56 : compiler::TNode<IntPtrT> tmp387;
4469 56 : compiler::TNode<IntPtrT> tmp388;
4470 56 : compiler::TNode<BuiltinPtr> tmp389;
4471 56 : compiler::TNode<FixedArray> tmp390;
4472 56 : compiler::TNode<IntPtrT> tmp391;
4473 56 : compiler::TNode<IntPtrT> tmp392;
4474 56 : compiler::TNode<BoolT> tmp393;
4475 56 : compiler::TNode<UintPtrT> tmp394;
4476 56 : compiler::TNode<Object> tmp395;
4477 56 : compiler::TNode<String> tmp396;
4478 56 : compiler::TNode<Object> tmp397;
4479 56 : compiler::TNode<Object> tmp398;
4480 56 : compiler::TNode<Number> tmp399;
4481 56 : ca_.Bind(&block24, &tmp378, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397, &tmp398, &tmp399);
4482 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
4483 56 : compiler::TNode<String> tmp400;
4484 56 : USE(tmp400);
4485 56 : tmp400 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp399}));
4486 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
4487 56 : ca_.Goto(&block22, tmp378, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp400, tmp397);
4488 : }
4489 :
4490 112 : if (block23.is_used()) {
4491 56 : compiler::TNode<Context> tmp401;
4492 56 : compiler::TNode<JSReceiver> tmp402;
4493 56 : compiler::TNode<String> tmp403;
4494 56 : compiler::TNode<Number> tmp404;
4495 56 : compiler::TNode<Object> tmp405;
4496 56 : compiler::TNode<Object> tmp406;
4497 56 : compiler::TNode<BuiltinPtr> tmp407;
4498 56 : compiler::TNode<Map> tmp408;
4499 56 : compiler::TNode<UintPtrT> tmp409;
4500 56 : compiler::TNode<IntPtrT> tmp410;
4501 56 : compiler::TNode<IntPtrT> tmp411;
4502 56 : compiler::TNode<BuiltinPtr> tmp412;
4503 56 : compiler::TNode<FixedArray> tmp413;
4504 56 : compiler::TNode<IntPtrT> tmp414;
4505 56 : compiler::TNode<IntPtrT> tmp415;
4506 56 : compiler::TNode<BoolT> tmp416;
4507 56 : compiler::TNode<UintPtrT> tmp417;
4508 56 : compiler::TNode<Object> tmp418;
4509 56 : compiler::TNode<String> tmp419;
4510 56 : compiler::TNode<Object> tmp420;
4511 56 : ca_.Bind(&block23, &tmp401, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420);
4512 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 307);
4513 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 308);
4514 56 : compiler::TNode<BoolT> tmp421;
4515 56 : USE(tmp421);
4516 56 : tmp421 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp420)}));
4517 56 : ca_.Branch(tmp421, &block26, &block27, tmp401, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, ca_.UncheckedCast<HeapObject>(tmp420));
4518 : }
4519 :
4520 112 : if (block26.is_used()) {
4521 56 : compiler::TNode<Context> tmp422;
4522 56 : compiler::TNode<JSReceiver> tmp423;
4523 56 : compiler::TNode<String> tmp424;
4524 56 : compiler::TNode<Number> tmp425;
4525 56 : compiler::TNode<Object> tmp426;
4526 56 : compiler::TNode<Object> tmp427;
4527 56 : compiler::TNode<BuiltinPtr> tmp428;
4528 56 : compiler::TNode<Map> tmp429;
4529 56 : compiler::TNode<UintPtrT> tmp430;
4530 56 : compiler::TNode<IntPtrT> tmp431;
4531 56 : compiler::TNode<IntPtrT> tmp432;
4532 56 : compiler::TNode<BuiltinPtr> tmp433;
4533 56 : compiler::TNode<FixedArray> tmp434;
4534 56 : compiler::TNode<IntPtrT> tmp435;
4535 56 : compiler::TNode<IntPtrT> tmp436;
4536 56 : compiler::TNode<BoolT> tmp437;
4537 56 : compiler::TNode<UintPtrT> tmp438;
4538 56 : compiler::TNode<Object> tmp439;
4539 56 : compiler::TNode<String> tmp440;
4540 56 : compiler::TNode<Object> tmp441;
4541 56 : compiler::TNode<HeapObject> tmp442;
4542 56 : ca_.Bind(&block26, &tmp422, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442);
4543 56 : ca_.Goto(&block4, tmp422, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438);
4544 : }
4545 :
4546 112 : if (block27.is_used()) {
4547 56 : compiler::TNode<Context> tmp443;
4548 56 : compiler::TNode<JSReceiver> tmp444;
4549 56 : compiler::TNode<String> tmp445;
4550 56 : compiler::TNode<Number> tmp446;
4551 56 : compiler::TNode<Object> tmp447;
4552 56 : compiler::TNode<Object> tmp448;
4553 56 : compiler::TNode<BuiltinPtr> tmp449;
4554 56 : compiler::TNode<Map> tmp450;
4555 56 : compiler::TNode<UintPtrT> tmp451;
4556 56 : compiler::TNode<IntPtrT> tmp452;
4557 56 : compiler::TNode<IntPtrT> tmp453;
4558 56 : compiler::TNode<BuiltinPtr> tmp454;
4559 56 : compiler::TNode<FixedArray> tmp455;
4560 56 : compiler::TNode<IntPtrT> tmp456;
4561 56 : compiler::TNode<IntPtrT> tmp457;
4562 56 : compiler::TNode<BoolT> tmp458;
4563 56 : compiler::TNode<UintPtrT> tmp459;
4564 56 : compiler::TNode<Object> tmp460;
4565 56 : compiler::TNode<String> tmp461;
4566 56 : compiler::TNode<Object> tmp462;
4567 56 : compiler::TNode<HeapObject> tmp463;
4568 56 : ca_.Bind(&block27, &tmp443, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463);
4569 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 309);
4570 56 : compiler::TNode<String> tmp464;
4571 56 : tmp464 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp443, tmp463));
4572 56 : USE(tmp464);
4573 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
4574 56 : ca_.Goto(&block22, tmp443, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp464, tmp462);
4575 : }
4576 :
4577 112 : if (block22.is_used()) {
4578 56 : compiler::TNode<Context> tmp465;
4579 56 : compiler::TNode<JSReceiver> tmp466;
4580 56 : compiler::TNode<String> tmp467;
4581 56 : compiler::TNode<Number> tmp468;
4582 56 : compiler::TNode<Object> tmp469;
4583 56 : compiler::TNode<Object> tmp470;
4584 56 : compiler::TNode<BuiltinPtr> tmp471;
4585 56 : compiler::TNode<Map> tmp472;
4586 56 : compiler::TNode<UintPtrT> tmp473;
4587 56 : compiler::TNode<IntPtrT> tmp474;
4588 56 : compiler::TNode<IntPtrT> tmp475;
4589 56 : compiler::TNode<BuiltinPtr> tmp476;
4590 56 : compiler::TNode<FixedArray> tmp477;
4591 56 : compiler::TNode<IntPtrT> tmp478;
4592 56 : compiler::TNode<IntPtrT> tmp479;
4593 56 : compiler::TNode<BoolT> tmp480;
4594 56 : compiler::TNode<UintPtrT> tmp481;
4595 56 : compiler::TNode<Object> tmp482;
4596 56 : compiler::TNode<String> tmp483;
4597 56 : compiler::TNode<Object> tmp484;
4598 56 : ca_.Bind(&block22, &tmp465, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483, &tmp484);
4599 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
4600 56 : ca_.Goto(&block16, tmp465, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484);
4601 : }
4602 :
4603 112 : if (block16.is_used()) {
4604 56 : compiler::TNode<Context> tmp485;
4605 56 : compiler::TNode<JSReceiver> tmp486;
4606 56 : compiler::TNode<String> tmp487;
4607 56 : compiler::TNode<Number> tmp488;
4608 56 : compiler::TNode<Object> tmp489;
4609 56 : compiler::TNode<Object> tmp490;
4610 56 : compiler::TNode<BuiltinPtr> tmp491;
4611 56 : compiler::TNode<Map> tmp492;
4612 56 : compiler::TNode<UintPtrT> tmp493;
4613 56 : compiler::TNode<IntPtrT> tmp494;
4614 56 : compiler::TNode<IntPtrT> tmp495;
4615 56 : compiler::TNode<BuiltinPtr> tmp496;
4616 56 : compiler::TNode<FixedArray> tmp497;
4617 56 : compiler::TNode<IntPtrT> tmp498;
4618 56 : compiler::TNode<IntPtrT> tmp499;
4619 56 : compiler::TNode<BoolT> tmp500;
4620 56 : compiler::TNode<UintPtrT> tmp501;
4621 56 : compiler::TNode<Object> tmp502;
4622 56 : compiler::TNode<String> tmp503;
4623 56 : compiler::TNode<Object> tmp504;
4624 56 : ca_.Bind(&block16, &tmp485, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504);
4625 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
4626 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
4627 56 : ca_.Goto(&block13, tmp485, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503);
4628 : }
4629 :
4630 112 : if (block13.is_used()) {
4631 112 : compiler::TNode<Context> tmp505;
4632 112 : compiler::TNode<JSReceiver> tmp506;
4633 112 : compiler::TNode<String> tmp507;
4634 112 : compiler::TNode<Number> tmp508;
4635 112 : compiler::TNode<Object> tmp509;
4636 112 : compiler::TNode<Object> tmp510;
4637 112 : compiler::TNode<BuiltinPtr> tmp511;
4638 112 : compiler::TNode<Map> tmp512;
4639 112 : compiler::TNode<UintPtrT> tmp513;
4640 112 : compiler::TNode<IntPtrT> tmp514;
4641 112 : compiler::TNode<IntPtrT> tmp515;
4642 112 : compiler::TNode<BuiltinPtr> tmp516;
4643 112 : compiler::TNode<FixedArray> tmp517;
4644 112 : compiler::TNode<IntPtrT> tmp518;
4645 112 : compiler::TNode<IntPtrT> tmp519;
4646 112 : compiler::TNode<BoolT> tmp520;
4647 112 : compiler::TNode<UintPtrT> tmp521;
4648 112 : compiler::TNode<Object> tmp522;
4649 112 : compiler::TNode<String> tmp523;
4650 112 : ca_.Bind(&block13, &tmp505, &tmp506, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523);
4651 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
4652 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
4653 112 : compiler::TNode<IntPtrT> tmp524;
4654 112 : USE(tmp524);
4655 112 : tmp524 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
4656 112 : compiler::TNode<BoolT> tmp525;
4657 112 : USE(tmp525);
4658 112 : tmp525 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp518}, compiler::TNode<IntPtrT>{tmp524}));
4659 112 : compiler::TNode<IntPtrT> tmp526;
4660 112 : USE(tmp526);
4661 112 : tmp526 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
4662 112 : compiler::TNode<BoolT> tmp527;
4663 112 : USE(tmp527);
4664 112 : tmp527 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp515}, compiler::TNode<IntPtrT>{tmp526}));
4665 112 : compiler::TNode<BoolT> tmp528;
4666 112 : USE(tmp528);
4667 112 : tmp528 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp525}, compiler::TNode<BoolT>{tmp527}));
4668 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
4669 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
4670 112 : compiler::TNode<IntPtrT> tmp529;
4671 112 : USE(tmp529);
4672 112 : tmp529 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
4673 112 : compiler::TNode<BoolT> tmp530;
4674 112 : USE(tmp530);
4675 112 : tmp530 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp515}, compiler::TNode<IntPtrT>{tmp529}));
4676 112 : ca_.Branch(tmp530, &block30, &block32, tmp505, tmp506, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp522, tmp523, tmp523, tmp515, tmp514, tmp505, tmp523, tmp515, tmp514, tmp528, tmp515, tmp514, tmp528, tmp505, tmp515, tmp514, tmp528);
4677 : }
4678 :
4679 112 : if (block32.is_used()) {
4680 112 : compiler::TNode<Context> tmp531;
4681 112 : compiler::TNode<JSReceiver> tmp532;
4682 112 : compiler::TNode<String> tmp533;
4683 112 : compiler::TNode<Number> tmp534;
4684 112 : compiler::TNode<Object> tmp535;
4685 112 : compiler::TNode<Object> tmp536;
4686 112 : compiler::TNode<BuiltinPtr> tmp537;
4687 112 : compiler::TNode<Map> tmp538;
4688 112 : compiler::TNode<UintPtrT> tmp539;
4689 112 : compiler::TNode<IntPtrT> tmp540;
4690 112 : compiler::TNode<IntPtrT> tmp541;
4691 112 : compiler::TNode<BuiltinPtr> tmp542;
4692 112 : compiler::TNode<FixedArray> tmp543;
4693 112 : compiler::TNode<IntPtrT> tmp544;
4694 112 : compiler::TNode<IntPtrT> tmp545;
4695 112 : compiler::TNode<BoolT> tmp546;
4696 112 : compiler::TNode<UintPtrT> tmp547;
4697 112 : compiler::TNode<Object> tmp548;
4698 112 : compiler::TNode<String> tmp549;
4699 112 : compiler::TNode<String> tmp550;
4700 112 : compiler::TNode<IntPtrT> tmp551;
4701 112 : compiler::TNode<IntPtrT> tmp552;
4702 112 : compiler::TNode<Context> tmp553;
4703 112 : compiler::TNode<String> tmp554;
4704 112 : compiler::TNode<IntPtrT> tmp555;
4705 112 : compiler::TNode<IntPtrT> tmp556;
4706 112 : compiler::TNode<BoolT> tmp557;
4707 112 : compiler::TNode<IntPtrT> tmp558;
4708 112 : compiler::TNode<IntPtrT> tmp559;
4709 112 : compiler::TNode<BoolT> tmp560;
4710 112 : compiler::TNode<Context> tmp561;
4711 112 : compiler::TNode<IntPtrT> tmp562;
4712 112 : compiler::TNode<IntPtrT> tmp563;
4713 112 : compiler::TNode<BoolT> tmp564;
4714 112 : ca_.Bind(&block32, &tmp531, &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);
4715 112 : compiler::TNode<IntPtrT> tmp565;
4716 112 : USE(tmp565);
4717 112 : tmp565 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
4718 112 : compiler::TNode<BoolT> tmp566;
4719 112 : USE(tmp566);
4720 112 : tmp566 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp563}, compiler::TNode<IntPtrT>{tmp565}));
4721 112 : ca_.Branch(tmp566, &block30, &block31, tmp531, 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);
4722 : }
4723 :
4724 112 : if (block30.is_used()) {
4725 112 : compiler::TNode<Context> tmp567;
4726 112 : compiler::TNode<JSReceiver> tmp568;
4727 112 : compiler::TNode<String> tmp569;
4728 112 : compiler::TNode<Number> tmp570;
4729 112 : compiler::TNode<Object> tmp571;
4730 112 : compiler::TNode<Object> tmp572;
4731 112 : compiler::TNode<BuiltinPtr> tmp573;
4732 112 : compiler::TNode<Map> tmp574;
4733 112 : compiler::TNode<UintPtrT> tmp575;
4734 112 : compiler::TNode<IntPtrT> tmp576;
4735 112 : compiler::TNode<IntPtrT> tmp577;
4736 112 : compiler::TNode<BuiltinPtr> tmp578;
4737 112 : compiler::TNode<FixedArray> tmp579;
4738 112 : compiler::TNode<IntPtrT> tmp580;
4739 112 : compiler::TNode<IntPtrT> tmp581;
4740 112 : compiler::TNode<BoolT> tmp582;
4741 112 : compiler::TNode<UintPtrT> tmp583;
4742 112 : compiler::TNode<Object> tmp584;
4743 112 : compiler::TNode<String> tmp585;
4744 112 : compiler::TNode<String> tmp586;
4745 112 : compiler::TNode<IntPtrT> tmp587;
4746 112 : compiler::TNode<IntPtrT> tmp588;
4747 112 : compiler::TNode<Context> tmp589;
4748 112 : compiler::TNode<String> tmp590;
4749 112 : compiler::TNode<IntPtrT> tmp591;
4750 112 : compiler::TNode<IntPtrT> tmp592;
4751 112 : compiler::TNode<BoolT> tmp593;
4752 112 : compiler::TNode<IntPtrT> tmp594;
4753 112 : compiler::TNode<IntPtrT> tmp595;
4754 112 : compiler::TNode<BoolT> tmp596;
4755 112 : compiler::TNode<Context> tmp597;
4756 112 : compiler::TNode<IntPtrT> tmp598;
4757 112 : compiler::TNode<IntPtrT> tmp599;
4758 112 : compiler::TNode<BoolT> tmp600;
4759 112 : ca_.Bind(&block30, &tmp567, &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);
4760 112 : ca_.Goto(&block29, tmp567, 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);
4761 : }
4762 :
4763 112 : if (block31.is_used()) {
4764 112 : compiler::TNode<Context> tmp601;
4765 112 : compiler::TNode<JSReceiver> tmp602;
4766 112 : compiler::TNode<String> tmp603;
4767 112 : compiler::TNode<Number> tmp604;
4768 112 : compiler::TNode<Object> tmp605;
4769 112 : compiler::TNode<Object> tmp606;
4770 112 : compiler::TNode<BuiltinPtr> tmp607;
4771 112 : compiler::TNode<Map> tmp608;
4772 112 : compiler::TNode<UintPtrT> tmp609;
4773 112 : compiler::TNode<IntPtrT> tmp610;
4774 112 : compiler::TNode<IntPtrT> tmp611;
4775 112 : compiler::TNode<BuiltinPtr> tmp612;
4776 112 : compiler::TNode<FixedArray> tmp613;
4777 112 : compiler::TNode<IntPtrT> tmp614;
4778 112 : compiler::TNode<IntPtrT> tmp615;
4779 112 : compiler::TNode<BoolT> tmp616;
4780 112 : compiler::TNode<UintPtrT> tmp617;
4781 112 : compiler::TNode<Object> tmp618;
4782 112 : compiler::TNode<String> tmp619;
4783 112 : compiler::TNode<String> tmp620;
4784 112 : compiler::TNode<IntPtrT> tmp621;
4785 112 : compiler::TNode<IntPtrT> tmp622;
4786 112 : compiler::TNode<Context> tmp623;
4787 112 : compiler::TNode<String> tmp624;
4788 112 : compiler::TNode<IntPtrT> tmp625;
4789 112 : compiler::TNode<IntPtrT> tmp626;
4790 112 : compiler::TNode<BoolT> tmp627;
4791 112 : compiler::TNode<IntPtrT> tmp628;
4792 112 : compiler::TNode<IntPtrT> tmp629;
4793 112 : compiler::TNode<BoolT> tmp630;
4794 112 : compiler::TNode<Context> tmp631;
4795 112 : compiler::TNode<IntPtrT> tmp632;
4796 112 : compiler::TNode<IntPtrT> tmp633;
4797 112 : compiler::TNode<BoolT> tmp634;
4798 112 : ca_.Bind(&block31, &tmp601, &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);
4799 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
4800 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
4801 112 : compiler::TNode<IntPtrT> tmp635;
4802 112 : USE(tmp635);
4803 112 : tmp635 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp633}, compiler::TNode<IntPtrT>{tmp632}));
4804 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
4805 112 : compiler::TNode<IntPtrT> tmp636;
4806 112 : USE(tmp636);
4807 112 : tmp636 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp635}, compiler::TNode<IntPtrT>{tmp633}));
4808 112 : compiler::TNode<BoolT> tmp637;
4809 112 : USE(tmp637);
4810 112 : tmp637 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp636}, compiler::TNode<IntPtrT>{tmp632}));
4811 112 : ca_.Branch(tmp637, &block33, &block34, tmp601, 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, tmp632, tmp635);
4812 : }
4813 :
4814 112 : if (block33.is_used()) {
4815 112 : compiler::TNode<Context> tmp638;
4816 112 : compiler::TNode<JSReceiver> tmp639;
4817 112 : compiler::TNode<String> tmp640;
4818 112 : compiler::TNode<Number> tmp641;
4819 112 : compiler::TNode<Object> tmp642;
4820 112 : compiler::TNode<Object> tmp643;
4821 112 : compiler::TNode<BuiltinPtr> tmp644;
4822 112 : compiler::TNode<Map> tmp645;
4823 112 : compiler::TNode<UintPtrT> tmp646;
4824 112 : compiler::TNode<IntPtrT> tmp647;
4825 112 : compiler::TNode<IntPtrT> tmp648;
4826 112 : compiler::TNode<BuiltinPtr> tmp649;
4827 112 : compiler::TNode<FixedArray> tmp650;
4828 112 : compiler::TNode<IntPtrT> tmp651;
4829 112 : compiler::TNode<IntPtrT> tmp652;
4830 112 : compiler::TNode<BoolT> tmp653;
4831 112 : compiler::TNode<UintPtrT> tmp654;
4832 112 : compiler::TNode<Object> tmp655;
4833 112 : compiler::TNode<String> tmp656;
4834 112 : compiler::TNode<String> tmp657;
4835 112 : compiler::TNode<IntPtrT> tmp658;
4836 112 : compiler::TNode<IntPtrT> tmp659;
4837 112 : compiler::TNode<Context> tmp660;
4838 112 : compiler::TNode<String> tmp661;
4839 112 : compiler::TNode<IntPtrT> tmp662;
4840 112 : compiler::TNode<IntPtrT> tmp663;
4841 112 : compiler::TNode<BoolT> tmp664;
4842 112 : compiler::TNode<IntPtrT> tmp665;
4843 112 : compiler::TNode<IntPtrT> tmp666;
4844 112 : compiler::TNode<BoolT> tmp667;
4845 112 : compiler::TNode<Context> tmp668;
4846 112 : compiler::TNode<IntPtrT> tmp669;
4847 112 : compiler::TNode<IntPtrT> tmp670;
4848 112 : compiler::TNode<BoolT> tmp671;
4849 112 : compiler::TNode<IntPtrT> tmp672;
4850 112 : compiler::TNode<IntPtrT> tmp673;
4851 112 : ca_.Bind(&block33, &tmp638, &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);
4852 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
4853 112 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp668);
4854 112 : CodeStubAssembler(state_).Unreachable();
4855 : }
4856 :
4857 112 : if (block34.is_used()) {
4858 112 : compiler::TNode<Context> tmp675;
4859 112 : compiler::TNode<JSReceiver> tmp676;
4860 112 : compiler::TNode<String> tmp677;
4861 112 : compiler::TNode<Number> tmp678;
4862 112 : compiler::TNode<Object> tmp679;
4863 112 : compiler::TNode<Object> tmp680;
4864 112 : compiler::TNode<BuiltinPtr> tmp681;
4865 112 : compiler::TNode<Map> tmp682;
4866 112 : compiler::TNode<UintPtrT> tmp683;
4867 112 : compiler::TNode<IntPtrT> tmp684;
4868 112 : compiler::TNode<IntPtrT> tmp685;
4869 112 : compiler::TNode<BuiltinPtr> tmp686;
4870 112 : compiler::TNode<FixedArray> tmp687;
4871 112 : compiler::TNode<IntPtrT> tmp688;
4872 112 : compiler::TNode<IntPtrT> tmp689;
4873 112 : compiler::TNode<BoolT> tmp690;
4874 112 : compiler::TNode<UintPtrT> tmp691;
4875 112 : compiler::TNode<Object> tmp692;
4876 112 : compiler::TNode<String> tmp693;
4877 112 : compiler::TNode<String> tmp694;
4878 112 : compiler::TNode<IntPtrT> tmp695;
4879 112 : compiler::TNode<IntPtrT> tmp696;
4880 112 : compiler::TNode<Context> tmp697;
4881 112 : compiler::TNode<String> tmp698;
4882 112 : compiler::TNode<IntPtrT> tmp699;
4883 112 : compiler::TNode<IntPtrT> tmp700;
4884 112 : compiler::TNode<BoolT> tmp701;
4885 112 : compiler::TNode<IntPtrT> tmp702;
4886 112 : compiler::TNode<IntPtrT> tmp703;
4887 112 : compiler::TNode<BoolT> tmp704;
4888 112 : compiler::TNode<Context> tmp705;
4889 112 : compiler::TNode<IntPtrT> tmp706;
4890 112 : compiler::TNode<IntPtrT> tmp707;
4891 112 : compiler::TNode<BoolT> tmp708;
4892 112 : compiler::TNode<IntPtrT> tmp709;
4893 112 : compiler::TNode<IntPtrT> tmp710;
4894 112 : ca_.Bind(&block34, &tmp675, &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);
4895 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
4896 112 : compiler::TNode<IntPtrT> tmp711;
4897 112 : USE(tmp711);
4898 112 : tmp711 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp705}, compiler::TNode<IntPtrT>{tmp689}, compiler::TNode<IntPtrT>{tmp710}));
4899 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
4900 112 : ca_.Branch(tmp708, &block35, &block36, tmp675, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp686, tmp687, tmp688, tmp711, tmp690, tmp691, tmp692, tmp693, tmp694, tmp695, tmp696, tmp697, tmp698, tmp699, tmp700, tmp701, tmp702, tmp703, tmp704, tmp705, tmp706, tmp707, tmp708, tmp709, tmp710);
4901 : }
4902 :
4903 112 : if (block35.is_used()) {
4904 112 : compiler::TNode<Context> tmp712;
4905 112 : compiler::TNode<JSReceiver> tmp713;
4906 112 : compiler::TNode<String> tmp714;
4907 112 : compiler::TNode<Number> tmp715;
4908 112 : compiler::TNode<Object> tmp716;
4909 112 : compiler::TNode<Object> tmp717;
4910 112 : compiler::TNode<BuiltinPtr> tmp718;
4911 112 : compiler::TNode<Map> tmp719;
4912 112 : compiler::TNode<UintPtrT> tmp720;
4913 112 : compiler::TNode<IntPtrT> tmp721;
4914 112 : compiler::TNode<IntPtrT> tmp722;
4915 112 : compiler::TNode<BuiltinPtr> tmp723;
4916 112 : compiler::TNode<FixedArray> tmp724;
4917 112 : compiler::TNode<IntPtrT> tmp725;
4918 112 : compiler::TNode<IntPtrT> tmp726;
4919 112 : compiler::TNode<BoolT> tmp727;
4920 112 : compiler::TNode<UintPtrT> tmp728;
4921 112 : compiler::TNode<Object> tmp729;
4922 112 : compiler::TNode<String> tmp730;
4923 112 : compiler::TNode<String> tmp731;
4924 112 : compiler::TNode<IntPtrT> tmp732;
4925 112 : compiler::TNode<IntPtrT> tmp733;
4926 112 : compiler::TNode<Context> tmp734;
4927 112 : compiler::TNode<String> tmp735;
4928 112 : compiler::TNode<IntPtrT> tmp736;
4929 112 : compiler::TNode<IntPtrT> tmp737;
4930 112 : compiler::TNode<BoolT> tmp738;
4931 112 : compiler::TNode<IntPtrT> tmp739;
4932 112 : compiler::TNode<IntPtrT> tmp740;
4933 112 : compiler::TNode<BoolT> tmp741;
4934 112 : compiler::TNode<Context> tmp742;
4935 112 : compiler::TNode<IntPtrT> tmp743;
4936 112 : compiler::TNode<IntPtrT> tmp744;
4937 112 : compiler::TNode<BoolT> tmp745;
4938 112 : compiler::TNode<IntPtrT> tmp746;
4939 112 : compiler::TNode<IntPtrT> tmp747;
4940 112 : ca_.Bind(&block35, &tmp712, &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);
4941 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
4942 112 : compiler::TNode<IntPtrT> tmp748;
4943 112 : USE(tmp748);
4944 112 : tmp748 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
4945 112 : compiler::TNode<IntPtrT> tmp749;
4946 112 : USE(tmp749);
4947 112 : tmp749 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp725}, compiler::TNode<IntPtrT>{tmp748}));
4948 112 : compiler::TNode<Smi> tmp750;
4949 112 : USE(tmp750);
4950 112 : tmp750 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp746}));
4951 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
4952 112 : compiler::TNode<FixedArray> tmp751;
4953 112 : USE(tmp751);
4954 112 : tmp751 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp724}, compiler::TNode<IntPtrT>{tmp725}, compiler::TNode<Smi>{tmp750}));
4955 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
4956 112 : ca_.Goto(&block36, tmp712, tmp713, tmp714, tmp715, tmp716, tmp717, tmp718, tmp719, tmp720, tmp721, tmp722, tmp723, tmp751, tmp749, tmp726, tmp727, tmp728, tmp729, tmp730, tmp731, tmp732, tmp733, tmp734, tmp735, tmp736, tmp737, tmp738, tmp739, tmp740, tmp741, tmp742, tmp743, tmp744, tmp745, tmp746, tmp747);
4957 : }
4958 :
4959 112 : if (block36.is_used()) {
4960 112 : compiler::TNode<Context> tmp752;
4961 112 : compiler::TNode<JSReceiver> tmp753;
4962 112 : compiler::TNode<String> tmp754;
4963 112 : compiler::TNode<Number> tmp755;
4964 112 : compiler::TNode<Object> tmp756;
4965 112 : compiler::TNode<Object> tmp757;
4966 112 : compiler::TNode<BuiltinPtr> tmp758;
4967 112 : compiler::TNode<Map> tmp759;
4968 112 : compiler::TNode<UintPtrT> tmp760;
4969 112 : compiler::TNode<IntPtrT> tmp761;
4970 112 : compiler::TNode<IntPtrT> tmp762;
4971 112 : compiler::TNode<BuiltinPtr> tmp763;
4972 112 : compiler::TNode<FixedArray> tmp764;
4973 112 : compiler::TNode<IntPtrT> tmp765;
4974 112 : compiler::TNode<IntPtrT> tmp766;
4975 112 : compiler::TNode<BoolT> tmp767;
4976 112 : compiler::TNode<UintPtrT> tmp768;
4977 112 : compiler::TNode<Object> tmp769;
4978 112 : compiler::TNode<String> tmp770;
4979 112 : compiler::TNode<String> tmp771;
4980 112 : compiler::TNode<IntPtrT> tmp772;
4981 112 : compiler::TNode<IntPtrT> tmp773;
4982 112 : compiler::TNode<Context> tmp774;
4983 112 : compiler::TNode<String> tmp775;
4984 112 : compiler::TNode<IntPtrT> tmp776;
4985 112 : compiler::TNode<IntPtrT> tmp777;
4986 112 : compiler::TNode<BoolT> tmp778;
4987 112 : compiler::TNode<IntPtrT> tmp779;
4988 112 : compiler::TNode<IntPtrT> tmp780;
4989 112 : compiler::TNode<BoolT> tmp781;
4990 112 : compiler::TNode<Context> tmp782;
4991 112 : compiler::TNode<IntPtrT> tmp783;
4992 112 : compiler::TNode<IntPtrT> tmp784;
4993 112 : compiler::TNode<BoolT> tmp785;
4994 112 : compiler::TNode<IntPtrT> tmp786;
4995 112 : compiler::TNode<IntPtrT> tmp787;
4996 112 : ca_.Bind(&block36, &tmp752, &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);
4997 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
4998 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
4999 112 : ca_.Goto(&block29, tmp752, 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);
5000 : }
5001 :
5002 112 : if (block29.is_used()) {
5003 112 : compiler::TNode<Context> tmp788;
5004 112 : compiler::TNode<JSReceiver> tmp789;
5005 112 : compiler::TNode<String> tmp790;
5006 112 : compiler::TNode<Number> tmp791;
5007 112 : compiler::TNode<Object> tmp792;
5008 112 : compiler::TNode<Object> tmp793;
5009 112 : compiler::TNode<BuiltinPtr> tmp794;
5010 112 : compiler::TNode<Map> tmp795;
5011 112 : compiler::TNode<UintPtrT> tmp796;
5012 112 : compiler::TNode<IntPtrT> tmp797;
5013 112 : compiler::TNode<IntPtrT> tmp798;
5014 112 : compiler::TNode<BuiltinPtr> tmp799;
5015 112 : compiler::TNode<FixedArray> tmp800;
5016 112 : compiler::TNode<IntPtrT> tmp801;
5017 112 : compiler::TNode<IntPtrT> tmp802;
5018 112 : compiler::TNode<BoolT> tmp803;
5019 112 : compiler::TNode<UintPtrT> tmp804;
5020 112 : compiler::TNode<Object> tmp805;
5021 112 : compiler::TNode<String> tmp806;
5022 112 : compiler::TNode<String> tmp807;
5023 112 : compiler::TNode<IntPtrT> tmp808;
5024 112 : compiler::TNode<IntPtrT> tmp809;
5025 112 : compiler::TNode<Context> tmp810;
5026 112 : compiler::TNode<String> tmp811;
5027 112 : compiler::TNode<IntPtrT> tmp812;
5028 112 : compiler::TNode<IntPtrT> tmp813;
5029 112 : compiler::TNode<BoolT> tmp814;
5030 112 : compiler::TNode<IntPtrT> tmp815;
5031 112 : compiler::TNode<IntPtrT> tmp816;
5032 112 : compiler::TNode<BoolT> tmp817;
5033 112 : compiler::TNode<Context> tmp818;
5034 112 : compiler::TNode<IntPtrT> tmp819;
5035 112 : compiler::TNode<IntPtrT> tmp820;
5036 112 : compiler::TNode<BoolT> tmp821;
5037 112 : ca_.Bind(&block29, &tmp788, &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);
5038 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
5039 112 : compiler::TNode<IntPtrT> tmp822;
5040 112 : USE(tmp822);
5041 112 : tmp822 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp811}));
5042 112 : compiler::TNode<IntPtrT> tmp823;
5043 112 : USE(tmp823);
5044 112 : tmp823 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp810}, compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<IntPtrT>{tmp822}));
5045 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
5046 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 164);
5047 112 : compiler::TNode<IntPtrT> tmp824;
5048 112 : USE(tmp824);
5049 112 : tmp824 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
5050 112 : compiler::TNode<IntPtrT> tmp825;
5051 112 : USE(tmp825);
5052 112 : tmp825 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp801}, compiler::TNode<IntPtrT>{tmp824}));
5053 112 : compiler::TNode<FixedArray> tmp826;
5054 112 : USE(tmp826);
5055 112 : tmp826 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray6String(compiler::TNode<FixedArray>{tmp800}, compiler::TNode<IntPtrT>{tmp801}, compiler::TNode<String>{tmp811}));
5056 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
5057 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 166);
5058 112 : compiler::TNode<Int32T> tmp827;
5059 112 : USE(tmp827);
5060 112 : tmp827 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp811}));
5061 112 : compiler::TNode<BoolT> tmp828;
5062 112 : USE(tmp828);
5063 112 : tmp828 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp827}));
5064 112 : compiler::TNode<BoolT> tmp829;
5065 112 : USE(tmp829);
5066 112 : tmp829 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp828}, compiler::TNode<BoolT>{tmp803}));
5067 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 165);
5068 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
5069 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
5070 112 : ca_.Goto(&block28, tmp788, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp795, tmp796, tmp797, tmp798, tmp799, tmp826, tmp825, tmp823, tmp829, tmp804, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813);
5071 : }
5072 :
5073 112 : if (block28.is_used()) {
5074 112 : compiler::TNode<Context> tmp830;
5075 112 : compiler::TNode<JSReceiver> tmp831;
5076 112 : compiler::TNode<String> tmp832;
5077 112 : compiler::TNode<Number> tmp833;
5078 112 : compiler::TNode<Object> tmp834;
5079 112 : compiler::TNode<Object> tmp835;
5080 112 : compiler::TNode<BuiltinPtr> tmp836;
5081 112 : compiler::TNode<Map> tmp837;
5082 112 : compiler::TNode<UintPtrT> tmp838;
5083 112 : compiler::TNode<IntPtrT> tmp839;
5084 112 : compiler::TNode<IntPtrT> tmp840;
5085 112 : compiler::TNode<BuiltinPtr> tmp841;
5086 112 : compiler::TNode<FixedArray> tmp842;
5087 112 : compiler::TNode<IntPtrT> tmp843;
5088 112 : compiler::TNode<IntPtrT> tmp844;
5089 112 : compiler::TNode<BoolT> tmp845;
5090 112 : compiler::TNode<UintPtrT> tmp846;
5091 112 : compiler::TNode<Object> tmp847;
5092 112 : compiler::TNode<String> tmp848;
5093 112 : compiler::TNode<String> tmp849;
5094 112 : compiler::TNode<IntPtrT> tmp850;
5095 112 : compiler::TNode<IntPtrT> tmp851;
5096 112 : compiler::TNode<Context> tmp852;
5097 112 : compiler::TNode<String> tmp853;
5098 112 : compiler::TNode<IntPtrT> tmp854;
5099 112 : compiler::TNode<IntPtrT> tmp855;
5100 112 : ca_.Bind(&block28, &tmp830, &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);
5101 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 316);
5102 112 : compiler::TNode<IntPtrT> tmp856;
5103 112 : USE(tmp856);
5104 112 : tmp856 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
5105 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
5106 112 : ca_.Goto(&block4, tmp830, tmp831, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp856, tmp841, tmp842, tmp843, tmp844, tmp845, tmp846);
5107 : }
5108 :
5109 112 : if (block3.is_used()) {
5110 112 : compiler::TNode<Context> tmp857;
5111 112 : compiler::TNode<JSReceiver> tmp858;
5112 112 : compiler::TNode<String> tmp859;
5113 112 : compiler::TNode<Number> tmp860;
5114 112 : compiler::TNode<Object> tmp861;
5115 112 : compiler::TNode<Object> tmp862;
5116 112 : compiler::TNode<BuiltinPtr> tmp863;
5117 112 : compiler::TNode<Map> tmp864;
5118 112 : compiler::TNode<UintPtrT> tmp865;
5119 112 : compiler::TNode<IntPtrT> tmp866;
5120 112 : compiler::TNode<IntPtrT> tmp867;
5121 112 : compiler::TNode<BuiltinPtr> tmp868;
5122 112 : compiler::TNode<FixedArray> tmp869;
5123 112 : compiler::TNode<IntPtrT> tmp870;
5124 112 : compiler::TNode<IntPtrT> tmp871;
5125 112 : compiler::TNode<BoolT> tmp872;
5126 112 : compiler::TNode<UintPtrT> tmp873;
5127 112 : ca_.Bind(&block3, &tmp857, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873);
5128 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
5129 112 : compiler::TNode<BoolT> tmp874;
5130 112 : USE(tmp874);
5131 112 : tmp874 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
5132 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
5133 112 : compiler::TNode<IntPtrT> tmp875;
5134 112 : USE(tmp875);
5135 112 : tmp875 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
5136 112 : compiler::TNode<BoolT> tmp876;
5137 112 : USE(tmp876);
5138 112 : tmp876 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp867}, compiler::TNode<IntPtrT>{tmp875}));
5139 112 : ca_.Branch(tmp876, &block38, &block40, tmp857, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp867, tmp866, tmp857, tmp867, tmp866, tmp874);
5140 : }
5141 :
5142 112 : if (block40.is_used()) {
5143 112 : compiler::TNode<Context> tmp877;
5144 112 : compiler::TNode<JSReceiver> tmp878;
5145 112 : compiler::TNode<String> tmp879;
5146 112 : compiler::TNode<Number> tmp880;
5147 112 : compiler::TNode<Object> tmp881;
5148 112 : compiler::TNode<Object> tmp882;
5149 112 : compiler::TNode<BuiltinPtr> tmp883;
5150 112 : compiler::TNode<Map> tmp884;
5151 112 : compiler::TNode<UintPtrT> tmp885;
5152 112 : compiler::TNode<IntPtrT> tmp886;
5153 112 : compiler::TNode<IntPtrT> tmp887;
5154 112 : compiler::TNode<BuiltinPtr> tmp888;
5155 112 : compiler::TNode<FixedArray> tmp889;
5156 112 : compiler::TNode<IntPtrT> tmp890;
5157 112 : compiler::TNode<IntPtrT> tmp891;
5158 112 : compiler::TNode<BoolT> tmp892;
5159 112 : compiler::TNode<UintPtrT> tmp893;
5160 112 : compiler::TNode<IntPtrT> tmp894;
5161 112 : compiler::TNode<IntPtrT> tmp895;
5162 112 : compiler::TNode<Context> tmp896;
5163 112 : compiler::TNode<IntPtrT> tmp897;
5164 112 : compiler::TNode<IntPtrT> tmp898;
5165 112 : compiler::TNode<BoolT> tmp899;
5166 112 : ca_.Bind(&block40, &tmp877, &tmp878, &tmp879, &tmp880, &tmp881, &tmp882, &tmp883, &tmp884, &tmp885, &tmp886, &tmp887, &tmp888, &tmp889, &tmp890, &tmp891, &tmp892, &tmp893, &tmp894, &tmp895, &tmp896, &tmp897, &tmp898, &tmp899);
5167 112 : compiler::TNode<IntPtrT> tmp900;
5168 112 : USE(tmp900);
5169 112 : tmp900 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
5170 112 : compiler::TNode<BoolT> tmp901;
5171 112 : USE(tmp901);
5172 112 : tmp901 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp898}, compiler::TNode<IntPtrT>{tmp900}));
5173 112 : ca_.Branch(tmp901, &block38, &block39, tmp877, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889, tmp890, tmp891, tmp892, tmp893, tmp894, tmp895, tmp896, tmp897, tmp898, tmp899);
5174 : }
5175 :
5176 112 : if (block38.is_used()) {
5177 112 : compiler::TNode<Context> tmp902;
5178 112 : compiler::TNode<JSReceiver> tmp903;
5179 112 : compiler::TNode<String> tmp904;
5180 112 : compiler::TNode<Number> tmp905;
5181 112 : compiler::TNode<Object> tmp906;
5182 112 : compiler::TNode<Object> tmp907;
5183 112 : compiler::TNode<BuiltinPtr> tmp908;
5184 112 : compiler::TNode<Map> tmp909;
5185 112 : compiler::TNode<UintPtrT> tmp910;
5186 112 : compiler::TNode<IntPtrT> tmp911;
5187 112 : compiler::TNode<IntPtrT> tmp912;
5188 112 : compiler::TNode<BuiltinPtr> tmp913;
5189 112 : compiler::TNode<FixedArray> tmp914;
5190 112 : compiler::TNode<IntPtrT> tmp915;
5191 112 : compiler::TNode<IntPtrT> tmp916;
5192 112 : compiler::TNode<BoolT> tmp917;
5193 112 : compiler::TNode<UintPtrT> tmp918;
5194 112 : compiler::TNode<IntPtrT> tmp919;
5195 112 : compiler::TNode<IntPtrT> tmp920;
5196 112 : compiler::TNode<Context> tmp921;
5197 112 : compiler::TNode<IntPtrT> tmp922;
5198 112 : compiler::TNode<IntPtrT> tmp923;
5199 112 : compiler::TNode<BoolT> tmp924;
5200 112 : ca_.Bind(&block38, &tmp902, &tmp903, &tmp904, &tmp905, &tmp906, &tmp907, &tmp908, &tmp909, &tmp910, &tmp911, &tmp912, &tmp913, &tmp914, &tmp915, &tmp916, &tmp917, &tmp918, &tmp919, &tmp920, &tmp921, &tmp922, &tmp923, &tmp924);
5201 112 : ca_.Goto(&block37, tmp902, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919, tmp920, tmp921, tmp922, tmp923, tmp924);
5202 : }
5203 :
5204 112 : if (block39.is_used()) {
5205 112 : compiler::TNode<Context> tmp925;
5206 112 : compiler::TNode<JSReceiver> tmp926;
5207 112 : compiler::TNode<String> tmp927;
5208 112 : compiler::TNode<Number> tmp928;
5209 112 : compiler::TNode<Object> tmp929;
5210 112 : compiler::TNode<Object> tmp930;
5211 112 : compiler::TNode<BuiltinPtr> tmp931;
5212 112 : compiler::TNode<Map> tmp932;
5213 112 : compiler::TNode<UintPtrT> tmp933;
5214 112 : compiler::TNode<IntPtrT> tmp934;
5215 112 : compiler::TNode<IntPtrT> tmp935;
5216 112 : compiler::TNode<BuiltinPtr> tmp936;
5217 112 : compiler::TNode<FixedArray> tmp937;
5218 112 : compiler::TNode<IntPtrT> tmp938;
5219 112 : compiler::TNode<IntPtrT> tmp939;
5220 112 : compiler::TNode<BoolT> tmp940;
5221 112 : compiler::TNode<UintPtrT> tmp941;
5222 112 : compiler::TNode<IntPtrT> tmp942;
5223 112 : compiler::TNode<IntPtrT> tmp943;
5224 112 : compiler::TNode<Context> tmp944;
5225 112 : compiler::TNode<IntPtrT> tmp945;
5226 112 : compiler::TNode<IntPtrT> tmp946;
5227 112 : compiler::TNode<BoolT> tmp947;
5228 112 : ca_.Bind(&block39, &tmp925, &tmp926, &tmp927, &tmp928, &tmp929, &tmp930, &tmp931, &tmp932, &tmp933, &tmp934, &tmp935, &tmp936, &tmp937, &tmp938, &tmp939, &tmp940, &tmp941, &tmp942, &tmp943, &tmp944, &tmp945, &tmp946, &tmp947);
5229 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
5230 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
5231 112 : compiler::TNode<IntPtrT> tmp948;
5232 112 : USE(tmp948);
5233 112 : tmp948 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp946}, compiler::TNode<IntPtrT>{tmp945}));
5234 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
5235 112 : compiler::TNode<IntPtrT> tmp949;
5236 112 : USE(tmp949);
5237 112 : tmp949 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp948}, compiler::TNode<IntPtrT>{tmp946}));
5238 112 : compiler::TNode<BoolT> tmp950;
5239 112 : USE(tmp950);
5240 112 : tmp950 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp949}, compiler::TNode<IntPtrT>{tmp945}));
5241 112 : ca_.Branch(tmp950, &block41, &block42, tmp925, tmp926, tmp927, tmp928, tmp929, tmp930, tmp931, tmp932, tmp933, tmp934, tmp935, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp946, tmp947, tmp945, tmp948);
5242 : }
5243 :
5244 112 : if (block41.is_used()) {
5245 112 : compiler::TNode<Context> tmp951;
5246 112 : compiler::TNode<JSReceiver> tmp952;
5247 112 : compiler::TNode<String> tmp953;
5248 112 : compiler::TNode<Number> tmp954;
5249 112 : compiler::TNode<Object> tmp955;
5250 112 : compiler::TNode<Object> tmp956;
5251 112 : compiler::TNode<BuiltinPtr> tmp957;
5252 112 : compiler::TNode<Map> tmp958;
5253 112 : compiler::TNode<UintPtrT> tmp959;
5254 112 : compiler::TNode<IntPtrT> tmp960;
5255 112 : compiler::TNode<IntPtrT> tmp961;
5256 112 : compiler::TNode<BuiltinPtr> tmp962;
5257 112 : compiler::TNode<FixedArray> tmp963;
5258 112 : compiler::TNode<IntPtrT> tmp964;
5259 112 : compiler::TNode<IntPtrT> tmp965;
5260 112 : compiler::TNode<BoolT> tmp966;
5261 112 : compiler::TNode<UintPtrT> tmp967;
5262 112 : compiler::TNode<IntPtrT> tmp968;
5263 112 : compiler::TNode<IntPtrT> tmp969;
5264 112 : compiler::TNode<Context> tmp970;
5265 112 : compiler::TNode<IntPtrT> tmp971;
5266 112 : compiler::TNode<IntPtrT> tmp972;
5267 112 : compiler::TNode<BoolT> tmp973;
5268 112 : compiler::TNode<IntPtrT> tmp974;
5269 112 : compiler::TNode<IntPtrT> tmp975;
5270 112 : ca_.Bind(&block41, &tmp951, &tmp952, &tmp953, &tmp954, &tmp955, &tmp956, &tmp957, &tmp958, &tmp959, &tmp960, &tmp961, &tmp962, &tmp963, &tmp964, &tmp965, &tmp966, &tmp967, &tmp968, &tmp969, &tmp970, &tmp971, &tmp972, &tmp973, &tmp974, &tmp975);
5271 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
5272 112 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp970);
5273 112 : CodeStubAssembler(state_).Unreachable();
5274 : }
5275 :
5276 112 : if (block42.is_used()) {
5277 112 : compiler::TNode<Context> tmp977;
5278 112 : compiler::TNode<JSReceiver> tmp978;
5279 112 : compiler::TNode<String> tmp979;
5280 112 : compiler::TNode<Number> tmp980;
5281 112 : compiler::TNode<Object> tmp981;
5282 112 : compiler::TNode<Object> tmp982;
5283 112 : compiler::TNode<BuiltinPtr> tmp983;
5284 112 : compiler::TNode<Map> tmp984;
5285 112 : compiler::TNode<UintPtrT> tmp985;
5286 112 : compiler::TNode<IntPtrT> tmp986;
5287 112 : compiler::TNode<IntPtrT> tmp987;
5288 112 : compiler::TNode<BuiltinPtr> tmp988;
5289 112 : compiler::TNode<FixedArray> tmp989;
5290 112 : compiler::TNode<IntPtrT> tmp990;
5291 112 : compiler::TNode<IntPtrT> tmp991;
5292 112 : compiler::TNode<BoolT> tmp992;
5293 112 : compiler::TNode<UintPtrT> tmp993;
5294 112 : compiler::TNode<IntPtrT> tmp994;
5295 112 : compiler::TNode<IntPtrT> tmp995;
5296 112 : compiler::TNode<Context> tmp996;
5297 112 : compiler::TNode<IntPtrT> tmp997;
5298 112 : compiler::TNode<IntPtrT> tmp998;
5299 112 : compiler::TNode<BoolT> tmp999;
5300 112 : compiler::TNode<IntPtrT> tmp1000;
5301 112 : compiler::TNode<IntPtrT> tmp1001;
5302 112 : ca_.Bind(&block42, &tmp977, &tmp978, &tmp979, &tmp980, &tmp981, &tmp982, &tmp983, &tmp984, &tmp985, &tmp986, &tmp987, &tmp988, &tmp989, &tmp990, &tmp991, &tmp992, &tmp993, &tmp994, &tmp995, &tmp996, &tmp997, &tmp998, &tmp999, &tmp1000, &tmp1001);
5303 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
5304 112 : compiler::TNode<IntPtrT> tmp1002;
5305 112 : USE(tmp1002);
5306 112 : tmp1002 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp996}, compiler::TNode<IntPtrT>{tmp991}, compiler::TNode<IntPtrT>{tmp1001}));
5307 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
5308 112 : ca_.Branch(tmp999, &block43, &block44, tmp977, tmp978, tmp979, tmp980, tmp981, tmp982, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989, tmp990, tmp1002, tmp992, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001);
5309 : }
5310 :
5311 112 : if (block43.is_used()) {
5312 112 : compiler::TNode<Context> tmp1003;
5313 112 : compiler::TNode<JSReceiver> tmp1004;
5314 112 : compiler::TNode<String> tmp1005;
5315 112 : compiler::TNode<Number> tmp1006;
5316 112 : compiler::TNode<Object> tmp1007;
5317 112 : compiler::TNode<Object> tmp1008;
5318 112 : compiler::TNode<BuiltinPtr> tmp1009;
5319 112 : compiler::TNode<Map> tmp1010;
5320 112 : compiler::TNode<UintPtrT> tmp1011;
5321 112 : compiler::TNode<IntPtrT> tmp1012;
5322 112 : compiler::TNode<IntPtrT> tmp1013;
5323 112 : compiler::TNode<BuiltinPtr> tmp1014;
5324 112 : compiler::TNode<FixedArray> tmp1015;
5325 112 : compiler::TNode<IntPtrT> tmp1016;
5326 112 : compiler::TNode<IntPtrT> tmp1017;
5327 112 : compiler::TNode<BoolT> tmp1018;
5328 112 : compiler::TNode<UintPtrT> tmp1019;
5329 112 : compiler::TNode<IntPtrT> tmp1020;
5330 112 : compiler::TNode<IntPtrT> tmp1021;
5331 112 : compiler::TNode<Context> tmp1022;
5332 112 : compiler::TNode<IntPtrT> tmp1023;
5333 112 : compiler::TNode<IntPtrT> tmp1024;
5334 112 : compiler::TNode<BoolT> tmp1025;
5335 112 : compiler::TNode<IntPtrT> tmp1026;
5336 112 : compiler::TNode<IntPtrT> tmp1027;
5337 112 : ca_.Bind(&block43, &tmp1003, &tmp1004, &tmp1005, &tmp1006, &tmp1007, &tmp1008, &tmp1009, &tmp1010, &tmp1011, &tmp1012, &tmp1013, &tmp1014, &tmp1015, &tmp1016, &tmp1017, &tmp1018, &tmp1019, &tmp1020, &tmp1021, &tmp1022, &tmp1023, &tmp1024, &tmp1025, &tmp1026, &tmp1027);
5338 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
5339 112 : compiler::TNode<IntPtrT> tmp1028;
5340 112 : USE(tmp1028);
5341 112 : tmp1028 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
5342 112 : compiler::TNode<IntPtrT> tmp1029;
5343 112 : USE(tmp1029);
5344 112 : tmp1029 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1016}, compiler::TNode<IntPtrT>{tmp1028}));
5345 112 : compiler::TNode<Smi> tmp1030;
5346 112 : USE(tmp1030);
5347 112 : tmp1030 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1026}));
5348 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
5349 112 : compiler::TNode<FixedArray> tmp1031;
5350 112 : USE(tmp1031);
5351 112 : tmp1031 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1015}, compiler::TNode<IntPtrT>{tmp1016}, compiler::TNode<Smi>{tmp1030}));
5352 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
5353 112 : ca_.Goto(&block44, tmp1003, tmp1004, tmp1005, tmp1006, tmp1007, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1031, tmp1029, tmp1017, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027);
5354 : }
5355 :
5356 112 : if (block44.is_used()) {
5357 112 : compiler::TNode<Context> tmp1032;
5358 112 : compiler::TNode<JSReceiver> tmp1033;
5359 112 : compiler::TNode<String> tmp1034;
5360 112 : compiler::TNode<Number> tmp1035;
5361 112 : compiler::TNode<Object> tmp1036;
5362 112 : compiler::TNode<Object> tmp1037;
5363 112 : compiler::TNode<BuiltinPtr> tmp1038;
5364 112 : compiler::TNode<Map> tmp1039;
5365 112 : compiler::TNode<UintPtrT> tmp1040;
5366 112 : compiler::TNode<IntPtrT> tmp1041;
5367 112 : compiler::TNode<IntPtrT> tmp1042;
5368 112 : compiler::TNode<BuiltinPtr> tmp1043;
5369 112 : compiler::TNode<FixedArray> tmp1044;
5370 112 : compiler::TNode<IntPtrT> tmp1045;
5371 112 : compiler::TNode<IntPtrT> tmp1046;
5372 112 : compiler::TNode<BoolT> tmp1047;
5373 112 : compiler::TNode<UintPtrT> tmp1048;
5374 112 : compiler::TNode<IntPtrT> tmp1049;
5375 112 : compiler::TNode<IntPtrT> tmp1050;
5376 112 : compiler::TNode<Context> tmp1051;
5377 112 : compiler::TNode<IntPtrT> tmp1052;
5378 112 : compiler::TNode<IntPtrT> tmp1053;
5379 112 : compiler::TNode<BoolT> tmp1054;
5380 112 : compiler::TNode<IntPtrT> tmp1055;
5381 112 : compiler::TNode<IntPtrT> tmp1056;
5382 112 : ca_.Bind(&block44, &tmp1032, &tmp1033, &tmp1034, &tmp1035, &tmp1036, &tmp1037, &tmp1038, &tmp1039, &tmp1040, &tmp1041, &tmp1042, &tmp1043, &tmp1044, &tmp1045, &tmp1046, &tmp1047, &tmp1048, &tmp1049, &tmp1050, &tmp1051, &tmp1052, &tmp1053, &tmp1054, &tmp1055, &tmp1056);
5383 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
5384 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
5385 112 : ca_.Goto(&block37, tmp1032, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1054);
5386 : }
5387 :
5388 112 : if (block37.is_used()) {
5389 112 : compiler::TNode<Context> tmp1057;
5390 112 : compiler::TNode<JSReceiver> tmp1058;
5391 112 : compiler::TNode<String> tmp1059;
5392 112 : compiler::TNode<Number> tmp1060;
5393 112 : compiler::TNode<Object> tmp1061;
5394 112 : compiler::TNode<Object> tmp1062;
5395 112 : compiler::TNode<BuiltinPtr> tmp1063;
5396 112 : compiler::TNode<Map> tmp1064;
5397 112 : compiler::TNode<UintPtrT> tmp1065;
5398 112 : compiler::TNode<IntPtrT> tmp1066;
5399 112 : compiler::TNode<IntPtrT> tmp1067;
5400 112 : compiler::TNode<BuiltinPtr> tmp1068;
5401 112 : compiler::TNode<FixedArray> tmp1069;
5402 112 : compiler::TNode<IntPtrT> tmp1070;
5403 112 : compiler::TNode<IntPtrT> tmp1071;
5404 112 : compiler::TNode<BoolT> tmp1072;
5405 112 : compiler::TNode<UintPtrT> tmp1073;
5406 112 : compiler::TNode<IntPtrT> tmp1074;
5407 112 : compiler::TNode<IntPtrT> tmp1075;
5408 112 : compiler::TNode<Context> tmp1076;
5409 112 : compiler::TNode<IntPtrT> tmp1077;
5410 112 : compiler::TNode<IntPtrT> tmp1078;
5411 112 : compiler::TNode<BoolT> tmp1079;
5412 112 : ca_.Bind(&block37, &tmp1057, &tmp1058, &tmp1059, &tmp1060, &tmp1061, &tmp1062, &tmp1063, &tmp1064, &tmp1065, &tmp1066, &tmp1067, &tmp1068, &tmp1069, &tmp1070, &tmp1071, &tmp1072, &tmp1073, &tmp1074, &tmp1075, &tmp1076, &tmp1077, &tmp1078, &tmp1079);
5413 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
5414 112 : compiler::TNode<String> tmp1080;
5415 112 : USE(tmp1080);
5416 112 : tmp1080 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).BufferJoin(compiler::TNode<Context>{tmp1057}, ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp1069}, compiler::TNode<IntPtrT>{tmp1070}, compiler::TNode<IntPtrT>{tmp1071}, compiler::TNode<BoolT>{tmp1072}}, compiler::TNode<String>{tmp1059}));
5417 112 : ca_.Goto(&block1, tmp1057, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1080);
5418 : }
5419 :
5420 112 : if (block1.is_used()) {
5421 112 : compiler::TNode<Context> tmp1081;
5422 112 : compiler::TNode<JSReceiver> tmp1082;
5423 112 : compiler::TNode<String> tmp1083;
5424 112 : compiler::TNode<Number> tmp1084;
5425 112 : compiler::TNode<Object> tmp1085;
5426 112 : compiler::TNode<Object> tmp1086;
5427 112 : compiler::TNode<BuiltinPtr> tmp1087;
5428 112 : compiler::TNode<String> tmp1088;
5429 112 : ca_.Bind(&block1, &tmp1081, &tmp1082, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088);
5430 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 262);
5431 112 : ca_.Goto(&block45, tmp1081, tmp1082, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088);
5432 : }
5433 :
5434 112 : compiler::TNode<Context> tmp1089;
5435 112 : compiler::TNode<JSReceiver> tmp1090;
5436 112 : compiler::TNode<String> tmp1091;
5437 112 : compiler::TNode<Number> tmp1092;
5438 112 : compiler::TNode<Object> tmp1093;
5439 112 : compiler::TNode<Object> tmp1094;
5440 112 : compiler::TNode<BuiltinPtr> tmp1095;
5441 112 : compiler::TNode<String> tmp1096;
5442 112 : ca_.Bind(&block45, &tmp1089, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096);
5443 224 : return compiler::TNode<String>{tmp1096};
5444 : }
5445 :
5446 392 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt32Array, CodeStubAssembler) {
5447 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5448 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5449 56 : USE(parameter0);
5450 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5451 56 : USE(parameter1);
5452 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5453 56 : USE(parameter2);
5454 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5455 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5456 :
5457 56 : if (block0.is_used()) {
5458 56 : compiler::TNode<Context> tmp0;
5459 56 : compiler::TNode<JSReceiver> tmp1;
5460 56 : compiler::TNode<Number> tmp2;
5461 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5462 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5463 56 : compiler::TNode<JSTypedArray> tmp3;
5464 56 : USE(tmp3);
5465 56 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5466 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5467 56 : compiler::TNode<RawPtrT> tmp4;
5468 56 : USE(tmp4);
5469 56 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5470 56 : compiler::TNode<Smi> tmp5;
5471 56 : USE(tmp5);
5472 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5473 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5474 56 : compiler::TNode<Object> tmp6;
5475 56 : USE(tmp6);
5476 56 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt32Array()), CodeStubAssembler::SMI_PARAMETERS));
5477 56 : CodeStubAssembler(state_).Return(tmp6);
5478 : }
5479 56 : }
5480 :
5481 392 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat32Array, CodeStubAssembler) {
5482 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5483 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5484 56 : USE(parameter0);
5485 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5486 56 : USE(parameter1);
5487 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5488 56 : USE(parameter2);
5489 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5490 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5491 :
5492 56 : if (block0.is_used()) {
5493 56 : compiler::TNode<Context> tmp0;
5494 56 : compiler::TNode<JSReceiver> tmp1;
5495 56 : compiler::TNode<Number> tmp2;
5496 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5497 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5498 56 : compiler::TNode<JSTypedArray> tmp3;
5499 56 : USE(tmp3);
5500 56 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5501 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5502 56 : compiler::TNode<RawPtrT> tmp4;
5503 56 : USE(tmp4);
5504 56 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5505 56 : compiler::TNode<Smi> tmp5;
5506 56 : USE(tmp5);
5507 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5508 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5509 56 : compiler::TNode<Object> tmp6;
5510 56 : USE(tmp6);
5511 56 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat32Array()), CodeStubAssembler::SMI_PARAMETERS));
5512 56 : CodeStubAssembler(state_).Return(tmp6);
5513 : }
5514 56 : }
5515 :
5516 392 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat64Array, CodeStubAssembler) {
5517 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5518 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5519 56 : USE(parameter0);
5520 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5521 56 : USE(parameter1);
5522 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5523 56 : USE(parameter2);
5524 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5525 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5526 :
5527 56 : if (block0.is_used()) {
5528 56 : compiler::TNode<Context> tmp0;
5529 56 : compiler::TNode<JSReceiver> tmp1;
5530 56 : compiler::TNode<Number> tmp2;
5531 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5532 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5533 56 : compiler::TNode<JSTypedArray> tmp3;
5534 56 : USE(tmp3);
5535 56 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5536 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5537 56 : compiler::TNode<RawPtrT> tmp4;
5538 56 : USE(tmp4);
5539 56 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5540 56 : compiler::TNode<Smi> tmp5;
5541 56 : USE(tmp5);
5542 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5543 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5544 56 : compiler::TNode<Object> tmp6;
5545 56 : USE(tmp6);
5546 56 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat64Array()), CodeStubAssembler::SMI_PARAMETERS));
5547 56 : CodeStubAssembler(state_).Return(tmp6);
5548 : }
5549 56 : }
5550 :
5551 392 : TF_BUILTIN(LoadJoinTypedElement24ATFixedUint8ClampedArray, CodeStubAssembler) {
5552 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5553 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5554 56 : USE(parameter0);
5555 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5556 56 : USE(parameter1);
5557 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5558 56 : USE(parameter2);
5559 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5560 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5561 :
5562 56 : if (block0.is_used()) {
5563 56 : compiler::TNode<Context> tmp0;
5564 56 : compiler::TNode<JSReceiver> tmp1;
5565 56 : compiler::TNode<Number> tmp2;
5566 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5567 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5568 56 : compiler::TNode<JSTypedArray> tmp3;
5569 56 : USE(tmp3);
5570 56 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5571 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5572 56 : compiler::TNode<RawPtrT> tmp4;
5573 56 : USE(tmp4);
5574 56 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5575 56 : compiler::TNode<Smi> tmp5;
5576 56 : USE(tmp5);
5577 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5578 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5579 56 : compiler::TNode<Object> tmp6;
5580 56 : USE(tmp6);
5581 56 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType24ATFixedUint8ClampedArray()), CodeStubAssembler::SMI_PARAMETERS));
5582 56 : CodeStubAssembler(state_).Return(tmp6);
5583 : }
5584 56 : }
5585 :
5586 392 : TF_BUILTIN(LoadJoinTypedElement21ATFixedBigUint64Array, CodeStubAssembler) {
5587 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5588 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5589 56 : USE(parameter0);
5590 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5591 56 : USE(parameter1);
5592 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5593 56 : USE(parameter2);
5594 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5595 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5596 :
5597 56 : if (block0.is_used()) {
5598 56 : compiler::TNode<Context> tmp0;
5599 56 : compiler::TNode<JSReceiver> tmp1;
5600 56 : compiler::TNode<Number> tmp2;
5601 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5602 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5603 56 : compiler::TNode<JSTypedArray> tmp3;
5604 56 : USE(tmp3);
5605 56 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5606 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5607 56 : compiler::TNode<RawPtrT> tmp4;
5608 56 : USE(tmp4);
5609 56 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5610 56 : compiler::TNode<Smi> tmp5;
5611 56 : USE(tmp5);
5612 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5613 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5614 56 : compiler::TNode<Object> tmp6;
5615 56 : USE(tmp6);
5616 56 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType21ATFixedBigUint64Array()), CodeStubAssembler::SMI_PARAMETERS));
5617 56 : CodeStubAssembler(state_).Return(tmp6);
5618 : }
5619 56 : }
5620 :
5621 392 : TF_BUILTIN(LoadJoinTypedElement20ATFixedBigInt64Array, CodeStubAssembler) {
5622 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5623 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5624 56 : USE(parameter0);
5625 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5626 56 : USE(parameter1);
5627 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5628 56 : USE(parameter2);
5629 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5630 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5631 :
5632 56 : if (block0.is_used()) {
5633 56 : compiler::TNode<Context> tmp0;
5634 56 : compiler::TNode<JSReceiver> tmp1;
5635 56 : compiler::TNode<Number> tmp2;
5636 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5637 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5638 56 : compiler::TNode<JSTypedArray> tmp3;
5639 56 : USE(tmp3);
5640 56 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5641 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5642 56 : compiler::TNode<RawPtrT> tmp4;
5643 56 : USE(tmp4);
5644 56 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5645 56 : compiler::TNode<Smi> tmp5;
5646 56 : USE(tmp5);
5647 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5648 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5649 56 : compiler::TNode<Object> tmp6;
5650 56 : USE(tmp6);
5651 56 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType20ATFixedBigInt64Array()), CodeStubAssembler::SMI_PARAMETERS));
5652 56 : CodeStubAssembler(state_).Return(tmp6);
5653 : }
5654 56 : }
5655 :
5656 392 : TF_BUILTIN(LoadJoinTypedElement17ATFixedUint8Array, CodeStubAssembler) {
5657 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5658 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5659 56 : USE(parameter0);
5660 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5661 56 : USE(parameter1);
5662 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5663 56 : USE(parameter2);
5664 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5665 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5666 :
5667 56 : if (block0.is_used()) {
5668 56 : compiler::TNode<Context> tmp0;
5669 56 : compiler::TNode<JSReceiver> tmp1;
5670 56 : compiler::TNode<Number> tmp2;
5671 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5672 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5673 56 : compiler::TNode<JSTypedArray> tmp3;
5674 56 : USE(tmp3);
5675 56 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5676 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5677 56 : compiler::TNode<RawPtrT> tmp4;
5678 56 : USE(tmp4);
5679 56 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5680 56 : compiler::TNode<Smi> tmp5;
5681 56 : USE(tmp5);
5682 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5683 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5684 56 : compiler::TNode<Object> tmp6;
5685 56 : USE(tmp6);
5686 56 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedUint8Array()), CodeStubAssembler::SMI_PARAMETERS));
5687 56 : CodeStubAssembler(state_).Return(tmp6);
5688 : }
5689 56 : }
5690 :
5691 392 : TF_BUILTIN(LoadJoinTypedElement16ATFixedInt8Array, CodeStubAssembler) {
5692 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5693 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5694 56 : USE(parameter0);
5695 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5696 56 : USE(parameter1);
5697 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5698 56 : USE(parameter2);
5699 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5700 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5701 :
5702 56 : if (block0.is_used()) {
5703 56 : compiler::TNode<Context> tmp0;
5704 56 : compiler::TNode<JSReceiver> tmp1;
5705 56 : compiler::TNode<Number> tmp2;
5706 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5707 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5708 56 : compiler::TNode<JSTypedArray> tmp3;
5709 56 : USE(tmp3);
5710 56 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5711 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5712 56 : compiler::TNode<RawPtrT> tmp4;
5713 56 : USE(tmp4);
5714 56 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5715 56 : compiler::TNode<Smi> tmp5;
5716 56 : USE(tmp5);
5717 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5718 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5719 56 : compiler::TNode<Object> tmp6;
5720 56 : USE(tmp6);
5721 56 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType16ATFixedInt8Array()), CodeStubAssembler::SMI_PARAMETERS));
5722 56 : CodeStubAssembler(state_).Return(tmp6);
5723 : }
5724 56 : }
5725 :
5726 392 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint16Array, CodeStubAssembler) {
5727 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5728 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5729 56 : USE(parameter0);
5730 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5731 56 : USE(parameter1);
5732 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5733 56 : USE(parameter2);
5734 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5735 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5736 :
5737 56 : if (block0.is_used()) {
5738 56 : compiler::TNode<Context> tmp0;
5739 56 : compiler::TNode<JSReceiver> tmp1;
5740 56 : compiler::TNode<Number> tmp2;
5741 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5742 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5743 56 : compiler::TNode<JSTypedArray> tmp3;
5744 56 : USE(tmp3);
5745 56 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5746 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5747 56 : compiler::TNode<RawPtrT> tmp4;
5748 56 : USE(tmp4);
5749 56 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5750 56 : compiler::TNode<Smi> tmp5;
5751 56 : USE(tmp5);
5752 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5753 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5754 56 : compiler::TNode<Object> tmp6;
5755 56 : USE(tmp6);
5756 56 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint16Array()), CodeStubAssembler::SMI_PARAMETERS));
5757 56 : CodeStubAssembler(state_).Return(tmp6);
5758 : }
5759 56 : }
5760 :
5761 392 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt16Array, CodeStubAssembler) {
5762 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5763 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5764 56 : USE(parameter0);
5765 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5766 56 : USE(parameter1);
5767 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5768 56 : USE(parameter2);
5769 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5770 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5771 :
5772 56 : if (block0.is_used()) {
5773 56 : compiler::TNode<Context> tmp0;
5774 56 : compiler::TNode<JSReceiver> tmp1;
5775 56 : compiler::TNode<Number> tmp2;
5776 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5777 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5778 56 : compiler::TNode<JSTypedArray> tmp3;
5779 56 : USE(tmp3);
5780 56 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5781 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5782 56 : compiler::TNode<RawPtrT> tmp4;
5783 56 : USE(tmp4);
5784 56 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5785 56 : compiler::TNode<Smi> tmp5;
5786 56 : USE(tmp5);
5787 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5788 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5789 56 : compiler::TNode<Object> tmp6;
5790 56 : USE(tmp6);
5791 56 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt16Array()), CodeStubAssembler::SMI_PARAMETERS));
5792 56 : CodeStubAssembler(state_).Return(tmp6);
5793 : }
5794 56 : }
5795 :
5796 392 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint32Array, CodeStubAssembler) {
5797 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
5798 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
5799 56 : USE(parameter0);
5800 56 : compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
5801 56 : USE(parameter1);
5802 56 : compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
5803 56 : USE(parameter2);
5804 112 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5805 56 : ca_.Goto(&block0, parameter0, parameter1, parameter2);
5806 :
5807 56 : if (block0.is_used()) {
5808 56 : compiler::TNode<Context> tmp0;
5809 56 : compiler::TNode<JSReceiver> tmp1;
5810 56 : compiler::TNode<Number> tmp2;
5811 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
5812 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
5813 56 : compiler::TNode<JSTypedArray> tmp3;
5814 56 : USE(tmp3);
5815 56 : tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
5816 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
5817 56 : compiler::TNode<RawPtrT> tmp4;
5818 56 : USE(tmp4);
5819 56 : tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
5820 56 : compiler::TNode<Smi> tmp5;
5821 56 : USE(tmp5);
5822 56 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
5823 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
5824 56 : compiler::TNode<Object> tmp6;
5825 56 : USE(tmp6);
5826 56 : tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint32Array()), CodeStubAssembler::SMI_PARAMETERS));
5827 56 : CodeStubAssembler(state_).Return(tmp6);
5828 : }
5829 56 : }
5830 :
5831 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) {
5832 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5833 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5834 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5835 224 : 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);
5836 224 : 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);
5837 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
5838 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5839 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5840 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5841 224 : 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);
5842 224 : 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);
5843 224 : 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);
5844 224 : 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);
5845 224 : 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);
5846 224 : 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);
5847 224 : 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);
5848 224 : 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);
5849 224 : 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);
5850 224 : 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);
5851 224 : 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);
5852 224 : 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);
5853 224 : 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);
5854 224 : 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);
5855 224 : 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);
5856 224 : 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);
5857 224 : 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);
5858 224 : 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);
5859 224 : 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);
5860 224 : 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);
5861 224 : 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);
5862 224 : 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);
5863 224 : 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);
5864 224 : 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);
5865 224 : 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);
5866 224 : 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);
5867 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5868 224 : 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);
5869 224 : 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);
5870 224 : 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);
5871 224 : 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);
5872 224 : 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);
5873 224 : 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);
5874 224 : 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);
5875 224 : 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);
5876 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5877 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
5878 112 : ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
5879 :
5880 112 : if (block0.is_used()) {
5881 112 : compiler::TNode<Context> tmp0;
5882 112 : compiler::TNode<JSReceiver> tmp1;
5883 112 : compiler::TNode<String> tmp2;
5884 112 : compiler::TNode<Number> tmp3;
5885 112 : compiler::TNode<Object> tmp4;
5886 112 : compiler::TNode<Object> tmp5;
5887 112 : compiler::TNode<BuiltinPtr> tmp6;
5888 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
5889 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
5890 112 : compiler::TNode<Map> tmp7;
5891 112 : USE(tmp7);
5892 112 : tmp7 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp1}));
5893 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
5894 112 : compiler::TNode<UintPtrT> tmp8;
5895 112 : USE(tmp8);
5896 112 : tmp8 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr22UT12ATHeapNumber5ATSmi(compiler::TNode<Number>{tmp3}));
5897 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
5898 112 : compiler::TNode<IntPtrT> tmp9;
5899 112 : USE(tmp9);
5900 112 : tmp9 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
5901 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 269);
5902 112 : compiler::TNode<IntPtrT> tmp10;
5903 112 : USE(tmp10);
5904 112 : tmp10 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
5905 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 270);
5906 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
5907 112 : compiler::TNode<FixedArray> tmp11;
5908 112 : USE(tmp11);
5909 112 : compiler::TNode<IntPtrT> tmp12;
5910 112 : USE(tmp12);
5911 112 : compiler::TNode<IntPtrT> tmp13;
5912 112 : USE(tmp13);
5913 112 : compiler::TNode<BoolT> tmp14;
5914 112 : USE(tmp14);
5915 112 : std::tie(tmp11, tmp12, tmp13, tmp14) = ArrayJoinBuiltinsFromDSLAssembler(state_).NewBuffer(compiler::TNode<UintPtrT>{tmp8}, compiler::TNode<String>{tmp2}).Flatten();
5916 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
5917 112 : compiler::TNode<UintPtrT> tmp15;
5918 112 : USE(tmp15);
5919 112 : tmp15 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
5920 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
5921 112 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp6, tmp11, tmp12, tmp13, tmp14, tmp15);
5922 : }
5923 :
5924 112 : if (block4.is_used()) {
5925 112 : compiler::TNode<Context> tmp16;
5926 112 : compiler::TNode<JSReceiver> tmp17;
5927 112 : compiler::TNode<String> tmp18;
5928 112 : compiler::TNode<Number> tmp19;
5929 112 : compiler::TNode<Object> tmp20;
5930 112 : compiler::TNode<Object> tmp21;
5931 112 : compiler::TNode<BuiltinPtr> tmp22;
5932 112 : compiler::TNode<Map> tmp23;
5933 112 : compiler::TNode<UintPtrT> tmp24;
5934 112 : compiler::TNode<IntPtrT> tmp25;
5935 112 : compiler::TNode<IntPtrT> tmp26;
5936 112 : compiler::TNode<BuiltinPtr> tmp27;
5937 112 : compiler::TNode<FixedArray> tmp28;
5938 112 : compiler::TNode<IntPtrT> tmp29;
5939 112 : compiler::TNode<IntPtrT> tmp30;
5940 112 : compiler::TNode<BoolT> tmp31;
5941 112 : compiler::TNode<UintPtrT> tmp32;
5942 112 : ca_.Bind(&block4, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32);
5943 112 : compiler::TNode<BoolT> tmp33;
5944 112 : USE(tmp33);
5945 112 : tmp33 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp32}, compiler::TNode<UintPtrT>{tmp24}));
5946 112 : ca_.Branch(tmp33, &block2, &block3, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32);
5947 : }
5948 :
5949 112 : if (block2.is_used()) {
5950 112 : compiler::TNode<Context> tmp34;
5951 112 : compiler::TNode<JSReceiver> tmp35;
5952 112 : compiler::TNode<String> tmp36;
5953 112 : compiler::TNode<Number> tmp37;
5954 112 : compiler::TNode<Object> tmp38;
5955 112 : compiler::TNode<Object> tmp39;
5956 112 : compiler::TNode<BuiltinPtr> tmp40;
5957 112 : compiler::TNode<Map> tmp41;
5958 112 : compiler::TNode<UintPtrT> tmp42;
5959 112 : compiler::TNode<IntPtrT> tmp43;
5960 112 : compiler::TNode<IntPtrT> tmp44;
5961 112 : compiler::TNode<BuiltinPtr> tmp45;
5962 112 : compiler::TNode<FixedArray> tmp46;
5963 112 : compiler::TNode<IntPtrT> tmp47;
5964 112 : compiler::TNode<IntPtrT> tmp48;
5965 112 : compiler::TNode<BoolT> tmp49;
5966 112 : compiler::TNode<UintPtrT> tmp50;
5967 112 : ca_.Bind(&block2, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
5968 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 279);
5969 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
5970 224 : compiler::CodeAssemblerLabel label0(&ca_);
5971 224 : compiler::CodeAssemblerLabel label1(&ca_);
5972 112 : ArrayJoinBuiltinsFromDSLAssembler(state_).CannotUseSameArrayAccessor12JSTypedArray(compiler::TNode<Context>{tmp34}, compiler::TNode<BuiltinPtr>{tmp45}, compiler::TNode<JSReceiver>{tmp35}, compiler::TNode<Map>{tmp41}, compiler::TNode<Number>{tmp37}, &label0, &label1);
5973 112 : if (label0.is_used()) {
5974 112 : ca_.Bind(&label0);
5975 112 : ca_.Goto(&block7, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp45, tmp35, tmp41, tmp37);
5976 : }
5977 112 : if (label1.is_used()) {
5978 112 : ca_.Bind(&label1);
5979 112 : ca_.Goto(&block8, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp45, tmp35, tmp41, tmp37);
5980 : }
5981 : }
5982 :
5983 112 : if (block7.is_used()) {
5984 112 : compiler::TNode<Context> tmp51;
5985 112 : compiler::TNode<JSReceiver> tmp52;
5986 112 : compiler::TNode<String> tmp53;
5987 112 : compiler::TNode<Number> tmp54;
5988 112 : compiler::TNode<Object> tmp55;
5989 112 : compiler::TNode<Object> tmp56;
5990 112 : compiler::TNode<BuiltinPtr> tmp57;
5991 112 : compiler::TNode<Map> tmp58;
5992 112 : compiler::TNode<UintPtrT> tmp59;
5993 112 : compiler::TNode<IntPtrT> tmp60;
5994 112 : compiler::TNode<IntPtrT> tmp61;
5995 112 : compiler::TNode<BuiltinPtr> tmp62;
5996 112 : compiler::TNode<FixedArray> tmp63;
5997 112 : compiler::TNode<IntPtrT> tmp64;
5998 112 : compiler::TNode<IntPtrT> tmp65;
5999 112 : compiler::TNode<BoolT> tmp66;
6000 112 : compiler::TNode<UintPtrT> tmp67;
6001 112 : compiler::TNode<BuiltinPtr> tmp68;
6002 112 : compiler::TNode<JSReceiver> tmp69;
6003 112 : compiler::TNode<Map> tmp70;
6004 112 : compiler::TNode<Number> tmp71;
6005 112 : ca_.Bind(&block7, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71);
6006 112 : ca_.Goto(&block5, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67);
6007 : }
6008 :
6009 112 : if (block8.is_used()) {
6010 112 : compiler::TNode<Context> tmp72;
6011 112 : compiler::TNode<JSReceiver> tmp73;
6012 112 : compiler::TNode<String> tmp74;
6013 112 : compiler::TNode<Number> tmp75;
6014 112 : compiler::TNode<Object> tmp76;
6015 112 : compiler::TNode<Object> tmp77;
6016 112 : compiler::TNode<BuiltinPtr> tmp78;
6017 112 : compiler::TNode<Map> tmp79;
6018 112 : compiler::TNode<UintPtrT> tmp80;
6019 112 : compiler::TNode<IntPtrT> tmp81;
6020 112 : compiler::TNode<IntPtrT> tmp82;
6021 112 : compiler::TNode<BuiltinPtr> tmp83;
6022 112 : compiler::TNode<FixedArray> tmp84;
6023 112 : compiler::TNode<IntPtrT> tmp85;
6024 112 : compiler::TNode<IntPtrT> tmp86;
6025 112 : compiler::TNode<BoolT> tmp87;
6026 112 : compiler::TNode<UintPtrT> tmp88;
6027 112 : compiler::TNode<BuiltinPtr> tmp89;
6028 112 : compiler::TNode<JSReceiver> tmp90;
6029 112 : compiler::TNode<Map> tmp91;
6030 112 : compiler::TNode<Number> tmp92;
6031 112 : ca_.Bind(&block8, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
6032 112 : ca_.Goto(&block6, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88);
6033 : }
6034 :
6035 112 : if (block5.is_used()) {
6036 112 : compiler::TNode<Context> tmp93;
6037 112 : compiler::TNode<JSReceiver> tmp94;
6038 112 : compiler::TNode<String> tmp95;
6039 112 : compiler::TNode<Number> tmp96;
6040 112 : compiler::TNode<Object> tmp97;
6041 112 : compiler::TNode<Object> tmp98;
6042 112 : compiler::TNode<BuiltinPtr> tmp99;
6043 112 : compiler::TNode<Map> tmp100;
6044 112 : compiler::TNode<UintPtrT> tmp101;
6045 112 : compiler::TNode<IntPtrT> tmp102;
6046 112 : compiler::TNode<IntPtrT> tmp103;
6047 112 : compiler::TNode<BuiltinPtr> tmp104;
6048 112 : compiler::TNode<FixedArray> tmp105;
6049 112 : compiler::TNode<IntPtrT> tmp106;
6050 112 : compiler::TNode<IntPtrT> tmp107;
6051 112 : compiler::TNode<BoolT> tmp108;
6052 112 : compiler::TNode<UintPtrT> tmp109;
6053 112 : ca_.Bind(&block5, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
6054 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
6055 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
6056 112 : ca_.Goto(&block6, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)), tmp105, tmp106, tmp107, tmp108, tmp109);
6057 : }
6058 :
6059 112 : if (block6.is_used()) {
6060 112 : compiler::TNode<Context> tmp110;
6061 112 : compiler::TNode<JSReceiver> tmp111;
6062 112 : compiler::TNode<String> tmp112;
6063 112 : compiler::TNode<Number> tmp113;
6064 112 : compiler::TNode<Object> tmp114;
6065 112 : compiler::TNode<Object> tmp115;
6066 112 : compiler::TNode<BuiltinPtr> tmp116;
6067 112 : compiler::TNode<Map> tmp117;
6068 112 : compiler::TNode<UintPtrT> tmp118;
6069 112 : compiler::TNode<IntPtrT> tmp119;
6070 112 : compiler::TNode<IntPtrT> tmp120;
6071 112 : compiler::TNode<BuiltinPtr> tmp121;
6072 112 : compiler::TNode<FixedArray> tmp122;
6073 112 : compiler::TNode<IntPtrT> tmp123;
6074 112 : compiler::TNode<IntPtrT> tmp124;
6075 112 : compiler::TNode<BoolT> tmp125;
6076 112 : compiler::TNode<UintPtrT> tmp126;
6077 112 : ca_.Bind(&block6, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
6078 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
6079 112 : compiler::TNode<UintPtrT> tmp127;
6080 112 : USE(tmp127);
6081 112 : tmp127 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
6082 112 : compiler::TNode<BoolT> tmp128;
6083 112 : USE(tmp128);
6084 112 : tmp128 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp126}, compiler::TNode<UintPtrT>{tmp127}));
6085 112 : ca_.Branch(tmp128, &block9, &block10, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126);
6086 : }
6087 :
6088 112 : if (block9.is_used()) {
6089 112 : compiler::TNode<Context> tmp129;
6090 112 : compiler::TNode<JSReceiver> tmp130;
6091 112 : compiler::TNode<String> tmp131;
6092 112 : compiler::TNode<Number> tmp132;
6093 112 : compiler::TNode<Object> tmp133;
6094 112 : compiler::TNode<Object> tmp134;
6095 112 : compiler::TNode<BuiltinPtr> tmp135;
6096 112 : compiler::TNode<Map> tmp136;
6097 112 : compiler::TNode<UintPtrT> tmp137;
6098 112 : compiler::TNode<IntPtrT> tmp138;
6099 112 : compiler::TNode<IntPtrT> tmp139;
6100 112 : compiler::TNode<BuiltinPtr> tmp140;
6101 112 : compiler::TNode<FixedArray> tmp141;
6102 112 : compiler::TNode<IntPtrT> tmp142;
6103 112 : compiler::TNode<IntPtrT> tmp143;
6104 112 : compiler::TNode<BoolT> tmp144;
6105 112 : compiler::TNode<UintPtrT> tmp145;
6106 112 : ca_.Bind(&block9, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145);
6107 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 286);
6108 112 : compiler::TNode<IntPtrT> tmp146;
6109 112 : USE(tmp146);
6110 112 : tmp146 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
6111 112 : compiler::TNode<IntPtrT> tmp147;
6112 112 : USE(tmp147);
6113 112 : tmp147 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp139}, compiler::TNode<IntPtrT>{tmp146}));
6114 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
6115 112 : ca_.Goto(&block10, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp147, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145);
6116 : }
6117 :
6118 112 : if (block10.is_used()) {
6119 112 : compiler::TNode<Context> tmp148;
6120 112 : compiler::TNode<JSReceiver> tmp149;
6121 112 : compiler::TNode<String> tmp150;
6122 112 : compiler::TNode<Number> tmp151;
6123 112 : compiler::TNode<Object> tmp152;
6124 112 : compiler::TNode<Object> tmp153;
6125 112 : compiler::TNode<BuiltinPtr> tmp154;
6126 112 : compiler::TNode<Map> tmp155;
6127 112 : compiler::TNode<UintPtrT> tmp156;
6128 112 : compiler::TNode<IntPtrT> tmp157;
6129 112 : compiler::TNode<IntPtrT> tmp158;
6130 112 : compiler::TNode<BuiltinPtr> tmp159;
6131 112 : compiler::TNode<FixedArray> tmp160;
6132 112 : compiler::TNode<IntPtrT> tmp161;
6133 112 : compiler::TNode<IntPtrT> tmp162;
6134 112 : compiler::TNode<BoolT> tmp163;
6135 112 : compiler::TNode<UintPtrT> tmp164;
6136 112 : ca_.Bind(&block10, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164);
6137 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 290);
6138 112 : compiler::TNode<UintPtrT> tmp165;
6139 112 : USE(tmp165);
6140 112 : tmp165 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
6141 112 : compiler::TNode<UintPtrT> tmp166;
6142 112 : USE(tmp166);
6143 112 : tmp166 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp164}, compiler::TNode<UintPtrT>{tmp165}));
6144 112 : compiler::TNode<Number> tmp167;
6145 112 : USE(tmp167);
6146 112 : tmp167 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert22UT12ATHeapNumber5ATSmi9ATuintptr(compiler::TNode<UintPtrT>{tmp164}));
6147 112 : compiler::TNode<Object> tmp168 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp159, tmp148, tmp149, tmp167);
6148 112 : USE(tmp168);
6149 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
6150 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
6151 112 : if ((p_useToLocaleString)) {
6152 56 : ca_.Goto(&block11, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp166, tmp168, ca_.Uninitialized<String>());
6153 : } else {
6154 56 : ca_.Goto(&block12, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp166, tmp168, ca_.Uninitialized<String>());
6155 : }
6156 : }
6157 :
6158 112 : if (block11.is_used()) {
6159 56 : compiler::TNode<Context> tmp169;
6160 56 : compiler::TNode<JSReceiver> tmp170;
6161 56 : compiler::TNode<String> tmp171;
6162 56 : compiler::TNode<Number> tmp172;
6163 56 : compiler::TNode<Object> tmp173;
6164 56 : compiler::TNode<Object> tmp174;
6165 56 : compiler::TNode<BuiltinPtr> tmp175;
6166 56 : compiler::TNode<Map> tmp176;
6167 56 : compiler::TNode<UintPtrT> tmp177;
6168 56 : compiler::TNode<IntPtrT> tmp178;
6169 56 : compiler::TNode<IntPtrT> tmp179;
6170 56 : compiler::TNode<BuiltinPtr> tmp180;
6171 56 : compiler::TNode<FixedArray> tmp181;
6172 56 : compiler::TNode<IntPtrT> tmp182;
6173 56 : compiler::TNode<IntPtrT> tmp183;
6174 56 : compiler::TNode<BoolT> tmp184;
6175 56 : compiler::TNode<UintPtrT> tmp185;
6176 56 : compiler::TNode<Object> tmp186;
6177 56 : compiler::TNode<String> tmp187;
6178 56 : ca_.Bind(&block11, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187);
6179 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
6180 56 : compiler::TNode<String> tmp188;
6181 56 : tmp188 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp169, tmp186, tmp173, tmp174));
6182 56 : USE(tmp188);
6183 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
6184 56 : compiler::TNode<String> tmp189;
6185 56 : USE(tmp189);
6186 56 : tmp189 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
6187 56 : compiler::TNode<BoolT> tmp190;
6188 56 : USE(tmp190);
6189 56 : tmp190 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp188}, compiler::TNode<HeapObject>{tmp189}));
6190 56 : ca_.Branch(tmp190, &block14, &block15, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp188);
6191 : }
6192 :
6193 112 : if (block14.is_used()) {
6194 56 : compiler::TNode<Context> tmp191;
6195 56 : compiler::TNode<JSReceiver> tmp192;
6196 56 : compiler::TNode<String> tmp193;
6197 56 : compiler::TNode<Number> tmp194;
6198 56 : compiler::TNode<Object> tmp195;
6199 56 : compiler::TNode<Object> tmp196;
6200 56 : compiler::TNode<BuiltinPtr> tmp197;
6201 56 : compiler::TNode<Map> tmp198;
6202 56 : compiler::TNode<UintPtrT> tmp199;
6203 56 : compiler::TNode<IntPtrT> tmp200;
6204 56 : compiler::TNode<IntPtrT> tmp201;
6205 56 : compiler::TNode<BuiltinPtr> tmp202;
6206 56 : compiler::TNode<FixedArray> tmp203;
6207 56 : compiler::TNode<IntPtrT> tmp204;
6208 56 : compiler::TNode<IntPtrT> tmp205;
6209 56 : compiler::TNode<BoolT> tmp206;
6210 56 : compiler::TNode<UintPtrT> tmp207;
6211 56 : compiler::TNode<Object> tmp208;
6212 56 : compiler::TNode<String> tmp209;
6213 56 : ca_.Bind(&block14, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209);
6214 56 : ca_.Goto(&block4, tmp191, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207);
6215 : }
6216 :
6217 112 : if (block15.is_used()) {
6218 56 : compiler::TNode<Context> tmp210;
6219 56 : compiler::TNode<JSReceiver> tmp211;
6220 56 : compiler::TNode<String> tmp212;
6221 56 : compiler::TNode<Number> tmp213;
6222 56 : compiler::TNode<Object> tmp214;
6223 56 : compiler::TNode<Object> tmp215;
6224 56 : compiler::TNode<BuiltinPtr> tmp216;
6225 56 : compiler::TNode<Map> tmp217;
6226 56 : compiler::TNode<UintPtrT> tmp218;
6227 56 : compiler::TNode<IntPtrT> tmp219;
6228 56 : compiler::TNode<IntPtrT> tmp220;
6229 56 : compiler::TNode<BuiltinPtr> tmp221;
6230 56 : compiler::TNode<FixedArray> tmp222;
6231 56 : compiler::TNode<IntPtrT> tmp223;
6232 56 : compiler::TNode<IntPtrT> tmp224;
6233 56 : compiler::TNode<BoolT> tmp225;
6234 56 : compiler::TNode<UintPtrT> tmp226;
6235 56 : compiler::TNode<Object> tmp227;
6236 56 : compiler::TNode<String> tmp228;
6237 56 : ca_.Bind(&block15, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228);
6238 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
6239 56 : ca_.Goto(&block13, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228);
6240 : }
6241 :
6242 112 : if (block12.is_used()) {
6243 56 : compiler::TNode<Context> tmp229;
6244 56 : compiler::TNode<JSReceiver> tmp230;
6245 56 : compiler::TNode<String> tmp231;
6246 56 : compiler::TNode<Number> tmp232;
6247 56 : compiler::TNode<Object> tmp233;
6248 56 : compiler::TNode<Object> tmp234;
6249 56 : compiler::TNode<BuiltinPtr> tmp235;
6250 56 : compiler::TNode<Map> tmp236;
6251 56 : compiler::TNode<UintPtrT> tmp237;
6252 56 : compiler::TNode<IntPtrT> tmp238;
6253 56 : compiler::TNode<IntPtrT> tmp239;
6254 56 : compiler::TNode<BuiltinPtr> tmp240;
6255 56 : compiler::TNode<FixedArray> tmp241;
6256 56 : compiler::TNode<IntPtrT> tmp242;
6257 56 : compiler::TNode<IntPtrT> tmp243;
6258 56 : compiler::TNode<BoolT> tmp244;
6259 56 : compiler::TNode<UintPtrT> tmp245;
6260 56 : compiler::TNode<Object> tmp246;
6261 56 : compiler::TNode<String> tmp247;
6262 56 : ca_.Bind(&block12, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247);
6263 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
6264 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
6265 56 : compiler::TNode<String> tmp248;
6266 56 : USE(tmp248);
6267 112 : compiler::CodeAssemblerLabel label0(&ca_);
6268 56 : tmp248 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp229}, compiler::TNode<Object>{tmp246}, &label0);
6269 56 : ca_.Goto(&block18, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp246, tmp246, tmp248);
6270 56 : if (label0.is_used()) {
6271 56 : ca_.Bind(&label0);
6272 56 : ca_.Goto(&block19, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp246, tmp246);
6273 : }
6274 : }
6275 :
6276 112 : if (block19.is_used()) {
6277 56 : compiler::TNode<Context> tmp249;
6278 56 : compiler::TNode<JSReceiver> tmp250;
6279 56 : compiler::TNode<String> tmp251;
6280 56 : compiler::TNode<Number> tmp252;
6281 56 : compiler::TNode<Object> tmp253;
6282 56 : compiler::TNode<Object> tmp254;
6283 56 : compiler::TNode<BuiltinPtr> tmp255;
6284 56 : compiler::TNode<Map> tmp256;
6285 56 : compiler::TNode<UintPtrT> tmp257;
6286 56 : compiler::TNode<IntPtrT> tmp258;
6287 56 : compiler::TNode<IntPtrT> tmp259;
6288 56 : compiler::TNode<BuiltinPtr> tmp260;
6289 56 : compiler::TNode<FixedArray> tmp261;
6290 56 : compiler::TNode<IntPtrT> tmp262;
6291 56 : compiler::TNode<IntPtrT> tmp263;
6292 56 : compiler::TNode<BoolT> tmp264;
6293 56 : compiler::TNode<UintPtrT> tmp265;
6294 56 : compiler::TNode<Object> tmp266;
6295 56 : compiler::TNode<String> tmp267;
6296 56 : compiler::TNode<Object> tmp268;
6297 56 : compiler::TNode<Object> tmp269;
6298 56 : ca_.Bind(&block19, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269);
6299 56 : ca_.Goto(&block17, tmp249, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268);
6300 : }
6301 :
6302 112 : if (block18.is_used()) {
6303 56 : compiler::TNode<Context> tmp270;
6304 56 : compiler::TNode<JSReceiver> tmp271;
6305 56 : compiler::TNode<String> tmp272;
6306 56 : compiler::TNode<Number> tmp273;
6307 56 : compiler::TNode<Object> tmp274;
6308 56 : compiler::TNode<Object> tmp275;
6309 56 : compiler::TNode<BuiltinPtr> tmp276;
6310 56 : compiler::TNode<Map> tmp277;
6311 56 : compiler::TNode<UintPtrT> tmp278;
6312 56 : compiler::TNode<IntPtrT> tmp279;
6313 56 : compiler::TNode<IntPtrT> tmp280;
6314 56 : compiler::TNode<BuiltinPtr> tmp281;
6315 56 : compiler::TNode<FixedArray> tmp282;
6316 56 : compiler::TNode<IntPtrT> tmp283;
6317 56 : compiler::TNode<IntPtrT> tmp284;
6318 56 : compiler::TNode<BoolT> tmp285;
6319 56 : compiler::TNode<UintPtrT> tmp286;
6320 56 : compiler::TNode<Object> tmp287;
6321 56 : compiler::TNode<String> tmp288;
6322 56 : compiler::TNode<Object> tmp289;
6323 56 : compiler::TNode<Object> tmp290;
6324 56 : compiler::TNode<String> tmp291;
6325 56 : ca_.Bind(&block18, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291);
6326 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
6327 56 : compiler::TNode<String> tmp292;
6328 56 : USE(tmp292);
6329 56 : tmp292 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
6330 56 : compiler::TNode<BoolT> tmp293;
6331 56 : USE(tmp293);
6332 56 : tmp293 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp291}, compiler::TNode<HeapObject>{tmp292}));
6333 56 : ca_.Branch(tmp293, &block20, &block21, tmp270, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp291);
6334 : }
6335 :
6336 112 : if (block20.is_used()) {
6337 56 : compiler::TNode<Context> tmp294;
6338 56 : compiler::TNode<JSReceiver> tmp295;
6339 56 : compiler::TNode<String> tmp296;
6340 56 : compiler::TNode<Number> tmp297;
6341 56 : compiler::TNode<Object> tmp298;
6342 56 : compiler::TNode<Object> tmp299;
6343 56 : compiler::TNode<BuiltinPtr> tmp300;
6344 56 : compiler::TNode<Map> tmp301;
6345 56 : compiler::TNode<UintPtrT> tmp302;
6346 56 : compiler::TNode<IntPtrT> tmp303;
6347 56 : compiler::TNode<IntPtrT> tmp304;
6348 56 : compiler::TNode<BuiltinPtr> tmp305;
6349 56 : compiler::TNode<FixedArray> tmp306;
6350 56 : compiler::TNode<IntPtrT> tmp307;
6351 56 : compiler::TNode<IntPtrT> tmp308;
6352 56 : compiler::TNode<BoolT> tmp309;
6353 56 : compiler::TNode<UintPtrT> tmp310;
6354 56 : compiler::TNode<Object> tmp311;
6355 56 : compiler::TNode<String> tmp312;
6356 56 : compiler::TNode<Object> tmp313;
6357 56 : compiler::TNode<String> tmp314;
6358 56 : ca_.Bind(&block20, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314);
6359 56 : ca_.Goto(&block4, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310);
6360 : }
6361 :
6362 112 : if (block21.is_used()) {
6363 56 : compiler::TNode<Context> tmp315;
6364 56 : compiler::TNode<JSReceiver> tmp316;
6365 56 : compiler::TNode<String> tmp317;
6366 56 : compiler::TNode<Number> tmp318;
6367 56 : compiler::TNode<Object> tmp319;
6368 56 : compiler::TNode<Object> tmp320;
6369 56 : compiler::TNode<BuiltinPtr> tmp321;
6370 56 : compiler::TNode<Map> tmp322;
6371 56 : compiler::TNode<UintPtrT> tmp323;
6372 56 : compiler::TNode<IntPtrT> tmp324;
6373 56 : compiler::TNode<IntPtrT> tmp325;
6374 56 : compiler::TNode<BuiltinPtr> tmp326;
6375 56 : compiler::TNode<FixedArray> tmp327;
6376 56 : compiler::TNode<IntPtrT> tmp328;
6377 56 : compiler::TNode<IntPtrT> tmp329;
6378 56 : compiler::TNode<BoolT> tmp330;
6379 56 : compiler::TNode<UintPtrT> tmp331;
6380 56 : compiler::TNode<Object> tmp332;
6381 56 : compiler::TNode<String> tmp333;
6382 56 : compiler::TNode<Object> tmp334;
6383 56 : compiler::TNode<String> tmp335;
6384 56 : ca_.Bind(&block21, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335);
6385 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
6386 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
6387 56 : ca_.Goto(&block16, tmp315, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp335, tmp334);
6388 : }
6389 :
6390 112 : if (block17.is_used()) {
6391 56 : compiler::TNode<Context> tmp336;
6392 56 : compiler::TNode<JSReceiver> tmp337;
6393 56 : compiler::TNode<String> tmp338;
6394 56 : compiler::TNode<Number> tmp339;
6395 56 : compiler::TNode<Object> tmp340;
6396 56 : compiler::TNode<Object> tmp341;
6397 56 : compiler::TNode<BuiltinPtr> tmp342;
6398 56 : compiler::TNode<Map> tmp343;
6399 56 : compiler::TNode<UintPtrT> tmp344;
6400 56 : compiler::TNode<IntPtrT> tmp345;
6401 56 : compiler::TNode<IntPtrT> tmp346;
6402 56 : compiler::TNode<BuiltinPtr> tmp347;
6403 56 : compiler::TNode<FixedArray> tmp348;
6404 56 : compiler::TNode<IntPtrT> tmp349;
6405 56 : compiler::TNode<IntPtrT> tmp350;
6406 56 : compiler::TNode<BoolT> tmp351;
6407 56 : compiler::TNode<UintPtrT> tmp352;
6408 56 : compiler::TNode<Object> tmp353;
6409 56 : compiler::TNode<String> tmp354;
6410 56 : compiler::TNode<Object> tmp355;
6411 56 : ca_.Bind(&block17, &tmp336, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355);
6412 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
6413 56 : compiler::TNode<Number> tmp356;
6414 56 : USE(tmp356);
6415 112 : compiler::CodeAssemblerLabel label0(&ca_);
6416 56 : tmp356 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp355)}, &label0);
6417 56 : ca_.Goto(&block24, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, ca_.UncheckedCast<Object>(tmp355), tmp356);
6418 56 : if (label0.is_used()) {
6419 56 : ca_.Bind(&label0);
6420 56 : ca_.Goto(&block25, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, ca_.UncheckedCast<Object>(tmp355));
6421 : }
6422 : }
6423 :
6424 112 : if (block25.is_used()) {
6425 56 : compiler::TNode<Context> tmp357;
6426 56 : compiler::TNode<JSReceiver> tmp358;
6427 56 : compiler::TNode<String> tmp359;
6428 56 : compiler::TNode<Number> tmp360;
6429 56 : compiler::TNode<Object> tmp361;
6430 56 : compiler::TNode<Object> tmp362;
6431 56 : compiler::TNode<BuiltinPtr> tmp363;
6432 56 : compiler::TNode<Map> tmp364;
6433 56 : compiler::TNode<UintPtrT> tmp365;
6434 56 : compiler::TNode<IntPtrT> tmp366;
6435 56 : compiler::TNode<IntPtrT> tmp367;
6436 56 : compiler::TNode<BuiltinPtr> tmp368;
6437 56 : compiler::TNode<FixedArray> tmp369;
6438 56 : compiler::TNode<IntPtrT> tmp370;
6439 56 : compiler::TNode<IntPtrT> tmp371;
6440 56 : compiler::TNode<BoolT> tmp372;
6441 56 : compiler::TNode<UintPtrT> tmp373;
6442 56 : compiler::TNode<Object> tmp374;
6443 56 : compiler::TNode<String> tmp375;
6444 56 : compiler::TNode<Object> tmp376;
6445 56 : compiler::TNode<Object> tmp377;
6446 56 : ca_.Bind(&block25, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377);
6447 56 : ca_.Goto(&block23, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376);
6448 : }
6449 :
6450 112 : if (block24.is_used()) {
6451 56 : compiler::TNode<Context> tmp378;
6452 56 : compiler::TNode<JSReceiver> tmp379;
6453 56 : compiler::TNode<String> tmp380;
6454 56 : compiler::TNode<Number> tmp381;
6455 56 : compiler::TNode<Object> tmp382;
6456 56 : compiler::TNode<Object> tmp383;
6457 56 : compiler::TNode<BuiltinPtr> tmp384;
6458 56 : compiler::TNode<Map> tmp385;
6459 56 : compiler::TNode<UintPtrT> tmp386;
6460 56 : compiler::TNode<IntPtrT> tmp387;
6461 56 : compiler::TNode<IntPtrT> tmp388;
6462 56 : compiler::TNode<BuiltinPtr> tmp389;
6463 56 : compiler::TNode<FixedArray> tmp390;
6464 56 : compiler::TNode<IntPtrT> tmp391;
6465 56 : compiler::TNode<IntPtrT> tmp392;
6466 56 : compiler::TNode<BoolT> tmp393;
6467 56 : compiler::TNode<UintPtrT> tmp394;
6468 56 : compiler::TNode<Object> tmp395;
6469 56 : compiler::TNode<String> tmp396;
6470 56 : compiler::TNode<Object> tmp397;
6471 56 : compiler::TNode<Object> tmp398;
6472 56 : compiler::TNode<Number> tmp399;
6473 56 : ca_.Bind(&block24, &tmp378, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397, &tmp398, &tmp399);
6474 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
6475 56 : compiler::TNode<String> tmp400;
6476 56 : USE(tmp400);
6477 56 : tmp400 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp399}));
6478 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
6479 56 : ca_.Goto(&block22, tmp378, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp400, tmp397);
6480 : }
6481 :
6482 112 : if (block23.is_used()) {
6483 56 : compiler::TNode<Context> tmp401;
6484 56 : compiler::TNode<JSReceiver> tmp402;
6485 56 : compiler::TNode<String> tmp403;
6486 56 : compiler::TNode<Number> tmp404;
6487 56 : compiler::TNode<Object> tmp405;
6488 56 : compiler::TNode<Object> tmp406;
6489 56 : compiler::TNode<BuiltinPtr> tmp407;
6490 56 : compiler::TNode<Map> tmp408;
6491 56 : compiler::TNode<UintPtrT> tmp409;
6492 56 : compiler::TNode<IntPtrT> tmp410;
6493 56 : compiler::TNode<IntPtrT> tmp411;
6494 56 : compiler::TNode<BuiltinPtr> tmp412;
6495 56 : compiler::TNode<FixedArray> tmp413;
6496 56 : compiler::TNode<IntPtrT> tmp414;
6497 56 : compiler::TNode<IntPtrT> tmp415;
6498 56 : compiler::TNode<BoolT> tmp416;
6499 56 : compiler::TNode<UintPtrT> tmp417;
6500 56 : compiler::TNode<Object> tmp418;
6501 56 : compiler::TNode<String> tmp419;
6502 56 : compiler::TNode<Object> tmp420;
6503 56 : ca_.Bind(&block23, &tmp401, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420);
6504 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 307);
6505 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 308);
6506 56 : compiler::TNode<BoolT> tmp421;
6507 56 : USE(tmp421);
6508 56 : tmp421 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp420)}));
6509 56 : ca_.Branch(tmp421, &block26, &block27, tmp401, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, ca_.UncheckedCast<HeapObject>(tmp420));
6510 : }
6511 :
6512 112 : if (block26.is_used()) {
6513 56 : compiler::TNode<Context> tmp422;
6514 56 : compiler::TNode<JSReceiver> tmp423;
6515 56 : compiler::TNode<String> tmp424;
6516 56 : compiler::TNode<Number> tmp425;
6517 56 : compiler::TNode<Object> tmp426;
6518 56 : compiler::TNode<Object> tmp427;
6519 56 : compiler::TNode<BuiltinPtr> tmp428;
6520 56 : compiler::TNode<Map> tmp429;
6521 56 : compiler::TNode<UintPtrT> tmp430;
6522 56 : compiler::TNode<IntPtrT> tmp431;
6523 56 : compiler::TNode<IntPtrT> tmp432;
6524 56 : compiler::TNode<BuiltinPtr> tmp433;
6525 56 : compiler::TNode<FixedArray> tmp434;
6526 56 : compiler::TNode<IntPtrT> tmp435;
6527 56 : compiler::TNode<IntPtrT> tmp436;
6528 56 : compiler::TNode<BoolT> tmp437;
6529 56 : compiler::TNode<UintPtrT> tmp438;
6530 56 : compiler::TNode<Object> tmp439;
6531 56 : compiler::TNode<String> tmp440;
6532 56 : compiler::TNode<Object> tmp441;
6533 56 : compiler::TNode<HeapObject> tmp442;
6534 56 : ca_.Bind(&block26, &tmp422, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442);
6535 56 : ca_.Goto(&block4, tmp422, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438);
6536 : }
6537 :
6538 112 : if (block27.is_used()) {
6539 56 : compiler::TNode<Context> tmp443;
6540 56 : compiler::TNode<JSReceiver> tmp444;
6541 56 : compiler::TNode<String> tmp445;
6542 56 : compiler::TNode<Number> tmp446;
6543 56 : compiler::TNode<Object> tmp447;
6544 56 : compiler::TNode<Object> tmp448;
6545 56 : compiler::TNode<BuiltinPtr> tmp449;
6546 56 : compiler::TNode<Map> tmp450;
6547 56 : compiler::TNode<UintPtrT> tmp451;
6548 56 : compiler::TNode<IntPtrT> tmp452;
6549 56 : compiler::TNode<IntPtrT> tmp453;
6550 56 : compiler::TNode<BuiltinPtr> tmp454;
6551 56 : compiler::TNode<FixedArray> tmp455;
6552 56 : compiler::TNode<IntPtrT> tmp456;
6553 56 : compiler::TNode<IntPtrT> tmp457;
6554 56 : compiler::TNode<BoolT> tmp458;
6555 56 : compiler::TNode<UintPtrT> tmp459;
6556 56 : compiler::TNode<Object> tmp460;
6557 56 : compiler::TNode<String> tmp461;
6558 56 : compiler::TNode<Object> tmp462;
6559 56 : compiler::TNode<HeapObject> tmp463;
6560 56 : ca_.Bind(&block27, &tmp443, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463);
6561 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 309);
6562 56 : compiler::TNode<String> tmp464;
6563 56 : tmp464 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp443, tmp463));
6564 56 : USE(tmp464);
6565 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
6566 56 : ca_.Goto(&block22, tmp443, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp464, tmp462);
6567 : }
6568 :
6569 112 : if (block22.is_used()) {
6570 56 : compiler::TNode<Context> tmp465;
6571 56 : compiler::TNode<JSReceiver> tmp466;
6572 56 : compiler::TNode<String> tmp467;
6573 56 : compiler::TNode<Number> tmp468;
6574 56 : compiler::TNode<Object> tmp469;
6575 56 : compiler::TNode<Object> tmp470;
6576 56 : compiler::TNode<BuiltinPtr> tmp471;
6577 56 : compiler::TNode<Map> tmp472;
6578 56 : compiler::TNode<UintPtrT> tmp473;
6579 56 : compiler::TNode<IntPtrT> tmp474;
6580 56 : compiler::TNode<IntPtrT> tmp475;
6581 56 : compiler::TNode<BuiltinPtr> tmp476;
6582 56 : compiler::TNode<FixedArray> tmp477;
6583 56 : compiler::TNode<IntPtrT> tmp478;
6584 56 : compiler::TNode<IntPtrT> tmp479;
6585 56 : compiler::TNode<BoolT> tmp480;
6586 56 : compiler::TNode<UintPtrT> tmp481;
6587 56 : compiler::TNode<Object> tmp482;
6588 56 : compiler::TNode<String> tmp483;
6589 56 : compiler::TNode<Object> tmp484;
6590 56 : ca_.Bind(&block22, &tmp465, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483, &tmp484);
6591 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
6592 56 : ca_.Goto(&block16, tmp465, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484);
6593 : }
6594 :
6595 112 : if (block16.is_used()) {
6596 56 : compiler::TNode<Context> tmp485;
6597 56 : compiler::TNode<JSReceiver> tmp486;
6598 56 : compiler::TNode<String> tmp487;
6599 56 : compiler::TNode<Number> tmp488;
6600 56 : compiler::TNode<Object> tmp489;
6601 56 : compiler::TNode<Object> tmp490;
6602 56 : compiler::TNode<BuiltinPtr> tmp491;
6603 56 : compiler::TNode<Map> tmp492;
6604 56 : compiler::TNode<UintPtrT> tmp493;
6605 56 : compiler::TNode<IntPtrT> tmp494;
6606 56 : compiler::TNode<IntPtrT> tmp495;
6607 56 : compiler::TNode<BuiltinPtr> tmp496;
6608 56 : compiler::TNode<FixedArray> tmp497;
6609 56 : compiler::TNode<IntPtrT> tmp498;
6610 56 : compiler::TNode<IntPtrT> tmp499;
6611 56 : compiler::TNode<BoolT> tmp500;
6612 56 : compiler::TNode<UintPtrT> tmp501;
6613 56 : compiler::TNode<Object> tmp502;
6614 56 : compiler::TNode<String> tmp503;
6615 56 : compiler::TNode<Object> tmp504;
6616 56 : ca_.Bind(&block16, &tmp485, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504);
6617 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
6618 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
6619 56 : ca_.Goto(&block13, tmp485, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503);
6620 : }
6621 :
6622 112 : if (block13.is_used()) {
6623 112 : compiler::TNode<Context> tmp505;
6624 112 : compiler::TNode<JSReceiver> tmp506;
6625 112 : compiler::TNode<String> tmp507;
6626 112 : compiler::TNode<Number> tmp508;
6627 112 : compiler::TNode<Object> tmp509;
6628 112 : compiler::TNode<Object> tmp510;
6629 112 : compiler::TNode<BuiltinPtr> tmp511;
6630 112 : compiler::TNode<Map> tmp512;
6631 112 : compiler::TNode<UintPtrT> tmp513;
6632 112 : compiler::TNode<IntPtrT> tmp514;
6633 112 : compiler::TNode<IntPtrT> tmp515;
6634 112 : compiler::TNode<BuiltinPtr> tmp516;
6635 112 : compiler::TNode<FixedArray> tmp517;
6636 112 : compiler::TNode<IntPtrT> tmp518;
6637 112 : compiler::TNode<IntPtrT> tmp519;
6638 112 : compiler::TNode<BoolT> tmp520;
6639 112 : compiler::TNode<UintPtrT> tmp521;
6640 112 : compiler::TNode<Object> tmp522;
6641 112 : compiler::TNode<String> tmp523;
6642 112 : ca_.Bind(&block13, &tmp505, &tmp506, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523);
6643 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
6644 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
6645 112 : compiler::TNode<IntPtrT> tmp524;
6646 112 : USE(tmp524);
6647 112 : tmp524 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
6648 112 : compiler::TNode<BoolT> tmp525;
6649 112 : USE(tmp525);
6650 112 : tmp525 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp518}, compiler::TNode<IntPtrT>{tmp524}));
6651 112 : compiler::TNode<IntPtrT> tmp526;
6652 112 : USE(tmp526);
6653 112 : tmp526 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
6654 112 : compiler::TNode<BoolT> tmp527;
6655 112 : USE(tmp527);
6656 112 : tmp527 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp515}, compiler::TNode<IntPtrT>{tmp526}));
6657 112 : compiler::TNode<BoolT> tmp528;
6658 112 : USE(tmp528);
6659 112 : tmp528 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp525}, compiler::TNode<BoolT>{tmp527}));
6660 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
6661 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
6662 112 : compiler::TNode<IntPtrT> tmp529;
6663 112 : USE(tmp529);
6664 112 : tmp529 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
6665 112 : compiler::TNode<BoolT> tmp530;
6666 112 : USE(tmp530);
6667 112 : tmp530 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp515}, compiler::TNode<IntPtrT>{tmp529}));
6668 112 : ca_.Branch(tmp530, &block30, &block32, tmp505, tmp506, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp522, tmp523, tmp523, tmp515, tmp514, tmp505, tmp523, tmp515, tmp514, tmp528, tmp515, tmp514, tmp528, tmp505, tmp515, tmp514, tmp528);
6669 : }
6670 :
6671 112 : if (block32.is_used()) {
6672 112 : compiler::TNode<Context> tmp531;
6673 112 : compiler::TNode<JSReceiver> tmp532;
6674 112 : compiler::TNode<String> tmp533;
6675 112 : compiler::TNode<Number> tmp534;
6676 112 : compiler::TNode<Object> tmp535;
6677 112 : compiler::TNode<Object> tmp536;
6678 112 : compiler::TNode<BuiltinPtr> tmp537;
6679 112 : compiler::TNode<Map> tmp538;
6680 112 : compiler::TNode<UintPtrT> tmp539;
6681 112 : compiler::TNode<IntPtrT> tmp540;
6682 112 : compiler::TNode<IntPtrT> tmp541;
6683 112 : compiler::TNode<BuiltinPtr> tmp542;
6684 112 : compiler::TNode<FixedArray> tmp543;
6685 112 : compiler::TNode<IntPtrT> tmp544;
6686 112 : compiler::TNode<IntPtrT> tmp545;
6687 112 : compiler::TNode<BoolT> tmp546;
6688 112 : compiler::TNode<UintPtrT> tmp547;
6689 112 : compiler::TNode<Object> tmp548;
6690 112 : compiler::TNode<String> tmp549;
6691 112 : compiler::TNode<String> tmp550;
6692 112 : compiler::TNode<IntPtrT> tmp551;
6693 112 : compiler::TNode<IntPtrT> tmp552;
6694 112 : compiler::TNode<Context> tmp553;
6695 112 : compiler::TNode<String> tmp554;
6696 112 : compiler::TNode<IntPtrT> tmp555;
6697 112 : compiler::TNode<IntPtrT> tmp556;
6698 112 : compiler::TNode<BoolT> tmp557;
6699 112 : compiler::TNode<IntPtrT> tmp558;
6700 112 : compiler::TNode<IntPtrT> tmp559;
6701 112 : compiler::TNode<BoolT> tmp560;
6702 112 : compiler::TNode<Context> tmp561;
6703 112 : compiler::TNode<IntPtrT> tmp562;
6704 112 : compiler::TNode<IntPtrT> tmp563;
6705 112 : compiler::TNode<BoolT> tmp564;
6706 112 : ca_.Bind(&block32, &tmp531, &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);
6707 112 : compiler::TNode<IntPtrT> tmp565;
6708 112 : USE(tmp565);
6709 112 : tmp565 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
6710 112 : compiler::TNode<BoolT> tmp566;
6711 112 : USE(tmp566);
6712 112 : tmp566 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp563}, compiler::TNode<IntPtrT>{tmp565}));
6713 112 : ca_.Branch(tmp566, &block30, &block31, tmp531, 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);
6714 : }
6715 :
6716 112 : if (block30.is_used()) {
6717 112 : compiler::TNode<Context> tmp567;
6718 112 : compiler::TNode<JSReceiver> tmp568;
6719 112 : compiler::TNode<String> tmp569;
6720 112 : compiler::TNode<Number> tmp570;
6721 112 : compiler::TNode<Object> tmp571;
6722 112 : compiler::TNode<Object> tmp572;
6723 112 : compiler::TNode<BuiltinPtr> tmp573;
6724 112 : compiler::TNode<Map> tmp574;
6725 112 : compiler::TNode<UintPtrT> tmp575;
6726 112 : compiler::TNode<IntPtrT> tmp576;
6727 112 : compiler::TNode<IntPtrT> tmp577;
6728 112 : compiler::TNode<BuiltinPtr> tmp578;
6729 112 : compiler::TNode<FixedArray> tmp579;
6730 112 : compiler::TNode<IntPtrT> tmp580;
6731 112 : compiler::TNode<IntPtrT> tmp581;
6732 112 : compiler::TNode<BoolT> tmp582;
6733 112 : compiler::TNode<UintPtrT> tmp583;
6734 112 : compiler::TNode<Object> tmp584;
6735 112 : compiler::TNode<String> tmp585;
6736 112 : compiler::TNode<String> tmp586;
6737 112 : compiler::TNode<IntPtrT> tmp587;
6738 112 : compiler::TNode<IntPtrT> tmp588;
6739 112 : compiler::TNode<Context> tmp589;
6740 112 : compiler::TNode<String> tmp590;
6741 112 : compiler::TNode<IntPtrT> tmp591;
6742 112 : compiler::TNode<IntPtrT> tmp592;
6743 112 : compiler::TNode<BoolT> tmp593;
6744 112 : compiler::TNode<IntPtrT> tmp594;
6745 112 : compiler::TNode<IntPtrT> tmp595;
6746 112 : compiler::TNode<BoolT> tmp596;
6747 112 : compiler::TNode<Context> tmp597;
6748 112 : compiler::TNode<IntPtrT> tmp598;
6749 112 : compiler::TNode<IntPtrT> tmp599;
6750 112 : compiler::TNode<BoolT> tmp600;
6751 112 : ca_.Bind(&block30, &tmp567, &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);
6752 112 : ca_.Goto(&block29, tmp567, 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);
6753 : }
6754 :
6755 112 : if (block31.is_used()) {
6756 112 : compiler::TNode<Context> tmp601;
6757 112 : compiler::TNode<JSReceiver> tmp602;
6758 112 : compiler::TNode<String> tmp603;
6759 112 : compiler::TNode<Number> tmp604;
6760 112 : compiler::TNode<Object> tmp605;
6761 112 : compiler::TNode<Object> tmp606;
6762 112 : compiler::TNode<BuiltinPtr> tmp607;
6763 112 : compiler::TNode<Map> tmp608;
6764 112 : compiler::TNode<UintPtrT> tmp609;
6765 112 : compiler::TNode<IntPtrT> tmp610;
6766 112 : compiler::TNode<IntPtrT> tmp611;
6767 112 : compiler::TNode<BuiltinPtr> tmp612;
6768 112 : compiler::TNode<FixedArray> tmp613;
6769 112 : compiler::TNode<IntPtrT> tmp614;
6770 112 : compiler::TNode<IntPtrT> tmp615;
6771 112 : compiler::TNode<BoolT> tmp616;
6772 112 : compiler::TNode<UintPtrT> tmp617;
6773 112 : compiler::TNode<Object> tmp618;
6774 112 : compiler::TNode<String> tmp619;
6775 112 : compiler::TNode<String> tmp620;
6776 112 : compiler::TNode<IntPtrT> tmp621;
6777 112 : compiler::TNode<IntPtrT> tmp622;
6778 112 : compiler::TNode<Context> tmp623;
6779 112 : compiler::TNode<String> tmp624;
6780 112 : compiler::TNode<IntPtrT> tmp625;
6781 112 : compiler::TNode<IntPtrT> tmp626;
6782 112 : compiler::TNode<BoolT> tmp627;
6783 112 : compiler::TNode<IntPtrT> tmp628;
6784 112 : compiler::TNode<IntPtrT> tmp629;
6785 112 : compiler::TNode<BoolT> tmp630;
6786 112 : compiler::TNode<Context> tmp631;
6787 112 : compiler::TNode<IntPtrT> tmp632;
6788 112 : compiler::TNode<IntPtrT> tmp633;
6789 112 : compiler::TNode<BoolT> tmp634;
6790 112 : ca_.Bind(&block31, &tmp601, &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);
6791 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
6792 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
6793 112 : compiler::TNode<IntPtrT> tmp635;
6794 112 : USE(tmp635);
6795 112 : tmp635 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp633}, compiler::TNode<IntPtrT>{tmp632}));
6796 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
6797 112 : compiler::TNode<IntPtrT> tmp636;
6798 112 : USE(tmp636);
6799 112 : tmp636 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp635}, compiler::TNode<IntPtrT>{tmp633}));
6800 112 : compiler::TNode<BoolT> tmp637;
6801 112 : USE(tmp637);
6802 112 : tmp637 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp636}, compiler::TNode<IntPtrT>{tmp632}));
6803 112 : ca_.Branch(tmp637, &block33, &block34, tmp601, 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, tmp632, tmp635);
6804 : }
6805 :
6806 112 : if (block33.is_used()) {
6807 112 : compiler::TNode<Context> tmp638;
6808 112 : compiler::TNode<JSReceiver> tmp639;
6809 112 : compiler::TNode<String> tmp640;
6810 112 : compiler::TNode<Number> tmp641;
6811 112 : compiler::TNode<Object> tmp642;
6812 112 : compiler::TNode<Object> tmp643;
6813 112 : compiler::TNode<BuiltinPtr> tmp644;
6814 112 : compiler::TNode<Map> tmp645;
6815 112 : compiler::TNode<UintPtrT> tmp646;
6816 112 : compiler::TNode<IntPtrT> tmp647;
6817 112 : compiler::TNode<IntPtrT> tmp648;
6818 112 : compiler::TNode<BuiltinPtr> tmp649;
6819 112 : compiler::TNode<FixedArray> tmp650;
6820 112 : compiler::TNode<IntPtrT> tmp651;
6821 112 : compiler::TNode<IntPtrT> tmp652;
6822 112 : compiler::TNode<BoolT> tmp653;
6823 112 : compiler::TNode<UintPtrT> tmp654;
6824 112 : compiler::TNode<Object> tmp655;
6825 112 : compiler::TNode<String> tmp656;
6826 112 : compiler::TNode<String> tmp657;
6827 112 : compiler::TNode<IntPtrT> tmp658;
6828 112 : compiler::TNode<IntPtrT> tmp659;
6829 112 : compiler::TNode<Context> tmp660;
6830 112 : compiler::TNode<String> tmp661;
6831 112 : compiler::TNode<IntPtrT> tmp662;
6832 112 : compiler::TNode<IntPtrT> tmp663;
6833 112 : compiler::TNode<BoolT> tmp664;
6834 112 : compiler::TNode<IntPtrT> tmp665;
6835 112 : compiler::TNode<IntPtrT> tmp666;
6836 112 : compiler::TNode<BoolT> tmp667;
6837 112 : compiler::TNode<Context> tmp668;
6838 112 : compiler::TNode<IntPtrT> tmp669;
6839 112 : compiler::TNode<IntPtrT> tmp670;
6840 112 : compiler::TNode<BoolT> tmp671;
6841 112 : compiler::TNode<IntPtrT> tmp672;
6842 112 : compiler::TNode<IntPtrT> tmp673;
6843 112 : ca_.Bind(&block33, &tmp638, &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);
6844 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
6845 112 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp668);
6846 112 : CodeStubAssembler(state_).Unreachable();
6847 : }
6848 :
6849 112 : if (block34.is_used()) {
6850 112 : compiler::TNode<Context> tmp675;
6851 112 : compiler::TNode<JSReceiver> tmp676;
6852 112 : compiler::TNode<String> tmp677;
6853 112 : compiler::TNode<Number> tmp678;
6854 112 : compiler::TNode<Object> tmp679;
6855 112 : compiler::TNode<Object> tmp680;
6856 112 : compiler::TNode<BuiltinPtr> tmp681;
6857 112 : compiler::TNode<Map> tmp682;
6858 112 : compiler::TNode<UintPtrT> tmp683;
6859 112 : compiler::TNode<IntPtrT> tmp684;
6860 112 : compiler::TNode<IntPtrT> tmp685;
6861 112 : compiler::TNode<BuiltinPtr> tmp686;
6862 112 : compiler::TNode<FixedArray> tmp687;
6863 112 : compiler::TNode<IntPtrT> tmp688;
6864 112 : compiler::TNode<IntPtrT> tmp689;
6865 112 : compiler::TNode<BoolT> tmp690;
6866 112 : compiler::TNode<UintPtrT> tmp691;
6867 112 : compiler::TNode<Object> tmp692;
6868 112 : compiler::TNode<String> tmp693;
6869 112 : compiler::TNode<String> tmp694;
6870 112 : compiler::TNode<IntPtrT> tmp695;
6871 112 : compiler::TNode<IntPtrT> tmp696;
6872 112 : compiler::TNode<Context> tmp697;
6873 112 : compiler::TNode<String> tmp698;
6874 112 : compiler::TNode<IntPtrT> tmp699;
6875 112 : compiler::TNode<IntPtrT> tmp700;
6876 112 : compiler::TNode<BoolT> tmp701;
6877 112 : compiler::TNode<IntPtrT> tmp702;
6878 112 : compiler::TNode<IntPtrT> tmp703;
6879 112 : compiler::TNode<BoolT> tmp704;
6880 112 : compiler::TNode<Context> tmp705;
6881 112 : compiler::TNode<IntPtrT> tmp706;
6882 112 : compiler::TNode<IntPtrT> tmp707;
6883 112 : compiler::TNode<BoolT> tmp708;
6884 112 : compiler::TNode<IntPtrT> tmp709;
6885 112 : compiler::TNode<IntPtrT> tmp710;
6886 112 : ca_.Bind(&block34, &tmp675, &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);
6887 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
6888 112 : compiler::TNode<IntPtrT> tmp711;
6889 112 : USE(tmp711);
6890 112 : tmp711 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp705}, compiler::TNode<IntPtrT>{tmp689}, compiler::TNode<IntPtrT>{tmp710}));
6891 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
6892 112 : ca_.Branch(tmp708, &block35, &block36, tmp675, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp686, tmp687, tmp688, tmp711, tmp690, tmp691, tmp692, tmp693, tmp694, tmp695, tmp696, tmp697, tmp698, tmp699, tmp700, tmp701, tmp702, tmp703, tmp704, tmp705, tmp706, tmp707, tmp708, tmp709, tmp710);
6893 : }
6894 :
6895 112 : if (block35.is_used()) {
6896 112 : compiler::TNode<Context> tmp712;
6897 112 : compiler::TNode<JSReceiver> tmp713;
6898 112 : compiler::TNode<String> tmp714;
6899 112 : compiler::TNode<Number> tmp715;
6900 112 : compiler::TNode<Object> tmp716;
6901 112 : compiler::TNode<Object> tmp717;
6902 112 : compiler::TNode<BuiltinPtr> tmp718;
6903 112 : compiler::TNode<Map> tmp719;
6904 112 : compiler::TNode<UintPtrT> tmp720;
6905 112 : compiler::TNode<IntPtrT> tmp721;
6906 112 : compiler::TNode<IntPtrT> tmp722;
6907 112 : compiler::TNode<BuiltinPtr> tmp723;
6908 112 : compiler::TNode<FixedArray> tmp724;
6909 112 : compiler::TNode<IntPtrT> tmp725;
6910 112 : compiler::TNode<IntPtrT> tmp726;
6911 112 : compiler::TNode<BoolT> tmp727;
6912 112 : compiler::TNode<UintPtrT> tmp728;
6913 112 : compiler::TNode<Object> tmp729;
6914 112 : compiler::TNode<String> tmp730;
6915 112 : compiler::TNode<String> tmp731;
6916 112 : compiler::TNode<IntPtrT> tmp732;
6917 112 : compiler::TNode<IntPtrT> tmp733;
6918 112 : compiler::TNode<Context> tmp734;
6919 112 : compiler::TNode<String> tmp735;
6920 112 : compiler::TNode<IntPtrT> tmp736;
6921 112 : compiler::TNode<IntPtrT> tmp737;
6922 112 : compiler::TNode<BoolT> tmp738;
6923 112 : compiler::TNode<IntPtrT> tmp739;
6924 112 : compiler::TNode<IntPtrT> tmp740;
6925 112 : compiler::TNode<BoolT> tmp741;
6926 112 : compiler::TNode<Context> tmp742;
6927 112 : compiler::TNode<IntPtrT> tmp743;
6928 112 : compiler::TNode<IntPtrT> tmp744;
6929 112 : compiler::TNode<BoolT> tmp745;
6930 112 : compiler::TNode<IntPtrT> tmp746;
6931 112 : compiler::TNode<IntPtrT> tmp747;
6932 112 : ca_.Bind(&block35, &tmp712, &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);
6933 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
6934 112 : compiler::TNode<IntPtrT> tmp748;
6935 112 : USE(tmp748);
6936 112 : tmp748 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
6937 112 : compiler::TNode<IntPtrT> tmp749;
6938 112 : USE(tmp749);
6939 112 : tmp749 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp725}, compiler::TNode<IntPtrT>{tmp748}));
6940 112 : compiler::TNode<Smi> tmp750;
6941 112 : USE(tmp750);
6942 112 : tmp750 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp746}));
6943 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
6944 112 : compiler::TNode<FixedArray> tmp751;
6945 112 : USE(tmp751);
6946 112 : tmp751 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp724}, compiler::TNode<IntPtrT>{tmp725}, compiler::TNode<Smi>{tmp750}));
6947 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
6948 112 : ca_.Goto(&block36, tmp712, tmp713, tmp714, tmp715, tmp716, tmp717, tmp718, tmp719, tmp720, tmp721, tmp722, tmp723, tmp751, tmp749, tmp726, tmp727, tmp728, tmp729, tmp730, tmp731, tmp732, tmp733, tmp734, tmp735, tmp736, tmp737, tmp738, tmp739, tmp740, tmp741, tmp742, tmp743, tmp744, tmp745, tmp746, tmp747);
6949 : }
6950 :
6951 112 : if (block36.is_used()) {
6952 112 : compiler::TNode<Context> tmp752;
6953 112 : compiler::TNode<JSReceiver> tmp753;
6954 112 : compiler::TNode<String> tmp754;
6955 112 : compiler::TNode<Number> tmp755;
6956 112 : compiler::TNode<Object> tmp756;
6957 112 : compiler::TNode<Object> tmp757;
6958 112 : compiler::TNode<BuiltinPtr> tmp758;
6959 112 : compiler::TNode<Map> tmp759;
6960 112 : compiler::TNode<UintPtrT> tmp760;
6961 112 : compiler::TNode<IntPtrT> tmp761;
6962 112 : compiler::TNode<IntPtrT> tmp762;
6963 112 : compiler::TNode<BuiltinPtr> tmp763;
6964 112 : compiler::TNode<FixedArray> tmp764;
6965 112 : compiler::TNode<IntPtrT> tmp765;
6966 112 : compiler::TNode<IntPtrT> tmp766;
6967 112 : compiler::TNode<BoolT> tmp767;
6968 112 : compiler::TNode<UintPtrT> tmp768;
6969 112 : compiler::TNode<Object> tmp769;
6970 112 : compiler::TNode<String> tmp770;
6971 112 : compiler::TNode<String> tmp771;
6972 112 : compiler::TNode<IntPtrT> tmp772;
6973 112 : compiler::TNode<IntPtrT> tmp773;
6974 112 : compiler::TNode<Context> tmp774;
6975 112 : compiler::TNode<String> tmp775;
6976 112 : compiler::TNode<IntPtrT> tmp776;
6977 112 : compiler::TNode<IntPtrT> tmp777;
6978 112 : compiler::TNode<BoolT> tmp778;
6979 112 : compiler::TNode<IntPtrT> tmp779;
6980 112 : compiler::TNode<IntPtrT> tmp780;
6981 112 : compiler::TNode<BoolT> tmp781;
6982 112 : compiler::TNode<Context> tmp782;
6983 112 : compiler::TNode<IntPtrT> tmp783;
6984 112 : compiler::TNode<IntPtrT> tmp784;
6985 112 : compiler::TNode<BoolT> tmp785;
6986 112 : compiler::TNode<IntPtrT> tmp786;
6987 112 : compiler::TNode<IntPtrT> tmp787;
6988 112 : ca_.Bind(&block36, &tmp752, &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);
6989 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
6990 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
6991 112 : ca_.Goto(&block29, tmp752, 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);
6992 : }
6993 :
6994 112 : if (block29.is_used()) {
6995 112 : compiler::TNode<Context> tmp788;
6996 112 : compiler::TNode<JSReceiver> tmp789;
6997 112 : compiler::TNode<String> tmp790;
6998 112 : compiler::TNode<Number> tmp791;
6999 112 : compiler::TNode<Object> tmp792;
7000 112 : compiler::TNode<Object> tmp793;
7001 112 : compiler::TNode<BuiltinPtr> tmp794;
7002 112 : compiler::TNode<Map> tmp795;
7003 112 : compiler::TNode<UintPtrT> tmp796;
7004 112 : compiler::TNode<IntPtrT> tmp797;
7005 112 : compiler::TNode<IntPtrT> tmp798;
7006 112 : compiler::TNode<BuiltinPtr> tmp799;
7007 112 : compiler::TNode<FixedArray> tmp800;
7008 112 : compiler::TNode<IntPtrT> tmp801;
7009 112 : compiler::TNode<IntPtrT> tmp802;
7010 112 : compiler::TNode<BoolT> tmp803;
7011 112 : compiler::TNode<UintPtrT> tmp804;
7012 112 : compiler::TNode<Object> tmp805;
7013 112 : compiler::TNode<String> tmp806;
7014 112 : compiler::TNode<String> tmp807;
7015 112 : compiler::TNode<IntPtrT> tmp808;
7016 112 : compiler::TNode<IntPtrT> tmp809;
7017 112 : compiler::TNode<Context> tmp810;
7018 112 : compiler::TNode<String> tmp811;
7019 112 : compiler::TNode<IntPtrT> tmp812;
7020 112 : compiler::TNode<IntPtrT> tmp813;
7021 112 : compiler::TNode<BoolT> tmp814;
7022 112 : compiler::TNode<IntPtrT> tmp815;
7023 112 : compiler::TNode<IntPtrT> tmp816;
7024 112 : compiler::TNode<BoolT> tmp817;
7025 112 : compiler::TNode<Context> tmp818;
7026 112 : compiler::TNode<IntPtrT> tmp819;
7027 112 : compiler::TNode<IntPtrT> tmp820;
7028 112 : compiler::TNode<BoolT> tmp821;
7029 112 : ca_.Bind(&block29, &tmp788, &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);
7030 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
7031 112 : compiler::TNode<IntPtrT> tmp822;
7032 112 : USE(tmp822);
7033 112 : tmp822 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp811}));
7034 112 : compiler::TNode<IntPtrT> tmp823;
7035 112 : USE(tmp823);
7036 112 : tmp823 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp810}, compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<IntPtrT>{tmp822}));
7037 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
7038 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 164);
7039 112 : compiler::TNode<IntPtrT> tmp824;
7040 112 : USE(tmp824);
7041 112 : tmp824 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
7042 112 : compiler::TNode<IntPtrT> tmp825;
7043 112 : USE(tmp825);
7044 112 : tmp825 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp801}, compiler::TNode<IntPtrT>{tmp824}));
7045 112 : compiler::TNode<FixedArray> tmp826;
7046 112 : USE(tmp826);
7047 112 : tmp826 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray6String(compiler::TNode<FixedArray>{tmp800}, compiler::TNode<IntPtrT>{tmp801}, compiler::TNode<String>{tmp811}));
7048 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
7049 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 166);
7050 112 : compiler::TNode<Int32T> tmp827;
7051 112 : USE(tmp827);
7052 112 : tmp827 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp811}));
7053 112 : compiler::TNode<BoolT> tmp828;
7054 112 : USE(tmp828);
7055 112 : tmp828 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp827}));
7056 112 : compiler::TNode<BoolT> tmp829;
7057 112 : USE(tmp829);
7058 112 : tmp829 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp828}, compiler::TNode<BoolT>{tmp803}));
7059 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 165);
7060 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
7061 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
7062 112 : ca_.Goto(&block28, tmp788, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp795, tmp796, tmp797, tmp798, tmp799, tmp826, tmp825, tmp823, tmp829, tmp804, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813);
7063 : }
7064 :
7065 112 : if (block28.is_used()) {
7066 112 : compiler::TNode<Context> tmp830;
7067 112 : compiler::TNode<JSReceiver> tmp831;
7068 112 : compiler::TNode<String> tmp832;
7069 112 : compiler::TNode<Number> tmp833;
7070 112 : compiler::TNode<Object> tmp834;
7071 112 : compiler::TNode<Object> tmp835;
7072 112 : compiler::TNode<BuiltinPtr> tmp836;
7073 112 : compiler::TNode<Map> tmp837;
7074 112 : compiler::TNode<UintPtrT> tmp838;
7075 112 : compiler::TNode<IntPtrT> tmp839;
7076 112 : compiler::TNode<IntPtrT> tmp840;
7077 112 : compiler::TNode<BuiltinPtr> tmp841;
7078 112 : compiler::TNode<FixedArray> tmp842;
7079 112 : compiler::TNode<IntPtrT> tmp843;
7080 112 : compiler::TNode<IntPtrT> tmp844;
7081 112 : compiler::TNode<BoolT> tmp845;
7082 112 : compiler::TNode<UintPtrT> tmp846;
7083 112 : compiler::TNode<Object> tmp847;
7084 112 : compiler::TNode<String> tmp848;
7085 112 : compiler::TNode<String> tmp849;
7086 112 : compiler::TNode<IntPtrT> tmp850;
7087 112 : compiler::TNode<IntPtrT> tmp851;
7088 112 : compiler::TNode<Context> tmp852;
7089 112 : compiler::TNode<String> tmp853;
7090 112 : compiler::TNode<IntPtrT> tmp854;
7091 112 : compiler::TNode<IntPtrT> tmp855;
7092 112 : ca_.Bind(&block28, &tmp830, &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);
7093 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 316);
7094 112 : compiler::TNode<IntPtrT> tmp856;
7095 112 : USE(tmp856);
7096 112 : tmp856 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
7097 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
7098 112 : ca_.Goto(&block4, tmp830, tmp831, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp856, tmp841, tmp842, tmp843, tmp844, tmp845, tmp846);
7099 : }
7100 :
7101 112 : if (block3.is_used()) {
7102 112 : compiler::TNode<Context> tmp857;
7103 112 : compiler::TNode<JSReceiver> tmp858;
7104 112 : compiler::TNode<String> tmp859;
7105 112 : compiler::TNode<Number> tmp860;
7106 112 : compiler::TNode<Object> tmp861;
7107 112 : compiler::TNode<Object> tmp862;
7108 112 : compiler::TNode<BuiltinPtr> tmp863;
7109 112 : compiler::TNode<Map> tmp864;
7110 112 : compiler::TNode<UintPtrT> tmp865;
7111 112 : compiler::TNode<IntPtrT> tmp866;
7112 112 : compiler::TNode<IntPtrT> tmp867;
7113 112 : compiler::TNode<BuiltinPtr> tmp868;
7114 112 : compiler::TNode<FixedArray> tmp869;
7115 112 : compiler::TNode<IntPtrT> tmp870;
7116 112 : compiler::TNode<IntPtrT> tmp871;
7117 112 : compiler::TNode<BoolT> tmp872;
7118 112 : compiler::TNode<UintPtrT> tmp873;
7119 112 : ca_.Bind(&block3, &tmp857, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873);
7120 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
7121 112 : compiler::TNode<BoolT> tmp874;
7122 112 : USE(tmp874);
7123 112 : tmp874 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
7124 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
7125 112 : compiler::TNode<IntPtrT> tmp875;
7126 112 : USE(tmp875);
7127 112 : tmp875 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
7128 112 : compiler::TNode<BoolT> tmp876;
7129 112 : USE(tmp876);
7130 112 : tmp876 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp867}, compiler::TNode<IntPtrT>{tmp875}));
7131 112 : ca_.Branch(tmp876, &block38, &block40, tmp857, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp867, tmp866, tmp857, tmp867, tmp866, tmp874);
7132 : }
7133 :
7134 112 : if (block40.is_used()) {
7135 112 : compiler::TNode<Context> tmp877;
7136 112 : compiler::TNode<JSReceiver> tmp878;
7137 112 : compiler::TNode<String> tmp879;
7138 112 : compiler::TNode<Number> tmp880;
7139 112 : compiler::TNode<Object> tmp881;
7140 112 : compiler::TNode<Object> tmp882;
7141 112 : compiler::TNode<BuiltinPtr> tmp883;
7142 112 : compiler::TNode<Map> tmp884;
7143 112 : compiler::TNode<UintPtrT> tmp885;
7144 112 : compiler::TNode<IntPtrT> tmp886;
7145 112 : compiler::TNode<IntPtrT> tmp887;
7146 112 : compiler::TNode<BuiltinPtr> tmp888;
7147 112 : compiler::TNode<FixedArray> tmp889;
7148 112 : compiler::TNode<IntPtrT> tmp890;
7149 112 : compiler::TNode<IntPtrT> tmp891;
7150 112 : compiler::TNode<BoolT> tmp892;
7151 112 : compiler::TNode<UintPtrT> tmp893;
7152 112 : compiler::TNode<IntPtrT> tmp894;
7153 112 : compiler::TNode<IntPtrT> tmp895;
7154 112 : compiler::TNode<Context> tmp896;
7155 112 : compiler::TNode<IntPtrT> tmp897;
7156 112 : compiler::TNode<IntPtrT> tmp898;
7157 112 : compiler::TNode<BoolT> tmp899;
7158 112 : ca_.Bind(&block40, &tmp877, &tmp878, &tmp879, &tmp880, &tmp881, &tmp882, &tmp883, &tmp884, &tmp885, &tmp886, &tmp887, &tmp888, &tmp889, &tmp890, &tmp891, &tmp892, &tmp893, &tmp894, &tmp895, &tmp896, &tmp897, &tmp898, &tmp899);
7159 112 : compiler::TNode<IntPtrT> tmp900;
7160 112 : USE(tmp900);
7161 112 : tmp900 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
7162 112 : compiler::TNode<BoolT> tmp901;
7163 112 : USE(tmp901);
7164 112 : tmp901 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp898}, compiler::TNode<IntPtrT>{tmp900}));
7165 112 : ca_.Branch(tmp901, &block38, &block39, tmp877, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889, tmp890, tmp891, tmp892, tmp893, tmp894, tmp895, tmp896, tmp897, tmp898, tmp899);
7166 : }
7167 :
7168 112 : if (block38.is_used()) {
7169 112 : compiler::TNode<Context> tmp902;
7170 112 : compiler::TNode<JSReceiver> tmp903;
7171 112 : compiler::TNode<String> tmp904;
7172 112 : compiler::TNode<Number> tmp905;
7173 112 : compiler::TNode<Object> tmp906;
7174 112 : compiler::TNode<Object> tmp907;
7175 112 : compiler::TNode<BuiltinPtr> tmp908;
7176 112 : compiler::TNode<Map> tmp909;
7177 112 : compiler::TNode<UintPtrT> tmp910;
7178 112 : compiler::TNode<IntPtrT> tmp911;
7179 112 : compiler::TNode<IntPtrT> tmp912;
7180 112 : compiler::TNode<BuiltinPtr> tmp913;
7181 112 : compiler::TNode<FixedArray> tmp914;
7182 112 : compiler::TNode<IntPtrT> tmp915;
7183 112 : compiler::TNode<IntPtrT> tmp916;
7184 112 : compiler::TNode<BoolT> tmp917;
7185 112 : compiler::TNode<UintPtrT> tmp918;
7186 112 : compiler::TNode<IntPtrT> tmp919;
7187 112 : compiler::TNode<IntPtrT> tmp920;
7188 112 : compiler::TNode<Context> tmp921;
7189 112 : compiler::TNode<IntPtrT> tmp922;
7190 112 : compiler::TNode<IntPtrT> tmp923;
7191 112 : compiler::TNode<BoolT> tmp924;
7192 112 : ca_.Bind(&block38, &tmp902, &tmp903, &tmp904, &tmp905, &tmp906, &tmp907, &tmp908, &tmp909, &tmp910, &tmp911, &tmp912, &tmp913, &tmp914, &tmp915, &tmp916, &tmp917, &tmp918, &tmp919, &tmp920, &tmp921, &tmp922, &tmp923, &tmp924);
7193 112 : ca_.Goto(&block37, tmp902, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919, tmp920, tmp921, tmp922, tmp923, tmp924);
7194 : }
7195 :
7196 112 : if (block39.is_used()) {
7197 112 : compiler::TNode<Context> tmp925;
7198 112 : compiler::TNode<JSReceiver> tmp926;
7199 112 : compiler::TNode<String> tmp927;
7200 112 : compiler::TNode<Number> tmp928;
7201 112 : compiler::TNode<Object> tmp929;
7202 112 : compiler::TNode<Object> tmp930;
7203 112 : compiler::TNode<BuiltinPtr> tmp931;
7204 112 : compiler::TNode<Map> tmp932;
7205 112 : compiler::TNode<UintPtrT> tmp933;
7206 112 : compiler::TNode<IntPtrT> tmp934;
7207 112 : compiler::TNode<IntPtrT> tmp935;
7208 112 : compiler::TNode<BuiltinPtr> tmp936;
7209 112 : compiler::TNode<FixedArray> tmp937;
7210 112 : compiler::TNode<IntPtrT> tmp938;
7211 112 : compiler::TNode<IntPtrT> tmp939;
7212 112 : compiler::TNode<BoolT> tmp940;
7213 112 : compiler::TNode<UintPtrT> tmp941;
7214 112 : compiler::TNode<IntPtrT> tmp942;
7215 112 : compiler::TNode<IntPtrT> tmp943;
7216 112 : compiler::TNode<Context> tmp944;
7217 112 : compiler::TNode<IntPtrT> tmp945;
7218 112 : compiler::TNode<IntPtrT> tmp946;
7219 112 : compiler::TNode<BoolT> tmp947;
7220 112 : ca_.Bind(&block39, &tmp925, &tmp926, &tmp927, &tmp928, &tmp929, &tmp930, &tmp931, &tmp932, &tmp933, &tmp934, &tmp935, &tmp936, &tmp937, &tmp938, &tmp939, &tmp940, &tmp941, &tmp942, &tmp943, &tmp944, &tmp945, &tmp946, &tmp947);
7221 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
7222 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
7223 112 : compiler::TNode<IntPtrT> tmp948;
7224 112 : USE(tmp948);
7225 112 : tmp948 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp946}, compiler::TNode<IntPtrT>{tmp945}));
7226 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
7227 112 : compiler::TNode<IntPtrT> tmp949;
7228 112 : USE(tmp949);
7229 112 : tmp949 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp948}, compiler::TNode<IntPtrT>{tmp946}));
7230 112 : compiler::TNode<BoolT> tmp950;
7231 112 : USE(tmp950);
7232 112 : tmp950 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp949}, compiler::TNode<IntPtrT>{tmp945}));
7233 112 : ca_.Branch(tmp950, &block41, &block42, tmp925, tmp926, tmp927, tmp928, tmp929, tmp930, tmp931, tmp932, tmp933, tmp934, tmp935, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp946, tmp947, tmp945, tmp948);
7234 : }
7235 :
7236 112 : if (block41.is_used()) {
7237 112 : compiler::TNode<Context> tmp951;
7238 112 : compiler::TNode<JSReceiver> tmp952;
7239 112 : compiler::TNode<String> tmp953;
7240 112 : compiler::TNode<Number> tmp954;
7241 112 : compiler::TNode<Object> tmp955;
7242 112 : compiler::TNode<Object> tmp956;
7243 112 : compiler::TNode<BuiltinPtr> tmp957;
7244 112 : compiler::TNode<Map> tmp958;
7245 112 : compiler::TNode<UintPtrT> tmp959;
7246 112 : compiler::TNode<IntPtrT> tmp960;
7247 112 : compiler::TNode<IntPtrT> tmp961;
7248 112 : compiler::TNode<BuiltinPtr> tmp962;
7249 112 : compiler::TNode<FixedArray> tmp963;
7250 112 : compiler::TNode<IntPtrT> tmp964;
7251 112 : compiler::TNode<IntPtrT> tmp965;
7252 112 : compiler::TNode<BoolT> tmp966;
7253 112 : compiler::TNode<UintPtrT> tmp967;
7254 112 : compiler::TNode<IntPtrT> tmp968;
7255 112 : compiler::TNode<IntPtrT> tmp969;
7256 112 : compiler::TNode<Context> tmp970;
7257 112 : compiler::TNode<IntPtrT> tmp971;
7258 112 : compiler::TNode<IntPtrT> tmp972;
7259 112 : compiler::TNode<BoolT> tmp973;
7260 112 : compiler::TNode<IntPtrT> tmp974;
7261 112 : compiler::TNode<IntPtrT> tmp975;
7262 112 : ca_.Bind(&block41, &tmp951, &tmp952, &tmp953, &tmp954, &tmp955, &tmp956, &tmp957, &tmp958, &tmp959, &tmp960, &tmp961, &tmp962, &tmp963, &tmp964, &tmp965, &tmp966, &tmp967, &tmp968, &tmp969, &tmp970, &tmp971, &tmp972, &tmp973, &tmp974, &tmp975);
7263 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
7264 112 : CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp970);
7265 112 : CodeStubAssembler(state_).Unreachable();
7266 : }
7267 :
7268 112 : if (block42.is_used()) {
7269 112 : compiler::TNode<Context> tmp977;
7270 112 : compiler::TNode<JSReceiver> tmp978;
7271 112 : compiler::TNode<String> tmp979;
7272 112 : compiler::TNode<Number> tmp980;
7273 112 : compiler::TNode<Object> tmp981;
7274 112 : compiler::TNode<Object> tmp982;
7275 112 : compiler::TNode<BuiltinPtr> tmp983;
7276 112 : compiler::TNode<Map> tmp984;
7277 112 : compiler::TNode<UintPtrT> tmp985;
7278 112 : compiler::TNode<IntPtrT> tmp986;
7279 112 : compiler::TNode<IntPtrT> tmp987;
7280 112 : compiler::TNode<BuiltinPtr> tmp988;
7281 112 : compiler::TNode<FixedArray> tmp989;
7282 112 : compiler::TNode<IntPtrT> tmp990;
7283 112 : compiler::TNode<IntPtrT> tmp991;
7284 112 : compiler::TNode<BoolT> tmp992;
7285 112 : compiler::TNode<UintPtrT> tmp993;
7286 112 : compiler::TNode<IntPtrT> tmp994;
7287 112 : compiler::TNode<IntPtrT> tmp995;
7288 112 : compiler::TNode<Context> tmp996;
7289 112 : compiler::TNode<IntPtrT> tmp997;
7290 112 : compiler::TNode<IntPtrT> tmp998;
7291 112 : compiler::TNode<BoolT> tmp999;
7292 112 : compiler::TNode<IntPtrT> tmp1000;
7293 112 : compiler::TNode<IntPtrT> tmp1001;
7294 112 : ca_.Bind(&block42, &tmp977, &tmp978, &tmp979, &tmp980, &tmp981, &tmp982, &tmp983, &tmp984, &tmp985, &tmp986, &tmp987, &tmp988, &tmp989, &tmp990, &tmp991, &tmp992, &tmp993, &tmp994, &tmp995, &tmp996, &tmp997, &tmp998, &tmp999, &tmp1000, &tmp1001);
7295 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
7296 112 : compiler::TNode<IntPtrT> tmp1002;
7297 112 : USE(tmp1002);
7298 112 : tmp1002 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp996}, compiler::TNode<IntPtrT>{tmp991}, compiler::TNode<IntPtrT>{tmp1001}));
7299 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
7300 112 : ca_.Branch(tmp999, &block43, &block44, tmp977, tmp978, tmp979, tmp980, tmp981, tmp982, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989, tmp990, tmp1002, tmp992, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001);
7301 : }
7302 :
7303 112 : if (block43.is_used()) {
7304 112 : compiler::TNode<Context> tmp1003;
7305 112 : compiler::TNode<JSReceiver> tmp1004;
7306 112 : compiler::TNode<String> tmp1005;
7307 112 : compiler::TNode<Number> tmp1006;
7308 112 : compiler::TNode<Object> tmp1007;
7309 112 : compiler::TNode<Object> tmp1008;
7310 112 : compiler::TNode<BuiltinPtr> tmp1009;
7311 112 : compiler::TNode<Map> tmp1010;
7312 112 : compiler::TNode<UintPtrT> tmp1011;
7313 112 : compiler::TNode<IntPtrT> tmp1012;
7314 112 : compiler::TNode<IntPtrT> tmp1013;
7315 112 : compiler::TNode<BuiltinPtr> tmp1014;
7316 112 : compiler::TNode<FixedArray> tmp1015;
7317 112 : compiler::TNode<IntPtrT> tmp1016;
7318 112 : compiler::TNode<IntPtrT> tmp1017;
7319 112 : compiler::TNode<BoolT> tmp1018;
7320 112 : compiler::TNode<UintPtrT> tmp1019;
7321 112 : compiler::TNode<IntPtrT> tmp1020;
7322 112 : compiler::TNode<IntPtrT> tmp1021;
7323 112 : compiler::TNode<Context> tmp1022;
7324 112 : compiler::TNode<IntPtrT> tmp1023;
7325 112 : compiler::TNode<IntPtrT> tmp1024;
7326 112 : compiler::TNode<BoolT> tmp1025;
7327 112 : compiler::TNode<IntPtrT> tmp1026;
7328 112 : compiler::TNode<IntPtrT> tmp1027;
7329 112 : ca_.Bind(&block43, &tmp1003, &tmp1004, &tmp1005, &tmp1006, &tmp1007, &tmp1008, &tmp1009, &tmp1010, &tmp1011, &tmp1012, &tmp1013, &tmp1014, &tmp1015, &tmp1016, &tmp1017, &tmp1018, &tmp1019, &tmp1020, &tmp1021, &tmp1022, &tmp1023, &tmp1024, &tmp1025, &tmp1026, &tmp1027);
7330 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
7331 112 : compiler::TNode<IntPtrT> tmp1028;
7332 112 : USE(tmp1028);
7333 112 : tmp1028 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
7334 112 : compiler::TNode<IntPtrT> tmp1029;
7335 112 : USE(tmp1029);
7336 112 : tmp1029 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1016}, compiler::TNode<IntPtrT>{tmp1028}));
7337 112 : compiler::TNode<Smi> tmp1030;
7338 112 : USE(tmp1030);
7339 112 : tmp1030 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1026}));
7340 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
7341 112 : compiler::TNode<FixedArray> tmp1031;
7342 112 : USE(tmp1031);
7343 112 : tmp1031 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1015}, compiler::TNode<IntPtrT>{tmp1016}, compiler::TNode<Smi>{tmp1030}));
7344 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
7345 112 : ca_.Goto(&block44, tmp1003, tmp1004, tmp1005, tmp1006, tmp1007, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1031, tmp1029, tmp1017, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027);
7346 : }
7347 :
7348 112 : if (block44.is_used()) {
7349 112 : compiler::TNode<Context> tmp1032;
7350 112 : compiler::TNode<JSReceiver> tmp1033;
7351 112 : compiler::TNode<String> tmp1034;
7352 112 : compiler::TNode<Number> tmp1035;
7353 112 : compiler::TNode<Object> tmp1036;
7354 112 : compiler::TNode<Object> tmp1037;
7355 112 : compiler::TNode<BuiltinPtr> tmp1038;
7356 112 : compiler::TNode<Map> tmp1039;
7357 112 : compiler::TNode<UintPtrT> tmp1040;
7358 112 : compiler::TNode<IntPtrT> tmp1041;
7359 112 : compiler::TNode<IntPtrT> tmp1042;
7360 112 : compiler::TNode<BuiltinPtr> tmp1043;
7361 112 : compiler::TNode<FixedArray> tmp1044;
7362 112 : compiler::TNode<IntPtrT> tmp1045;
7363 112 : compiler::TNode<IntPtrT> tmp1046;
7364 112 : compiler::TNode<BoolT> tmp1047;
7365 112 : compiler::TNode<UintPtrT> tmp1048;
7366 112 : compiler::TNode<IntPtrT> tmp1049;
7367 112 : compiler::TNode<IntPtrT> tmp1050;
7368 112 : compiler::TNode<Context> tmp1051;
7369 112 : compiler::TNode<IntPtrT> tmp1052;
7370 112 : compiler::TNode<IntPtrT> tmp1053;
7371 112 : compiler::TNode<BoolT> tmp1054;
7372 112 : compiler::TNode<IntPtrT> tmp1055;
7373 112 : compiler::TNode<IntPtrT> tmp1056;
7374 112 : ca_.Bind(&block44, &tmp1032, &tmp1033, &tmp1034, &tmp1035, &tmp1036, &tmp1037, &tmp1038, &tmp1039, &tmp1040, &tmp1041, &tmp1042, &tmp1043, &tmp1044, &tmp1045, &tmp1046, &tmp1047, &tmp1048, &tmp1049, &tmp1050, &tmp1051, &tmp1052, &tmp1053, &tmp1054, &tmp1055, &tmp1056);
7375 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
7376 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
7377 112 : ca_.Goto(&block37, tmp1032, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1054);
7378 : }
7379 :
7380 112 : if (block37.is_used()) {
7381 112 : compiler::TNode<Context> tmp1057;
7382 112 : compiler::TNode<JSReceiver> tmp1058;
7383 112 : compiler::TNode<String> tmp1059;
7384 112 : compiler::TNode<Number> tmp1060;
7385 112 : compiler::TNode<Object> tmp1061;
7386 112 : compiler::TNode<Object> tmp1062;
7387 112 : compiler::TNode<BuiltinPtr> tmp1063;
7388 112 : compiler::TNode<Map> tmp1064;
7389 112 : compiler::TNode<UintPtrT> tmp1065;
7390 112 : compiler::TNode<IntPtrT> tmp1066;
7391 112 : compiler::TNode<IntPtrT> tmp1067;
7392 112 : compiler::TNode<BuiltinPtr> tmp1068;
7393 112 : compiler::TNode<FixedArray> tmp1069;
7394 112 : compiler::TNode<IntPtrT> tmp1070;
7395 112 : compiler::TNode<IntPtrT> tmp1071;
7396 112 : compiler::TNode<BoolT> tmp1072;
7397 112 : compiler::TNode<UintPtrT> tmp1073;
7398 112 : compiler::TNode<IntPtrT> tmp1074;
7399 112 : compiler::TNode<IntPtrT> tmp1075;
7400 112 : compiler::TNode<Context> tmp1076;
7401 112 : compiler::TNode<IntPtrT> tmp1077;
7402 112 : compiler::TNode<IntPtrT> tmp1078;
7403 112 : compiler::TNode<BoolT> tmp1079;
7404 112 : ca_.Bind(&block37, &tmp1057, &tmp1058, &tmp1059, &tmp1060, &tmp1061, &tmp1062, &tmp1063, &tmp1064, &tmp1065, &tmp1066, &tmp1067, &tmp1068, &tmp1069, &tmp1070, &tmp1071, &tmp1072, &tmp1073, &tmp1074, &tmp1075, &tmp1076, &tmp1077, &tmp1078, &tmp1079);
7405 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
7406 112 : compiler::TNode<String> tmp1080;
7407 112 : USE(tmp1080);
7408 112 : tmp1080 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).BufferJoin(compiler::TNode<Context>{tmp1057}, ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp1069}, compiler::TNode<IntPtrT>{tmp1070}, compiler::TNode<IntPtrT>{tmp1071}, compiler::TNode<BoolT>{tmp1072}}, compiler::TNode<String>{tmp1059}));
7409 112 : ca_.Goto(&block1, tmp1057, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1080);
7410 : }
7411 :
7412 112 : if (block1.is_used()) {
7413 112 : compiler::TNode<Context> tmp1081;
7414 112 : compiler::TNode<JSReceiver> tmp1082;
7415 112 : compiler::TNode<String> tmp1083;
7416 112 : compiler::TNode<Number> tmp1084;
7417 112 : compiler::TNode<Object> tmp1085;
7418 112 : compiler::TNode<Object> tmp1086;
7419 112 : compiler::TNode<BuiltinPtr> tmp1087;
7420 112 : compiler::TNode<String> tmp1088;
7421 112 : ca_.Bind(&block1, &tmp1081, &tmp1082, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088);
7422 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 262);
7423 112 : ca_.Goto(&block45, tmp1081, tmp1082, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088);
7424 : }
7425 :
7426 112 : compiler::TNode<Context> tmp1089;
7427 112 : compiler::TNode<JSReceiver> tmp1090;
7428 112 : compiler::TNode<String> tmp1091;
7429 112 : compiler::TNode<Number> tmp1092;
7430 112 : compiler::TNode<Object> tmp1093;
7431 112 : compiler::TNode<Object> tmp1094;
7432 112 : compiler::TNode<BuiltinPtr> tmp1095;
7433 112 : compiler::TNode<String> tmp1096;
7434 112 : ca_.Bind(&block45, &tmp1089, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096);
7435 224 : return compiler::TNode<String>{tmp1096};
7436 : }
7437 :
7438 56 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<JSReceiver> p_element) {
7439 112 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7440 112 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7441 112 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7442 112 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7443 112 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7444 56 : ca_.Goto(&block0, p_fixedArray, p_index, p_element);
7445 :
7446 56 : if (block0.is_used()) {
7447 56 : compiler::TNode<FixedArray> tmp0;
7448 56 : compiler::TNode<IntPtrT> tmp1;
7449 56 : compiler::TNode<JSReceiver> tmp2;
7450 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
7451 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
7452 56 : compiler::TNode<IntPtrT> tmp3;
7453 56 : USE(tmp3);
7454 56 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
7455 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
7456 56 : compiler::TNode<BoolT> tmp4;
7457 56 : USE(tmp4);
7458 56 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
7459 56 : ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
7460 : }
7461 :
7462 56 : if (block2.is_used()) {
7463 56 : compiler::TNode<FixedArray> tmp5;
7464 56 : compiler::TNode<IntPtrT> tmp6;
7465 56 : compiler::TNode<JSReceiver> tmp7;
7466 56 : compiler::TNode<IntPtrT> tmp8;
7467 56 : ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
7468 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
7469 56 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
7470 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
7471 56 : ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
7472 : }
7473 :
7474 56 : if (block3.is_used()) {
7475 56 : compiler::TNode<FixedArray> tmp9;
7476 56 : compiler::TNode<IntPtrT> tmp10;
7477 56 : compiler::TNode<JSReceiver> tmp11;
7478 56 : compiler::TNode<IntPtrT> tmp12;
7479 56 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
7480 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
7481 56 : compiler::TNode<IntPtrT> tmp13;
7482 56 : USE(tmp13);
7483 56 : tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
7484 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
7485 56 : compiler::TNode<IntPtrT> tmp14;
7486 56 : USE(tmp14);
7487 56 : tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
7488 56 : compiler::TNode<FixedArray> tmp15;
7489 56 : USE(tmp15);
7490 56 : 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));
7491 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
7492 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
7493 56 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
7494 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
7495 56 : ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
7496 : }
7497 :
7498 56 : if (block1.is_used()) {
7499 56 : compiler::TNode<FixedArray> tmp16;
7500 56 : compiler::TNode<IntPtrT> tmp17;
7501 56 : compiler::TNode<JSReceiver> tmp18;
7502 56 : compiler::TNode<FixedArray> tmp19;
7503 56 : ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
7504 56 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
7505 56 : ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
7506 : }
7507 :
7508 56 : compiler::TNode<FixedArray> tmp20;
7509 56 : compiler::TNode<IntPtrT> tmp21;
7510 56 : compiler::TNode<JSReceiver> tmp22;
7511 56 : compiler::TNode<FixedArray> tmp23;
7512 56 : ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
7513 112 : return compiler::TNode<FixedArray>{tmp23};
7514 : }
7515 :
7516 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) {
7517 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7518 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7519 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7520 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7521 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7522 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7523 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7524 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7525 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7526 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7527 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7528 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7529 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7530 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7531 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7532 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7533 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7534 112 : ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
7535 :
7536 112 : if (block0.is_used()) {
7537 112 : compiler::TNode<Context> tmp0;
7538 112 : compiler::TNode<JSReceiver> tmp1;
7539 112 : compiler::TNode<Number> tmp2;
7540 112 : compiler::TNode<Object> tmp3;
7541 112 : compiler::TNode<Object> tmp4;
7542 112 : compiler::TNode<Object> tmp5;
7543 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
7544 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 539);
7545 112 : compiler::TNode<Oddball> tmp6;
7546 112 : USE(tmp6);
7547 112 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
7548 112 : compiler::TNode<BoolT> tmp7;
7549 112 : USE(tmp7);
7550 112 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
7551 112 : ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
7552 : }
7553 :
7554 112 : if (block2.is_used()) {
7555 112 : compiler::TNode<Context> tmp8;
7556 112 : compiler::TNode<JSReceiver> tmp9;
7557 112 : compiler::TNode<Number> tmp10;
7558 112 : compiler::TNode<Object> tmp11;
7559 112 : compiler::TNode<Object> tmp12;
7560 112 : compiler::TNode<Object> tmp13;
7561 112 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
7562 112 : ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
7563 : }
7564 :
7565 112 : if (block3.is_used()) {
7566 112 : compiler::TNode<Context> tmp14;
7567 112 : compiler::TNode<JSReceiver> tmp15;
7568 112 : compiler::TNode<Number> tmp16;
7569 112 : compiler::TNode<Object> tmp17;
7570 112 : compiler::TNode<Object> tmp18;
7571 112 : compiler::TNode<Object> tmp19;
7572 112 : ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
7573 112 : compiler::TNode<String> tmp20;
7574 112 : USE(tmp20);
7575 112 : tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
7576 112 : ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
7577 : }
7578 :
7579 112 : if (block5.is_used()) {
7580 112 : compiler::TNode<Context> tmp21;
7581 112 : compiler::TNode<JSReceiver> tmp22;
7582 112 : compiler::TNode<Number> tmp23;
7583 112 : compiler::TNode<Object> tmp24;
7584 112 : compiler::TNode<Object> tmp25;
7585 112 : compiler::TNode<Object> tmp26;
7586 112 : ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
7587 112 : compiler::TNode<String> tmp27;
7588 112 : USE(tmp27);
7589 112 : tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6String18ATconstexpr_string(","));
7590 112 : ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
7591 : }
7592 :
7593 112 : if (block4.is_used()) {
7594 112 : compiler::TNode<Context> tmp28;
7595 112 : compiler::TNode<JSReceiver> tmp29;
7596 112 : compiler::TNode<Number> tmp30;
7597 112 : compiler::TNode<Object> tmp31;
7598 112 : compiler::TNode<Object> tmp32;
7599 112 : compiler::TNode<Object> tmp33;
7600 112 : compiler::TNode<String> tmp34;
7601 112 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
7602 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 538);
7603 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
7604 112 : compiler::TNode<Number> tmp35;
7605 112 : USE(tmp35);
7606 112 : tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
7607 224 : compiler::CodeAssemblerLabel label0(&ca_);
7608 224 : compiler::CodeAssemblerLabel label1(&ca_);
7609 112 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
7610 112 : if (label0.is_used()) {
7611 112 : ca_.Bind(&label0);
7612 112 : ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
7613 : }
7614 112 : if (label1.is_used()) {
7615 112 : ca_.Bind(&label1);
7616 112 : ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
7617 : }
7618 : }
7619 :
7620 112 : if (block9.is_used()) {
7621 112 : compiler::TNode<Context> tmp36;
7622 112 : compiler::TNode<JSReceiver> tmp37;
7623 112 : compiler::TNode<Number> tmp38;
7624 112 : compiler::TNode<Object> tmp39;
7625 112 : compiler::TNode<Object> tmp40;
7626 112 : compiler::TNode<Object> tmp41;
7627 112 : compiler::TNode<String> tmp42;
7628 112 : compiler::TNode<Number> tmp43;
7629 112 : ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
7630 112 : ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
7631 : }
7632 :
7633 112 : if (block10.is_used()) {
7634 112 : compiler::TNode<Context> tmp44;
7635 112 : compiler::TNode<JSReceiver> tmp45;
7636 112 : compiler::TNode<Number> tmp46;
7637 112 : compiler::TNode<Object> tmp47;
7638 112 : compiler::TNode<Object> tmp48;
7639 112 : compiler::TNode<Object> tmp49;
7640 112 : compiler::TNode<String> tmp50;
7641 112 : compiler::TNode<Number> tmp51;
7642 112 : ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
7643 112 : ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
7644 : }
7645 :
7646 112 : if (block8.is_used()) {
7647 112 : compiler::TNode<Context> tmp52;
7648 112 : compiler::TNode<JSReceiver> tmp53;
7649 112 : compiler::TNode<Number> tmp54;
7650 112 : compiler::TNode<Object> tmp55;
7651 112 : compiler::TNode<Object> tmp56;
7652 112 : compiler::TNode<Object> tmp57;
7653 112 : compiler::TNode<String> tmp58;
7654 112 : ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
7655 224 : compiler::CodeAssemblerLabel label0(&ca_);
7656 224 : compiler::CodeAssemblerLabel label1(&ca_);
7657 112 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
7658 112 : if (label0.is_used()) {
7659 112 : ca_.Bind(&label0);
7660 112 : ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
7661 : }
7662 112 : if (label1.is_used()) {
7663 112 : ca_.Bind(&label1);
7664 112 : ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
7665 : }
7666 : }
7667 :
7668 112 : if (block11.is_used()) {
7669 112 : compiler::TNode<Context> tmp59;
7670 112 : compiler::TNode<JSReceiver> tmp60;
7671 112 : compiler::TNode<Number> tmp61;
7672 112 : compiler::TNode<Object> tmp62;
7673 112 : compiler::TNode<Object> tmp63;
7674 112 : compiler::TNode<Object> tmp64;
7675 112 : compiler::TNode<String> tmp65;
7676 112 : compiler::TNode<JSReceiver> tmp66;
7677 112 : ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
7678 112 : ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
7679 : }
7680 :
7681 112 : if (block12.is_used()) {
7682 112 : compiler::TNode<Context> tmp67;
7683 112 : compiler::TNode<JSReceiver> tmp68;
7684 112 : compiler::TNode<Number> tmp69;
7685 112 : compiler::TNode<Object> tmp70;
7686 112 : compiler::TNode<Object> tmp71;
7687 112 : compiler::TNode<Object> tmp72;
7688 112 : compiler::TNode<String> tmp73;
7689 112 : compiler::TNode<JSReceiver> tmp74;
7690 112 : ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
7691 112 : ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
7692 : }
7693 :
7694 112 : if (block6.is_used()) {
7695 112 : compiler::TNode<Context> tmp75;
7696 112 : compiler::TNode<JSReceiver> tmp76;
7697 112 : compiler::TNode<Number> tmp77;
7698 112 : compiler::TNode<Object> tmp78;
7699 112 : compiler::TNode<Object> tmp79;
7700 112 : compiler::TNode<Object> tmp80;
7701 112 : compiler::TNode<String> tmp81;
7702 112 : ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
7703 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
7704 112 : compiler::TNode<Object> tmp82;
7705 112 : USE(tmp82);
7706 224 : compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7707 224 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
7708 112 : 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}));
7709 : }
7710 112 : if (catch83_label.is_used()) {
7711 224 : compiler::CodeAssemblerLabel catch83_skip(&ca_);
7712 112 : ca_.Goto(&catch83_skip);
7713 112 : compiler::TNode<Object> catch83_exception_object;
7714 112 : ca_.Bind(&catch83_label, &catch83_exception_object);
7715 112 : ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
7716 112 : ca_.Bind(&catch83_skip);
7717 : }
7718 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
7719 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
7720 224 : compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7721 224 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
7722 112 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
7723 : }
7724 112 : if (catch84_label.is_used()) {
7725 224 : compiler::CodeAssemblerLabel catch84_skip(&ca_);
7726 112 : ca_.Goto(&catch84_skip);
7727 112 : compiler::TNode<Object> catch84_exception_object;
7728 112 : ca_.Bind(&catch84_label, &catch84_exception_object);
7729 112 : ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
7730 112 : ca_.Bind(&catch84_skip);
7731 : }
7732 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
7733 112 : ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
7734 : }
7735 :
7736 112 : if (block16.is_used()) {
7737 112 : compiler::TNode<Context> tmp85;
7738 112 : compiler::TNode<JSReceiver> tmp86;
7739 112 : compiler::TNode<Number> tmp87;
7740 112 : compiler::TNode<Object> tmp88;
7741 112 : compiler::TNode<Object> tmp89;
7742 112 : compiler::TNode<Object> tmp90;
7743 112 : compiler::TNode<String> tmp91;
7744 112 : compiler::TNode<JSReceiver> tmp92;
7745 112 : compiler::TNode<String> tmp93;
7746 112 : compiler::TNode<Number> tmp94;
7747 112 : compiler::TNode<Object> tmp95;
7748 112 : compiler::TNode<Object> tmp96;
7749 112 : compiler::TNode<Object> tmp97;
7750 112 : ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
7751 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
7752 112 : ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
7753 : }
7754 :
7755 112 : if (block17.is_used()) {
7756 112 : compiler::TNode<Context> tmp98;
7757 112 : compiler::TNode<JSReceiver> tmp99;
7758 112 : compiler::TNode<Number> tmp100;
7759 112 : compiler::TNode<Object> tmp101;
7760 112 : compiler::TNode<Object> tmp102;
7761 112 : compiler::TNode<Object> tmp103;
7762 112 : compiler::TNode<String> tmp104;
7763 112 : compiler::TNode<Object> tmp105;
7764 112 : compiler::TNode<JSReceiver> tmp106;
7765 112 : compiler::TNode<Object> tmp107;
7766 112 : ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
7767 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
7768 112 : ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
7769 : }
7770 :
7771 112 : if (block15.is_used()) {
7772 112 : compiler::TNode<Context> tmp108;
7773 112 : compiler::TNode<JSReceiver> tmp109;
7774 112 : compiler::TNode<Number> tmp110;
7775 112 : compiler::TNode<Object> tmp111;
7776 112 : compiler::TNode<Object> tmp112;
7777 112 : compiler::TNode<Object> tmp113;
7778 112 : compiler::TNode<String> tmp114;
7779 112 : compiler::TNode<Object> tmp115;
7780 112 : ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
7781 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 550);
7782 112 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
7783 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
7784 112 : CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
7785 112 : CodeStubAssembler(state_).Unreachable();
7786 : }
7787 :
7788 112 : if (block7.is_used()) {
7789 112 : compiler::TNode<Context> tmp117;
7790 112 : compiler::TNode<JSReceiver> tmp118;
7791 112 : compiler::TNode<Number> tmp119;
7792 112 : compiler::TNode<Object> tmp120;
7793 112 : compiler::TNode<Object> tmp121;
7794 112 : compiler::TNode<Object> tmp122;
7795 112 : compiler::TNode<String> tmp123;
7796 112 : ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
7797 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 554);
7798 112 : compiler::TNode<String> tmp124;
7799 112 : USE(tmp124);
7800 112 : tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
7801 112 : ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
7802 : }
7803 :
7804 112 : if (block1.is_used()) {
7805 112 : compiler::TNode<Context> tmp125;
7806 112 : compiler::TNode<JSReceiver> tmp126;
7807 112 : compiler::TNode<Number> tmp127;
7808 112 : compiler::TNode<Object> tmp128;
7809 112 : compiler::TNode<Object> tmp129;
7810 112 : compiler::TNode<Object> tmp130;
7811 112 : compiler::TNode<Object> tmp131;
7812 112 : ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
7813 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 532);
7814 112 : ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
7815 : }
7816 :
7817 112 : compiler::TNode<Context> tmp132;
7818 112 : compiler::TNode<JSReceiver> tmp133;
7819 112 : compiler::TNode<Number> tmp134;
7820 112 : compiler::TNode<Object> tmp135;
7821 112 : compiler::TNode<Object> tmp136;
7822 112 : compiler::TNode<Object> tmp137;
7823 112 : compiler::TNode<Object> tmp138;
7824 112 : ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
7825 224 : return compiler::TNode<Object>{tmp138};
7826 : }
7827 :
7828 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) {
7829 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7830 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7831 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7832 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7833 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7834 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7835 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7836 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7837 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7838 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7839 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7840 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7841 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7842 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
7843 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7844 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7845 224 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
7846 112 : ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
7847 :
7848 112 : if (block0.is_used()) {
7849 112 : compiler::TNode<Context> tmp0;
7850 112 : compiler::TNode<JSReceiver> tmp1;
7851 112 : compiler::TNode<Number> tmp2;
7852 112 : compiler::TNode<Object> tmp3;
7853 112 : compiler::TNode<Object> tmp4;
7854 112 : compiler::TNode<Object> tmp5;
7855 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
7856 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 539);
7857 112 : compiler::TNode<Oddball> tmp6;
7858 112 : USE(tmp6);
7859 112 : tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
7860 112 : compiler::TNode<BoolT> tmp7;
7861 112 : USE(tmp7);
7862 112 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
7863 112 : ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
7864 : }
7865 :
7866 112 : if (block2.is_used()) {
7867 112 : compiler::TNode<Context> tmp8;
7868 112 : compiler::TNode<JSReceiver> tmp9;
7869 112 : compiler::TNode<Number> tmp10;
7870 112 : compiler::TNode<Object> tmp11;
7871 112 : compiler::TNode<Object> tmp12;
7872 112 : compiler::TNode<Object> tmp13;
7873 112 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
7874 112 : ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
7875 : }
7876 :
7877 112 : if (block3.is_used()) {
7878 112 : compiler::TNode<Context> tmp14;
7879 112 : compiler::TNode<JSReceiver> tmp15;
7880 112 : compiler::TNode<Number> tmp16;
7881 112 : compiler::TNode<Object> tmp17;
7882 112 : compiler::TNode<Object> tmp18;
7883 112 : compiler::TNode<Object> tmp19;
7884 112 : ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
7885 112 : compiler::TNode<String> tmp20;
7886 112 : USE(tmp20);
7887 112 : tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
7888 112 : ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
7889 : }
7890 :
7891 112 : if (block5.is_used()) {
7892 112 : compiler::TNode<Context> tmp21;
7893 112 : compiler::TNode<JSReceiver> tmp22;
7894 112 : compiler::TNode<Number> tmp23;
7895 112 : compiler::TNode<Object> tmp24;
7896 112 : compiler::TNode<Object> tmp25;
7897 112 : compiler::TNode<Object> tmp26;
7898 112 : ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
7899 112 : compiler::TNode<String> tmp27;
7900 112 : USE(tmp27);
7901 112 : tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6String18ATconstexpr_string(","));
7902 112 : ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
7903 : }
7904 :
7905 112 : if (block4.is_used()) {
7906 112 : compiler::TNode<Context> tmp28;
7907 112 : compiler::TNode<JSReceiver> tmp29;
7908 112 : compiler::TNode<Number> tmp30;
7909 112 : compiler::TNode<Object> tmp31;
7910 112 : compiler::TNode<Object> tmp32;
7911 112 : compiler::TNode<Object> tmp33;
7912 112 : compiler::TNode<String> tmp34;
7913 112 : ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
7914 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 538);
7915 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
7916 112 : compiler::TNode<Number> tmp35;
7917 112 : USE(tmp35);
7918 112 : tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
7919 224 : compiler::CodeAssemblerLabel label0(&ca_);
7920 224 : compiler::CodeAssemblerLabel label1(&ca_);
7921 112 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
7922 112 : if (label0.is_used()) {
7923 112 : ca_.Bind(&label0);
7924 112 : ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
7925 : }
7926 112 : if (label1.is_used()) {
7927 112 : ca_.Bind(&label1);
7928 112 : ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
7929 : }
7930 : }
7931 :
7932 112 : if (block9.is_used()) {
7933 112 : compiler::TNode<Context> tmp36;
7934 112 : compiler::TNode<JSReceiver> tmp37;
7935 112 : compiler::TNode<Number> tmp38;
7936 112 : compiler::TNode<Object> tmp39;
7937 112 : compiler::TNode<Object> tmp40;
7938 112 : compiler::TNode<Object> tmp41;
7939 112 : compiler::TNode<String> tmp42;
7940 112 : compiler::TNode<Number> tmp43;
7941 112 : ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
7942 112 : ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
7943 : }
7944 :
7945 112 : if (block10.is_used()) {
7946 112 : compiler::TNode<Context> tmp44;
7947 112 : compiler::TNode<JSReceiver> tmp45;
7948 112 : compiler::TNode<Number> tmp46;
7949 112 : compiler::TNode<Object> tmp47;
7950 112 : compiler::TNode<Object> tmp48;
7951 112 : compiler::TNode<Object> tmp49;
7952 112 : compiler::TNode<String> tmp50;
7953 112 : compiler::TNode<Number> tmp51;
7954 112 : ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
7955 112 : ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
7956 : }
7957 :
7958 112 : if (block8.is_used()) {
7959 112 : compiler::TNode<Context> tmp52;
7960 112 : compiler::TNode<JSReceiver> tmp53;
7961 112 : compiler::TNode<Number> tmp54;
7962 112 : compiler::TNode<Object> tmp55;
7963 112 : compiler::TNode<Object> tmp56;
7964 112 : compiler::TNode<Object> tmp57;
7965 112 : compiler::TNode<String> tmp58;
7966 112 : ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
7967 224 : compiler::CodeAssemblerLabel label0(&ca_);
7968 224 : compiler::CodeAssemblerLabel label1(&ca_);
7969 112 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
7970 112 : if (label0.is_used()) {
7971 112 : ca_.Bind(&label0);
7972 112 : ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
7973 : }
7974 112 : if (label1.is_used()) {
7975 112 : ca_.Bind(&label1);
7976 112 : ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
7977 : }
7978 : }
7979 :
7980 112 : if (block11.is_used()) {
7981 112 : compiler::TNode<Context> tmp59;
7982 112 : compiler::TNode<JSReceiver> tmp60;
7983 112 : compiler::TNode<Number> tmp61;
7984 112 : compiler::TNode<Object> tmp62;
7985 112 : compiler::TNode<Object> tmp63;
7986 112 : compiler::TNode<Object> tmp64;
7987 112 : compiler::TNode<String> tmp65;
7988 112 : compiler::TNode<JSReceiver> tmp66;
7989 112 : ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
7990 112 : ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
7991 : }
7992 :
7993 112 : if (block12.is_used()) {
7994 112 : compiler::TNode<Context> tmp67;
7995 112 : compiler::TNode<JSReceiver> tmp68;
7996 112 : compiler::TNode<Number> tmp69;
7997 112 : compiler::TNode<Object> tmp70;
7998 112 : compiler::TNode<Object> tmp71;
7999 112 : compiler::TNode<Object> tmp72;
8000 112 : compiler::TNode<String> tmp73;
8001 112 : compiler::TNode<JSReceiver> tmp74;
8002 112 : ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
8003 112 : ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
8004 : }
8005 :
8006 112 : if (block6.is_used()) {
8007 112 : compiler::TNode<Context> tmp75;
8008 112 : compiler::TNode<JSReceiver> tmp76;
8009 112 : compiler::TNode<Number> tmp77;
8010 112 : compiler::TNode<Object> tmp78;
8011 112 : compiler::TNode<Object> tmp79;
8012 112 : compiler::TNode<Object> tmp80;
8013 112 : compiler::TNode<String> tmp81;
8014 112 : ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
8015 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
8016 112 : compiler::TNode<Object> tmp82;
8017 112 : USE(tmp82);
8018 224 : compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
8019 224 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
8020 112 : 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}));
8021 : }
8022 112 : if (catch83_label.is_used()) {
8023 224 : compiler::CodeAssemblerLabel catch83_skip(&ca_);
8024 112 : ca_.Goto(&catch83_skip);
8025 112 : compiler::TNode<Object> catch83_exception_object;
8026 112 : ca_.Bind(&catch83_label, &catch83_exception_object);
8027 112 : ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
8028 112 : ca_.Bind(&catch83_skip);
8029 : }
8030 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
8031 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
8032 224 : compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
8033 224 : { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
8034 112 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
8035 : }
8036 112 : if (catch84_label.is_used()) {
8037 224 : compiler::CodeAssemblerLabel catch84_skip(&ca_);
8038 112 : ca_.Goto(&catch84_skip);
8039 112 : compiler::TNode<Object> catch84_exception_object;
8040 112 : ca_.Bind(&catch84_label, &catch84_exception_object);
8041 112 : ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
8042 112 : ca_.Bind(&catch84_skip);
8043 : }
8044 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
8045 112 : ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
8046 : }
8047 :
8048 112 : if (block16.is_used()) {
8049 112 : compiler::TNode<Context> tmp85;
8050 112 : compiler::TNode<JSReceiver> tmp86;
8051 112 : compiler::TNode<Number> tmp87;
8052 112 : compiler::TNode<Object> tmp88;
8053 112 : compiler::TNode<Object> tmp89;
8054 112 : compiler::TNode<Object> tmp90;
8055 112 : compiler::TNode<String> tmp91;
8056 112 : compiler::TNode<JSReceiver> tmp92;
8057 112 : compiler::TNode<String> tmp93;
8058 112 : compiler::TNode<Number> tmp94;
8059 112 : compiler::TNode<Object> tmp95;
8060 112 : compiler::TNode<Object> tmp96;
8061 112 : compiler::TNode<Object> tmp97;
8062 112 : ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
8063 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
8064 112 : ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
8065 : }
8066 :
8067 112 : if (block17.is_used()) {
8068 112 : compiler::TNode<Context> tmp98;
8069 112 : compiler::TNode<JSReceiver> tmp99;
8070 112 : compiler::TNode<Number> tmp100;
8071 112 : compiler::TNode<Object> tmp101;
8072 112 : compiler::TNode<Object> tmp102;
8073 112 : compiler::TNode<Object> tmp103;
8074 112 : compiler::TNode<String> tmp104;
8075 112 : compiler::TNode<Object> tmp105;
8076 112 : compiler::TNode<JSReceiver> tmp106;
8077 112 : compiler::TNode<Object> tmp107;
8078 112 : ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
8079 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
8080 112 : ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
8081 : }
8082 :
8083 112 : if (block15.is_used()) {
8084 112 : compiler::TNode<Context> tmp108;
8085 112 : compiler::TNode<JSReceiver> tmp109;
8086 112 : compiler::TNode<Number> tmp110;
8087 112 : compiler::TNode<Object> tmp111;
8088 112 : compiler::TNode<Object> tmp112;
8089 112 : compiler::TNode<Object> tmp113;
8090 112 : compiler::TNode<String> tmp114;
8091 112 : compiler::TNode<Object> tmp115;
8092 112 : ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
8093 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 550);
8094 112 : ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
8095 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
8096 112 : CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
8097 112 : CodeStubAssembler(state_).Unreachable();
8098 : }
8099 :
8100 112 : if (block7.is_used()) {
8101 112 : compiler::TNode<Context> tmp117;
8102 112 : compiler::TNode<JSReceiver> tmp118;
8103 112 : compiler::TNode<Number> tmp119;
8104 112 : compiler::TNode<Object> tmp120;
8105 112 : compiler::TNode<Object> tmp121;
8106 112 : compiler::TNode<Object> tmp122;
8107 112 : compiler::TNode<String> tmp123;
8108 112 : ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
8109 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 554);
8110 112 : compiler::TNode<String> tmp124;
8111 112 : USE(tmp124);
8112 112 : tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
8113 112 : ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
8114 : }
8115 :
8116 112 : if (block1.is_used()) {
8117 112 : compiler::TNode<Context> tmp125;
8118 112 : compiler::TNode<JSReceiver> tmp126;
8119 112 : compiler::TNode<Number> tmp127;
8120 112 : compiler::TNode<Object> tmp128;
8121 112 : compiler::TNode<Object> tmp129;
8122 112 : compiler::TNode<Object> tmp130;
8123 112 : compiler::TNode<Object> tmp131;
8124 112 : ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
8125 112 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 532);
8126 112 : ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
8127 : }
8128 :
8129 112 : compiler::TNode<Context> tmp132;
8130 112 : compiler::TNode<JSReceiver> tmp133;
8131 112 : compiler::TNode<Number> tmp134;
8132 112 : compiler::TNode<Object> tmp135;
8133 112 : compiler::TNode<Object> tmp136;
8134 112 : compiler::TNode<Object> tmp137;
8135 112 : compiler::TNode<Object> tmp138;
8136 112 : ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
8137 224 : return compiler::TNode<Object>{tmp138};
8138 : }
8139 :
8140 448 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<Smi> p_element) {
8141 896 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8142 896 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8143 896 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
8144 896 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8145 896 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8146 448 : ca_.Goto(&block0, p_fixedArray, p_index, p_element);
8147 :
8148 448 : if (block0.is_used()) {
8149 448 : compiler::TNode<FixedArray> tmp0;
8150 448 : compiler::TNode<IntPtrT> tmp1;
8151 448 : compiler::TNode<Smi> tmp2;
8152 448 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
8153 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
8154 448 : compiler::TNode<IntPtrT> tmp3;
8155 448 : USE(tmp3);
8156 448 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
8157 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
8158 448 : compiler::TNode<BoolT> tmp4;
8159 448 : USE(tmp4);
8160 448 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
8161 448 : ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
8162 : }
8163 :
8164 448 : if (block2.is_used()) {
8165 448 : compiler::TNode<FixedArray> tmp5;
8166 448 : compiler::TNode<IntPtrT> tmp6;
8167 448 : compiler::TNode<Smi> tmp7;
8168 448 : compiler::TNode<IntPtrT> tmp8;
8169 448 : ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
8170 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
8171 448 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<Smi>{tmp7});
8172 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
8173 448 : ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
8174 : }
8175 :
8176 448 : if (block3.is_used()) {
8177 448 : compiler::TNode<FixedArray> tmp9;
8178 448 : compiler::TNode<IntPtrT> tmp10;
8179 448 : compiler::TNode<Smi> tmp11;
8180 448 : compiler::TNode<IntPtrT> tmp12;
8181 448 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
8182 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
8183 448 : compiler::TNode<IntPtrT> tmp13;
8184 448 : USE(tmp13);
8185 448 : tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
8186 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
8187 448 : compiler::TNode<IntPtrT> tmp14;
8188 448 : USE(tmp14);
8189 448 : tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
8190 448 : compiler::TNode<FixedArray> tmp15;
8191 448 : USE(tmp15);
8192 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));
8193 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
8194 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
8195 448 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<Smi>{tmp11});
8196 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
8197 448 : ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
8198 : }
8199 :
8200 448 : if (block1.is_used()) {
8201 448 : compiler::TNode<FixedArray> tmp16;
8202 448 : compiler::TNode<IntPtrT> tmp17;
8203 448 : compiler::TNode<Smi> tmp18;
8204 448 : compiler::TNode<FixedArray> tmp19;
8205 448 : ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
8206 448 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
8207 448 : ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
8208 : }
8209 :
8210 448 : compiler::TNode<FixedArray> tmp20;
8211 448 : compiler::TNode<IntPtrT> tmp21;
8212 448 : compiler::TNode<Smi> tmp22;
8213 448 : compiler::TNode<FixedArray> tmp23;
8214 448 : ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
8215 896 : return compiler::TNode<FixedArray>{tmp23};
8216 : }
8217 :
8218 224 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray6String(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<String> p_element) {
8219 448 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8220 448 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8221 448 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
8222 448 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8223 448 : compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
8224 224 : ca_.Goto(&block0, p_fixedArray, p_index, p_element);
8225 :
8226 224 : if (block0.is_used()) {
8227 224 : compiler::TNode<FixedArray> tmp0;
8228 224 : compiler::TNode<IntPtrT> tmp1;
8229 224 : compiler::TNode<String> tmp2;
8230 224 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
8231 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
8232 224 : compiler::TNode<IntPtrT> tmp3;
8233 224 : USE(tmp3);
8234 224 : tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
8235 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
8236 224 : compiler::TNode<BoolT> tmp4;
8237 224 : USE(tmp4);
8238 224 : tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
8239 224 : ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
8240 : }
8241 :
8242 224 : if (block2.is_used()) {
8243 224 : compiler::TNode<FixedArray> tmp5;
8244 224 : compiler::TNode<IntPtrT> tmp6;
8245 224 : compiler::TNode<String> tmp7;
8246 224 : compiler::TNode<IntPtrT> tmp8;
8247 224 : ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
8248 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
8249 224 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
8250 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
8251 224 : ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
8252 : }
8253 :
8254 224 : if (block3.is_used()) {
8255 224 : compiler::TNode<FixedArray> tmp9;
8256 224 : compiler::TNode<IntPtrT> tmp10;
8257 224 : compiler::TNode<String> tmp11;
8258 224 : compiler::TNode<IntPtrT> tmp12;
8259 224 : ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
8260 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
8261 224 : compiler::TNode<IntPtrT> tmp13;
8262 224 : USE(tmp13);
8263 224 : tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
8264 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
8265 224 : compiler::TNode<IntPtrT> tmp14;
8266 224 : USE(tmp14);
8267 224 : tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
8268 224 : compiler::TNode<FixedArray> tmp15;
8269 224 : USE(tmp15);
8270 224 : 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));
8271 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
8272 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
8273 224 : CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
8274 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
8275 224 : ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
8276 : }
8277 :
8278 224 : if (block1.is_used()) {
8279 224 : compiler::TNode<FixedArray> tmp16;
8280 224 : compiler::TNode<IntPtrT> tmp17;
8281 224 : compiler::TNode<String> tmp18;
8282 224 : compiler::TNode<FixedArray> tmp19;
8283 224 : ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
8284 224 : ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
8285 224 : ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
8286 : }
8287 :
8288 224 : compiler::TNode<FixedArray> tmp20;
8289 224 : compiler::TNode<IntPtrT> tmp21;
8290 224 : compiler::TNode<String> tmp22;
8291 224 : compiler::TNode<FixedArray> tmp23;
8292 224 : ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
8293 448 : return compiler::TNode<FixedArray>{tmp23};
8294 : }
8295 :
8296 : } // namespace internal
8297 87414 : } // namespace v8
8298 :
|