LCOV - code coverage report
Current view: top level - out/Release/gen/torque-generated - builtins-array-join-from-dsl-gen.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 7665 7665 100.0 %
Date: 2019-02-19 Functions: 134 134 100.0 %

          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/builtins/builtins-array-gen.h"
      10             : #include "src/builtins/builtins-collections-gen.h"
      11             : #include "src/builtins/builtins-data-view-gen.h"
      12             : #include "src/builtins/builtins-iterator-gen.h"
      13             : #include "src/builtins/builtins-regexp-gen.h"
      14             : #include "src/builtins/builtins-typed-array-gen.h"
      15             : #include "src/builtins/builtins-constructor-gen.h"
      16             : #include "torque-generated/builtins-base-from-dsl-gen.h"
      17             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      18             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      19             : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
      20             : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
      21             : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
      22             : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
      23             : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
      24             : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
      25             : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
      26             : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
      27             : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
      28             : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
      29             : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
      30             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      31             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      32             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      33             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      34             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      35             : #include "torque-generated/builtins-string-from-dsl-gen.h"
      36             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      37             : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
      38             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      39             : 
      40             : namespace v8 {
      41             : namespace internal {
      42             : 
      43         392 : TF_BUILTIN(LoadJoinElement20ATDictionaryElements, CodeStubAssembler) {
      44          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
      45          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
      46          56 :   USE(parameter0);
      47          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
      48          56 :   USE(parameter1);
      49          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
      50          56 :   USE(parameter2);
      51         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      52         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      53         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      54         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      55         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
      56         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      57          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
      58             : 
      59          56 :   if (block0.is_used()) {
      60          56 :     compiler::TNode<Context> tmp0;
      61          56 :     compiler::TNode<JSReceiver> tmp1;
      62          56 :     compiler::TNode<Number> tmp2;
      63          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
      64          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 21);
      65          56 :     compiler::TNode<JSArray> tmp3;
      66          56 :     USE(tmp3);
      67          56 :     tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
      68          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 22);
      69          56 :     compiler::TNode<FixedArrayBase> tmp4;
      70          56 :     USE(tmp4);
      71          56 :     tmp4 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp3}));
      72          56 :     compiler::TNode<NumberDictionary> tmp5;
      73          56 :     USE(tmp5);
      74          56 :     tmp5 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
      75          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 24);
      76          56 :     compiler::TNode<UintPtrT> tmp6;
      77          56 :     USE(tmp6);
      78          56 :     tmp6 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr22UT12ATHeapNumber5ATSmi(compiler::TNode<Number>{tmp2}));
      79          56 :     compiler::TNode<IntPtrT> tmp7;
      80          56 :     USE(tmp7);
      81          56 :     tmp7 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp6}));
      82          56 :     compiler::TNode<Object> tmp8;
      83          56 :     USE(tmp8);
      84          56 :     compiler::CodeAssemblerLabel label0(&ca_);
      85         112 :     compiler::CodeAssemblerLabel label1(&ca_);
      86          56 :     tmp8 = CodeStubAssembler(state_).BasicLoadNumberDictionaryElement(compiler::TNode<NumberDictionary>{tmp5}, compiler::TNode<IntPtrT>{tmp7}, &label0, &label1);
      87          56 :     ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp7, tmp8);
      88          56 :     if (label0.is_used()) {
      89          56 :       ca_.Bind(&label0);
      90          56 :       ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp7);
      91             :     }
      92          56 :     if (label1.is_used()) {
      93          56 :       ca_.Bind(&label1);
      94          56 :       ca_.Goto(&block7, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp7);
      95          56 :     }
      96             :   }
      97             : 
      98          56 :   if (block6.is_used()) {
      99          56 :     compiler::TNode<Context> tmp9;
     100          56 :     compiler::TNode<JSReceiver> tmp10;
     101          56 :     compiler::TNode<Number> tmp11;
     102          56 :     compiler::TNode<JSArray> tmp12;
     103          56 :     compiler::TNode<NumberDictionary> tmp13;
     104          56 :     compiler::TNode<NumberDictionary> tmp14;
     105          56 :     compiler::TNode<IntPtrT> tmp15;
     106          56 :     ca_.Bind(&block6, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     107          56 :     ca_.Goto(&block4, tmp9, tmp10, tmp11, tmp12, tmp13);
     108             :   }
     109             : 
     110          56 :   if (block7.is_used()) {
     111          56 :     compiler::TNode<Context> tmp16;
     112          56 :     compiler::TNode<JSReceiver> tmp17;
     113          56 :     compiler::TNode<Number> tmp18;
     114          56 :     compiler::TNode<JSArray> tmp19;
     115          56 :     compiler::TNode<NumberDictionary> tmp20;
     116          56 :     compiler::TNode<NumberDictionary> tmp21;
     117          56 :     compiler::TNode<IntPtrT> tmp22;
     118          56 :     ca_.Bind(&block7, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
     119          56 :     ca_.Goto(&block2, tmp16, tmp17, tmp18, tmp19, tmp20);
     120             :   }
     121             : 
     122          56 :   if (block5.is_used()) {
     123          56 :     compiler::TNode<Context> tmp23;
     124          56 :     compiler::TNode<JSReceiver> tmp24;
     125          56 :     compiler::TNode<Number> tmp25;
     126          56 :     compiler::TNode<JSArray> tmp26;
     127          56 :     compiler::TNode<NumberDictionary> tmp27;
     128          56 :     compiler::TNode<NumberDictionary> tmp28;
     129          56 :     compiler::TNode<IntPtrT> tmp29;
     130          56 :     compiler::TNode<Object> tmp30;
     131          56 :     ca_.Bind(&block5, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
     132          56 :     CodeStubAssembler(state_).Return(tmp30);
     133             :   }
     134             : 
     135          56 :   if (block4.is_used()) {
     136          56 :     compiler::TNode<Context> tmp31;
     137          56 :     compiler::TNode<JSReceiver> tmp32;
     138          56 :     compiler::TNode<Number> tmp33;
     139          56 :     compiler::TNode<JSArray> tmp34;
     140          56 :     compiler::TNode<NumberDictionary> tmp35;
     141          56 :     ca_.Bind(&block4, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
     142          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 28);
     143          56 :     compiler::TNode<Object> tmp36;
     144          56 :     USE(tmp36);
     145          56 :     tmp36 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp31}, compiler::TNode<Object>{tmp32}, compiler::TNode<Object>{tmp33}));
     146          56 :     CodeStubAssembler(state_).Return(tmp36);
     147             :   }
     148             : 
     149          56 :   if (block2.is_used()) {
     150          56 :     compiler::TNode<Context> tmp37;
     151          56 :     compiler::TNode<JSReceiver> tmp38;
     152          56 :     compiler::TNode<Number> tmp39;
     153          56 :     compiler::TNode<JSArray> tmp40;
     154          56 :     compiler::TNode<NumberDictionary> tmp41;
     155          56 :     ca_.Bind(&block2, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41);
     156          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 31);
     157          56 :     compiler::TNode<String> tmp42;
     158          56 :     USE(tmp42);
     159          56 :     tmp42 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     160          56 :     CodeStubAssembler(state_).Return(tmp42);
     161          56 :   }
     162          56 : }
     163             : 
     164         392 : TF_BUILTIN(LoadJoinElement25ATFastSmiOrObjectElements, CodeStubAssembler) {
     165          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     166          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     167          56 :   USE(parameter0);
     168          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
     169          56 :   USE(parameter1);
     170          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
     171          56 :   USE(parameter2);
     172         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     173         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     174         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     175         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     176         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     177          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
     178             : 
     179          56 :   if (block0.is_used()) {
     180          56 :     compiler::TNode<Context> tmp0;
     181          56 :     compiler::TNode<JSReceiver> tmp1;
     182          56 :     compiler::TNode<Number> tmp2;
     183          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     184          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 37);
     185          56 :     compiler::TNode<JSArray> tmp3;
     186          56 :     USE(tmp3);
     187          56 :     tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     188          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 38);
     189          56 :     compiler::TNode<FixedArrayBase> tmp4;
     190          56 :     USE(tmp4);
     191          56 :     tmp4 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp3}));
     192          56 :     compiler::TNode<FixedArray> tmp5;
     193          56 :     USE(tmp5);
     194          56 :     tmp5 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
     195          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 39);
     196          56 :     compiler::TNode<Smi> tmp6;
     197          56 :     USE(tmp6);
     198          56 :     tmp6 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     199          56 :     compiler::TNode<Object> tmp7;
     200          56 :     USE(tmp7);
     201          56 :     tmp7 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<Smi>{tmp6}));
     202          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 40);
     203          56 :     compiler::TNode<Oddball> tmp8;
     204          56 :     USE(tmp8);
     205          56 :     tmp8 = BaseBuiltinsFromDSLAssembler(state_).Hole();
     206          56 :     compiler::TNode<BoolT> tmp9;
     207          56 :     USE(tmp9);
     208          56 :     tmp9 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp7}, compiler::TNode<HeapObject>{tmp8}));
     209          56 :     ca_.Branch(tmp9, &block1, &block2, tmp0, tmp1, tmp2, tmp3, tmp5, tmp7);
     210             :   }
     211             : 
     212          56 :   if (block1.is_used()) {
     213          56 :     compiler::TNode<Context> tmp10;
     214          56 :     compiler::TNode<JSReceiver> tmp11;
     215          56 :     compiler::TNode<Number> tmp12;
     216          56 :     compiler::TNode<JSArray> tmp13;
     217          56 :     compiler::TNode<FixedArray> tmp14;
     218          56 :     compiler::TNode<Object> tmp15;
     219          56 :     ca_.Bind(&block1, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     220          56 :     compiler::TNode<String> tmp16;
     221          56 :     USE(tmp16);
     222          56 :     tmp16 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     223          56 :     ca_.Goto(&block4, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
     224             :   }
     225             : 
     226          56 :   if (block2.is_used()) {
     227          56 :     compiler::TNode<Context> tmp17;
     228          56 :     compiler::TNode<JSReceiver> tmp18;
     229          56 :     compiler::TNode<Number> tmp19;
     230          56 :     compiler::TNode<JSArray> tmp20;
     231          56 :     compiler::TNode<FixedArray> tmp21;
     232          56 :     compiler::TNode<Object> tmp22;
     233          56 :     ca_.Bind(&block2, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
     234          56 :     ca_.Goto(&block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp22);
     235             :   }
     236             : 
     237          56 :   if (block4.is_used()) {
     238          56 :     compiler::TNode<Context> tmp23;
     239          56 :     compiler::TNode<JSReceiver> tmp24;
     240          56 :     compiler::TNode<Number> tmp25;
     241          56 :     compiler::TNode<JSArray> tmp26;
     242          56 :     compiler::TNode<FixedArray> tmp27;
     243          56 :     compiler::TNode<Object> tmp28;
     244          56 :     compiler::TNode<String> tmp29;
     245          56 :     ca_.Bind(&block4, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
     246          56 :     ca_.Goto(&block3, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29);
     247             :   }
     248             : 
     249          56 :   if (block3.is_used()) {
     250          56 :     compiler::TNode<Context> tmp30;
     251          56 :     compiler::TNode<JSReceiver> tmp31;
     252          56 :     compiler::TNode<Number> tmp32;
     253          56 :     compiler::TNode<JSArray> tmp33;
     254          56 :     compiler::TNode<FixedArray> tmp34;
     255          56 :     compiler::TNode<Object> tmp35;
     256          56 :     compiler::TNode<Object> tmp36;
     257          56 :     ca_.Bind(&block3, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
     258          56 :     CodeStubAssembler(state_).Return(tmp36);
     259          56 :   }
     260          56 : }
     261             : 
     262         392 : TF_BUILTIN(LoadJoinElement20ATFastDoubleElements, CodeStubAssembler) {
     263          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     264          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     265          56 :   USE(parameter0);
     266          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
     267          56 :   USE(parameter1);
     268          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
     269          56 :   USE(parameter2);
     270         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     271         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     272         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi, Float64T> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     273         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     274         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     275          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
     276             : 
     277          56 :   if (block0.is_used()) {
     278          56 :     compiler::TNode<Context> tmp0;
     279          56 :     compiler::TNode<JSReceiver> tmp1;
     280          56 :     compiler::TNode<Number> tmp2;
     281          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     282          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 45);
     283          56 :     compiler::TNode<JSArray> tmp3;
     284          56 :     USE(tmp3);
     285          56 :     tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     286          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 47);
     287          56 :     compiler::TNode<FixedArrayBase> tmp4;
     288          56 :     USE(tmp4);
     289          56 :     tmp4 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp3}));
     290          56 :     compiler::TNode<FixedDoubleArray> tmp5;
     291          56 :     USE(tmp5);
     292          56 :     tmp5 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
     293          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 46);
     294          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
     295          56 :     compiler::TNode<Smi> tmp6;
     296          56 :     USE(tmp6);
     297          56 :     tmp6 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     298          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
     299          56 :     compiler::TNode<Float64T> tmp7;
     300          56 :     USE(tmp7);
     301          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     302          56 :     tmp7 = CodeStubAssembler(state_).LoadDoubleWithHoleCheck(compiler::TNode<FixedDoubleArray>{tmp5}, compiler::TNode<Smi>{tmp6}, &label0);
     303          56 :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp6, tmp7);
     304          56 :     if (label0.is_used()) {
     305          56 :       ca_.Bind(&label0);
     306          56 :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp6);
     307          56 :     }
     308             :   }
     309             : 
     310          56 :   if (block4.is_used()) {
     311          56 :     compiler::TNode<Context> tmp8;
     312          56 :     compiler::TNode<JSReceiver> tmp9;
     313          56 :     compiler::TNode<Number> tmp10;
     314          56 :     compiler::TNode<JSArray> tmp11;
     315          56 :     compiler::TNode<FixedDoubleArray> tmp12;
     316          56 :     compiler::TNode<FixedDoubleArray> tmp13;
     317          56 :     compiler::TNode<Smi> tmp14;
     318          56 :     ca_.Bind(&block4, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
     319          56 :     ca_.Goto(&block2, tmp8, tmp9, tmp10, tmp11, tmp12);
     320             :   }
     321             : 
     322          56 :   if (block3.is_used()) {
     323          56 :     compiler::TNode<Context> tmp15;
     324          56 :     compiler::TNode<JSReceiver> tmp16;
     325          56 :     compiler::TNode<Number> tmp17;
     326          56 :     compiler::TNode<JSArray> tmp18;
     327          56 :     compiler::TNode<FixedDoubleArray> tmp19;
     328          56 :     compiler::TNode<FixedDoubleArray> tmp20;
     329          56 :     compiler::TNode<Smi> tmp21;
     330          56 :     compiler::TNode<Float64T> tmp22;
     331          56 :     ca_.Bind(&block3, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
     332          56 :     ca_.Goto(&block1, tmp15, tmp16, tmp17, tmp18, tmp19, tmp22);
     333             :   }
     334             : 
     335          56 :   if (block2.is_used()) {
     336          56 :     compiler::TNode<Context> tmp23;
     337          56 :     compiler::TNode<JSReceiver> tmp24;
     338          56 :     compiler::TNode<Number> tmp25;
     339          56 :     compiler::TNode<JSArray> tmp26;
     340          56 :     compiler::TNode<FixedDoubleArray> tmp27;
     341          56 :     ca_.Bind(&block2, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
     342          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
     343          56 :     compiler::TNode<String> tmp28;
     344          56 :     USE(tmp28);
     345          56 :     tmp28 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     346          56 :     CodeStubAssembler(state_).Return(tmp28);
     347             :   }
     348             : 
     349          56 :   if (block1.is_used()) {
     350          56 :     compiler::TNode<Context> tmp29;
     351          56 :     compiler::TNode<JSReceiver> tmp30;
     352          56 :     compiler::TNode<Number> tmp31;
     353          56 :     compiler::TNode<JSArray> tmp32;
     354          56 :     compiler::TNode<FixedDoubleArray> tmp33;
     355          56 :     compiler::TNode<Float64T> tmp34;
     356          56 :     ca_.Bind(&block1, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
     357          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
     358          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 50);
     359          56 :     compiler::TNode<HeapNumber> tmp35;
     360          56 :     USE(tmp35);
     361          56 :     tmp35 = ca_.UncheckedCast<HeapNumber>(CodeStubAssembler(state_).AllocateHeapNumberWithValue(compiler::TNode<Float64T>{tmp34}));
     362          56 :     CodeStubAssembler(state_).Return(tmp35);
     363          56 :   }
     364          56 : }
     365             : 
     366         448 : TF_BUILTIN(ConvertToLocaleString, CodeStubAssembler) {
     367          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     368          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     369          56 :   USE(parameter0);
     370          56 :   compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kElement));
     371          56 :   USE(parameter1);
     372          56 :   compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kLocales));
     373          56 :   USE(parameter2);
     374          56 :   compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kOptions));
     375          56 :   USE(parameter3);
     376         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     377         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     378         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     379         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     380         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     381         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     382         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     383         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     384         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     385         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     386         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     387         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     388          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3);
     389             : 
     390          56 :   if (block0.is_used()) {
     391          56 :     compiler::TNode<Context> tmp0;
     392          56 :     compiler::TNode<Object> tmp1;
     393          56 :     compiler::TNode<Object> tmp2;
     394          56 :     compiler::TNode<Object> tmp3;
     395          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
     396          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 65);
     397          56 :     compiler::TNode<BoolT> tmp4;
     398          56 :     USE(tmp4);
     399          56 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp1}));
     400          56 :     ca_.Branch(tmp4, &block1, &block2, tmp0, tmp1, tmp2, tmp3);
     401             :   }
     402             : 
     403          56 :   if (block1.is_used()) {
     404          56 :     compiler::TNode<Context> tmp5;
     405          56 :     compiler::TNode<Object> tmp6;
     406          56 :     compiler::TNode<Object> tmp7;
     407          56 :     compiler::TNode<Object> tmp8;
     408          56 :     ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
     409          56 :     compiler::TNode<String> tmp9;
     410          56 :     USE(tmp9);
     411          56 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     412          56 :     CodeStubAssembler(state_).Return(tmp9);
     413             :   }
     414             : 
     415          56 :   if (block2.is_used()) {
     416          56 :     compiler::TNode<Context> tmp10;
     417          56 :     compiler::TNode<Object> tmp11;
     418          56 :     compiler::TNode<Object> tmp12;
     419          56 :     compiler::TNode<Object> tmp13;
     420          56 :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13);
     421          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 67);
     422          56 :     compiler::TNode<Object> tmp14;
     423          56 :     USE(tmp14);
     424          56 :     tmp14 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("toLocaleString"));
     425          56 :     compiler::TNode<Object> tmp15;
     426          56 :     USE(tmp15);
     427          56 :     tmp15 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp11}, compiler::TNode<Object>{tmp14}));
     428          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 69);
     429          56 :     compiler::TNode<JSReceiver> tmp16;
     430          56 :     USE(tmp16);
     431          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     432          56 :     tmp16 = BaseBuiltinsFromDSLAssembler(state_).Cast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp15}, &label0);
     433          56 :     ca_.Goto(&block5, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15, tmp16);
     434          56 :     if (label0.is_used()) {
     435          56 :       ca_.Bind(&label0);
     436          56 :       ca_.Goto(&block6, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15);
     437          56 :     }
     438             :   }
     439             : 
     440          56 :   if (block6.is_used()) {
     441          56 :     compiler::TNode<Context> tmp17;
     442          56 :     compiler::TNode<Object> tmp18;
     443          56 :     compiler::TNode<Object> tmp19;
     444          56 :     compiler::TNode<Object> tmp20;
     445          56 :     compiler::TNode<Object> tmp21;
     446          56 :     compiler::TNode<Object> tmp22;
     447          56 :     ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
     448          56 :     ca_.Goto(&block4, tmp17, tmp18, tmp19, tmp20, tmp21);
     449             :   }
     450             : 
     451          56 :   if (block5.is_used()) {
     452          56 :     compiler::TNode<Context> tmp23;
     453          56 :     compiler::TNode<Object> tmp24;
     454          56 :     compiler::TNode<Object> tmp25;
     455          56 :     compiler::TNode<Object> tmp26;
     456          56 :     compiler::TNode<Object> tmp27;
     457          56 :     compiler::TNode<Object> tmp28;
     458          56 :     compiler::TNode<JSReceiver> tmp29;
     459          56 :     ca_.Bind(&block5, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
     460          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 70);
     461          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
     462          56 :     compiler::TNode<BoolT> tmp30;
     463          56 :     USE(tmp30);
     464          56 :     tmp30 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp25}));
     465          56 :     ca_.Branch(tmp30, &block7, &block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp29, ca_.Uninitialized<Object>());
     466             :   }
     467             : 
     468          56 :   if (block7.is_used()) {
     469          56 :     compiler::TNode<Context> tmp31;
     470          56 :     compiler::TNode<Object> tmp32;
     471          56 :     compiler::TNode<Object> tmp33;
     472          56 :     compiler::TNode<Object> tmp34;
     473          56 :     compiler::TNode<Object> tmp35;
     474          56 :     compiler::TNode<JSReceiver> tmp36;
     475          56 :     compiler::TNode<Object> tmp37;
     476          56 :     ca_.Bind(&block7, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
     477          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 72);
     478          56 :     compiler::TNode<Object> tmp38;
     479          56 :     USE(tmp38);
     480          56 :     tmp38 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp31}, compiler::TNode<JSReceiver>{tmp36}, compiler::TNode<Object>{tmp32}));
     481          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
     482          56 :     ca_.Goto(&block9, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp38);
     483             :   }
     484             : 
     485          56 :   if (block8.is_used()) {
     486          56 :     compiler::TNode<Context> tmp39;
     487          56 :     compiler::TNode<Object> tmp40;
     488          56 :     compiler::TNode<Object> tmp41;
     489          56 :     compiler::TNode<Object> tmp42;
     490          56 :     compiler::TNode<Object> tmp43;
     491          56 :     compiler::TNode<JSReceiver> tmp44;
     492          56 :     compiler::TNode<Object> tmp45;
     493          56 :     ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
     494          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
     495          56 :     compiler::TNode<BoolT> tmp46;
     496          56 :     USE(tmp46);
     497          56 :     tmp46 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp42}));
     498          56 :     ca_.Branch(tmp46, &block10, &block11, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45);
     499             :   }
     500             : 
     501          56 :   if (block10.is_used()) {
     502          56 :     compiler::TNode<Context> tmp47;
     503          56 :     compiler::TNode<Object> tmp48;
     504          56 :     compiler::TNode<Object> tmp49;
     505          56 :     compiler::TNode<Object> tmp50;
     506          56 :     compiler::TNode<Object> tmp51;
     507          56 :     compiler::TNode<JSReceiver> tmp52;
     508          56 :     compiler::TNode<Object> tmp53;
     509          56 :     ca_.Bind(&block10, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
     510          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 74);
     511          56 :     compiler::TNode<Object> tmp54;
     512          56 :     USE(tmp54);
     513          56 :     tmp54 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp47}, compiler::TNode<JSReceiver>{tmp52}, compiler::TNode<Object>{tmp48}, compiler::TNode<Object>{tmp49}));
     514          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
     515          56 :     ca_.Goto(&block12, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp54);
     516             :   }
     517             : 
     518          56 :   if (block11.is_used()) {
     519          56 :     compiler::TNode<Context> tmp55;
     520          56 :     compiler::TNode<Object> tmp56;
     521          56 :     compiler::TNode<Object> tmp57;
     522          56 :     compiler::TNode<Object> tmp58;
     523          56 :     compiler::TNode<Object> tmp59;
     524          56 :     compiler::TNode<JSReceiver> tmp60;
     525          56 :     compiler::TNode<Object> tmp61;
     526          56 :     ca_.Bind(&block11, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61);
     527          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 76);
     528          56 :     compiler::TNode<Object> tmp62;
     529          56 :     USE(tmp62);
     530          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}));
     531          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
     532          56 :     ca_.Goto(&block12, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp62);
     533             :   }
     534             : 
     535          56 :   if (block12.is_used()) {
     536          56 :     compiler::TNode<Context> tmp63;
     537          56 :     compiler::TNode<Object> tmp64;
     538          56 :     compiler::TNode<Object> tmp65;
     539          56 :     compiler::TNode<Object> tmp66;
     540          56 :     compiler::TNode<Object> tmp67;
     541          56 :     compiler::TNode<JSReceiver> tmp68;
     542          56 :     compiler::TNode<Object> tmp69;
     543          56 :     ca_.Bind(&block12, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
     544          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
     545          56 :     ca_.Goto(&block9, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69);
     546             :   }
     547             : 
     548          56 :   if (block9.is_used()) {
     549          56 :     compiler::TNode<Context> tmp70;
     550          56 :     compiler::TNode<Object> tmp71;
     551          56 :     compiler::TNode<Object> tmp72;
     552          56 :     compiler::TNode<Object> tmp73;
     553          56 :     compiler::TNode<Object> tmp74;
     554          56 :     compiler::TNode<JSReceiver> tmp75;
     555          56 :     compiler::TNode<Object> tmp76;
     556          56 :     ca_.Bind(&block9, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76);
     557          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 78);
     558          56 :     compiler::TNode<String> tmp77;
     559          56 :     USE(tmp77);
     560          56 :     tmp77 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp70}, compiler::TNode<Object>{tmp76}));
     561          56 :     CodeStubAssembler(state_).Return(tmp77);
     562             :   }
     563             : 
     564          56 :   if (block4.is_used()) {
     565          56 :     compiler::TNode<Context> tmp78;
     566          56 :     compiler::TNode<Object> tmp79;
     567          56 :     compiler::TNode<Object> tmp80;
     568          56 :     compiler::TNode<Object> tmp81;
     569          56 :     compiler::TNode<Object> tmp82;
     570          56 :     ca_.Bind(&block4, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82);
     571          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 81);
     572          56 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp78}, MessageTemplate::kCalledNonCallable, compiler::TNode<Object>{tmp82});
     573          56 :   }
     574          56 : }
     575             : 
     576         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) {
     577         112 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     578         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     579         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     580         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     581         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     582         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     583         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     584         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     585         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     586         224 :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     587         224 :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     588         112 :     ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_originalMap, p_originalLen);
     589             : 
     590         112 :   if (block0.is_used()) {
     591         112 :     compiler::TNode<Context> tmp0;
     592         112 :     compiler::TNode<BuiltinPtr> tmp1;
     593         112 :     compiler::TNode<JSReceiver> tmp2;
     594         112 :     compiler::TNode<Map> tmp3;
     595         112 :     compiler::TNode<Number> tmp4;
     596         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     597         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 96);
     598         112 :     compiler::TNode<BoolT> tmp5;
     599         112 :     USE(tmp5);
     600         112 :     tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp1}, compiler::TNode<Smi>{ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor))}));
     601         112 :     ca_.Branch(tmp5, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4);
     602             :   }
     603             : 
     604         112 :   if (block3.is_used()) {
     605         112 :     compiler::TNode<Context> tmp6;
     606         112 :     compiler::TNode<BuiltinPtr> tmp7;
     607         112 :     compiler::TNode<JSReceiver> tmp8;
     608         112 :     compiler::TNode<Map> tmp9;
     609         112 :     compiler::TNode<Number> tmp10;
     610         112 :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
     611         112 :     ca_.Goto(&block2);
     612             :   }
     613             : 
     614         112 :   if (block4.is_used()) {
     615         112 :     compiler::TNode<Context> tmp11;
     616         112 :     compiler::TNode<BuiltinPtr> tmp12;
     617         112 :     compiler::TNode<JSReceiver> tmp13;
     618         112 :     compiler::TNode<Map> tmp14;
     619         112 :     compiler::TNode<Number> tmp15;
     620         112 :     ca_.Bind(&block4, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     621         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 98);
     622         112 :     compiler::TNode<JSArray> tmp16;
     623         112 :     USE(tmp16);
     624         112 :     tmp16 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp11}, compiler::TNode<Object>{tmp13}));
     625         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 99);
     626         112 :     compiler::TNode<Map> tmp17;
     627         112 :     USE(tmp17);
     628         112 :     tmp17 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp16}));
     629         112 :     compiler::TNode<BoolT> tmp18;
     630         112 :     USE(tmp18);
     631         112 :     tmp18 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<HeapObject>{tmp14}, compiler::TNode<HeapObject>{tmp17}));
     632         112 :     ca_.Branch(tmp18, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
     633             :   }
     634             : 
     635         112 :   if (block5.is_used()) {
     636         112 :     compiler::TNode<Context> tmp19;
     637         112 :     compiler::TNode<BuiltinPtr> tmp20;
     638         112 :     compiler::TNode<JSReceiver> tmp21;
     639         112 :     compiler::TNode<Map> tmp22;
     640         112 :     compiler::TNode<Number> tmp23;
     641         112 :     compiler::TNode<JSArray> tmp24;
     642         112 :     ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
     643         112 :     ca_.Goto(&block1);
     644             :   }
     645             : 
     646         112 :   if (block6.is_used()) {
     647         112 :     compiler::TNode<Context> tmp25;
     648         112 :     compiler::TNode<BuiltinPtr> tmp26;
     649         112 :     compiler::TNode<JSReceiver> tmp27;
     650         112 :     compiler::TNode<Map> tmp28;
     651         112 :     compiler::TNode<Number> tmp29;
     652         112 :     compiler::TNode<JSArray> tmp30;
     653         112 :     ca_.Bind(&block6, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
     654         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 100);
     655         112 :     compiler::TNode<Number> tmp31;
     656         112 :     USE(tmp31);
     657         112 :     tmp31 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArrayLength(compiler::TNode<JSArray>{tmp30}));
     658         112 :     compiler::TNode<BoolT> tmp32;
     659         112 :     USE(tmp32);
     660         112 :     tmp32 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp29}, compiler::TNode<Number>{tmp31}));
     661         112 :     ca_.Branch(tmp32, &block7, &block8, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30);
     662             :   }
     663             : 
     664         112 :   if (block7.is_used()) {
     665         112 :     compiler::TNode<Context> tmp33;
     666         112 :     compiler::TNode<BuiltinPtr> tmp34;
     667         112 :     compiler::TNode<JSReceiver> tmp35;
     668         112 :     compiler::TNode<Map> tmp36;
     669         112 :     compiler::TNode<Number> tmp37;
     670         112 :     compiler::TNode<JSArray> tmp38;
     671         112 :     ca_.Bind(&block7, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
     672         112 :     ca_.Goto(&block1);
     673             :   }
     674             : 
     675         112 :   if (block8.is_used()) {
     676         112 :     compiler::TNode<Context> tmp39;
     677         112 :     compiler::TNode<BuiltinPtr> tmp40;
     678         112 :     compiler::TNode<JSReceiver> tmp41;
     679         112 :     compiler::TNode<Map> tmp42;
     680         112 :     compiler::TNode<Number> tmp43;
     681         112 :     compiler::TNode<JSArray> tmp44;
     682         112 :     ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44);
     683         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 101);
     684         112 :     compiler::TNode<BoolT> tmp45;
     685         112 :     USE(tmp45);
     686         112 :     tmp45 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
     687         112 :     ca_.Branch(tmp45, &block9, &block10, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44);
     688             :   }
     689             : 
     690         112 :   if (block9.is_used()) {
     691         112 :     compiler::TNode<Context> tmp46;
     692         112 :     compiler::TNode<BuiltinPtr> tmp47;
     693         112 :     compiler::TNode<JSReceiver> tmp48;
     694         112 :     compiler::TNode<Map> tmp49;
     695         112 :     compiler::TNode<Number> tmp50;
     696         112 :     compiler::TNode<JSArray> tmp51;
     697         112 :     ca_.Bind(&block9, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
     698         112 :     ca_.Goto(&block1);
     699             :   }
     700             : 
     701         112 :   if (block10.is_used()) {
     702         112 :     compiler::TNode<Context> tmp52;
     703         112 :     compiler::TNode<BuiltinPtr> tmp53;
     704         112 :     compiler::TNode<JSReceiver> tmp54;
     705         112 :     compiler::TNode<Map> tmp55;
     706         112 :     compiler::TNode<Number> tmp56;
     707         112 :     compiler::TNode<JSArray> tmp57;
     708         112 :     ca_.Bind(&block10, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
     709         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 102);
     710         112 :     ca_.Goto(&block2);
     711             :   }
     712             : 
     713         112 :   if (block1.is_used()) {
     714         112 :     ca_.Bind(&block1);
     715         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
     716         112 :     ca_.Goto(label_Cannot);
     717             :   }
     718             : 
     719         112 :   if (block2.is_used()) {
     720         112 :     ca_.Bind(&block2);
     721         112 :     ca_.Goto(label_Can);
     722         112 :   }
     723         112 : }
     724             : 
     725         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) {
     726         112 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     727         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     728         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     729         224 :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     730         224 :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     731         112 :     ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_initialMap, p_initialLen);
     732             : 
     733         112 :   if (block0.is_used()) {
     734         112 :     compiler::TNode<Context> tmp0;
     735         112 :     compiler::TNode<BuiltinPtr> tmp1;
     736         112 :     compiler::TNode<JSReceiver> tmp2;
     737         112 :     compiler::TNode<Map> tmp3;
     738         112 :     compiler::TNode<Number> tmp4;
     739         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     740         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 109);
     741         112 :     compiler::TNode<JSTypedArray> tmp5;
     742         112 :     USE(tmp5);
     743         112 :     tmp5 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     744         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 110);
     745         112 :     compiler::TNode<JSArrayBuffer> tmp6;
     746         112 :     USE(tmp6);
     747         112 :     tmp6 = ca_.UncheckedCast<JSArrayBuffer>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArrayBufferViewBuffer(compiler::TNode<JSArrayBufferView>{tmp5}));
     748         112 :     compiler::TNode<BoolT> tmp7;
     749         112 :     USE(tmp7);
     750         112 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsDetachedBuffer(compiler::TNode<JSArrayBuffer>{tmp6}));
     751         112 :     ca_.Branch(tmp7, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
     752             :   }
     753             : 
     754         112 :   if (block3.is_used()) {
     755         112 :     compiler::TNode<Context> tmp8;
     756         112 :     compiler::TNode<BuiltinPtr> tmp9;
     757         112 :     compiler::TNode<JSReceiver> tmp10;
     758         112 :     compiler::TNode<Map> tmp11;
     759         112 :     compiler::TNode<Number> tmp12;
     760         112 :     compiler::TNode<JSTypedArray> tmp13;
     761         112 :     ca_.Bind(&block3, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
     762         112 :     ca_.Goto(&block1);
     763             :   }
     764             : 
     765         112 :   if (block4.is_used()) {
     766         112 :     compiler::TNode<Context> tmp14;
     767         112 :     compiler::TNode<BuiltinPtr> tmp15;
     768         112 :     compiler::TNode<JSReceiver> tmp16;
     769         112 :     compiler::TNode<Map> tmp17;
     770         112 :     compiler::TNode<Number> tmp18;
     771         112 :     compiler::TNode<JSTypedArray> tmp19;
     772         112 :     ca_.Bind(&block4, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
     773         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 111);
     774         112 :     ca_.Goto(&block2);
     775             :   }
     776             : 
     777         112 :   if (block1.is_used()) {
     778         112 :     ca_.Bind(&block1);
     779         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
     780         112 :     ca_.Goto(label_Cannot);
     781             :   }
     782             : 
     783         112 :   if (block2.is_used()) {
     784         112 :     ca_.Bind(&block2);
     785         112 :     ca_.Goto(label_Can);
     786         112 :   }
     787         112 : }
     788             : 
     789         672 : compiler::TNode<IntPtrT> ArrayJoinBuiltinsFromDSLAssembler::AddStringLength(compiler::TNode<Context> p_context, compiler::TNode<IntPtrT> p_lenA, compiler::TNode<IntPtrT> p_lenB) {
     790         672 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     791        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     792        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     793        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     794        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     795        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     796        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     797        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     798         672 :     ca_.Goto(&block0, p_context, p_lenA, p_lenB);
     799             : 
     800         672 :   if (block0.is_used()) {
     801         672 :     compiler::TNode<Context> tmp0;
     802         672 :     compiler::TNode<IntPtrT> tmp1;
     803         672 :     compiler::TNode<IntPtrT> tmp2;
     804         672 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     805         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 120);
     806         672 :     compiler::TNode<IntPtrT> tmp3;
     807         672 :     USE(tmp3);
     808         672 :     compiler::CodeAssemblerLabel label0(&ca_);
     809         672 :     tmp3 = CodeStubAssembler(state_).TryIntPtrAdd(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp2}, &label0);
     810         672 :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp1, tmp2, tmp3);
     811         672 :     if (label0.is_used()) {
     812         672 :       ca_.Bind(&label0);
     813         672 :       ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp1, tmp2);
     814         672 :     }
     815             :   }
     816             : 
     817         672 :   if (block5.is_used()) {
     818         672 :     compiler::TNode<Context> tmp4;
     819         672 :     compiler::TNode<IntPtrT> tmp5;
     820         672 :     compiler::TNode<IntPtrT> tmp6;
     821         672 :     compiler::TNode<IntPtrT> tmp7;
     822         672 :     compiler::TNode<IntPtrT> tmp8;
     823         672 :     ca_.Bind(&block5, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
     824         672 :     ca_.Goto(&block3, tmp4, tmp5, tmp6);
     825             :   }
     826             : 
     827         672 :   if (block4.is_used()) {
     828         672 :     compiler::TNode<Context> tmp9;
     829         672 :     compiler::TNode<IntPtrT> tmp10;
     830         672 :     compiler::TNode<IntPtrT> tmp11;
     831         672 :     compiler::TNode<IntPtrT> tmp12;
     832         672 :     compiler::TNode<IntPtrT> tmp13;
     833         672 :     compiler::TNode<IntPtrT> tmp14;
     834         672 :     ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
     835         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 121);
     836         672 :     compiler::TNode<IntPtrT> tmp15;
     837         672 :     USE(tmp15);
     838         672 :     tmp15 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(String::kMaxLength));
     839         672 :     compiler::TNode<BoolT> tmp16;
     840         672 :     USE(tmp16);
     841         672 :     tmp16 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp15}));
     842         672 :     ca_.Branch(tmp16, &block6, &block7, tmp9, tmp10, tmp11, tmp14);
     843             :   }
     844             : 
     845         672 :   if (block6.is_used()) {
     846         672 :     compiler::TNode<Context> tmp17;
     847         672 :     compiler::TNode<IntPtrT> tmp18;
     848         672 :     compiler::TNode<IntPtrT> tmp19;
     849         672 :     compiler::TNode<IntPtrT> tmp20;
     850         672 :     ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20);
     851         672 :     ca_.Goto(&block3, tmp17, tmp18, tmp19);
     852             :   }
     853             : 
     854         672 :   if (block7.is_used()) {
     855         672 :     compiler::TNode<Context> tmp21;
     856         672 :     compiler::TNode<IntPtrT> tmp22;
     857         672 :     compiler::TNode<IntPtrT> tmp23;
     858         672 :     compiler::TNode<IntPtrT> tmp24;
     859         672 :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23, &tmp24);
     860         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 122);
     861         672 :     ca_.Goto(&block1, tmp21, tmp22, tmp23, tmp24);
     862             :   }
     863             : 
     864         672 :   if (block3.is_used()) {
     865         672 :     compiler::TNode<Context> tmp25;
     866         672 :     compiler::TNode<IntPtrT> tmp26;
     867         672 :     compiler::TNode<IntPtrT> tmp27;
     868         672 :     ca_.Bind(&block3, &tmp25, &tmp26, &tmp27);
     869         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 125);
     870         672 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp25);
     871         672 :     CodeStubAssembler(state_).Unreachable();
     872             :   }
     873             : 
     874         672 :   if (block1.is_used()) {
     875         672 :     compiler::TNode<Context> tmp29;
     876         672 :     compiler::TNode<IntPtrT> tmp30;
     877         672 :     compiler::TNode<IntPtrT> tmp31;
     878         672 :     compiler::TNode<IntPtrT> tmp32;
     879         672 :     ca_.Bind(&block1, &tmp29, &tmp30, &tmp31, &tmp32);
     880         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 117);
     881         672 :     ca_.Goto(&block8, tmp29, tmp30, tmp31, tmp32);
     882             :   }
     883             : 
     884         672 :     compiler::TNode<Context> tmp33;
     885         672 :     compiler::TNode<IntPtrT> tmp34;
     886         672 :     compiler::TNode<IntPtrT> tmp35;
     887         672 :     compiler::TNode<IntPtrT> tmp36;
     888         672 :     ca_.Bind(&block8, &tmp33, &tmp34, &tmp35, &tmp36);
     889        1344 :   return compiler::TNode<IntPtrT>{tmp36};
     890             : }
     891             : 
     892         224 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::BufferJoin(compiler::TNode<Context> p_context, ArrayJoinBuiltinsFromDSLAssembler::Buffer p_buffer, compiler::TNode<String> p_sep) {
     893         224 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     894         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     895         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     896         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     897         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     898         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     899         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     900         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     901         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     902         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     903         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     904         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     905         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     906         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     907         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     908         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     909         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     910         224 :     ca_.Goto(&block0, p_context, p_buffer.fixedArray, p_buffer.index, p_buffer.totalStringLength, p_buffer.isOneByte, p_sep);
     911             : 
     912         224 :   if (block0.is_used()) {
     913         224 :     compiler::TNode<Context> tmp0;
     914         224 :     compiler::TNode<FixedArray> tmp1;
     915         224 :     compiler::TNode<IntPtrT> tmp2;
     916         224 :     compiler::TNode<IntPtrT> tmp3;
     917         224 :     compiler::TNode<BoolT> tmp4;
     918         224 :     compiler::TNode<String> tmp5;
     919         224 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
     920         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 229);
     921         224 :     compiler::TNode<IntPtrT> tmp6;
     922         224 :     USE(tmp6);
     923         224 :     tmp6 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
     924         224 :     compiler::TNode<BoolT> tmp7;
     925         224 :     USE(tmp7);
     926         224 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp6}));
     927         224 :     ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
     928             :   }
     929             : 
     930         224 :   if (block2.is_used()) {
     931         224 :     compiler::TNode<Context> tmp8;
     932         224 :     compiler::TNode<FixedArray> tmp9;
     933         224 :     compiler::TNode<IntPtrT> tmp10;
     934         224 :     compiler::TNode<IntPtrT> tmp11;
     935         224 :     compiler::TNode<BoolT> tmp12;
     936         224 :     compiler::TNode<String> tmp13;
     937         224 :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
     938         224 :     compiler::TNode<String> tmp14;
     939         224 :     USE(tmp14);
     940         224 :     tmp14 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     941         224 :     ca_.Goto(&block1, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
     942             :   }
     943             : 
     944         224 :   if (block3.is_used()) {
     945         224 :     compiler::TNode<Context> tmp15;
     946         224 :     compiler::TNode<FixedArray> tmp16;
     947         224 :     compiler::TNode<IntPtrT> tmp17;
     948         224 :     compiler::TNode<IntPtrT> tmp18;
     949         224 :     compiler::TNode<BoolT> tmp19;
     950         224 :     compiler::TNode<String> tmp20;
     951         224 :     ca_.Bind(&block3, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
     952         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 232);
     953         224 :     compiler::TNode<IntPtrT> tmp21;
     954         224 :     USE(tmp21);
     955         224 :     tmp21 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
     956         224 :     compiler::TNode<BoolT> tmp22;
     957         224 :     USE(tmp22);
     958         224 :     tmp22 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp17}, compiler::TNode<IntPtrT>{tmp21}));
     959         224 :     ca_.Branch(tmp22, &block4, &block5, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
     960             :   }
     961             : 
     962         224 :   if (block4.is_used()) {
     963         224 :     compiler::TNode<Context> tmp23;
     964         224 :     compiler::TNode<FixedArray> tmp24;
     965         224 :     compiler::TNode<IntPtrT> tmp25;
     966         224 :     compiler::TNode<IntPtrT> tmp26;
     967         224 :     compiler::TNode<BoolT> tmp27;
     968         224 :     compiler::TNode<String> tmp28;
     969         224 :     ca_.Bind(&block4, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
     970         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 233);
     971         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 234);
     972         224 :     compiler::TNode<Object> tmp29;
     973         224 :     USE(tmp29);
     974         224 :     tmp29 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, 0));
     975         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 237);
     976         224 :     compiler::TNode<String> tmp30;
     977         224 :     USE(tmp30);
     978         224 :     compiler::CodeAssemblerLabel label0(&ca_);
     979         224 :     tmp30 = BaseBuiltinsFromDSLAssembler(state_).Cast8ATString(compiler::TNode<Context>{tmp23}, compiler::TNode<Object>{tmp29}, &label0);
     980         224 :     ca_.Goto(&block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29, tmp30);
     981         224 :     if (label0.is_used()) {
     982         224 :       ca_.Bind(&label0);
     983         224 :       ca_.Goto(&block9, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29);
     984         224 :     }
     985             :   }
     986             : 
     987         224 :   if (block9.is_used()) {
     988         224 :     compiler::TNode<Context> tmp31;
     989         224 :     compiler::TNode<FixedArray> tmp32;
     990         224 :     compiler::TNode<IntPtrT> tmp33;
     991         224 :     compiler::TNode<IntPtrT> tmp34;
     992         224 :     compiler::TNode<BoolT> tmp35;
     993         224 :     compiler::TNode<String> tmp36;
     994         224 :     compiler::TNode<FixedArray> tmp37;
     995         224 :     compiler::TNode<Object> tmp38;
     996         224 :     compiler::TNode<Object> tmp39;
     997         224 :     ca_.Bind(&block9, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
     998         224 :     ca_.Goto(&block7, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38);
     999             :   }
    1000             : 
    1001         224 :   if (block8.is_used()) {
    1002         224 :     compiler::TNode<Context> tmp40;
    1003         224 :     compiler::TNode<FixedArray> tmp41;
    1004         224 :     compiler::TNode<IntPtrT> tmp42;
    1005         224 :     compiler::TNode<IntPtrT> tmp43;
    1006         224 :     compiler::TNode<BoolT> tmp44;
    1007         224 :     compiler::TNode<String> tmp45;
    1008         224 :     compiler::TNode<FixedArray> tmp46;
    1009         224 :     compiler::TNode<Object> tmp47;
    1010         224 :     compiler::TNode<Object> tmp48;
    1011         224 :     compiler::TNode<String> tmp49;
    1012         224 :     ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
    1013         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 238);
    1014         224 :     ca_.Goto(&block1, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp49);
    1015             :   }
    1016             : 
    1017         224 :   if (block7.is_used()) {
    1018         224 :     compiler::TNode<Context> tmp50;
    1019         224 :     compiler::TNode<FixedArray> tmp51;
    1020         224 :     compiler::TNode<IntPtrT> tmp52;
    1021         224 :     compiler::TNode<IntPtrT> tmp53;
    1022         224 :     compiler::TNode<BoolT> tmp54;
    1023         224 :     compiler::TNode<String> tmp55;
    1024         224 :     compiler::TNode<FixedArray> tmp56;
    1025         224 :     compiler::TNode<Object> tmp57;
    1026         224 :     ca_.Bind(&block7, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
    1027         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 243);
    1028         224 :     compiler::TNode<Number> tmp58;
    1029         224 :     USE(tmp58);
    1030         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    1031         224 :     tmp58 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp57)}, &label0);
    1032         224 :     ca_.Goto(&block12, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57), tmp58);
    1033         224 :     if (label0.is_used()) {
    1034         224 :       ca_.Bind(&label0);
    1035         224 :       ca_.Goto(&block13, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57));
    1036         224 :     }
    1037             :   }
    1038             : 
    1039         224 :   if (block13.is_used()) {
    1040         224 :     compiler::TNode<Context> tmp59;
    1041         224 :     compiler::TNode<FixedArray> tmp60;
    1042         224 :     compiler::TNode<IntPtrT> tmp61;
    1043         224 :     compiler::TNode<IntPtrT> tmp62;
    1044         224 :     compiler::TNode<BoolT> tmp63;
    1045         224 :     compiler::TNode<String> tmp64;
    1046         224 :     compiler::TNode<FixedArray> tmp65;
    1047         224 :     compiler::TNode<Object> tmp66;
    1048         224 :     compiler::TNode<Object> tmp67;
    1049         224 :     ca_.Bind(&block13, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
    1050         224 :     ca_.Goto(&block11, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66);
    1051             :   }
    1052             : 
    1053         224 :   if (block12.is_used()) {
    1054         224 :     compiler::TNode<Context> tmp68;
    1055         224 :     compiler::TNode<FixedArray> tmp69;
    1056         224 :     compiler::TNode<IntPtrT> tmp70;
    1057         224 :     compiler::TNode<IntPtrT> tmp71;
    1058         224 :     compiler::TNode<BoolT> tmp72;
    1059         224 :     compiler::TNode<String> tmp73;
    1060         224 :     compiler::TNode<FixedArray> tmp74;
    1061         224 :     compiler::TNode<Object> tmp75;
    1062         224 :     compiler::TNode<Object> tmp76;
    1063         224 :     compiler::TNode<Number> tmp77;
    1064         224 :     ca_.Bind(&block12, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
    1065         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 244);
    1066         224 :     compiler::TNode<String> tmp78;
    1067         224 :     tmp78 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp68, tmp73, tmp77));
    1068         224 :     USE(tmp78);
    1069         224 :     ca_.Goto(&block1, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp78);
    1070             :   }
    1071             : 
    1072         224 :   if (block11.is_used()) {
    1073         224 :     compiler::TNode<Context> tmp79;
    1074         224 :     compiler::TNode<FixedArray> tmp80;
    1075         224 :     compiler::TNode<IntPtrT> tmp81;
    1076         224 :     compiler::TNode<IntPtrT> tmp82;
    1077         224 :     compiler::TNode<BoolT> tmp83;
    1078         224 :     compiler::TNode<String> tmp84;
    1079         224 :     compiler::TNode<FixedArray> tmp85;
    1080         224 :     compiler::TNode<Object> tmp86;
    1081         224 :     ca_.Bind(&block11, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86);
    1082         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 246);
    1083         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 247);
    1084         224 :     CodeStubAssembler(state_).Unreachable();
    1085             :   }
    1086             : 
    1087         224 :   if (block5.is_used()) {
    1088         224 :     compiler::TNode<Context> tmp87;
    1089         224 :     compiler::TNode<FixedArray> tmp88;
    1090         224 :     compiler::TNode<IntPtrT> tmp89;
    1091         224 :     compiler::TNode<IntPtrT> tmp90;
    1092         224 :     compiler::TNode<BoolT> tmp91;
    1093         224 :     compiler::TNode<String> tmp92;
    1094         224 :     ca_.Bind(&block5, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
    1095         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 252);
    1096         224 :     compiler::TNode<UintPtrT> tmp93;
    1097         224 :     USE(tmp93);
    1098         224 :     tmp93 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).Unsigned(compiler::TNode<IntPtrT>{tmp90}));
    1099         224 :     compiler::TNode<Uint32T> tmp94;
    1100         224 :     USE(tmp94);
    1101         224 :     tmp94 = ca_.UncheckedCast<Uint32T>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATuint329ATuintptr(compiler::TNode<UintPtrT>{tmp93}));
    1102         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 253);
    1103         224 :     ca_.Branch(tmp91, &block14, &block15, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp94);
    1104             :   }
    1105             : 
    1106         224 :   if (block14.is_used()) {
    1107         224 :     compiler::TNode<Context> tmp95;
    1108         224 :     compiler::TNode<FixedArray> tmp96;
    1109         224 :     compiler::TNode<IntPtrT> tmp97;
    1110         224 :     compiler::TNode<IntPtrT> tmp98;
    1111         224 :     compiler::TNode<BoolT> tmp99;
    1112         224 :     compiler::TNode<String> tmp100;
    1113         224 :     compiler::TNode<Uint32T> tmp101;
    1114         224 :     ca_.Bind(&block14, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101);
    1115         224 :     compiler::TNode<String> tmp102;
    1116         224 :     USE(tmp102);
    1117         224 :     tmp102 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqOneByteString(compiler::TNode<Context>{tmp95}, compiler::TNode<Uint32T>{tmp101}));
    1118         224 :     ca_.Goto(&block17, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102);
    1119             :   }
    1120             : 
    1121         224 :   if (block15.is_used()) {
    1122         224 :     compiler::TNode<Context> tmp103;
    1123         224 :     compiler::TNode<FixedArray> tmp104;
    1124         224 :     compiler::TNode<IntPtrT> tmp105;
    1125         224 :     compiler::TNode<IntPtrT> tmp106;
    1126         224 :     compiler::TNode<BoolT> tmp107;
    1127         224 :     compiler::TNode<String> tmp108;
    1128         224 :     compiler::TNode<Uint32T> tmp109;
    1129         224 :     ca_.Bind(&block15, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
    1130         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 254);
    1131         224 :     compiler::TNode<String> tmp110;
    1132         224 :     USE(tmp110);
    1133         224 :     tmp110 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqTwoByteString(compiler::TNode<Context>{tmp103}, compiler::TNode<Uint32T>{tmp109}));
    1134         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 253);
    1135         224 :     ca_.Goto(&block16, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110);
    1136             :   }
    1137             : 
    1138         224 :   if (block17.is_used()) {
    1139         224 :     compiler::TNode<Context> tmp111;
    1140         224 :     compiler::TNode<FixedArray> tmp112;
    1141         224 :     compiler::TNode<IntPtrT> tmp113;
    1142         224 :     compiler::TNode<IntPtrT> tmp114;
    1143         224 :     compiler::TNode<BoolT> tmp115;
    1144         224 :     compiler::TNode<String> tmp116;
    1145         224 :     compiler::TNode<Uint32T> tmp117;
    1146         224 :     compiler::TNode<String> tmp118;
    1147         224 :     ca_.Bind(&block17, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
    1148         224 :     ca_.Goto(&block16, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
    1149             :   }
    1150             : 
    1151         224 :   if (block16.is_used()) {
    1152         224 :     compiler::TNode<Context> tmp119;
    1153         224 :     compiler::TNode<FixedArray> tmp120;
    1154         224 :     compiler::TNode<IntPtrT> tmp121;
    1155         224 :     compiler::TNode<IntPtrT> tmp122;
    1156         224 :     compiler::TNode<BoolT> tmp123;
    1157         224 :     compiler::TNode<String> tmp124;
    1158         224 :     compiler::TNode<Uint32T> tmp125;
    1159         224 :     compiler::TNode<String> tmp126;
    1160         224 :     ca_.Bind(&block16, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
    1161         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 256);
    1162         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 255);
    1163         224 :     compiler::TNode<String> tmp127;
    1164         224 :     USE(tmp127);
    1165         224 :     tmp127 = ca_.UncheckedCast<String>(ArrayBuiltinsAssembler(state_).CallJSArrayArrayJoinConcatToSequentialString(compiler::TNode<FixedArray>{tmp120}, compiler::TNode<IntPtrT>{tmp121}, compiler::TNode<String>{tmp124}, compiler::TNode<String>{tmp126}));
    1166         224 :     ca_.Goto(&block1, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp127);
    1167             :   }
    1168             : 
    1169         224 :   if (block1.is_used()) {
    1170         224 :     compiler::TNode<Context> tmp128;
    1171         224 :     compiler::TNode<FixedArray> tmp129;
    1172         224 :     compiler::TNode<IntPtrT> tmp130;
    1173         224 :     compiler::TNode<IntPtrT> tmp131;
    1174         224 :     compiler::TNode<BoolT> tmp132;
    1175         224 :     compiler::TNode<String> tmp133;
    1176         224 :     compiler::TNode<String> tmp134;
    1177         224 :     ca_.Bind(&block1, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134);
    1178         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 226);
    1179         224 :     ca_.Goto(&block18, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134);
    1180             :   }
    1181             : 
    1182         224 :     compiler::TNode<Context> tmp135;
    1183         224 :     compiler::TNode<FixedArray> tmp136;
    1184         224 :     compiler::TNode<IntPtrT> tmp137;
    1185         224 :     compiler::TNode<IntPtrT> tmp138;
    1186         224 :     compiler::TNode<BoolT> tmp139;
    1187         224 :     compiler::TNode<String> tmp140;
    1188         224 :     compiler::TNode<String> tmp141;
    1189         224 :     ca_.Bind(&block18, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141);
    1190         448 :   return compiler::TNode<String>{tmp141};
    1191             : }
    1192             : 
    1193         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) {
    1194         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1195         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1196         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver, JSArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1197         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1198         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1199         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1200         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1201         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1202         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1203         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1204         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1205         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1206         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1207         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block18(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    1208         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1209         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1210         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1211         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1212         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number, Smi> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1213         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1214         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1215         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1216         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1217         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1218         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1219         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1220         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1221         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1222         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1223         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1224         112 :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
    1225             : 
    1226         112 :   if (block0.is_used()) {
    1227         112 :     compiler::TNode<Context> tmp0;
    1228         112 :     compiler::TNode<JSReceiver> tmp1;
    1229         112 :     compiler::TNode<String> tmp2;
    1230         112 :     compiler::TNode<Number> tmp3;
    1231         112 :     compiler::TNode<Object> tmp4;
    1232         112 :     compiler::TNode<Object> tmp5;
    1233         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    1234         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 330);
    1235         112 :     compiler::TNode<Map> tmp6;
    1236         112 :     USE(tmp6);
    1237         112 :     tmp6 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp1}));
    1238         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 331);
    1239         112 :     compiler::TNode<Int32T> tmp7;
    1240         112 :     USE(tmp7);
    1241         112 :     tmp7 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp6}));
    1242         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 332);
    1243         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 335);
    1244         112 :     compiler::TNode<JSArray> tmp8;
    1245         112 :     USE(tmp8);
    1246         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    1247         112 :     tmp8 = BaseBuiltinsFromDSLAssembler(state_).Cast7JSArray(compiler::TNode<HeapObject>{tmp1}, &label0);
    1248         112 :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, ca_.Uninitialized<BuiltinPtr>(), tmp1, tmp8);
    1249         112 :     if (label0.is_used()) {
    1250         112 :       ca_.Bind(&label0);
    1251         112 :       ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, ca_.Uninitialized<BuiltinPtr>(), tmp1);
    1252         112 :     }
    1253             :   }
    1254             : 
    1255         112 :   if (block5.is_used()) {
    1256         112 :     compiler::TNode<Context> tmp9;
    1257         112 :     compiler::TNode<JSReceiver> tmp10;
    1258         112 :     compiler::TNode<String> tmp11;
    1259         112 :     compiler::TNode<Number> tmp12;
    1260         112 :     compiler::TNode<Object> tmp13;
    1261         112 :     compiler::TNode<Object> tmp14;
    1262         112 :     compiler::TNode<Map> tmp15;
    1263         112 :     compiler::TNode<Int32T> tmp16;
    1264         112 :     compiler::TNode<BuiltinPtr> tmp17;
    1265         112 :     compiler::TNode<JSReceiver> tmp18;
    1266         112 :     ca_.Bind(&block5, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
    1267         112 :     ca_.Goto(&block3, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
    1268             :   }
    1269             : 
    1270         112 :   if (block4.is_used()) {
    1271         112 :     compiler::TNode<Context> tmp19;
    1272         112 :     compiler::TNode<JSReceiver> tmp20;
    1273         112 :     compiler::TNode<String> tmp21;
    1274         112 :     compiler::TNode<Number> tmp22;
    1275         112 :     compiler::TNode<Object> tmp23;
    1276         112 :     compiler::TNode<Object> tmp24;
    1277         112 :     compiler::TNode<Map> tmp25;
    1278         112 :     compiler::TNode<Int32T> tmp26;
    1279         112 :     compiler::TNode<BuiltinPtr> tmp27;
    1280         112 :     compiler::TNode<JSReceiver> tmp28;
    1281         112 :     compiler::TNode<JSArray> tmp29;
    1282         112 :     ca_.Bind(&block4, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
    1283         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 336);
    1284         112 :     compiler::TNode<Number> tmp30;
    1285         112 :     USE(tmp30);
    1286         112 :     tmp30 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArrayLength(compiler::TNode<JSArray>{tmp29}));
    1287         112 :     compiler::TNode<BoolT> tmp31;
    1288         112 :     USE(tmp31);
    1289         112 :     tmp31 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp22}));
    1290         112 :     ca_.Branch(tmp31, &block6, &block7, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp29);
    1291             :   }
    1292             : 
    1293         112 :   if (block6.is_used()) {
    1294         112 :     compiler::TNode<Context> tmp32;
    1295         112 :     compiler::TNode<JSReceiver> tmp33;
    1296         112 :     compiler::TNode<String> tmp34;
    1297         112 :     compiler::TNode<Number> tmp35;
    1298         112 :     compiler::TNode<Object> tmp36;
    1299         112 :     compiler::TNode<Object> tmp37;
    1300         112 :     compiler::TNode<Map> tmp38;
    1301         112 :     compiler::TNode<Int32T> tmp39;
    1302         112 :     compiler::TNode<BuiltinPtr> tmp40;
    1303         112 :     compiler::TNode<JSArray> tmp41;
    1304         112 :     ca_.Bind(&block6, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41);
    1305         112 :     ca_.Goto(&block3, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40);
    1306             :   }
    1307             : 
    1308         112 :   if (block7.is_used()) {
    1309         112 :     compiler::TNode<Context> tmp42;
    1310         112 :     compiler::TNode<JSReceiver> tmp43;
    1311         112 :     compiler::TNode<String> tmp44;
    1312         112 :     compiler::TNode<Number> tmp45;
    1313         112 :     compiler::TNode<Object> tmp46;
    1314         112 :     compiler::TNode<Object> tmp47;
    1315         112 :     compiler::TNode<Map> tmp48;
    1316         112 :     compiler::TNode<Int32T> tmp49;
    1317         112 :     compiler::TNode<BuiltinPtr> tmp50;
    1318         112 :     compiler::TNode<JSArray> tmp51;
    1319         112 :     ca_.Bind(&block7, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    1320         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 337);
    1321         112 :     compiler::TNode<BoolT> tmp52;
    1322         112 :     USE(tmp52);
    1323         112 :     tmp52 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsPrototypeInitialArrayPrototype(compiler::TNode<Context>{tmp42}, compiler::TNode<Map>{tmp48}));
    1324         112 :     compiler::TNode<BoolT> tmp53;
    1325         112 :     USE(tmp53);
    1326         112 :     tmp53 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp52}));
    1327         112 :     ca_.Branch(tmp53, &block8, &block9, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51);
    1328             :   }
    1329             : 
    1330         112 :   if (block8.is_used()) {
    1331         112 :     compiler::TNode<Context> tmp54;
    1332         112 :     compiler::TNode<JSReceiver> tmp55;
    1333         112 :     compiler::TNode<String> tmp56;
    1334         112 :     compiler::TNode<Number> tmp57;
    1335         112 :     compiler::TNode<Object> tmp58;
    1336         112 :     compiler::TNode<Object> tmp59;
    1337         112 :     compiler::TNode<Map> tmp60;
    1338         112 :     compiler::TNode<Int32T> tmp61;
    1339         112 :     compiler::TNode<BuiltinPtr> tmp62;
    1340         112 :     compiler::TNode<JSArray> tmp63;
    1341         112 :     ca_.Bind(&block8, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63);
    1342         112 :     ca_.Goto(&block3, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62);
    1343             :   }
    1344             : 
    1345         112 :   if (block9.is_used()) {
    1346         112 :     compiler::TNode<Context> tmp64;
    1347         112 :     compiler::TNode<JSReceiver> tmp65;
    1348         112 :     compiler::TNode<String> tmp66;
    1349         112 :     compiler::TNode<Number> tmp67;
    1350         112 :     compiler::TNode<Object> tmp68;
    1351         112 :     compiler::TNode<Object> tmp69;
    1352         112 :     compiler::TNode<Map> tmp70;
    1353         112 :     compiler::TNode<Int32T> tmp71;
    1354         112 :     compiler::TNode<BuiltinPtr> tmp72;
    1355         112 :     compiler::TNode<JSArray> tmp73;
    1356         112 :     ca_.Bind(&block9, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73);
    1357         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 338);
    1358         112 :     compiler::TNode<BoolT> tmp74;
    1359         112 :     USE(tmp74);
    1360         112 :     tmp74 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
    1361         112 :     ca_.Branch(tmp74, &block10, &block11, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
    1362             :   }
    1363             : 
    1364         112 :   if (block10.is_used()) {
    1365         112 :     compiler::TNode<Context> tmp75;
    1366         112 :     compiler::TNode<JSReceiver> tmp76;
    1367         112 :     compiler::TNode<String> tmp77;
    1368         112 :     compiler::TNode<Number> tmp78;
    1369         112 :     compiler::TNode<Object> tmp79;
    1370         112 :     compiler::TNode<Object> tmp80;
    1371         112 :     compiler::TNode<Map> tmp81;
    1372         112 :     compiler::TNode<Int32T> tmp82;
    1373         112 :     compiler::TNode<BuiltinPtr> tmp83;
    1374         112 :     compiler::TNode<JSArray> tmp84;
    1375         112 :     ca_.Bind(&block10, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84);
    1376         112 :     ca_.Goto(&block3, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83);
    1377             :   }
    1378             : 
    1379         112 :   if (block11.is_used()) {
    1380         112 :     compiler::TNode<Context> tmp85;
    1381         112 :     compiler::TNode<JSReceiver> tmp86;
    1382         112 :     compiler::TNode<String> tmp87;
    1383         112 :     compiler::TNode<Number> tmp88;
    1384         112 :     compiler::TNode<Object> tmp89;
    1385         112 :     compiler::TNode<Object> tmp90;
    1386         112 :     compiler::TNode<Map> tmp91;
    1387         112 :     compiler::TNode<Int32T> tmp92;
    1388         112 :     compiler::TNode<BuiltinPtr> tmp93;
    1389         112 :     compiler::TNode<JSArray> tmp94;
    1390         112 :     ca_.Bind(&block11, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94);
    1391         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 340);
    1392         112 :     compiler::TNode<BoolT> tmp95;
    1393         112 :     USE(tmp95);
    1394         112 :     tmp95 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp92}, HOLEY_ELEMENTS));
    1395         112 :     ca_.Branch(tmp95, &block12, &block13, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94);
    1396             :   }
    1397             : 
    1398         112 :   if (block12.is_used()) {
    1399         112 :     compiler::TNode<Context> tmp96;
    1400         112 :     compiler::TNode<JSReceiver> tmp97;
    1401         112 :     compiler::TNode<String> tmp98;
    1402         112 :     compiler::TNode<Number> tmp99;
    1403         112 :     compiler::TNode<Object> tmp100;
    1404         112 :     compiler::TNode<Object> tmp101;
    1405         112 :     compiler::TNode<Map> tmp102;
    1406         112 :     compiler::TNode<Int32T> tmp103;
    1407         112 :     compiler::TNode<BuiltinPtr> tmp104;
    1408         112 :     compiler::TNode<JSArray> tmp105;
    1409         112 :     ca_.Bind(&block12, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105);
    1410         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 341);
    1411         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 340);
    1412         112 :     ca_.Goto(&block14, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATFastSmiOrObjectElements)), tmp105);
    1413             :   }
    1414             : 
    1415         112 :   if (block13.is_used()) {
    1416         112 :     compiler::TNode<Context> tmp106;
    1417         112 :     compiler::TNode<JSReceiver> tmp107;
    1418         112 :     compiler::TNode<String> tmp108;
    1419         112 :     compiler::TNode<Number> tmp109;
    1420         112 :     compiler::TNode<Object> tmp110;
    1421         112 :     compiler::TNode<Object> tmp111;
    1422         112 :     compiler::TNode<Map> tmp112;
    1423         112 :     compiler::TNode<Int32T> tmp113;
    1424         112 :     compiler::TNode<BuiltinPtr> tmp114;
    1425         112 :     compiler::TNode<JSArray> tmp115;
    1426         112 :     ca_.Bind(&block13, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
    1427         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 342);
    1428         112 :     compiler::TNode<BoolT> tmp116;
    1429         112 :     USE(tmp116);
    1430         112 :     tmp116 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp113}, HOLEY_DOUBLE_ELEMENTS));
    1431         112 :     ca_.Branch(tmp116, &block15, &block16, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115);
    1432             :   }
    1433             : 
    1434         112 :   if (block15.is_used()) {
    1435         112 :     compiler::TNode<Context> tmp117;
    1436         112 :     compiler::TNode<JSReceiver> tmp118;
    1437         112 :     compiler::TNode<String> tmp119;
    1438         112 :     compiler::TNode<Number> tmp120;
    1439         112 :     compiler::TNode<Object> tmp121;
    1440         112 :     compiler::TNode<Object> tmp122;
    1441         112 :     compiler::TNode<Map> tmp123;
    1442         112 :     compiler::TNode<Int32T> tmp124;
    1443         112 :     compiler::TNode<BuiltinPtr> tmp125;
    1444         112 :     compiler::TNode<JSArray> tmp126;
    1445         112 :     ca_.Bind(&block15, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
    1446         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
    1447         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 342);
    1448         112 :     ca_.Goto(&block17, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATFastDoubleElements)), tmp126);
    1449             :   }
    1450             : 
    1451         112 :   if (block16.is_used()) {
    1452         112 :     compiler::TNode<Context> tmp127;
    1453         112 :     compiler::TNode<JSReceiver> tmp128;
    1454         112 :     compiler::TNode<String> tmp129;
    1455         112 :     compiler::TNode<Number> tmp130;
    1456         112 :     compiler::TNode<Object> tmp131;
    1457         112 :     compiler::TNode<Object> tmp132;
    1458         112 :     compiler::TNode<Map> tmp133;
    1459         112 :     compiler::TNode<Int32T> tmp134;
    1460         112 :     compiler::TNode<BuiltinPtr> tmp135;
    1461         112 :     compiler::TNode<JSArray> tmp136;
    1462         112 :     ca_.Bind(&block16, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136);
    1463         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 344);
    1464         112 :     compiler::TNode<Int32T> tmp137;
    1465         112 :     USE(tmp137);
    1466         112 :     tmp137 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(DICTIONARY_ELEMENTS));
    1467         112 :     compiler::TNode<BoolT> tmp138;
    1468         112 :     USE(tmp138);
    1469         112 :     tmp138 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp134}, compiler::TNode<Int32T>{tmp137}));
    1470         112 :     ca_.Branch(tmp138, &block18, &block19, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136);
    1471             :   }
    1472             : 
    1473         112 :   if (block18.is_used()) {
    1474         112 :     compiler::TNode<Context> tmp139;
    1475         112 :     compiler::TNode<JSReceiver> tmp140;
    1476         112 :     compiler::TNode<String> tmp141;
    1477         112 :     compiler::TNode<Number> tmp142;
    1478         112 :     compiler::TNode<Object> tmp143;
    1479         112 :     compiler::TNode<Object> tmp144;
    1480         112 :     compiler::TNode<Map> tmp145;
    1481         112 :     compiler::TNode<Int32T> tmp146;
    1482         112 :     compiler::TNode<BuiltinPtr> tmp147;
    1483         112 :     compiler::TNode<JSArray> tmp148;
    1484         112 :     ca_.Bind(&block18, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148);
    1485         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 347);
    1486         112 :     compiler::TNode<FixedArrayBase> tmp149;
    1487         112 :     USE(tmp149);
    1488         112 :     tmp149 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp148}));
    1489         112 :     compiler::TNode<NumberDictionary> tmp150;
    1490         112 :     USE(tmp150);
    1491         112 :     tmp150 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp139}, compiler::TNode<Object>{tmp149}));
    1492         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 346);
    1493         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 348);
    1494         112 :     compiler::TNode<Smi> tmp151;
    1495         112 :     USE(tmp151);
    1496         112 :     tmp151 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).GetNumberDictionaryNumberOfElements(compiler::TNode<NumberDictionary>{tmp150}));
    1497         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 349);
    1498         112 :     compiler::TNode<Smi> tmp152;
    1499         112 :     USE(tmp152);
    1500         112 :     tmp152 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
    1501         112 :     compiler::TNode<BoolT> tmp153;
    1502         112 :     USE(tmp153);
    1503         112 :     tmp153 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp151}, compiler::TNode<Smi>{tmp152}));
    1504         112 :     ca_.Branch(tmp153, &block21, &block22, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp150, tmp151);
    1505             :   }
    1506             : 
    1507         112 :   if (block21.is_used()) {
    1508         112 :     compiler::TNode<Context> tmp154;
    1509         112 :     compiler::TNode<JSReceiver> tmp155;
    1510         112 :     compiler::TNode<String> tmp156;
    1511         112 :     compiler::TNode<Number> tmp157;
    1512         112 :     compiler::TNode<Object> tmp158;
    1513         112 :     compiler::TNode<Object> tmp159;
    1514         112 :     compiler::TNode<Map> tmp160;
    1515         112 :     compiler::TNode<Int32T> tmp161;
    1516         112 :     compiler::TNode<BuiltinPtr> tmp162;
    1517         112 :     compiler::TNode<JSArray> tmp163;
    1518         112 :     compiler::TNode<NumberDictionary> tmp164;
    1519         112 :     compiler::TNode<Smi> tmp165;
    1520         112 :     ca_.Bind(&block21, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
    1521         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 350);
    1522         112 :     compiler::TNode<String> tmp166;
    1523         112 :     USE(tmp166);
    1524         112 :     tmp166 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    1525         112 :     compiler::TNode<BoolT> tmp167;
    1526         112 :     USE(tmp167);
    1527         112 :     tmp167 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp156}, compiler::TNode<HeapObject>{tmp166}));
    1528         112 :     ca_.Branch(tmp167, &block24, &block25, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165);
    1529             :   }
    1530             : 
    1531         112 :   if (block24.is_used()) {
    1532         112 :     compiler::TNode<Context> tmp168;
    1533         112 :     compiler::TNode<JSReceiver> tmp169;
    1534         112 :     compiler::TNode<String> tmp170;
    1535         112 :     compiler::TNode<Number> tmp171;
    1536         112 :     compiler::TNode<Object> tmp172;
    1537         112 :     compiler::TNode<Object> tmp173;
    1538         112 :     compiler::TNode<Map> tmp174;
    1539         112 :     compiler::TNode<Int32T> tmp175;
    1540         112 :     compiler::TNode<BuiltinPtr> tmp176;
    1541         112 :     compiler::TNode<JSArray> tmp177;
    1542         112 :     compiler::TNode<NumberDictionary> tmp178;
    1543         112 :     compiler::TNode<Smi> tmp179;
    1544         112 :     ca_.Bind(&block24, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179);
    1545         112 :     compiler::TNode<String> tmp180;
    1546         112 :     USE(tmp180);
    1547         112 :     tmp180 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    1548         112 :     ca_.Goto(&block1, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp180);
    1549             :   }
    1550             : 
    1551         112 :   if (block25.is_used()) {
    1552         112 :     compiler::TNode<Context> tmp181;
    1553         112 :     compiler::TNode<JSReceiver> tmp182;
    1554         112 :     compiler::TNode<String> tmp183;
    1555         112 :     compiler::TNode<Number> tmp184;
    1556         112 :     compiler::TNode<Object> tmp185;
    1557         112 :     compiler::TNode<Object> tmp186;
    1558         112 :     compiler::TNode<Map> tmp187;
    1559         112 :     compiler::TNode<Int32T> tmp188;
    1560         112 :     compiler::TNode<BuiltinPtr> tmp189;
    1561         112 :     compiler::TNode<JSArray> tmp190;
    1562         112 :     compiler::TNode<NumberDictionary> tmp191;
    1563         112 :     compiler::TNode<Smi> tmp192;
    1564         112 :     ca_.Bind(&block25, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192);
    1565         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 353);
    1566         112 :     compiler::TNode<Number> tmp193;
    1567         112 :     USE(tmp193);
    1568         112 :     tmp193 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
    1569         112 :     compiler::TNode<Number> tmp194;
    1570         112 :     USE(tmp194);
    1571         112 :     tmp194 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp184}, compiler::TNode<Number>{tmp193}));
    1572         112 :     compiler::TNode<Smi> tmp195;
    1573         112 :     USE(tmp195);
    1574         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    1575         112 :     tmp195 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp194}, &label0);
    1576         112 :     ca_.Goto(&block28, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp194, tmp195);
    1577         112 :     if (label0.is_used()) {
    1578         112 :       ca_.Bind(&label0);
    1579         112 :       ca_.Goto(&block29, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp194);
    1580         112 :     }
    1581             :   }
    1582             : 
    1583         112 :   if (block29.is_used()) {
    1584         112 :     compiler::TNode<Context> tmp196;
    1585         112 :     compiler::TNode<JSReceiver> tmp197;
    1586         112 :     compiler::TNode<String> tmp198;
    1587         112 :     compiler::TNode<Number> tmp199;
    1588         112 :     compiler::TNode<Object> tmp200;
    1589         112 :     compiler::TNode<Object> tmp201;
    1590         112 :     compiler::TNode<Map> tmp202;
    1591         112 :     compiler::TNode<Int32T> tmp203;
    1592         112 :     compiler::TNode<BuiltinPtr> tmp204;
    1593         112 :     compiler::TNode<JSArray> tmp205;
    1594         112 :     compiler::TNode<NumberDictionary> tmp206;
    1595         112 :     compiler::TNode<Smi> tmp207;
    1596         112 :     compiler::TNode<Number> tmp208;
    1597         112 :     ca_.Bind(&block29, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208);
    1598         112 :     ca_.Goto(&block27, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207);
    1599             :   }
    1600             : 
    1601         112 :   if (block28.is_used()) {
    1602         112 :     compiler::TNode<Context> tmp209;
    1603         112 :     compiler::TNode<JSReceiver> tmp210;
    1604         112 :     compiler::TNode<String> tmp211;
    1605         112 :     compiler::TNode<Number> tmp212;
    1606         112 :     compiler::TNode<Object> tmp213;
    1607         112 :     compiler::TNode<Object> tmp214;
    1608         112 :     compiler::TNode<Map> tmp215;
    1609         112 :     compiler::TNode<Int32T> tmp216;
    1610         112 :     compiler::TNode<BuiltinPtr> tmp217;
    1611         112 :     compiler::TNode<JSArray> tmp218;
    1612         112 :     compiler::TNode<NumberDictionary> tmp219;
    1613         112 :     compiler::TNode<Smi> tmp220;
    1614         112 :     compiler::TNode<Number> tmp221;
    1615         112 :     compiler::TNode<Smi> tmp222;
    1616         112 :     ca_.Bind(&block28, &tmp209, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222);
    1617         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 352);
    1618         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 354);
    1619         112 :     compiler::TNode<String> tmp223;
    1620         112 :     tmp223 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp209, tmp211, tmp222));
    1621         112 :     USE(tmp223);
    1622         112 :     ca_.Goto(&block1, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp223);
    1623             :   }
    1624             : 
    1625         112 :   if (block27.is_used()) {
    1626         112 :     compiler::TNode<Context> tmp224;
    1627         112 :     compiler::TNode<JSReceiver> tmp225;
    1628         112 :     compiler::TNode<String> tmp226;
    1629         112 :     compiler::TNode<Number> tmp227;
    1630         112 :     compiler::TNode<Object> tmp228;
    1631         112 :     compiler::TNode<Object> tmp229;
    1632         112 :     compiler::TNode<Map> tmp230;
    1633         112 :     compiler::TNode<Int32T> tmp231;
    1634         112 :     compiler::TNode<BuiltinPtr> tmp232;
    1635         112 :     compiler::TNode<JSArray> tmp233;
    1636         112 :     compiler::TNode<NumberDictionary> tmp234;
    1637         112 :     compiler::TNode<Smi> tmp235;
    1638         112 :     ca_.Bind(&block27, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235);
    1639         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 357);
    1640         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp224);
    1641         112 :     CodeStubAssembler(state_).Unreachable();
    1642             :   }
    1643             : 
    1644         112 :   if (block22.is_used()) {
    1645         112 :     compiler::TNode<Context> tmp237;
    1646         112 :     compiler::TNode<JSReceiver> tmp238;
    1647         112 :     compiler::TNode<String> tmp239;
    1648         112 :     compiler::TNode<Number> tmp240;
    1649         112 :     compiler::TNode<Object> tmp241;
    1650         112 :     compiler::TNode<Object> tmp242;
    1651         112 :     compiler::TNode<Map> tmp243;
    1652         112 :     compiler::TNode<Int32T> tmp244;
    1653         112 :     compiler::TNode<BuiltinPtr> tmp245;
    1654         112 :     compiler::TNode<JSArray> tmp246;
    1655         112 :     compiler::TNode<NumberDictionary> tmp247;
    1656         112 :     compiler::TNode<Smi> tmp248;
    1657         112 :     ca_.Bind(&block22, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248);
    1658         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 360);
    1659         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 349);
    1660         112 :     ca_.Goto(&block23, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATDictionaryElements)), tmp246, tmp247, tmp248);
    1661             :   }
    1662             : 
    1663         112 :   if (block23.is_used()) {
    1664         112 :     compiler::TNode<Context> tmp249;
    1665         112 :     compiler::TNode<JSReceiver> tmp250;
    1666         112 :     compiler::TNode<String> tmp251;
    1667         112 :     compiler::TNode<Number> tmp252;
    1668         112 :     compiler::TNode<Object> tmp253;
    1669         112 :     compiler::TNode<Object> tmp254;
    1670         112 :     compiler::TNode<Map> tmp255;
    1671         112 :     compiler::TNode<Int32T> tmp256;
    1672         112 :     compiler::TNode<BuiltinPtr> tmp257;
    1673         112 :     compiler::TNode<JSArray> tmp258;
    1674         112 :     compiler::TNode<NumberDictionary> tmp259;
    1675         112 :     compiler::TNode<Smi> tmp260;
    1676         112 :     ca_.Bind(&block23, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260);
    1677         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
    1678         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 344);
    1679         112 :     ca_.Goto(&block20, tmp249, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258);
    1680             :   }
    1681             : 
    1682         112 :   if (block19.is_used()) {
    1683         112 :     compiler::TNode<Context> tmp261;
    1684         112 :     compiler::TNode<JSReceiver> tmp262;
    1685         112 :     compiler::TNode<String> tmp263;
    1686         112 :     compiler::TNode<Number> tmp264;
    1687         112 :     compiler::TNode<Object> tmp265;
    1688         112 :     compiler::TNode<Object> tmp266;
    1689         112 :     compiler::TNode<Map> tmp267;
    1690         112 :     compiler::TNode<Int32T> tmp268;
    1691         112 :     compiler::TNode<BuiltinPtr> tmp269;
    1692         112 :     compiler::TNode<JSArray> tmp270;
    1693         112 :     ca_.Bind(&block19, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270);
    1694         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 364);
    1695         112 :     ca_.Goto(&block3, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269);
    1696             :   }
    1697             : 
    1698         112 :   if (block20.is_used()) {
    1699         112 :     compiler::TNode<Context> tmp271;
    1700         112 :     compiler::TNode<JSReceiver> tmp272;
    1701         112 :     compiler::TNode<String> tmp273;
    1702         112 :     compiler::TNode<Number> tmp274;
    1703         112 :     compiler::TNode<Object> tmp275;
    1704         112 :     compiler::TNode<Object> tmp276;
    1705         112 :     compiler::TNode<Map> tmp277;
    1706         112 :     compiler::TNode<Int32T> tmp278;
    1707         112 :     compiler::TNode<BuiltinPtr> tmp279;
    1708         112 :     compiler::TNode<JSArray> tmp280;
    1709         112 :     ca_.Bind(&block20, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280);
    1710         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 342);
    1711         112 :     ca_.Goto(&block17, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280);
    1712             :   }
    1713             : 
    1714         112 :   if (block17.is_used()) {
    1715         112 :     compiler::TNode<Context> tmp281;
    1716         112 :     compiler::TNode<JSReceiver> tmp282;
    1717         112 :     compiler::TNode<String> tmp283;
    1718         112 :     compiler::TNode<Number> tmp284;
    1719         112 :     compiler::TNode<Object> tmp285;
    1720         112 :     compiler::TNode<Object> tmp286;
    1721         112 :     compiler::TNode<Map> tmp287;
    1722         112 :     compiler::TNode<Int32T> tmp288;
    1723         112 :     compiler::TNode<BuiltinPtr> tmp289;
    1724         112 :     compiler::TNode<JSArray> tmp290;
    1725         112 :     ca_.Bind(&block17, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290);
    1726         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 340);
    1727         112 :     ca_.Goto(&block14, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290);
    1728             :   }
    1729             : 
    1730         112 :   if (block14.is_used()) {
    1731         112 :     compiler::TNode<Context> tmp291;
    1732         112 :     compiler::TNode<JSReceiver> tmp292;
    1733         112 :     compiler::TNode<String> tmp293;
    1734         112 :     compiler::TNode<Number> tmp294;
    1735         112 :     compiler::TNode<Object> tmp295;
    1736         112 :     compiler::TNode<Object> tmp296;
    1737         112 :     compiler::TNode<Map> tmp297;
    1738         112 :     compiler::TNode<Int32T> tmp298;
    1739         112 :     compiler::TNode<BuiltinPtr> tmp299;
    1740         112 :     compiler::TNode<JSArray> tmp300;
    1741         112 :     ca_.Bind(&block14, &tmp291, &tmp292, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300);
    1742         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 334);
    1743         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 367);
    1744         112 :     ca_.Goto(&block2, tmp291, tmp292, tmp293, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299);
    1745             :   }
    1746             : 
    1747         112 :   if (block3.is_used()) {
    1748         112 :     compiler::TNode<Context> tmp301;
    1749         112 :     compiler::TNode<JSReceiver> tmp302;
    1750         112 :     compiler::TNode<String> tmp303;
    1751         112 :     compiler::TNode<Number> tmp304;
    1752         112 :     compiler::TNode<Object> tmp305;
    1753         112 :     compiler::TNode<Object> tmp306;
    1754         112 :     compiler::TNode<Map> tmp307;
    1755         112 :     compiler::TNode<Int32T> tmp308;
    1756         112 :     compiler::TNode<BuiltinPtr> tmp309;
    1757         112 :     ca_.Bind(&block3, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309);
    1758         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 368);
    1759         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 334);
    1760         112 :     ca_.Goto(&block2, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)));
    1761             :   }
    1762             : 
    1763         112 :   if (block2.is_used()) {
    1764         112 :     compiler::TNode<Context> tmp310;
    1765         112 :     compiler::TNode<JSReceiver> tmp311;
    1766         112 :     compiler::TNode<String> tmp312;
    1767         112 :     compiler::TNode<Number> tmp313;
    1768         112 :     compiler::TNode<Object> tmp314;
    1769         112 :     compiler::TNode<Object> tmp315;
    1770         112 :     compiler::TNode<Map> tmp316;
    1771         112 :     compiler::TNode<Int32T> tmp317;
    1772         112 :     compiler::TNode<BuiltinPtr> tmp318;
    1773         112 :     ca_.Bind(&block2, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318);
    1774         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 371);
    1775         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 370);
    1776         112 :     compiler::TNode<String> tmp319;
    1777         112 :     USE(tmp319);
    1778         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}));
    1779         112 :     ca_.Goto(&block1, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp319);
    1780             :   }
    1781             : 
    1782         112 :   if (block1.is_used()) {
    1783         112 :     compiler::TNode<Context> tmp320;
    1784         112 :     compiler::TNode<JSReceiver> tmp321;
    1785         112 :     compiler::TNode<String> tmp322;
    1786         112 :     compiler::TNode<Number> tmp323;
    1787         112 :     compiler::TNode<Object> tmp324;
    1788         112 :     compiler::TNode<Object> tmp325;
    1789         112 :     compiler::TNode<Object> tmp326;
    1790         112 :     ca_.Bind(&block1, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326);
    1791         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
    1792         112 :     ca_.Goto(&block30, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326);
    1793             :   }
    1794             : 
    1795         112 :     compiler::TNode<Context> tmp327;
    1796         112 :     compiler::TNode<JSReceiver> tmp328;
    1797         112 :     compiler::TNode<String> tmp329;
    1798         112 :     compiler::TNode<Number> tmp330;
    1799         112 :     compiler::TNode<Object> tmp331;
    1800         112 :     compiler::TNode<Object> tmp332;
    1801         112 :     compiler::TNode<Object> tmp333;
    1802         112 :     ca_.Bind(&block30, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333);
    1803         224 :   return compiler::TNode<Object>{tmp333};
    1804             : }
    1805             : 
    1806         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) {
    1807         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1808         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1809         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1810         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1811         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1812         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1813         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1814         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1815         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1816         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1817         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1818         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1819         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1820         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1821         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1822         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1823         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1824         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1825         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1826         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1827         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1828         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1829         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1830         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1831         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1832         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1833         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1834         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1835         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block33(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1836         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1837         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1838         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1839         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1840         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1841         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1842         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1843         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1844         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1845         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1846         112 :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
    1847             : 
    1848         112 :   if (block0.is_used()) {
    1849         112 :     compiler::TNode<Context> tmp0;
    1850         112 :     compiler::TNode<JSReceiver> tmp1;
    1851         112 :     compiler::TNode<String> tmp2;
    1852         112 :     compiler::TNode<Number> tmp3;
    1853         112 :     compiler::TNode<Object> tmp4;
    1854         112 :     compiler::TNode<Object> tmp5;
    1855         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    1856         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 377);
    1857         112 :     compiler::TNode<Map> tmp6;
    1858         112 :     USE(tmp6);
    1859         112 :     tmp6 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp1}));
    1860         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 378);
    1861         112 :     compiler::TNode<Int32T> tmp7;
    1862         112 :     USE(tmp7);
    1863         112 :     tmp7 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp6}));
    1864         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 379);
    1865         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 381);
    1866         112 :     compiler::TNode<BoolT> tmp8;
    1867         112 :     USE(tmp8);
    1868         112 :     tmp8 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindGreaterThan(compiler::TNode<Int32T>{tmp7}, UINT32_ELEMENTS));
    1869         112 :     ca_.Branch(tmp8, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, ca_.Uninitialized<BuiltinPtr>());
    1870             :   }
    1871             : 
    1872         112 :   if (block2.is_used()) {
    1873         112 :     compiler::TNode<Context> tmp9;
    1874         112 :     compiler::TNode<JSReceiver> tmp10;
    1875         112 :     compiler::TNode<String> tmp11;
    1876         112 :     compiler::TNode<Number> tmp12;
    1877         112 :     compiler::TNode<Object> tmp13;
    1878         112 :     compiler::TNode<Object> tmp14;
    1879         112 :     compiler::TNode<Map> tmp15;
    1880         112 :     compiler::TNode<Int32T> tmp16;
    1881         112 :     compiler::TNode<BuiltinPtr> tmp17;
    1882         112 :     ca_.Bind(&block2, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17);
    1883         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 382);
    1884         112 :     compiler::TNode<Int32T> tmp18;
    1885         112 :     USE(tmp18);
    1886         112 :     tmp18 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT32_ELEMENTS));
    1887         112 :     compiler::TNode<BoolT> tmp19;
    1888         112 :     USE(tmp19);
    1889         112 :     tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp16}, compiler::TNode<Int32T>{tmp18}));
    1890         112 :     ca_.Branch(tmp19, &block5, &block6, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
    1891             :   }
    1892             : 
    1893         112 :   if (block5.is_used()) {
    1894         112 :     compiler::TNode<Context> tmp20;
    1895         112 :     compiler::TNode<JSReceiver> tmp21;
    1896         112 :     compiler::TNode<String> tmp22;
    1897         112 :     compiler::TNode<Number> tmp23;
    1898         112 :     compiler::TNode<Object> tmp24;
    1899         112 :     compiler::TNode<Object> tmp25;
    1900         112 :     compiler::TNode<Map> tmp26;
    1901         112 :     compiler::TNode<Int32T> tmp27;
    1902         112 :     compiler::TNode<BuiltinPtr> tmp28;
    1903         112 :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
    1904         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 383);
    1905         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 382);
    1906         112 :     ca_.Goto(&block7, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt32Array)));
    1907             :   }
    1908             : 
    1909         112 :   if (block6.is_used()) {
    1910         112 :     compiler::TNode<Context> tmp29;
    1911         112 :     compiler::TNode<JSReceiver> tmp30;
    1912         112 :     compiler::TNode<String> tmp31;
    1913         112 :     compiler::TNode<Number> tmp32;
    1914         112 :     compiler::TNode<Object> tmp33;
    1915         112 :     compiler::TNode<Object> tmp34;
    1916         112 :     compiler::TNode<Map> tmp35;
    1917         112 :     compiler::TNode<Int32T> tmp36;
    1918         112 :     compiler::TNode<BuiltinPtr> tmp37;
    1919         112 :     ca_.Bind(&block6, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
    1920         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
    1921         112 :     compiler::TNode<Int32T> tmp38;
    1922         112 :     USE(tmp38);
    1923         112 :     tmp38 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT32_ELEMENTS));
    1924         112 :     compiler::TNode<BoolT> tmp39;
    1925         112 :     USE(tmp39);
    1926         112 :     tmp39 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp36}, compiler::TNode<Int32T>{tmp38}));
    1927         112 :     ca_.Branch(tmp39, &block8, &block9, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37);
    1928             :   }
    1929             : 
    1930         112 :   if (block8.is_used()) {
    1931         112 :     compiler::TNode<Context> tmp40;
    1932         112 :     compiler::TNode<JSReceiver> tmp41;
    1933         112 :     compiler::TNode<String> tmp42;
    1934         112 :     compiler::TNode<Number> tmp43;
    1935         112 :     compiler::TNode<Object> tmp44;
    1936         112 :     compiler::TNode<Object> tmp45;
    1937         112 :     compiler::TNode<Map> tmp46;
    1938         112 :     compiler::TNode<Int32T> tmp47;
    1939         112 :     compiler::TNode<BuiltinPtr> tmp48;
    1940         112 :     ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48);
    1941         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
    1942         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
    1943         112 :     ca_.Goto(&block10, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat32Array)));
    1944             :   }
    1945             : 
    1946         112 :   if (block9.is_used()) {
    1947         112 :     compiler::TNode<Context> tmp49;
    1948         112 :     compiler::TNode<JSReceiver> tmp50;
    1949         112 :     compiler::TNode<String> tmp51;
    1950         112 :     compiler::TNode<Number> tmp52;
    1951         112 :     compiler::TNode<Object> tmp53;
    1952         112 :     compiler::TNode<Object> tmp54;
    1953         112 :     compiler::TNode<Map> tmp55;
    1954         112 :     compiler::TNode<Int32T> tmp56;
    1955         112 :     compiler::TNode<BuiltinPtr> tmp57;
    1956         112 :     ca_.Bind(&block9, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
    1957         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 386);
    1958         112 :     compiler::TNode<Int32T> tmp58;
    1959         112 :     USE(tmp58);
    1960         112 :     tmp58 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT64_ELEMENTS));
    1961         112 :     compiler::TNode<BoolT> tmp59;
    1962         112 :     USE(tmp59);
    1963         112 :     tmp59 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp56}, compiler::TNode<Int32T>{tmp58}));
    1964         112 :     ca_.Branch(tmp59, &block11, &block12, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57);
    1965             :   }
    1966             : 
    1967         112 :   if (block11.is_used()) {
    1968         112 :     compiler::TNode<Context> tmp60;
    1969         112 :     compiler::TNode<JSReceiver> tmp61;
    1970         112 :     compiler::TNode<String> tmp62;
    1971         112 :     compiler::TNode<Number> tmp63;
    1972         112 :     compiler::TNode<Object> tmp64;
    1973         112 :     compiler::TNode<Object> tmp65;
    1974         112 :     compiler::TNode<Map> tmp66;
    1975         112 :     compiler::TNode<Int32T> tmp67;
    1976         112 :     compiler::TNode<BuiltinPtr> tmp68;
    1977         112 :     ca_.Bind(&block11, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68);
    1978         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
    1979         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 386);
    1980         112 :     ca_.Goto(&block13, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat64Array)));
    1981             :   }
    1982             : 
    1983         112 :   if (block12.is_used()) {
    1984         112 :     compiler::TNode<Context> tmp69;
    1985         112 :     compiler::TNode<JSReceiver> tmp70;
    1986         112 :     compiler::TNode<String> tmp71;
    1987         112 :     compiler::TNode<Number> tmp72;
    1988         112 :     compiler::TNode<Object> tmp73;
    1989         112 :     compiler::TNode<Object> tmp74;
    1990         112 :     compiler::TNode<Map> tmp75;
    1991         112 :     compiler::TNode<Int32T> tmp76;
    1992         112 :     compiler::TNode<BuiltinPtr> tmp77;
    1993         112 :     ca_.Bind(&block12, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
    1994         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 388);
    1995         112 :     compiler::TNode<Int32T> tmp78;
    1996         112 :     USE(tmp78);
    1997         112 :     tmp78 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_CLAMPED_ELEMENTS));
    1998         112 :     compiler::TNode<BoolT> tmp79;
    1999         112 :     USE(tmp79);
    2000         112 :     tmp79 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp76}, compiler::TNode<Int32T>{tmp78}));
    2001         112 :     ca_.Branch(tmp79, &block14, &block15, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77);
    2002             :   }
    2003             : 
    2004         112 :   if (block14.is_used()) {
    2005         112 :     compiler::TNode<Context> tmp80;
    2006         112 :     compiler::TNode<JSReceiver> tmp81;
    2007         112 :     compiler::TNode<String> tmp82;
    2008         112 :     compiler::TNode<Number> tmp83;
    2009         112 :     compiler::TNode<Object> tmp84;
    2010         112 :     compiler::TNode<Object> tmp85;
    2011         112 :     compiler::TNode<Map> tmp86;
    2012         112 :     compiler::TNode<Int32T> tmp87;
    2013         112 :     compiler::TNode<BuiltinPtr> tmp88;
    2014         112 :     ca_.Bind(&block14, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88);
    2015         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
    2016         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 388);
    2017         112 :     ca_.Goto(&block16, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement24ATFixedUint8ClampedArray)));
    2018             :   }
    2019             : 
    2020         112 :   if (block15.is_used()) {
    2021         112 :     compiler::TNode<Context> tmp89;
    2022         112 :     compiler::TNode<JSReceiver> tmp90;
    2023         112 :     compiler::TNode<String> tmp91;
    2024         112 :     compiler::TNode<Number> tmp92;
    2025         112 :     compiler::TNode<Object> tmp93;
    2026         112 :     compiler::TNode<Object> tmp94;
    2027         112 :     compiler::TNode<Map> tmp95;
    2028         112 :     compiler::TNode<Int32T> tmp96;
    2029         112 :     compiler::TNode<BuiltinPtr> tmp97;
    2030         112 :     ca_.Bind(&block15, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
    2031         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 390);
    2032         112 :     compiler::TNode<Int32T> tmp98;
    2033         112 :     USE(tmp98);
    2034         112 :     tmp98 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGUINT64_ELEMENTS));
    2035         112 :     compiler::TNode<BoolT> tmp99;
    2036         112 :     USE(tmp99);
    2037         112 :     tmp99 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp96}, compiler::TNode<Int32T>{tmp98}));
    2038         112 :     ca_.Branch(tmp99, &block17, &block18, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97);
    2039             :   }
    2040             : 
    2041         112 :   if (block17.is_used()) {
    2042         112 :     compiler::TNode<Context> tmp100;
    2043         112 :     compiler::TNode<JSReceiver> tmp101;
    2044         112 :     compiler::TNode<String> tmp102;
    2045         112 :     compiler::TNode<Number> tmp103;
    2046         112 :     compiler::TNode<Object> tmp104;
    2047         112 :     compiler::TNode<Object> tmp105;
    2048         112 :     compiler::TNode<Map> tmp106;
    2049         112 :     compiler::TNode<Int32T> tmp107;
    2050         112 :     compiler::TNode<BuiltinPtr> tmp108;
    2051         112 :     ca_.Bind(&block17, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108);
    2052         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
    2053         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 390);
    2054         112 :     ca_.Goto(&block19, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement21ATFixedBigUint64Array)));
    2055             :   }
    2056             : 
    2057         112 :   if (block18.is_used()) {
    2058         112 :     compiler::TNode<Context> tmp109;
    2059         112 :     compiler::TNode<JSReceiver> tmp110;
    2060         112 :     compiler::TNode<String> tmp111;
    2061         112 :     compiler::TNode<Number> tmp112;
    2062         112 :     compiler::TNode<Object> tmp113;
    2063         112 :     compiler::TNode<Object> tmp114;
    2064         112 :     compiler::TNode<Map> tmp115;
    2065         112 :     compiler::TNode<Int32T> tmp116;
    2066         112 :     compiler::TNode<BuiltinPtr> tmp117;
    2067         112 :     ca_.Bind(&block18, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117);
    2068         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 392);
    2069         112 :     compiler::TNode<Int32T> tmp118;
    2070         112 :     USE(tmp118);
    2071         112 :     tmp118 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGINT64_ELEMENTS));
    2072         112 :     compiler::TNode<BoolT> tmp119;
    2073         112 :     USE(tmp119);
    2074         112 :     tmp119 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp116}, compiler::TNode<Int32T>{tmp118}));
    2075         112 :     ca_.Branch(tmp119, &block20, &block21, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117);
    2076             :   }
    2077             : 
    2078         112 :   if (block20.is_used()) {
    2079         112 :     compiler::TNode<Context> tmp120;
    2080         112 :     compiler::TNode<JSReceiver> tmp121;
    2081         112 :     compiler::TNode<String> tmp122;
    2082         112 :     compiler::TNode<Number> tmp123;
    2083         112 :     compiler::TNode<Object> tmp124;
    2084         112 :     compiler::TNode<Object> tmp125;
    2085         112 :     compiler::TNode<Map> tmp126;
    2086         112 :     compiler::TNode<Int32T> tmp127;
    2087         112 :     compiler::TNode<BuiltinPtr> tmp128;
    2088         112 :     ca_.Bind(&block20, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128);
    2089         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
    2090         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 392);
    2091         112 :     ca_.Goto(&block22, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement20ATFixedBigInt64Array)));
    2092             :   }
    2093             : 
    2094         112 :   if (block21.is_used()) {
    2095         112 :     compiler::TNode<Context> tmp129;
    2096         112 :     compiler::TNode<JSReceiver> tmp130;
    2097         112 :     compiler::TNode<String> tmp131;
    2098         112 :     compiler::TNode<Number> tmp132;
    2099         112 :     compiler::TNode<Object> tmp133;
    2100         112 :     compiler::TNode<Object> tmp134;
    2101         112 :     compiler::TNode<Map> tmp135;
    2102         112 :     compiler::TNode<Int32T> tmp136;
    2103         112 :     compiler::TNode<BuiltinPtr> tmp137;
    2104         112 :     ca_.Bind(&block21, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137);
    2105         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 395);
    2106         112 :     CodeStubAssembler(state_).Unreachable();
    2107             :   }
    2108             : 
    2109         112 :   if (block22.is_used()) {
    2110         112 :     compiler::TNode<Context> tmp138;
    2111         112 :     compiler::TNode<JSReceiver> tmp139;
    2112         112 :     compiler::TNode<String> tmp140;
    2113         112 :     compiler::TNode<Number> tmp141;
    2114         112 :     compiler::TNode<Object> tmp142;
    2115         112 :     compiler::TNode<Object> tmp143;
    2116         112 :     compiler::TNode<Map> tmp144;
    2117         112 :     compiler::TNode<Int32T> tmp145;
    2118         112 :     compiler::TNode<BuiltinPtr> tmp146;
    2119         112 :     ca_.Bind(&block22, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
    2120         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 390);
    2121         112 :     ca_.Goto(&block19, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146);
    2122             :   }
    2123             : 
    2124         112 :   if (block19.is_used()) {
    2125         112 :     compiler::TNode<Context> tmp147;
    2126         112 :     compiler::TNode<JSReceiver> tmp148;
    2127         112 :     compiler::TNode<String> tmp149;
    2128         112 :     compiler::TNode<Number> tmp150;
    2129         112 :     compiler::TNode<Object> tmp151;
    2130         112 :     compiler::TNode<Object> tmp152;
    2131         112 :     compiler::TNode<Map> tmp153;
    2132         112 :     compiler::TNode<Int32T> tmp154;
    2133         112 :     compiler::TNode<BuiltinPtr> tmp155;
    2134         112 :     ca_.Bind(&block19, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155);
    2135         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 388);
    2136         112 :     ca_.Goto(&block16, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155);
    2137             :   }
    2138             : 
    2139         112 :   if (block16.is_used()) {
    2140         112 :     compiler::TNode<Context> tmp156;
    2141         112 :     compiler::TNode<JSReceiver> tmp157;
    2142         112 :     compiler::TNode<String> tmp158;
    2143         112 :     compiler::TNode<Number> tmp159;
    2144         112 :     compiler::TNode<Object> tmp160;
    2145         112 :     compiler::TNode<Object> tmp161;
    2146         112 :     compiler::TNode<Map> tmp162;
    2147         112 :     compiler::TNode<Int32T> tmp163;
    2148         112 :     compiler::TNode<BuiltinPtr> tmp164;
    2149         112 :     ca_.Bind(&block16, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164);
    2150         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 386);
    2151         112 :     ca_.Goto(&block13, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164);
    2152             :   }
    2153             : 
    2154         112 :   if (block13.is_used()) {
    2155         112 :     compiler::TNode<Context> tmp165;
    2156         112 :     compiler::TNode<JSReceiver> tmp166;
    2157         112 :     compiler::TNode<String> tmp167;
    2158         112 :     compiler::TNode<Number> tmp168;
    2159         112 :     compiler::TNode<Object> tmp169;
    2160         112 :     compiler::TNode<Object> tmp170;
    2161         112 :     compiler::TNode<Map> tmp171;
    2162         112 :     compiler::TNode<Int32T> tmp172;
    2163         112 :     compiler::TNode<BuiltinPtr> tmp173;
    2164         112 :     ca_.Bind(&block13, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173);
    2165         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
    2166         112 :     ca_.Goto(&block10, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173);
    2167             :   }
    2168             : 
    2169         112 :   if (block10.is_used()) {
    2170         112 :     compiler::TNode<Context> tmp174;
    2171         112 :     compiler::TNode<JSReceiver> tmp175;
    2172         112 :     compiler::TNode<String> tmp176;
    2173         112 :     compiler::TNode<Number> tmp177;
    2174         112 :     compiler::TNode<Object> tmp178;
    2175         112 :     compiler::TNode<Object> tmp179;
    2176         112 :     compiler::TNode<Map> tmp180;
    2177         112 :     compiler::TNode<Int32T> tmp181;
    2178         112 :     compiler::TNode<BuiltinPtr> tmp182;
    2179         112 :     ca_.Bind(&block10, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182);
    2180         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 382);
    2181         112 :     ca_.Goto(&block7, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182);
    2182             :   }
    2183             : 
    2184         112 :   if (block7.is_used()) {
    2185         112 :     compiler::TNode<Context> tmp183;
    2186         112 :     compiler::TNode<JSReceiver> tmp184;
    2187         112 :     compiler::TNode<String> tmp185;
    2188         112 :     compiler::TNode<Number> tmp186;
    2189         112 :     compiler::TNode<Object> tmp187;
    2190         112 :     compiler::TNode<Object> tmp188;
    2191         112 :     compiler::TNode<Map> tmp189;
    2192         112 :     compiler::TNode<Int32T> tmp190;
    2193         112 :     compiler::TNode<BuiltinPtr> tmp191;
    2194         112 :     ca_.Bind(&block7, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191);
    2195         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 381);
    2196         112 :     ca_.Goto(&block4, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191);
    2197             :   }
    2198             : 
    2199         112 :   if (block3.is_used()) {
    2200         112 :     compiler::TNode<Context> tmp192;
    2201         112 :     compiler::TNode<JSReceiver> tmp193;
    2202         112 :     compiler::TNode<String> tmp194;
    2203         112 :     compiler::TNode<Number> tmp195;
    2204         112 :     compiler::TNode<Object> tmp196;
    2205         112 :     compiler::TNode<Object> tmp197;
    2206         112 :     compiler::TNode<Map> tmp198;
    2207         112 :     compiler::TNode<Int32T> tmp199;
    2208         112 :     compiler::TNode<BuiltinPtr> tmp200;
    2209         112 :     ca_.Bind(&block3, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200);
    2210         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 398);
    2211         112 :     compiler::TNode<Int32T> tmp201;
    2212         112 :     USE(tmp201);
    2213         112 :     tmp201 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_ELEMENTS));
    2214         112 :     compiler::TNode<BoolT> tmp202;
    2215         112 :     USE(tmp202);
    2216         112 :     tmp202 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp199}, compiler::TNode<Int32T>{tmp201}));
    2217         112 :     ca_.Branch(tmp202, &block23, &block24, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200);
    2218             :   }
    2219             : 
    2220         112 :   if (block23.is_used()) {
    2221         112 :     compiler::TNode<Context> tmp203;
    2222         112 :     compiler::TNode<JSReceiver> tmp204;
    2223         112 :     compiler::TNode<String> tmp205;
    2224         112 :     compiler::TNode<Number> tmp206;
    2225         112 :     compiler::TNode<Object> tmp207;
    2226         112 :     compiler::TNode<Object> tmp208;
    2227         112 :     compiler::TNode<Map> tmp209;
    2228         112 :     compiler::TNode<Int32T> tmp210;
    2229         112 :     compiler::TNode<BuiltinPtr> tmp211;
    2230         112 :     ca_.Bind(&block23, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211);
    2231         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 399);
    2232         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 398);
    2233         112 :     ca_.Goto(&block25, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedUint8Array)));
    2234             :   }
    2235             : 
    2236         112 :   if (block24.is_used()) {
    2237         112 :     compiler::TNode<Context> tmp212;
    2238         112 :     compiler::TNode<JSReceiver> tmp213;
    2239         112 :     compiler::TNode<String> tmp214;
    2240         112 :     compiler::TNode<Number> tmp215;
    2241         112 :     compiler::TNode<Object> tmp216;
    2242         112 :     compiler::TNode<Object> tmp217;
    2243         112 :     compiler::TNode<Map> tmp218;
    2244         112 :     compiler::TNode<Int32T> tmp219;
    2245         112 :     compiler::TNode<BuiltinPtr> tmp220;
    2246         112 :     ca_.Bind(&block24, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220);
    2247         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 400);
    2248         112 :     compiler::TNode<Int32T> tmp221;
    2249         112 :     USE(tmp221);
    2250         112 :     tmp221 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT8_ELEMENTS));
    2251         112 :     compiler::TNode<BoolT> tmp222;
    2252         112 :     USE(tmp222);
    2253         112 :     tmp222 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp219}, compiler::TNode<Int32T>{tmp221}));
    2254         112 :     ca_.Branch(tmp222, &block26, &block27, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220);
    2255             :   }
    2256             : 
    2257         112 :   if (block26.is_used()) {
    2258         112 :     compiler::TNode<Context> tmp223;
    2259         112 :     compiler::TNode<JSReceiver> tmp224;
    2260         112 :     compiler::TNode<String> tmp225;
    2261         112 :     compiler::TNode<Number> tmp226;
    2262         112 :     compiler::TNode<Object> tmp227;
    2263         112 :     compiler::TNode<Object> tmp228;
    2264         112 :     compiler::TNode<Map> tmp229;
    2265         112 :     compiler::TNode<Int32T> tmp230;
    2266         112 :     compiler::TNode<BuiltinPtr> tmp231;
    2267         112 :     ca_.Bind(&block26, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231);
    2268         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
    2269         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 400);
    2270         112 :     ca_.Goto(&block28, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement16ATFixedInt8Array)));
    2271             :   }
    2272             : 
    2273         112 :   if (block27.is_used()) {
    2274         112 :     compiler::TNode<Context> tmp232;
    2275         112 :     compiler::TNode<JSReceiver> tmp233;
    2276         112 :     compiler::TNode<String> tmp234;
    2277         112 :     compiler::TNode<Number> tmp235;
    2278         112 :     compiler::TNode<Object> tmp236;
    2279         112 :     compiler::TNode<Object> tmp237;
    2280         112 :     compiler::TNode<Map> tmp238;
    2281         112 :     compiler::TNode<Int32T> tmp239;
    2282         112 :     compiler::TNode<BuiltinPtr> tmp240;
    2283         112 :     ca_.Bind(&block27, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240);
    2284         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 402);
    2285         112 :     compiler::TNode<Int32T> tmp241;
    2286         112 :     USE(tmp241);
    2287         112 :     tmp241 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT16_ELEMENTS));
    2288         112 :     compiler::TNode<BoolT> tmp242;
    2289         112 :     USE(tmp242);
    2290         112 :     tmp242 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp239}, compiler::TNode<Int32T>{tmp241}));
    2291         112 :     ca_.Branch(tmp242, &block29, &block30, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240);
    2292             :   }
    2293             : 
    2294         112 :   if (block29.is_used()) {
    2295         112 :     compiler::TNode<Context> tmp243;
    2296         112 :     compiler::TNode<JSReceiver> tmp244;
    2297         112 :     compiler::TNode<String> tmp245;
    2298         112 :     compiler::TNode<Number> tmp246;
    2299         112 :     compiler::TNode<Object> tmp247;
    2300         112 :     compiler::TNode<Object> tmp248;
    2301         112 :     compiler::TNode<Map> tmp249;
    2302         112 :     compiler::TNode<Int32T> tmp250;
    2303         112 :     compiler::TNode<BuiltinPtr> tmp251;
    2304         112 :     ca_.Bind(&block29, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251);
    2305         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
    2306         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 402);
    2307         112 :     ca_.Goto(&block31, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint16Array)));
    2308             :   }
    2309             : 
    2310         112 :   if (block30.is_used()) {
    2311         112 :     compiler::TNode<Context> tmp252;
    2312         112 :     compiler::TNode<JSReceiver> tmp253;
    2313         112 :     compiler::TNode<String> tmp254;
    2314         112 :     compiler::TNode<Number> tmp255;
    2315         112 :     compiler::TNode<Object> tmp256;
    2316         112 :     compiler::TNode<Object> tmp257;
    2317         112 :     compiler::TNode<Map> tmp258;
    2318         112 :     compiler::TNode<Int32T> tmp259;
    2319         112 :     compiler::TNode<BuiltinPtr> tmp260;
    2320         112 :     ca_.Bind(&block30, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260);
    2321         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 404);
    2322         112 :     compiler::TNode<Int32T> tmp261;
    2323         112 :     USE(tmp261);
    2324         112 :     tmp261 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT16_ELEMENTS));
    2325         112 :     compiler::TNode<BoolT> tmp262;
    2326         112 :     USE(tmp262);
    2327         112 :     tmp262 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp259}, compiler::TNode<Int32T>{tmp261}));
    2328         112 :     ca_.Branch(tmp262, &block32, &block33, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260);
    2329             :   }
    2330             : 
    2331         112 :   if (block32.is_used()) {
    2332         112 :     compiler::TNode<Context> tmp263;
    2333         112 :     compiler::TNode<JSReceiver> tmp264;
    2334         112 :     compiler::TNode<String> tmp265;
    2335         112 :     compiler::TNode<Number> tmp266;
    2336         112 :     compiler::TNode<Object> tmp267;
    2337         112 :     compiler::TNode<Object> tmp268;
    2338         112 :     compiler::TNode<Map> tmp269;
    2339         112 :     compiler::TNode<Int32T> tmp270;
    2340         112 :     compiler::TNode<BuiltinPtr> tmp271;
    2341         112 :     ca_.Bind(&block32, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271);
    2342         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
    2343         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 404);
    2344         112 :     ca_.Goto(&block34, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt16Array)));
    2345             :   }
    2346             : 
    2347         112 :   if (block33.is_used()) {
    2348         112 :     compiler::TNode<Context> tmp272;
    2349         112 :     compiler::TNode<JSReceiver> tmp273;
    2350         112 :     compiler::TNode<String> tmp274;
    2351         112 :     compiler::TNode<Number> tmp275;
    2352         112 :     compiler::TNode<Object> tmp276;
    2353         112 :     compiler::TNode<Object> tmp277;
    2354         112 :     compiler::TNode<Map> tmp278;
    2355         112 :     compiler::TNode<Int32T> tmp279;
    2356         112 :     compiler::TNode<BuiltinPtr> tmp280;
    2357         112 :     ca_.Bind(&block33, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280);
    2358         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 406);
    2359         112 :     compiler::TNode<Int32T> tmp281;
    2360         112 :     USE(tmp281);
    2361         112 :     tmp281 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT32_ELEMENTS));
    2362         112 :     compiler::TNode<BoolT> tmp282;
    2363         112 :     USE(tmp282);
    2364         112 :     tmp282 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp279}, compiler::TNode<Int32T>{tmp281}));
    2365         112 :     ca_.Branch(tmp282, &block35, &block36, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280);
    2366             :   }
    2367             : 
    2368         112 :   if (block35.is_used()) {
    2369         112 :     compiler::TNode<Context> tmp283;
    2370         112 :     compiler::TNode<JSReceiver> tmp284;
    2371         112 :     compiler::TNode<String> tmp285;
    2372         112 :     compiler::TNode<Number> tmp286;
    2373         112 :     compiler::TNode<Object> tmp287;
    2374         112 :     compiler::TNode<Object> tmp288;
    2375         112 :     compiler::TNode<Map> tmp289;
    2376         112 :     compiler::TNode<Int32T> tmp290;
    2377         112 :     compiler::TNode<BuiltinPtr> tmp291;
    2378         112 :     ca_.Bind(&block35, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291);
    2379         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
    2380         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 406);
    2381         112 :     ca_.Goto(&block37, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint32Array)));
    2382             :   }
    2383             : 
    2384         112 :   if (block36.is_used()) {
    2385         112 :     compiler::TNode<Context> tmp292;
    2386         112 :     compiler::TNode<JSReceiver> tmp293;
    2387         112 :     compiler::TNode<String> tmp294;
    2388         112 :     compiler::TNode<Number> tmp295;
    2389         112 :     compiler::TNode<Object> tmp296;
    2390         112 :     compiler::TNode<Object> tmp297;
    2391         112 :     compiler::TNode<Map> tmp298;
    2392         112 :     compiler::TNode<Int32T> tmp299;
    2393         112 :     compiler::TNode<BuiltinPtr> tmp300;
    2394         112 :     ca_.Bind(&block36, &tmp292, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300);
    2395         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 409);
    2396         112 :     CodeStubAssembler(state_).Unreachable();
    2397             :   }
    2398             : 
    2399         112 :   if (block37.is_used()) {
    2400         112 :     compiler::TNode<Context> tmp301;
    2401         112 :     compiler::TNode<JSReceiver> tmp302;
    2402         112 :     compiler::TNode<String> tmp303;
    2403         112 :     compiler::TNode<Number> tmp304;
    2404         112 :     compiler::TNode<Object> tmp305;
    2405         112 :     compiler::TNode<Object> tmp306;
    2406         112 :     compiler::TNode<Map> tmp307;
    2407         112 :     compiler::TNode<Int32T> tmp308;
    2408         112 :     compiler::TNode<BuiltinPtr> tmp309;
    2409         112 :     ca_.Bind(&block37, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309);
    2410         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 404);
    2411         112 :     ca_.Goto(&block34, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309);
    2412             :   }
    2413             : 
    2414         112 :   if (block34.is_used()) {
    2415         112 :     compiler::TNode<Context> tmp310;
    2416         112 :     compiler::TNode<JSReceiver> tmp311;
    2417         112 :     compiler::TNode<String> tmp312;
    2418         112 :     compiler::TNode<Number> tmp313;
    2419         112 :     compiler::TNode<Object> tmp314;
    2420         112 :     compiler::TNode<Object> tmp315;
    2421         112 :     compiler::TNode<Map> tmp316;
    2422         112 :     compiler::TNode<Int32T> tmp317;
    2423         112 :     compiler::TNode<BuiltinPtr> tmp318;
    2424         112 :     ca_.Bind(&block34, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318);
    2425         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 402);
    2426         112 :     ca_.Goto(&block31, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318);
    2427             :   }
    2428             : 
    2429         112 :   if (block31.is_used()) {
    2430         112 :     compiler::TNode<Context> tmp319;
    2431         112 :     compiler::TNode<JSReceiver> tmp320;
    2432         112 :     compiler::TNode<String> tmp321;
    2433         112 :     compiler::TNode<Number> tmp322;
    2434         112 :     compiler::TNode<Object> tmp323;
    2435         112 :     compiler::TNode<Object> tmp324;
    2436         112 :     compiler::TNode<Map> tmp325;
    2437         112 :     compiler::TNode<Int32T> tmp326;
    2438         112 :     compiler::TNode<BuiltinPtr> tmp327;
    2439         112 :     ca_.Bind(&block31, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327);
    2440         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 400);
    2441         112 :     ca_.Goto(&block28, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327);
    2442             :   }
    2443             : 
    2444         112 :   if (block28.is_used()) {
    2445         112 :     compiler::TNode<Context> tmp328;
    2446         112 :     compiler::TNode<JSReceiver> tmp329;
    2447         112 :     compiler::TNode<String> tmp330;
    2448         112 :     compiler::TNode<Number> tmp331;
    2449         112 :     compiler::TNode<Object> tmp332;
    2450         112 :     compiler::TNode<Object> tmp333;
    2451         112 :     compiler::TNode<Map> tmp334;
    2452         112 :     compiler::TNode<Int32T> tmp335;
    2453         112 :     compiler::TNode<BuiltinPtr> tmp336;
    2454         112 :     ca_.Bind(&block28, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
    2455         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 398);
    2456         112 :     ca_.Goto(&block25, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334, tmp335, tmp336);
    2457             :   }
    2458             : 
    2459         112 :   if (block25.is_used()) {
    2460         112 :     compiler::TNode<Context> tmp337;
    2461         112 :     compiler::TNode<JSReceiver> tmp338;
    2462         112 :     compiler::TNode<String> tmp339;
    2463         112 :     compiler::TNode<Number> tmp340;
    2464         112 :     compiler::TNode<Object> tmp341;
    2465         112 :     compiler::TNode<Object> tmp342;
    2466         112 :     compiler::TNode<Map> tmp343;
    2467         112 :     compiler::TNode<Int32T> tmp344;
    2468         112 :     compiler::TNode<BuiltinPtr> tmp345;
    2469         112 :     ca_.Bind(&block25, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345);
    2470         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 381);
    2471         112 :     ca_.Goto(&block4, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345);
    2472             :   }
    2473             : 
    2474         112 :   if (block4.is_used()) {
    2475         112 :     compiler::TNode<Context> tmp346;
    2476         112 :     compiler::TNode<JSReceiver> tmp347;
    2477         112 :     compiler::TNode<String> tmp348;
    2478         112 :     compiler::TNode<Number> tmp349;
    2479         112 :     compiler::TNode<Object> tmp350;
    2480         112 :     compiler::TNode<Object> tmp351;
    2481         112 :     compiler::TNode<Map> tmp352;
    2482         112 :     compiler::TNode<Int32T> tmp353;
    2483         112 :     compiler::TNode<BuiltinPtr> tmp354;
    2484         112 :     ca_.Bind(&block4, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354);
    2485         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 413);
    2486         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 412);
    2487         112 :     compiler::TNode<String> tmp355;
    2488         112 :     USE(tmp355);
    2489         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}));
    2490         112 :     ca_.Goto(&block1, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp355);
    2491             :   }
    2492             : 
    2493         112 :   if (block1.is_used()) {
    2494         112 :     compiler::TNode<Context> tmp356;
    2495         112 :     compiler::TNode<JSReceiver> tmp357;
    2496         112 :     compiler::TNode<String> tmp358;
    2497         112 :     compiler::TNode<Number> tmp359;
    2498         112 :     compiler::TNode<Object> tmp360;
    2499         112 :     compiler::TNode<Object> tmp361;
    2500         112 :     compiler::TNode<Object> tmp362;
    2501         112 :     ca_.Bind(&block1, &tmp356, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362);
    2502         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
    2503         112 :     ca_.Goto(&block38, tmp356, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362);
    2504             :   }
    2505             : 
    2506         112 :     compiler::TNode<Context> tmp363;
    2507         112 :     compiler::TNode<JSReceiver> tmp364;
    2508         112 :     compiler::TNode<String> tmp365;
    2509         112 :     compiler::TNode<Number> tmp366;
    2510         112 :     compiler::TNode<Object> tmp367;
    2511         112 :     compiler::TNode<Object> tmp368;
    2512         112 :     compiler::TNode<Object> tmp369;
    2513         112 :     ca_.Bind(&block38, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369);
    2514         224 :   return compiler::TNode<Object>{tmp369};
    2515             : }
    2516             : 
    2517         672 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::LoadJoinStack(compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_IfUninitialized) {
    2518         672 :   compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2519        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2520        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2521        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2522        1344 :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2523        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2524         672 :     ca_.Goto(&block0, p_context);
    2525             : 
    2526         672 :   if (block0.is_used()) {
    2527         672 :     compiler::TNode<Context> tmp0;
    2528         672 :     ca_.Bind(&block0, &tmp0);
    2529         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 425);
    2530         672 :     compiler::TNode<Context> tmp1;
    2531         672 :     USE(tmp1);
    2532         672 :     tmp1 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
    2533         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 427);
    2534         672 :     compiler::TNode<IntPtrT> tmp2;
    2535         672 :     USE(tmp2);
    2536         672 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
    2537         672 :     compiler::TNode<Object> tmp3;
    2538         672 :     USE(tmp3);
    2539         672 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp1}, compiler::TNode<IntPtrT>{tmp2}));
    2540         672 :     compiler::TNode<HeapObject> tmp4;
    2541         672 :     USE(tmp4);
    2542         672 :     tmp4 = ca_.UncheckedCast<HeapObject>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp3}));
    2543         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 426);
    2544         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 428);
    2545         672 :     compiler::TNode<Oddball> tmp5;
    2546         672 :     USE(tmp5);
    2547         672 :     tmp5 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    2548         672 :     compiler::TNode<BoolT> tmp6;
    2549         672 :     USE(tmp6);
    2550         672 :     tmp6 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp4}, compiler::TNode<HeapObject>{tmp5}));
    2551         672 :     ca_.Branch(tmp6, &block3, &block4, tmp0, tmp1, tmp4);
    2552             :   }
    2553             : 
    2554         672 :   if (block3.is_used()) {
    2555         672 :     compiler::TNode<Context> tmp7;
    2556         672 :     compiler::TNode<Context> tmp8;
    2557         672 :     compiler::TNode<HeapObject> tmp9;
    2558         672 :     ca_.Bind(&block3, &tmp7, &tmp8, &tmp9);
    2559         672 :     ca_.Goto(&block1);
    2560             :   }
    2561             : 
    2562         672 :   if (block4.is_used()) {
    2563         672 :     compiler::TNode<Context> tmp10;
    2564         672 :     compiler::TNode<Context> tmp11;
    2565         672 :     compiler::TNode<HeapObject> tmp12;
    2566         672 :     ca_.Bind(&block4, &tmp10, &tmp11, &tmp12);
    2567         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 430);
    2568         672 :     compiler::TNode<FixedArray> tmp13;
    2569         672 :     USE(tmp13);
    2570         672 :     tmp13 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp12}));
    2571         672 :     ca_.Goto(&block2, tmp10, tmp13);
    2572             :   }
    2573             : 
    2574         672 :   if (block2.is_used()) {
    2575         672 :     compiler::TNode<Context> tmp14;
    2576         672 :     compiler::TNode<FixedArray> tmp15;
    2577         672 :     ca_.Bind(&block2, &tmp14, &tmp15);
    2578         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 423);
    2579         672 :     ca_.Goto(&block5, tmp14, tmp15);
    2580             :   }
    2581             : 
    2582         672 :   if (block1.is_used()) {
    2583         672 :     ca_.Bind(&block1);
    2584         672 :     ca_.Goto(label_IfUninitialized);
    2585             :   }
    2586             : 
    2587         672 :     compiler::TNode<Context> tmp16;
    2588         672 :     compiler::TNode<FixedArray> tmp17;
    2589         672 :     ca_.Bind(&block5, &tmp16, &tmp17);
    2590        1344 :   return compiler::TNode<FixedArray>{tmp17};
    2591             : }
    2592             : 
    2593         336 : void ArrayJoinBuiltinsFromDSLAssembler::SetJoinStack(compiler::TNode<Context> p_context, compiler::TNode<FixedArray> p_stack) {
    2594         336 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2595         672 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2596         672 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2597         336 :     ca_.Goto(&block0, p_context, p_stack);
    2598             : 
    2599         336 :   if (block0.is_used()) {
    2600         336 :     compiler::TNode<Context> tmp0;
    2601         336 :     compiler::TNode<FixedArray> tmp1;
    2602         336 :     ca_.Bind(&block0, &tmp0, &tmp1);
    2603         336 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 434);
    2604         336 :     compiler::TNode<Context> tmp2;
    2605         336 :     USE(tmp2);
    2606         336 :     tmp2 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
    2607         336 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 435);
    2608         336 :     compiler::TNode<IntPtrT> tmp3;
    2609         336 :     USE(tmp3);
    2610         336 :     tmp3 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
    2611         336 :     CodeStubAssembler(state_).StoreContextElement(compiler::TNode<Context>{tmp2}, compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<Object>{tmp1});
    2612         336 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 433);
    2613         336 :     ca_.Goto(&block1, tmp0, tmp1);
    2614             :   }
    2615             : 
    2616         336 :   if (block1.is_used()) {
    2617         336 :     compiler::TNode<Context> tmp4;
    2618         336 :     compiler::TNode<FixedArray> tmp5;
    2619         336 :     ca_.Bind(&block1, &tmp4, &tmp5);
    2620         336 :     ca_.Goto(&block2, tmp4, tmp5);
    2621             :   }
    2622             : 
    2623         336 :     compiler::TNode<Context> tmp6;
    2624         336 :     compiler::TNode<FixedArray> tmp7;
    2625         672 :     ca_.Bind(&block2, &tmp6, &tmp7);
    2626         336 : }
    2627             : 
    2628         392 : TF_BUILTIN(JoinStackPush, CodeStubAssembler) {
    2629          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    2630          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    2631          56 :   USE(parameter0);
    2632          56 :   compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
    2633          56 :   USE(parameter1);
    2634          56 :   compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    2635          56 :   USE(parameter2);
    2636         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2637         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2638         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2639         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2640         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2641         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2642         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2643         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2644         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2645          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    2646             : 
    2647          56 :   if (block0.is_used()) {
    2648          56 :     compiler::TNode<Context> tmp0;
    2649          56 :     compiler::TNode<FixedArray> tmp1;
    2650          56 :     compiler::TNode<JSReceiver> tmp2;
    2651          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    2652          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 443);
    2653          56 :     compiler::TNode<IntPtrT> tmp3;
    2654          56 :     USE(tmp3);
    2655          56 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
    2656          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 444);
    2657          56 :     compiler::TNode<IntPtrT> tmp4;
    2658          56 :     USE(tmp4);
    2659          56 :     tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    2660          56 :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
    2661             :   }
    2662             : 
    2663          56 :   if (block3.is_used()) {
    2664          56 :     compiler::TNode<Context> tmp5;
    2665          56 :     compiler::TNode<FixedArray> tmp6;
    2666          56 :     compiler::TNode<JSReceiver> tmp7;
    2667          56 :     compiler::TNode<IntPtrT> tmp8;
    2668          56 :     compiler::TNode<IntPtrT> tmp9;
    2669          56 :     ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
    2670          56 :     compiler::TNode<BoolT> tmp10;
    2671          56 :     USE(tmp10);
    2672          56 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
    2673          56 :     ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
    2674             :   }
    2675             : 
    2676          56 :   if (block1.is_used()) {
    2677          56 :     compiler::TNode<Context> tmp11;
    2678          56 :     compiler::TNode<FixedArray> tmp12;
    2679          56 :     compiler::TNode<JSReceiver> tmp13;
    2680          56 :     compiler::TNode<IntPtrT> tmp14;
    2681          56 :     compiler::TNode<IntPtrT> tmp15;
    2682          56 :     ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
    2683          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 445);
    2684          56 :     compiler::TNode<Object> tmp16;
    2685          56 :     USE(tmp16);
    2686          56 :     tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
    2687          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 448);
    2688          56 :     compiler::TNode<Oddball> tmp17;
    2689          56 :     USE(tmp17);
    2690          56 :     tmp17 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    2691          56 :     compiler::TNode<BoolT> tmp18;
    2692          56 :     USE(tmp18);
    2693          56 :     tmp18 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp17}));
    2694          56 :     ca_.Branch(tmp18, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
    2695             :   }
    2696             : 
    2697          56 :   if (block5.is_used()) {
    2698          56 :     compiler::TNode<Context> tmp19;
    2699          56 :     compiler::TNode<FixedArray> tmp20;
    2700          56 :     compiler::TNode<JSReceiver> tmp21;
    2701          56 :     compiler::TNode<IntPtrT> tmp22;
    2702          56 :     compiler::TNode<IntPtrT> tmp23;
    2703          56 :     compiler::TNode<Object> tmp24;
    2704          56 :     ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
    2705          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 449);
    2706          56 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp20}, compiler::TNode<IntPtrT>{tmp23}, compiler::TNode<HeapObject>{tmp21});
    2707          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 450);
    2708          56 :     compiler::TNode<Oddball> tmp25;
    2709          56 :     USE(tmp25);
    2710          56 :     tmp25 = BaseBuiltinsFromDSLAssembler(state_).True();
    2711          56 :     CodeStubAssembler(state_).Return(tmp25);
    2712             :   }
    2713             : 
    2714          56 :   if (block6.is_used()) {
    2715          56 :     compiler::TNode<Context> tmp26;
    2716          56 :     compiler::TNode<FixedArray> tmp27;
    2717          56 :     compiler::TNode<JSReceiver> tmp28;
    2718          56 :     compiler::TNode<IntPtrT> tmp29;
    2719          56 :     compiler::TNode<IntPtrT> tmp30;
    2720          56 :     compiler::TNode<Object> tmp31;
    2721          56 :     ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
    2722          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 454);
    2723          56 :     compiler::TNode<BoolT> tmp32;
    2724          56 :     USE(tmp32);
    2725          56 :     tmp32 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp28}, compiler::TNode<Object>{tmp31}));
    2726          56 :     ca_.Branch(tmp32, &block7, &block8, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31);
    2727             :   }
    2728             : 
    2729          56 :   if (block7.is_used()) {
    2730          56 :     compiler::TNode<Context> tmp33;
    2731          56 :     compiler::TNode<FixedArray> tmp34;
    2732          56 :     compiler::TNode<JSReceiver> tmp35;
    2733          56 :     compiler::TNode<IntPtrT> tmp36;
    2734          56 :     compiler::TNode<IntPtrT> tmp37;
    2735          56 :     compiler::TNode<Object> tmp38;
    2736          56 :     ca_.Bind(&block7, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
    2737          56 :     compiler::TNode<Oddball> tmp39;
    2738          56 :     USE(tmp39);
    2739          56 :     tmp39 = BaseBuiltinsFromDSLAssembler(state_).False();
    2740          56 :     CodeStubAssembler(state_).Return(tmp39);
    2741             :   }
    2742             : 
    2743          56 :   if (block8.is_used()) {
    2744          56 :     compiler::TNode<Context> tmp40;
    2745          56 :     compiler::TNode<FixedArray> tmp41;
    2746          56 :     compiler::TNode<JSReceiver> tmp42;
    2747          56 :     compiler::TNode<IntPtrT> tmp43;
    2748          56 :     compiler::TNode<IntPtrT> tmp44;
    2749          56 :     compiler::TNode<Object> tmp45;
    2750          56 :     ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
    2751          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 444);
    2752          56 :     ca_.Goto(&block4, tmp40, tmp41, tmp42, tmp43, tmp44);
    2753             :   }
    2754             : 
    2755          56 :   if (block4.is_used()) {
    2756          56 :     compiler::TNode<Context> tmp46;
    2757          56 :     compiler::TNode<FixedArray> tmp47;
    2758          56 :     compiler::TNode<JSReceiver> tmp48;
    2759          56 :     compiler::TNode<IntPtrT> tmp49;
    2760          56 :     compiler::TNode<IntPtrT> tmp50;
    2761          56 :     ca_.Bind(&block4, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
    2762          56 :     compiler::TNode<IntPtrT> tmp51;
    2763          56 :     USE(tmp51);
    2764          56 :     tmp51 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    2765          56 :     compiler::TNode<IntPtrT> tmp52;
    2766          56 :     USE(tmp52);
    2767          56 :     tmp52 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp50}, compiler::TNode<IntPtrT>{tmp51}));
    2768          56 :     ca_.Goto(&block3, tmp46, tmp47, tmp48, tmp49, tmp52);
    2769             :   }
    2770             : 
    2771          56 :   if (block2.is_used()) {
    2772          56 :     compiler::TNode<Context> tmp53;
    2773          56 :     compiler::TNode<FixedArray> tmp54;
    2774          56 :     compiler::TNode<JSReceiver> tmp55;
    2775          56 :     compiler::TNode<IntPtrT> tmp56;
    2776          56 :     compiler::TNode<IntPtrT> tmp57;
    2777          56 :     ca_.Bind(&block2, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
    2778          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 459);
    2779          56 :     compiler::TNode<FixedArray> tmp58;
    2780          56 :     USE(tmp58);
    2781          56 :     tmp58 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray>{tmp54}, compiler::TNode<IntPtrT>{tmp56}, compiler::TNode<JSReceiver>{tmp55}));
    2782          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 458);
    2783          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 460);
    2784          56 :     ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp53}, compiler::TNode<FixedArray>{tmp58});
    2785          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 461);
    2786          56 :     compiler::TNode<Oddball> tmp59;
    2787          56 :     USE(tmp59);
    2788          56 :     tmp59 = BaseBuiltinsFromDSLAssembler(state_).True();
    2789          56 :     CodeStubAssembler(state_).Return(tmp59);
    2790          56 :   }
    2791          56 : }
    2792             : 
    2793         224 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPushInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::CodeAssemblerLabel* label_ReceiverAdded, compiler::CodeAssemblerLabel* label_ReceiverNotAdded) {
    2794         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2795         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2796         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2797         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2798         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2799         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block10(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    2800         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2801         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2802         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2803         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2804         448 :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2805         448 :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2806         224 :     ca_.Goto(&block0, p_context, p_receiver);
    2807             : 
    2808         224 :   if (block0.is_used()) {
    2809         224 :     compiler::TNode<Context> tmp0;
    2810         224 :     compiler::TNode<JSReceiver> tmp1;
    2811         224 :     ca_.Bind(&block0, &tmp0, &tmp1);
    2812         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 471);
    2813         224 :     compiler::TNode<FixedArray> tmp2;
    2814         224 :     USE(tmp2);
    2815         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    2816         224 :     tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
    2817         224 :     ca_.Goto(&block5, tmp0, tmp1, tmp2);
    2818         224 :     if (label0.is_used()) {
    2819         224 :       ca_.Bind(&label0);
    2820         224 :       ca_.Goto(&block6, tmp0, tmp1);
    2821         224 :     }
    2822             :   }
    2823             : 
    2824         224 :   if (block6.is_used()) {
    2825         224 :     compiler::TNode<Context> tmp3;
    2826         224 :     compiler::TNode<JSReceiver> tmp4;
    2827         224 :     ca_.Bind(&block6, &tmp3, &tmp4);
    2828         224 :     ca_.Goto(&block4, tmp3, tmp4);
    2829             :   }
    2830             : 
    2831         224 :   if (block5.is_used()) {
    2832         224 :     compiler::TNode<Context> tmp5;
    2833         224 :     compiler::TNode<JSReceiver> tmp6;
    2834         224 :     compiler::TNode<FixedArray> tmp7;
    2835         224 :     ca_.Bind(&block5, &tmp5, &tmp6, &tmp7);
    2836         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
    2837         224 :     compiler::TNode<Object> tmp8;
    2838         224 :     USE(tmp8);
    2839         224 :     tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp7}, 0));
    2840         224 :     compiler::TNode<Oddball> tmp9;
    2841         224 :     USE(tmp9);
    2842         224 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    2843         224 :     compiler::TNode<BoolT> tmp10;
    2844         224 :     USE(tmp10);
    2845         224 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp8}, compiler::TNode<HeapObject>{tmp9}));
    2846         224 :     ca_.Branch(tmp10, &block7, &block8, tmp5, tmp6, tmp7);
    2847             :   }
    2848             : 
    2849         224 :   if (block7.is_used()) {
    2850         224 :     compiler::TNode<Context> tmp11;
    2851         224 :     compiler::TNode<JSReceiver> tmp12;
    2852         224 :     compiler::TNode<FixedArray> tmp13;
    2853         224 :     ca_.Bind(&block7, &tmp11, &tmp12, &tmp13);
    2854         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 474);
    2855         224 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp13}, 0, compiler::TNode<HeapObject>{tmp12});
    2856         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
    2857         224 :     ca_.Goto(&block9, tmp11, tmp12, tmp13);
    2858             :   }
    2859             : 
    2860         224 :   if (block8.is_used()) {
    2861         224 :     compiler::TNode<Context> tmp14;
    2862         224 :     compiler::TNode<JSReceiver> tmp15;
    2863         224 :     compiler::TNode<FixedArray> tmp16;
    2864         224 :     ca_.Bind(&block8, &tmp14, &tmp15, &tmp16);
    2865         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 475);
    2866         224 :     compiler::TNode<Oddball> tmp17;
    2867         224 :     tmp17 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPush, tmp14, tmp16, tmp15));
    2868         224 :     USE(tmp17);
    2869         224 :     compiler::TNode<Oddball> tmp18;
    2870         224 :     USE(tmp18);
    2871         224 :     tmp18 = BaseBuiltinsFromDSLAssembler(state_).False();
    2872         224 :     compiler::TNode<BoolT> tmp19;
    2873         224 :     USE(tmp19);
    2874         224 :     tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp17}, compiler::TNode<HeapObject>{tmp18}));
    2875         224 :     ca_.Branch(tmp19, &block10, &block11, tmp14, tmp15, tmp16);
    2876             :   }
    2877             : 
    2878         224 :   if (block10.is_used()) {
    2879         224 :     compiler::TNode<Context> tmp20;
    2880         224 :     compiler::TNode<JSReceiver> tmp21;
    2881         224 :     compiler::TNode<FixedArray> tmp22;
    2882         224 :     ca_.Bind(&block10, &tmp20, &tmp21, &tmp22);
    2883         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 477);
    2884         224 :     ca_.Goto(&block2);
    2885             :   }
    2886             : 
    2887         224 :   if (block11.is_used()) {
    2888         224 :     compiler::TNode<Context> tmp23;
    2889         224 :     compiler::TNode<JSReceiver> tmp24;
    2890         224 :     compiler::TNode<FixedArray> tmp25;
    2891         224 :     ca_.Bind(&block11, &tmp23, &tmp24, &tmp25);
    2892         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
    2893         224 :     ca_.Goto(&block9, tmp23, tmp24, tmp25);
    2894             :   }
    2895             : 
    2896         224 :   if (block9.is_used()) {
    2897         224 :     compiler::TNode<Context> tmp26;
    2898         224 :     compiler::TNode<JSReceiver> tmp27;
    2899         224 :     compiler::TNode<FixedArray> tmp28;
    2900         224 :     ca_.Bind(&block9, &tmp26, &tmp27, &tmp28);
    2901         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 470);
    2902         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 480);
    2903         224 :     ca_.Goto(&block3, tmp26, tmp27);
    2904             :   }
    2905             : 
    2906         224 :   if (block4.is_used()) {
    2907         224 :     compiler::TNode<Context> tmp29;
    2908         224 :     compiler::TNode<JSReceiver> tmp30;
    2909         224 :     ca_.Bind(&block4, &tmp29, &tmp30);
    2910         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 482);
    2911         224 :     compiler::TNode<IntPtrT> tmp31;
    2912         224 :     USE(tmp31);
    2913         224 :     tmp31 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    2914         224 :     compiler::TNode<FixedArray> tmp32;
    2915         224 :     USE(tmp32);
    2916         224 :     tmp32 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp31}, CodeStubAssembler::kNone));
    2917         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 481);
    2918         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 483);
    2919         224 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp32}, 0, compiler::TNode<HeapObject>{tmp30});
    2920         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 484);
    2921         224 :     ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp29}, compiler::TNode<FixedArray>{tmp32});
    2922         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 480);
    2923         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 470);
    2924         224 :     ca_.Goto(&block3, tmp29, tmp30);
    2925             :   }
    2926             : 
    2927         224 :   if (block3.is_used()) {
    2928         224 :     compiler::TNode<Context> tmp33;
    2929         224 :     compiler::TNode<JSReceiver> tmp34;
    2930         224 :     ca_.Bind(&block3, &tmp33, &tmp34);
    2931         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 486);
    2932         224 :     ca_.Goto(&block1);
    2933             :   }
    2934             : 
    2935         224 :   if (block1.is_used()) {
    2936         224 :     ca_.Bind(&block1);
    2937         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 467);
    2938         224 :     ca_.Goto(label_ReceiverAdded);
    2939             :   }
    2940             : 
    2941         224 :   if (block2.is_used()) {
    2942         224 :     ca_.Bind(&block2);
    2943         224 :     ca_.Goto(label_ReceiverNotAdded);
    2944         224 :   }
    2945         224 : }
    2946             : 
    2947         392 : TF_BUILTIN(JoinStackPop, CodeStubAssembler) {
    2948          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    2949          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    2950          56 :   USE(parameter0);
    2951          56 :   compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
    2952          56 :   USE(parameter1);
    2953          56 :   compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    2954          56 :   USE(parameter2);
    2955         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2956         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2957         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2958         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2959         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2960         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    2961         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2962         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2963         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2964         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2965         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2966          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    2967             : 
    2968          56 :   if (block0.is_used()) {
    2969          56 :     compiler::TNode<Context> tmp0;
    2970          56 :     compiler::TNode<FixedArray> tmp1;
    2971          56 :     compiler::TNode<JSReceiver> tmp2;
    2972          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    2973          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 493);
    2974          56 :     compiler::TNode<IntPtrT> tmp3;
    2975          56 :     USE(tmp3);
    2976          56 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
    2977          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 494);
    2978          56 :     compiler::TNode<IntPtrT> tmp4;
    2979          56 :     USE(tmp4);
    2980          56 :     tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    2981          56 :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
    2982             :   }
    2983             : 
    2984          56 :   if (block3.is_used()) {
    2985          56 :     compiler::TNode<Context> tmp5;
    2986          56 :     compiler::TNode<FixedArray> tmp6;
    2987          56 :     compiler::TNode<JSReceiver> tmp7;
    2988          56 :     compiler::TNode<IntPtrT> tmp8;
    2989          56 :     compiler::TNode<IntPtrT> tmp9;
    2990          56 :     ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
    2991          56 :     compiler::TNode<BoolT> tmp10;
    2992          56 :     USE(tmp10);
    2993          56 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
    2994          56 :     ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
    2995             :   }
    2996             : 
    2997          56 :   if (block1.is_used()) {
    2998          56 :     compiler::TNode<Context> tmp11;
    2999          56 :     compiler::TNode<FixedArray> tmp12;
    3000          56 :     compiler::TNode<JSReceiver> tmp13;
    3001          56 :     compiler::TNode<IntPtrT> tmp14;
    3002          56 :     compiler::TNode<IntPtrT> tmp15;
    3003          56 :     ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
    3004          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 495);
    3005          56 :     compiler::TNode<Object> tmp16;
    3006          56 :     USE(tmp16);
    3007          56 :     tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
    3008          56 :     compiler::TNode<BoolT> tmp17;
    3009          56 :     USE(tmp17);
    3010          56 :     tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp13}));
    3011          56 :     ca_.Branch(tmp17, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15);
    3012             :   }
    3013             : 
    3014          56 :   if (block5.is_used()) {
    3015          56 :     compiler::TNode<Context> tmp18;
    3016          56 :     compiler::TNode<FixedArray> tmp19;
    3017          56 :     compiler::TNode<JSReceiver> tmp20;
    3018          56 :     compiler::TNode<IntPtrT> tmp21;
    3019          56 :     compiler::TNode<IntPtrT> tmp22;
    3020          56 :     ca_.Bind(&block5, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
    3021          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 498);
    3022          56 :     compiler::TNode<IntPtrT> tmp23;
    3023          56 :     USE(tmp23);
    3024          56 :     tmp23 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3025          56 :     compiler::TNode<BoolT> tmp24;
    3026          56 :     USE(tmp24);
    3027          56 :     tmp24 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp22}, compiler::TNode<IntPtrT>{tmp23}));
    3028          56 :     ca_.Branch(tmp24, &block9, &block8, tmp18, tmp19, tmp20, tmp21, tmp22);
    3029             :   }
    3030             : 
    3031          56 :   if (block9.is_used()) {
    3032          56 :     compiler::TNode<Context> tmp25;
    3033          56 :     compiler::TNode<FixedArray> tmp26;
    3034          56 :     compiler::TNode<JSReceiver> tmp27;
    3035          56 :     compiler::TNode<IntPtrT> tmp28;
    3036          56 :     compiler::TNode<IntPtrT> tmp29;
    3037          56 :     ca_.Bind(&block9, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
    3038          56 :     compiler::TNode<IntPtrT> tmp30;
    3039          56 :     USE(tmp30);
    3040          56 :     tmp30 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3041          56 :     compiler::TNode<BoolT> tmp31;
    3042          56 :     USE(tmp31);
    3043          56 :     tmp31 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp28}, compiler::TNode<IntPtrT>{tmp30}));
    3044          56 :     ca_.Branch(tmp31, &block7, &block8, tmp25, tmp26, tmp27, tmp28, tmp29);
    3045             :   }
    3046             : 
    3047          56 :   if (block7.is_used()) {
    3048          56 :     compiler::TNode<Context> tmp32;
    3049          56 :     compiler::TNode<FixedArray> tmp33;
    3050          56 :     compiler::TNode<JSReceiver> tmp34;
    3051          56 :     compiler::TNode<IntPtrT> tmp35;
    3052          56 :     compiler::TNode<IntPtrT> tmp36;
    3053          56 :     ca_.Bind(&block7, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
    3054          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 500);
    3055          56 :     compiler::TNode<IntPtrT> tmp37;
    3056          56 :     USE(tmp37);
    3057          56 :     tmp37 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3058          56 :     compiler::TNode<FixedArray> tmp38;
    3059          56 :     USE(tmp38);
    3060          56 :     tmp38 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp37}, CodeStubAssembler::kNone));
    3061          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 499);
    3062          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
    3063          56 :     ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp32}, compiler::TNode<FixedArray>{tmp38});
    3064          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 498);
    3065          56 :     ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35, tmp36);
    3066             :   }
    3067             : 
    3068          56 :   if (block8.is_used()) {
    3069          56 :     compiler::TNode<Context> tmp39;
    3070          56 :     compiler::TNode<FixedArray> tmp40;
    3071          56 :     compiler::TNode<JSReceiver> tmp41;
    3072          56 :     compiler::TNode<IntPtrT> tmp42;
    3073          56 :     compiler::TNode<IntPtrT> tmp43;
    3074          56 :     ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    3075          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 504);
    3076          56 :     compiler::TNode<Oddball> tmp44;
    3077          56 :     USE(tmp44);
    3078          56 :     tmp44 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    3079          56 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp40}, compiler::TNode<IntPtrT>{tmp43}, compiler::TNode<HeapObject>{tmp44});
    3080          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 498);
    3081          56 :     ca_.Goto(&block10, tmp39, tmp40, tmp41, tmp42, tmp43);
    3082             :   }
    3083             : 
    3084          56 :   if (block10.is_used()) {
    3085          56 :     compiler::TNode<Context> tmp45;
    3086          56 :     compiler::TNode<FixedArray> tmp46;
    3087          56 :     compiler::TNode<JSReceiver> tmp47;
    3088          56 :     compiler::TNode<IntPtrT> tmp48;
    3089          56 :     compiler::TNode<IntPtrT> tmp49;
    3090          56 :     ca_.Bind(&block10, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
    3091          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 506);
    3092          56 :     compiler::TNode<Oddball> tmp50;
    3093          56 :     USE(tmp50);
    3094          56 :     tmp50 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3095          56 :     CodeStubAssembler(state_).Return(tmp50);
    3096             :   }
    3097             : 
    3098          56 :   if (block6.is_used()) {
    3099          56 :     compiler::TNode<Context> tmp51;
    3100          56 :     compiler::TNode<FixedArray> tmp52;
    3101          56 :     compiler::TNode<JSReceiver> tmp53;
    3102          56 :     compiler::TNode<IntPtrT> tmp54;
    3103          56 :     compiler::TNode<IntPtrT> tmp55;
    3104          56 :     ca_.Bind(&block6, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55);
    3105          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 494);
    3106          56 :     ca_.Goto(&block4, tmp51, tmp52, tmp53, tmp54, tmp55);
    3107             :   }
    3108             : 
    3109          56 :   if (block4.is_used()) {
    3110          56 :     compiler::TNode<Context> tmp56;
    3111          56 :     compiler::TNode<FixedArray> tmp57;
    3112          56 :     compiler::TNode<JSReceiver> tmp58;
    3113          56 :     compiler::TNode<IntPtrT> tmp59;
    3114          56 :     compiler::TNode<IntPtrT> tmp60;
    3115          56 :     ca_.Bind(&block4, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60);
    3116          56 :     compiler::TNode<IntPtrT> tmp61;
    3117          56 :     USE(tmp61);
    3118          56 :     tmp61 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    3119          56 :     compiler::TNode<IntPtrT> tmp62;
    3120          56 :     USE(tmp62);
    3121          56 :     tmp62 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp60}, compiler::TNode<IntPtrT>{tmp61}));
    3122          56 :     ca_.Goto(&block3, tmp56, tmp57, tmp58, tmp59, tmp62);
    3123             :   }
    3124             : 
    3125          56 :   if (block2.is_used()) {
    3126          56 :     compiler::TNode<Context> tmp63;
    3127          56 :     compiler::TNode<FixedArray> tmp64;
    3128          56 :     compiler::TNode<JSReceiver> tmp65;
    3129          56 :     compiler::TNode<IntPtrT> tmp66;
    3130          56 :     compiler::TNode<IntPtrT> tmp67;
    3131          56 :     ca_.Bind(&block2, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
    3132          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 509);
    3133          56 :     CodeStubAssembler(state_).Unreachable();
    3134          56 :   }
    3135          56 : }
    3136             : 
    3137         448 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPopInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver) {
    3138         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3139         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3140         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3141         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3142         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3143         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3144         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3145         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3146         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3147         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3148         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3149         448 :     ca_.Goto(&block0, p_context, p_receiver);
    3150             : 
    3151         448 :   if (block0.is_used()) {
    3152         448 :     compiler::TNode<Context> tmp0;
    3153         448 :     compiler::TNode<JSReceiver> tmp1;
    3154         448 :     ca_.Bind(&block0, &tmp0, &tmp1);
    3155         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 514);
    3156         448 :     compiler::TNode<FixedArray> tmp2;
    3157         448 :     USE(tmp2);
    3158         448 :     compiler::CodeAssemblerLabel label0(&ca_);
    3159         448 :     tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
    3160         448 :     ca_.Goto(&block4, tmp0, tmp1, tmp2);
    3161         448 :     if (label0.is_used()) {
    3162         448 :       ca_.Bind(&label0);
    3163         448 :       ca_.Goto(&block5, tmp0, tmp1);
    3164         448 :     }
    3165             :   }
    3166             : 
    3167         448 :   if (block5.is_used()) {
    3168         448 :     compiler::TNode<Context> tmp3;
    3169         448 :     compiler::TNode<JSReceiver> tmp4;
    3170         448 :     ca_.Bind(&block5, &tmp3, &tmp4);
    3171         448 :     ca_.Goto(&block3, tmp3, tmp4);
    3172             :   }
    3173             : 
    3174         448 :   if (block4.is_used()) {
    3175         448 :     compiler::TNode<Context> tmp5;
    3176         448 :     compiler::TNode<JSReceiver> tmp6;
    3177         448 :     compiler::TNode<FixedArray> tmp7;
    3178         448 :     ca_.Bind(&block4, &tmp5, &tmp6, &tmp7);
    3179         448 :     ca_.Goto(&block2, tmp5, tmp6, tmp7);
    3180             :   }
    3181             : 
    3182         448 :   if (block3.is_used()) {
    3183         448 :     compiler::TNode<Context> tmp8;
    3184         448 :     compiler::TNode<JSReceiver> tmp9;
    3185         448 :     ca_.Bind(&block3, &tmp8, &tmp9);
    3186         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 515);
    3187         448 :     CodeStubAssembler(state_).Unreachable();
    3188             :   }
    3189             : 
    3190         448 :   if (block2.is_used()) {
    3191         448 :     compiler::TNode<Context> tmp10;
    3192         448 :     compiler::TNode<JSReceiver> tmp11;
    3193         448 :     compiler::TNode<FixedArray> tmp12;
    3194         448 :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
    3195         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 514);
    3196         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 516);
    3197         448 :     compiler::TNode<IntPtrT> tmp13;
    3198         448 :     USE(tmp13);
    3199         448 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp12}));
    3200         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 520);
    3201         448 :     compiler::TNode<Object> tmp14;
    3202         448 :     USE(tmp14);
    3203         448 :     tmp14 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, 0));
    3204         448 :     compiler::TNode<BoolT> tmp15;
    3205         448 :     USE(tmp15);
    3206         448 :     tmp15 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp14}, compiler::TNode<HeapObject>{tmp11}));
    3207         448 :     ca_.Branch(tmp15, &block8, &block7, tmp10, tmp11, tmp12, tmp13);
    3208             :   }
    3209             : 
    3210         448 :   if (block8.is_used()) {
    3211         448 :     compiler::TNode<Context> tmp16;
    3212         448 :     compiler::TNode<JSReceiver> tmp17;
    3213         448 :     compiler::TNode<FixedArray> tmp18;
    3214         448 :     compiler::TNode<IntPtrT> tmp19;
    3215         448 :     ca_.Bind(&block8, &tmp16, &tmp17, &tmp18, &tmp19);
    3216         448 :     compiler::TNode<IntPtrT> tmp20;
    3217         448 :     USE(tmp20);
    3218         448 :     tmp20 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3219         448 :     compiler::TNode<BoolT> tmp21;
    3220         448 :     USE(tmp21);
    3221         448 :     tmp21 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp19}, compiler::TNode<IntPtrT>{tmp20}));
    3222         448 :     ca_.Branch(tmp21, &block6, &block7, tmp16, tmp17, tmp18, tmp19);
    3223             :   }
    3224             : 
    3225         448 :   if (block6.is_used()) {
    3226         448 :     compiler::TNode<Context> tmp22;
    3227         448 :     compiler::TNode<JSReceiver> tmp23;
    3228         448 :     compiler::TNode<FixedArray> tmp24;
    3229         448 :     compiler::TNode<IntPtrT> tmp25;
    3230         448 :     ca_.Bind(&block6, &tmp22, &tmp23, &tmp24, &tmp25);
    3231         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 521);
    3232         448 :     compiler::TNode<Oddball> tmp26;
    3233         448 :     USE(tmp26);
    3234         448 :     tmp26 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    3235         448 :     compiler::TNode<IntPtrT> tmp27;
    3236         448 :     USE(tmp27);
    3237         448 :     tmp27 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3238         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, compiler::TNode<IntPtrT>{tmp27}, compiler::TNode<Object>{tmp26}, SKIP_WRITE_BARRIER);
    3239         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 520);
    3240         448 :     ca_.Goto(&block9, tmp22, tmp23, tmp24, tmp25);
    3241             :   }
    3242             : 
    3243         448 :   if (block7.is_used()) {
    3244         448 :     compiler::TNode<Context> tmp28;
    3245         448 :     compiler::TNode<JSReceiver> tmp29;
    3246         448 :     compiler::TNode<FixedArray> tmp30;
    3247         448 :     compiler::TNode<IntPtrT> tmp31;
    3248         448 :     ca_.Bind(&block7, &tmp28, &tmp29, &tmp30, &tmp31);
    3249         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 524);
    3250         448 :     compiler::TNode<Object> tmp32;
    3251         448 :     tmp32 = CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPop, tmp28, tmp30, tmp29);
    3252         448 :     USE(tmp32);
    3253         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 520);
    3254         448 :     ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31);
    3255             :   }
    3256             : 
    3257         448 :   if (block9.is_used()) {
    3258         448 :     compiler::TNode<Context> tmp33;
    3259         448 :     compiler::TNode<JSReceiver> tmp34;
    3260         448 :     compiler::TNode<FixedArray> tmp35;
    3261         448 :     compiler::TNode<IntPtrT> tmp36;
    3262         448 :     ca_.Bind(&block9, &tmp33, &tmp34, &tmp35, &tmp36);
    3263         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 513);
    3264         448 :     ca_.Goto(&block1, tmp33, tmp34);
    3265             :   }
    3266             : 
    3267         448 :   if (block1.is_used()) {
    3268         448 :     compiler::TNode<Context> tmp37;
    3269         448 :     compiler::TNode<JSReceiver> tmp38;
    3270         448 :     ca_.Bind(&block1, &tmp37, &tmp38);
    3271         448 :     ca_.Goto(&block10, tmp37, tmp38);
    3272             :   }
    3273             : 
    3274         448 :     compiler::TNode<Context> tmp39;
    3275         448 :     compiler::TNode<JSReceiver> tmp40;
    3276         896 :     ca_.Bind(&block10, &tmp39, &tmp40);
    3277         448 : }
    3278             : 
    3279         336 : TF_BUILTIN(ArrayPrototypeJoin, CodeStubAssembler) {
    3280          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3281          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3282          56 :   USE(parameter0);
    3283          56 :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3284          56 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
    3285          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
    3286          56 : auto arguments = &arguments_impl;
    3287          56 : USE(arguments);
    3288          56 : USE(parameter1);
    3289         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3290         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3291         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3292         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3293         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3294          56 :     ca_.Goto(&block0, parameter0, parameter1);
    3295             : 
    3296          56 :   if (block0.is_used()) {
    3297          56 :     compiler::TNode<Context> tmp0;
    3298          56 :     compiler::TNode<Object> tmp1;
    3299          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
    3300          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 558);
    3301          56 :     compiler::TNode<IntPtrT> tmp2;
    3302          56 :     USE(tmp2);
    3303          56 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3304          56 :     compiler::TNode<Object> tmp3;
    3305          56 :     USE(tmp3);
    3306          56 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
    3307          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 561);
    3308          56 :     compiler::TNode<JSReceiver> tmp4;
    3309          56 :     USE(tmp4);
    3310          56 :     tmp4 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    3311          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 564);
    3312          56 :     compiler::TNode<Number> tmp5;
    3313          56 :     USE(tmp5);
    3314          56 :     tmp5 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
    3315          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 568);
    3316          56 :     compiler::TNode<Number> tmp6;
    3317          56 :     USE(tmp6);
    3318          56 :     tmp6 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
    3319          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    3320         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    3321          56 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp5}, compiler::TNode<Number>{tmp6}, &label0, &label1);
    3322          56 :     if (label0.is_used()) {
    3323          56 :       ca_.Bind(&label0);
    3324          56 :       ca_.Goto(&block3, tmp0, tmp1, tmp3, tmp4, tmp5, tmp5);
    3325             :     }
    3326          56 :     if (label1.is_used()) {
    3327          56 :       ca_.Bind(&label1);
    3328          56 :       ca_.Goto(&block4, tmp0, tmp1, tmp3, tmp4, tmp5, tmp5);
    3329          56 :     }
    3330             :   }
    3331             : 
    3332          56 :   if (block3.is_used()) {
    3333          56 :     compiler::TNode<Context> tmp7;
    3334          56 :     compiler::TNode<Object> tmp8;
    3335          56 :     compiler::TNode<Object> tmp9;
    3336          56 :     compiler::TNode<JSReceiver> tmp10;
    3337          56 :     compiler::TNode<Number> tmp11;
    3338          56 :     compiler::TNode<Number> tmp12;
    3339          56 :     ca_.Bind(&block3, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12);
    3340          56 :     ca_.Goto(&block1, tmp7, tmp8, tmp9, tmp10, tmp11);
    3341             :   }
    3342             : 
    3343          56 :   if (block4.is_used()) {
    3344          56 :     compiler::TNode<Context> tmp13;
    3345          56 :     compiler::TNode<Object> tmp14;
    3346          56 :     compiler::TNode<Object> tmp15;
    3347          56 :     compiler::TNode<JSReceiver> tmp16;
    3348          56 :     compiler::TNode<Number> tmp17;
    3349          56 :     compiler::TNode<Number> tmp18;
    3350          56 :     ca_.Bind(&block4, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
    3351          56 :     ca_.Goto(&block2, tmp13, tmp14, tmp15, tmp16, tmp17);
    3352             :   }
    3353             : 
    3354          56 :   if (block1.is_used()) {
    3355          56 :     compiler::TNode<Context> tmp19;
    3356          56 :     compiler::TNode<Object> tmp20;
    3357          56 :     compiler::TNode<Object> tmp21;
    3358          56 :     compiler::TNode<JSReceiver> tmp22;
    3359          56 :     compiler::TNode<Number> tmp23;
    3360          56 :     ca_.Bind(&block1, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
    3361          56 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp19}, MessageTemplate::kInvalidArrayLength);
    3362             :   }
    3363             : 
    3364          56 :   if (block2.is_used()) {
    3365          56 :     compiler::TNode<Context> tmp24;
    3366          56 :     compiler::TNode<Object> tmp25;
    3367          56 :     compiler::TNode<Object> tmp26;
    3368          56 :     compiler::TNode<JSReceiver> tmp27;
    3369          56 :     compiler::TNode<Number> tmp28;
    3370          56 :     ca_.Bind(&block2, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
    3371          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 571);
    3372          56 :     compiler::TNode<Oddball> tmp29;
    3373          56 :     USE(tmp29);
    3374          56 :     tmp29 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3375          56 :     compiler::TNode<Oddball> tmp30;
    3376          56 :     USE(tmp30);
    3377          56 :     tmp30 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3378          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 570);
    3379          56 :     compiler::TNode<Object> tmp31;
    3380          56 :     USE(tmp31);
    3381          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}));
    3382          56 :     arguments->PopAndReturn(tmp31);
    3383          56 :   }
    3384          56 : }
    3385             : 
    3386         336 : TF_BUILTIN(ArrayPrototypeToLocaleString, CodeStubAssembler) {
    3387          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3388          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3389          56 :   USE(parameter0);
    3390          56 :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3391          56 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
    3392          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
    3393          56 : auto arguments = &arguments_impl;
    3394          56 : USE(arguments);
    3395          56 : USE(parameter1);
    3396         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3397         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3398         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3399         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3400         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3401          56 :     ca_.Goto(&block0, parameter0, parameter1);
    3402             : 
    3403          56 :   if (block0.is_used()) {
    3404          56 :     compiler::TNode<Context> tmp0;
    3405          56 :     compiler::TNode<Object> tmp1;
    3406          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
    3407          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 577);
    3408          56 :     compiler::TNode<IntPtrT> tmp2;
    3409          56 :     USE(tmp2);
    3410          56 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3411          56 :     compiler::TNode<Object> tmp3;
    3412          56 :     USE(tmp3);
    3413          56 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
    3414          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 578);
    3415          56 :     compiler::TNode<IntPtrT> tmp4;
    3416          56 :     USE(tmp4);
    3417          56 :     tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    3418          56 :     compiler::TNode<Object> tmp5;
    3419          56 :     USE(tmp5);
    3420          56 :     tmp5 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp4}));
    3421          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 581);
    3422          56 :     compiler::TNode<JSReceiver> tmp6;
    3423          56 :     USE(tmp6);
    3424          56 :     tmp6 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    3425          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 584);
    3426          56 :     compiler::TNode<Number> tmp7;
    3427          56 :     USE(tmp7);
    3428          56 :     tmp7 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp6}));
    3429          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 588);
    3430          56 :     compiler::TNode<Number> tmp8;
    3431          56 :     USE(tmp8);
    3432          56 :     tmp8 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
    3433          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    3434         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    3435          56 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp7}, compiler::TNode<Number>{tmp8}, &label0, &label1);
    3436          56 :     if (label0.is_used()) {
    3437          56 :       ca_.Bind(&label0);
    3438          56 :       ca_.Goto(&block3, tmp0, tmp1, tmp3, tmp5, tmp6, tmp7, tmp7);
    3439             :     }
    3440          56 :     if (label1.is_used()) {
    3441          56 :       ca_.Bind(&label1);
    3442          56 :       ca_.Goto(&block4, tmp0, tmp1, tmp3, tmp5, tmp6, tmp7, tmp7);
    3443          56 :     }
    3444             :   }
    3445             : 
    3446          56 :   if (block3.is_used()) {
    3447          56 :     compiler::TNode<Context> tmp9;
    3448          56 :     compiler::TNode<Object> tmp10;
    3449          56 :     compiler::TNode<Object> tmp11;
    3450          56 :     compiler::TNode<Object> tmp12;
    3451          56 :     compiler::TNode<JSReceiver> tmp13;
    3452          56 :     compiler::TNode<Number> tmp14;
    3453          56 :     compiler::TNode<Number> tmp15;
    3454          56 :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
    3455          56 :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
    3456             :   }
    3457             : 
    3458          56 :   if (block4.is_used()) {
    3459          56 :     compiler::TNode<Context> tmp16;
    3460          56 :     compiler::TNode<Object> tmp17;
    3461          56 :     compiler::TNode<Object> tmp18;
    3462          56 :     compiler::TNode<Object> tmp19;
    3463          56 :     compiler::TNode<JSReceiver> tmp20;
    3464          56 :     compiler::TNode<Number> tmp21;
    3465          56 :     compiler::TNode<Number> tmp22;
    3466          56 :     ca_.Bind(&block4, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
    3467          56 :     ca_.Goto(&block2, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21);
    3468             :   }
    3469             : 
    3470          56 :   if (block1.is_used()) {
    3471          56 :     compiler::TNode<Context> tmp23;
    3472          56 :     compiler::TNode<Object> tmp24;
    3473          56 :     compiler::TNode<Object> tmp25;
    3474          56 :     compiler::TNode<Object> tmp26;
    3475          56 :     compiler::TNode<JSReceiver> tmp27;
    3476          56 :     compiler::TNode<Number> tmp28;
    3477          56 :     ca_.Bind(&block1, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
    3478          56 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp23}, MessageTemplate::kInvalidArrayLength);
    3479             :   }
    3480             : 
    3481          56 :   if (block2.is_used()) {
    3482          56 :     compiler::TNode<Context> tmp29;
    3483          56 :     compiler::TNode<Object> tmp30;
    3484          56 :     compiler::TNode<Object> tmp31;
    3485          56 :     compiler::TNode<Object> tmp32;
    3486          56 :     compiler::TNode<JSReceiver> tmp33;
    3487          56 :     compiler::TNode<Number> tmp34;
    3488          56 :     ca_.Bind(&block2, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
    3489          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 591);
    3490          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 590);
    3491          56 :     compiler::TNode<Object> tmp35;
    3492          56 :     USE(tmp35);
    3493          56 :     tmp35 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
    3494          56 :     compiler::TNode<Object> tmp36;
    3495          56 :     USE(tmp36);
    3496          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}));
    3497          56 :     arguments->PopAndReturn(tmp36);
    3498          56 :   }
    3499          56 : }
    3500             : 
    3501         336 : TF_BUILTIN(ArrayPrototypeToString, CodeStubAssembler) {
    3502          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3503          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3504          56 :   USE(parameter0);
    3505          56 :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3506          56 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
    3507          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
    3508          56 : auto arguments = &arguments_impl;
    3509          56 : USE(arguments);
    3510          56 : USE(parameter1);
    3511         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3512         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3513         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3514         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3515          56 :     ca_.Goto(&block0, parameter0, parameter1);
    3516             : 
    3517          56 :   if (block0.is_used()) {
    3518          56 :     compiler::TNode<Context> tmp0;
    3519          56 :     compiler::TNode<Object> tmp1;
    3520          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
    3521          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 598);
    3522          56 :     compiler::TNode<JSReceiver> tmp2;
    3523          56 :     USE(tmp2);
    3524          56 :     tmp2 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    3525          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 601);
    3526          56 :     compiler::TNode<Object> tmp3;
    3527          56 :     USE(tmp3);
    3528          56 :     tmp3 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("join"));
    3529          56 :     compiler::TNode<Object> tmp4;
    3530          56 :     USE(tmp4);
    3531          56 :     tmp4 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}, compiler::TNode<Object>{tmp3}));
    3532          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 605);
    3533          56 :     compiler::TNode<JSReceiver> tmp5;
    3534          56 :     USE(tmp5);
    3535          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    3536          56 :     tmp5 = BaseBuiltinsFromDSLAssembler(state_).Cast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}, &label0);
    3537          56 :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp4, tmp4, tmp5);
    3538          56 :     if (label0.is_used()) {
    3539          56 :       ca_.Bind(&label0);
    3540          56 :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp4, tmp4);
    3541          56 :     }
    3542             :   }
    3543             : 
    3544          56 :   if (block4.is_used()) {
    3545          56 :     compiler::TNode<Context> tmp6;
    3546          56 :     compiler::TNode<Object> tmp7;
    3547          56 :     compiler::TNode<JSReceiver> tmp8;
    3548          56 :     compiler::TNode<Object> tmp9;
    3549          56 :     compiler::TNode<Object> tmp10;
    3550          56 :     ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
    3551          56 :     ca_.Goto(&block2, tmp6, tmp7, tmp8, tmp9);
    3552             :   }
    3553             : 
    3554          56 :   if (block3.is_used()) {
    3555          56 :     compiler::TNode<Context> tmp11;
    3556          56 :     compiler::TNode<Object> tmp12;
    3557          56 :     compiler::TNode<JSReceiver> tmp13;
    3558          56 :     compiler::TNode<Object> tmp14;
    3559          56 :     compiler::TNode<Object> tmp15;
    3560          56 :     compiler::TNode<JSReceiver> tmp16;
    3561          56 :     ca_.Bind(&block3, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
    3562          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 608);
    3563          56 :     compiler::TNode<Object> tmp17;
    3564          56 :     USE(tmp17);
    3565          56 :     tmp17 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp11}, compiler::TNode<JSReceiver>{tmp16}, compiler::TNode<Object>{tmp13}));
    3566          56 :     arguments->PopAndReturn(tmp17);
    3567             :   }
    3568             : 
    3569          56 :   if (block2.is_used()) {
    3570          56 :     compiler::TNode<Context> tmp18;
    3571          56 :     compiler::TNode<Object> tmp19;
    3572          56 :     compiler::TNode<JSReceiver> tmp20;
    3573          56 :     compiler::TNode<Object> tmp21;
    3574          56 :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20, &tmp21);
    3575          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 611);
    3576          56 :     compiler::TNode<Object> tmp22;
    3577          56 :     tmp22 = CodeStubAssembler(state_).CallBuiltin(Builtins::kObjectToString, tmp18, tmp20);
    3578          56 :     USE(tmp22);
    3579          56 :     arguments->PopAndReturn(tmp22);
    3580          56 :   }
    3581          56 : }
    3582             : 
    3583         336 : TF_BUILTIN(TypedArrayPrototypeJoin, CodeStubAssembler) {
    3584          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3585          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3586          56 :   USE(parameter0);
    3587          56 :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3588          56 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
    3589          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
    3590          56 : auto arguments = &arguments_impl;
    3591          56 : USE(arguments);
    3592          56 : USE(parameter1);
    3593         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3594          56 :     ca_.Goto(&block0, parameter0, parameter1);
    3595             : 
    3596          56 :   if (block0.is_used()) {
    3597          56 :     compiler::TNode<Context> tmp0;
    3598          56 :     compiler::TNode<Object> tmp1;
    3599          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
    3600          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 618);
    3601          56 :     compiler::TNode<IntPtrT> tmp2;
    3602          56 :     USE(tmp2);
    3603          56 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3604          56 :     compiler::TNode<Object> tmp3;
    3605          56 :     USE(tmp3);
    3606          56 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
    3607          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 623);
    3608          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 622);
    3609          56 :     compiler::TNode<JSTypedArray> tmp4;
    3610          56 :     USE(tmp4);
    3611          56 :     tmp4 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.join"));
    3612          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 624);
    3613          56 :     compiler::TNode<Smi> tmp5;
    3614          56 :     USE(tmp5);
    3615          56 :     tmp5 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadJSTypedArrayLength(compiler::TNode<JSTypedArray>{tmp4}));
    3616          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 627);
    3617          56 :     compiler::TNode<Oddball> tmp6;
    3618          56 :     USE(tmp6);
    3619          56 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3620          56 :     compiler::TNode<Oddball> tmp7;
    3621          56 :     USE(tmp7);
    3622          56 :     tmp7 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3623          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 626);
    3624          56 :     compiler::TNode<Object> tmp8;
    3625          56 :     USE(tmp8);
    3626          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}));
    3627          56 :     arguments->PopAndReturn(tmp8);
    3628          56 :   }
    3629          56 : }
    3630             : 
    3631         336 : TF_BUILTIN(TypedArrayPrototypeToLocaleString, CodeStubAssembler) {
    3632          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3633          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3634          56 :   USE(parameter0);
    3635          56 :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3636          56 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
    3637          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
    3638          56 : auto arguments = &arguments_impl;
    3639          56 : USE(arguments);
    3640          56 : USE(parameter1);
    3641         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3642          56 :     ca_.Goto(&block0, parameter0, parameter1);
    3643             : 
    3644          56 :   if (block0.is_used()) {
    3645          56 :     compiler::TNode<Context> tmp0;
    3646          56 :     compiler::TNode<Object> tmp1;
    3647          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
    3648          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 633);
    3649          56 :     compiler::TNode<IntPtrT> tmp2;
    3650          56 :     USE(tmp2);
    3651          56 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3652          56 :     compiler::TNode<Object> tmp3;
    3653          56 :     USE(tmp3);
    3654          56 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
    3655          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 634);
    3656          56 :     compiler::TNode<IntPtrT> tmp4;
    3657          56 :     USE(tmp4);
    3658          56 :     tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    3659          56 :     compiler::TNode<Object> tmp5;
    3660          56 :     USE(tmp5);
    3661          56 :     tmp5 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp4}));
    3662          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 639);
    3663          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 638);
    3664          56 :     compiler::TNode<JSTypedArray> tmp6;
    3665          56 :     USE(tmp6);
    3666          56 :     tmp6 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.toLocaleString"));
    3667          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 640);
    3668          56 :     compiler::TNode<Smi> tmp7;
    3669          56 :     USE(tmp7);
    3670          56 :     tmp7 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadJSTypedArrayLength(compiler::TNode<JSTypedArray>{tmp6}));
    3671          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 643);
    3672          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 642);
    3673          56 :     compiler::TNode<Object> tmp8;
    3674          56 :     USE(tmp8);
    3675          56 :     tmp8 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
    3676          56 :     compiler::TNode<Object> tmp9;
    3677          56 :     USE(tmp9);
    3678          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}));
    3679          56 :     arguments->PopAndReturn(tmp9);
    3680          56 :   }
    3681          56 : }
    3682             : 
    3683         392 : TF_BUILTIN(LoadJoinElement25ATGenericElementsAccessor, CodeStubAssembler) {
    3684          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3685          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3686          56 :   USE(parameter0);
    3687          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    3688          56 :   USE(parameter1);
    3689          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    3690          56 :   USE(parameter2);
    3691         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3692          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    3693             : 
    3694          56 :   if (block0.is_used()) {
    3695          56 :     compiler::TNode<Context> tmp0;
    3696          56 :     compiler::TNode<JSReceiver> tmp1;
    3697          56 :     compiler::TNode<Number> tmp2;
    3698          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    3699          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 16);
    3700          56 :     compiler::TNode<Object> tmp3;
    3701          56 :     USE(tmp3);
    3702          56 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}));
    3703          56 :     CodeStubAssembler(state_).Return(tmp3);
    3704          56 :   }
    3705          56 : }
    3706             : 
    3707         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) {
    3708         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3709         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, String, UintPtrT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3710         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, String, UintPtrT, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3711         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, String, UintPtrT, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3712         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, String, UintPtrT, String, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3713         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, String, UintPtrT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3714         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);
    3715         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3716         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3717         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3718         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3719         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3720         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3721         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3722         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3723         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3724         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3725         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3726         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3727         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> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3728         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3729         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3730         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);
    3731         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3732         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> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3733         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3734         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3735         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3736         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3737         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3738         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3739         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> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3740         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> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3741         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> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3742         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> block38(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3743         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> block39(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3744         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> block40(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3745         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> block41(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3746         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> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3747         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> block33(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3748         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3749         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> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3750         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> block43(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3751         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> block44(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3752         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> block46(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3753         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> block47(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3754         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> block48(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3755         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> block49(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3756         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> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3757         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3758         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block50(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3759         112 :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
    3760             : 
    3761         112 :   if (block0.is_used()) {
    3762         112 :     compiler::TNode<Context> tmp0;
    3763         112 :     compiler::TNode<JSReceiver> tmp1;
    3764         112 :     compiler::TNode<String> tmp2;
    3765         112 :     compiler::TNode<Number> tmp3;
    3766         112 :     compiler::TNode<Object> tmp4;
    3767         112 :     compiler::TNode<Object> tmp5;
    3768         112 :     compiler::TNode<BuiltinPtr> tmp6;
    3769         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
    3770         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 263);
    3771         112 :     compiler::TNode<Map> tmp7;
    3772         112 :     USE(tmp7);
    3773         112 :     tmp7 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp1}));
    3774         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 264);
    3775         112 :     compiler::TNode<UintPtrT> tmp8;
    3776         112 :     USE(tmp8);
    3777         112 :     tmp8 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr22UT12ATHeapNumber5ATSmi(compiler::TNode<Number>{tmp3}));
    3778         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 265);
    3779         112 :     compiler::TNode<IntPtrT> tmp9;
    3780         112 :     USE(tmp9);
    3781         112 :     tmp9 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
    3782         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
    3783         112 :     compiler::TNode<IntPtrT> tmp10;
    3784         112 :     USE(tmp10);
    3785         112 :     tmp10 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3786         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
    3787         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
    3788         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
    3789         112 :     compiler::TNode<UintPtrT> tmp11;
    3790         112 :     USE(tmp11);
    3791         112 :     tmp11 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
    3792         112 :     compiler::TNode<BoolT> tmp12;
    3793         112 :     USE(tmp12);
    3794         112 :     tmp12 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp8}, compiler::TNode<UintPtrT>{tmp11}));
    3795         112 :     ca_.Branch(tmp12, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp6, ca_.Uninitialized<FixedArray>(), ca_.Uninitialized<IntPtrT>(), ca_.Uninitialized<IntPtrT>(), ca_.Uninitialized<BoolT>(), tmp8, tmp2, tmp8, tmp2);
    3796             :   }
    3797             : 
    3798         112 :   if (block3.is_used()) {
    3799         112 :     compiler::TNode<Context> tmp13;
    3800         112 :     compiler::TNode<JSReceiver> tmp14;
    3801         112 :     compiler::TNode<String> tmp15;
    3802         112 :     compiler::TNode<Number> tmp16;
    3803         112 :     compiler::TNode<Object> tmp17;
    3804         112 :     compiler::TNode<Object> tmp18;
    3805         112 :     compiler::TNode<BuiltinPtr> tmp19;
    3806         112 :     compiler::TNode<Map> tmp20;
    3807         112 :     compiler::TNode<UintPtrT> tmp21;
    3808         112 :     compiler::TNode<IntPtrT> tmp22;
    3809         112 :     compiler::TNode<IntPtrT> tmp23;
    3810         112 :     compiler::TNode<BuiltinPtr> tmp24;
    3811         112 :     compiler::TNode<FixedArray> tmp25;
    3812         112 :     compiler::TNode<IntPtrT> tmp26;
    3813         112 :     compiler::TNode<IntPtrT> tmp27;
    3814         112 :     compiler::TNode<BoolT> tmp28;
    3815         112 :     compiler::TNode<UintPtrT> tmp29;
    3816         112 :     compiler::TNode<String> tmp30;
    3817         112 :     compiler::TNode<UintPtrT> tmp31;
    3818         112 :     compiler::TNode<String> tmp32;
    3819         112 :     ca_.Bind(&block3, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32);
    3820         112 :     ca_.Goto(&block6, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32);
    3821             :   }
    3822             : 
    3823         112 :   if (block4.is_used()) {
    3824         112 :     compiler::TNode<Context> tmp33;
    3825         112 :     compiler::TNode<JSReceiver> tmp34;
    3826         112 :     compiler::TNode<String> tmp35;
    3827         112 :     compiler::TNode<Number> tmp36;
    3828         112 :     compiler::TNode<Object> tmp37;
    3829         112 :     compiler::TNode<Object> tmp38;
    3830         112 :     compiler::TNode<BuiltinPtr> tmp39;
    3831         112 :     compiler::TNode<Map> tmp40;
    3832         112 :     compiler::TNode<UintPtrT> tmp41;
    3833         112 :     compiler::TNode<IntPtrT> tmp42;
    3834         112 :     compiler::TNode<IntPtrT> tmp43;
    3835         112 :     compiler::TNode<BuiltinPtr> tmp44;
    3836         112 :     compiler::TNode<FixedArray> tmp45;
    3837         112 :     compiler::TNode<IntPtrT> tmp46;
    3838         112 :     compiler::TNode<IntPtrT> tmp47;
    3839         112 :     compiler::TNode<BoolT> tmp48;
    3840         112 :     compiler::TNode<UintPtrT> tmp49;
    3841         112 :     compiler::TNode<String> tmp50;
    3842         112 :     compiler::TNode<UintPtrT> tmp51;
    3843         112 :     compiler::TNode<String> tmp52;
    3844         112 :     ca_.Bind(&block4, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
    3845         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
    3846         112 :     compiler::TNode<IntPtrT> tmp53;
    3847         112 :     USE(tmp53);
    3848         112 :     tmp53 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp51}));
    3849         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
    3850         112 :     ca_.Goto(&block5, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53);
    3851             :   }
    3852             : 
    3853         112 :   if (block6.is_used()) {
    3854         112 :     compiler::TNode<Context> tmp54;
    3855         112 :     compiler::TNode<JSReceiver> tmp55;
    3856         112 :     compiler::TNode<String> tmp56;
    3857         112 :     compiler::TNode<Number> tmp57;
    3858         112 :     compiler::TNode<Object> tmp58;
    3859         112 :     compiler::TNode<Object> tmp59;
    3860         112 :     compiler::TNode<BuiltinPtr> tmp60;
    3861         112 :     compiler::TNode<Map> tmp61;
    3862         112 :     compiler::TNode<UintPtrT> tmp62;
    3863         112 :     compiler::TNode<IntPtrT> tmp63;
    3864         112 :     compiler::TNode<IntPtrT> tmp64;
    3865         112 :     compiler::TNode<BuiltinPtr> tmp65;
    3866         112 :     compiler::TNode<FixedArray> tmp66;
    3867         112 :     compiler::TNode<IntPtrT> tmp67;
    3868         112 :     compiler::TNode<IntPtrT> tmp68;
    3869         112 :     compiler::TNode<BoolT> tmp69;
    3870         112 :     compiler::TNode<UintPtrT> tmp70;
    3871         112 :     compiler::TNode<String> tmp71;
    3872         112 :     compiler::TNode<UintPtrT> tmp72;
    3873         112 :     compiler::TNode<String> tmp73;
    3874         112 :     ca_.Bind(&block6, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73);
    3875         112 :     compiler::TNode<IntPtrT> tmp74;
    3876         112 :     USE(tmp74);
    3877         112 :     tmp74 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
    3878         112 :     ca_.Goto(&block5, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74);
    3879             :   }
    3880             : 
    3881         112 :   if (block5.is_used()) {
    3882         112 :     compiler::TNode<Context> tmp75;
    3883         112 :     compiler::TNode<JSReceiver> tmp76;
    3884         112 :     compiler::TNode<String> tmp77;
    3885         112 :     compiler::TNode<Number> tmp78;
    3886         112 :     compiler::TNode<Object> tmp79;
    3887         112 :     compiler::TNode<Object> tmp80;
    3888         112 :     compiler::TNode<BuiltinPtr> tmp81;
    3889         112 :     compiler::TNode<Map> tmp82;
    3890         112 :     compiler::TNode<UintPtrT> tmp83;
    3891         112 :     compiler::TNode<IntPtrT> tmp84;
    3892         112 :     compiler::TNode<IntPtrT> tmp85;
    3893         112 :     compiler::TNode<BuiltinPtr> tmp86;
    3894         112 :     compiler::TNode<FixedArray> tmp87;
    3895         112 :     compiler::TNode<IntPtrT> tmp88;
    3896         112 :     compiler::TNode<IntPtrT> tmp89;
    3897         112 :     compiler::TNode<BoolT> tmp90;
    3898         112 :     compiler::TNode<UintPtrT> tmp91;
    3899         112 :     compiler::TNode<String> tmp92;
    3900         112 :     compiler::TNode<UintPtrT> tmp93;
    3901         112 :     compiler::TNode<String> tmp94;
    3902         112 :     compiler::TNode<IntPtrT> tmp95;
    3903         112 :     ca_.Bind(&block5, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95);
    3904         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 160);
    3905         112 :     compiler::TNode<FixedArray> tmp96;
    3906         112 :     USE(tmp96);
    3907         112 :     tmp96 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateZeroedFixedArray(compiler::TNode<IntPtrT>{tmp95}));
    3908         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
    3909         112 :     compiler::TNode<Int32T> tmp97;
    3910         112 :     USE(tmp97);
    3911         112 :     tmp97 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp94}));
    3912         112 :     compiler::TNode<BoolT> tmp98;
    3913         112 :     USE(tmp98);
    3914         112 :     tmp98 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).HasOnlyOneByteChars(compiler::TNode<Int32T>{tmp97}));
    3915         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
    3916         112 :     compiler::TNode<IntPtrT> tmp99;
    3917         112 :     USE(tmp99);
    3918         112 :     tmp99 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3919         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
    3920         112 :     compiler::TNode<IntPtrT> tmp100;
    3921         112 :     USE(tmp100);
    3922         112 :     tmp100 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3923         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 155);
    3924         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
    3925         112 :     ca_.Goto(&block2, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp96, tmp99, tmp100, tmp98, tmp91, tmp92, tmp93, tmp94);
    3926             :   }
    3927             : 
    3928         112 :   if (block2.is_used()) {
    3929         112 :     compiler::TNode<Context> tmp101;
    3930         112 :     compiler::TNode<JSReceiver> tmp102;
    3931         112 :     compiler::TNode<String> tmp103;
    3932         112 :     compiler::TNode<Number> tmp104;
    3933         112 :     compiler::TNode<Object> tmp105;
    3934         112 :     compiler::TNode<Object> tmp106;
    3935         112 :     compiler::TNode<BuiltinPtr> tmp107;
    3936         112 :     compiler::TNode<Map> tmp108;
    3937         112 :     compiler::TNode<UintPtrT> tmp109;
    3938         112 :     compiler::TNode<IntPtrT> tmp110;
    3939         112 :     compiler::TNode<IntPtrT> tmp111;
    3940         112 :     compiler::TNode<BuiltinPtr> tmp112;
    3941         112 :     compiler::TNode<FixedArray> tmp113;
    3942         112 :     compiler::TNode<IntPtrT> tmp114;
    3943         112 :     compiler::TNode<IntPtrT> tmp115;
    3944         112 :     compiler::TNode<BoolT> tmp116;
    3945         112 :     compiler::TNode<UintPtrT> tmp117;
    3946         112 :     compiler::TNode<String> tmp118;
    3947         112 :     compiler::TNode<UintPtrT> tmp119;
    3948         112 :     compiler::TNode<String> tmp120;
    3949         112 :     ca_.Bind(&block2, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120);
    3950         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
    3951         112 :     compiler::TNode<UintPtrT> tmp121;
    3952         112 :     USE(tmp121);
    3953         112 :     tmp121 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    3954         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
    3955         112 :     ca_.Goto(&block9, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp121);
    3956             :   }
    3957             : 
    3958         112 :   if (block9.is_used()) {
    3959         112 :     compiler::TNode<Context> tmp122;
    3960         112 :     compiler::TNode<JSReceiver> tmp123;
    3961         112 :     compiler::TNode<String> tmp124;
    3962         112 :     compiler::TNode<Number> tmp125;
    3963         112 :     compiler::TNode<Object> tmp126;
    3964         112 :     compiler::TNode<Object> tmp127;
    3965         112 :     compiler::TNode<BuiltinPtr> tmp128;
    3966         112 :     compiler::TNode<Map> tmp129;
    3967         112 :     compiler::TNode<UintPtrT> tmp130;
    3968         112 :     compiler::TNode<IntPtrT> tmp131;
    3969         112 :     compiler::TNode<IntPtrT> tmp132;
    3970         112 :     compiler::TNode<BuiltinPtr> tmp133;
    3971         112 :     compiler::TNode<FixedArray> tmp134;
    3972         112 :     compiler::TNode<IntPtrT> tmp135;
    3973         112 :     compiler::TNode<IntPtrT> tmp136;
    3974         112 :     compiler::TNode<BoolT> tmp137;
    3975         112 :     compiler::TNode<UintPtrT> tmp138;
    3976         112 :     ca_.Bind(&block9, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    3977         112 :     compiler::TNode<BoolT> tmp139;
    3978         112 :     USE(tmp139);
    3979         112 :     tmp139 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp138}, compiler::TNode<UintPtrT>{tmp130}));
    3980         112 :     ca_.Branch(tmp139, &block7, &block8, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138);
    3981             :   }
    3982             : 
    3983         112 :   if (block7.is_used()) {
    3984         112 :     compiler::TNode<Context> tmp140;
    3985         112 :     compiler::TNode<JSReceiver> tmp141;
    3986         112 :     compiler::TNode<String> tmp142;
    3987         112 :     compiler::TNode<Number> tmp143;
    3988         112 :     compiler::TNode<Object> tmp144;
    3989         112 :     compiler::TNode<Object> tmp145;
    3990         112 :     compiler::TNode<BuiltinPtr> tmp146;
    3991         112 :     compiler::TNode<Map> tmp147;
    3992         112 :     compiler::TNode<UintPtrT> tmp148;
    3993         112 :     compiler::TNode<IntPtrT> tmp149;
    3994         112 :     compiler::TNode<IntPtrT> tmp150;
    3995         112 :     compiler::TNode<BuiltinPtr> tmp151;
    3996         112 :     compiler::TNode<FixedArray> tmp152;
    3997         112 :     compiler::TNode<IntPtrT> tmp153;
    3998         112 :     compiler::TNode<IntPtrT> tmp154;
    3999         112 :     compiler::TNode<BoolT> tmp155;
    4000         112 :     compiler::TNode<UintPtrT> tmp156;
    4001         112 :     ca_.Bind(&block7, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156);
    4002         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 276);
    4003         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 275);
    4004         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    4005         224 :     compiler::CodeAssemblerLabel label1(&ca_);
    4006         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).CannotUseSameArrayAccessor7JSArray(compiler::TNode<Context>{tmp140}, compiler::TNode<BuiltinPtr>{tmp151}, compiler::TNode<JSReceiver>{tmp141}, compiler::TNode<Map>{tmp147}, compiler::TNode<Number>{tmp143}, &label0, &label1);
    4007         112 :     if (label0.is_used()) {
    4008         112 :       ca_.Bind(&label0);
    4009         112 :       ca_.Goto(&block12, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp151, tmp141, tmp147, tmp143);
    4010             :     }
    4011         112 :     if (label1.is_used()) {
    4012         112 :       ca_.Bind(&label1);
    4013         112 :       ca_.Goto(&block13, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp151, tmp141, tmp147, tmp143);
    4014         112 :     }
    4015             :   }
    4016             : 
    4017         112 :   if (block12.is_used()) {
    4018         112 :     compiler::TNode<Context> tmp157;
    4019         112 :     compiler::TNode<JSReceiver> tmp158;
    4020         112 :     compiler::TNode<String> tmp159;
    4021         112 :     compiler::TNode<Number> tmp160;
    4022         112 :     compiler::TNode<Object> tmp161;
    4023         112 :     compiler::TNode<Object> tmp162;
    4024         112 :     compiler::TNode<BuiltinPtr> tmp163;
    4025         112 :     compiler::TNode<Map> tmp164;
    4026         112 :     compiler::TNode<UintPtrT> tmp165;
    4027         112 :     compiler::TNode<IntPtrT> tmp166;
    4028         112 :     compiler::TNode<IntPtrT> tmp167;
    4029         112 :     compiler::TNode<BuiltinPtr> tmp168;
    4030         112 :     compiler::TNode<FixedArray> tmp169;
    4031         112 :     compiler::TNode<IntPtrT> tmp170;
    4032         112 :     compiler::TNode<IntPtrT> tmp171;
    4033         112 :     compiler::TNode<BoolT> tmp172;
    4034         112 :     compiler::TNode<UintPtrT> tmp173;
    4035         112 :     compiler::TNode<BuiltinPtr> tmp174;
    4036         112 :     compiler::TNode<JSReceiver> tmp175;
    4037         112 :     compiler::TNode<Map> tmp176;
    4038         112 :     compiler::TNode<Number> tmp177;
    4039         112 :     ca_.Bind(&block12, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177);
    4040         112 :     ca_.Goto(&block10, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173);
    4041             :   }
    4042             : 
    4043         112 :   if (block13.is_used()) {
    4044         112 :     compiler::TNode<Context> tmp178;
    4045         112 :     compiler::TNode<JSReceiver> tmp179;
    4046         112 :     compiler::TNode<String> tmp180;
    4047         112 :     compiler::TNode<Number> tmp181;
    4048         112 :     compiler::TNode<Object> tmp182;
    4049         112 :     compiler::TNode<Object> tmp183;
    4050         112 :     compiler::TNode<BuiltinPtr> tmp184;
    4051         112 :     compiler::TNode<Map> tmp185;
    4052         112 :     compiler::TNode<UintPtrT> tmp186;
    4053         112 :     compiler::TNode<IntPtrT> tmp187;
    4054         112 :     compiler::TNode<IntPtrT> tmp188;
    4055         112 :     compiler::TNode<BuiltinPtr> tmp189;
    4056         112 :     compiler::TNode<FixedArray> tmp190;
    4057         112 :     compiler::TNode<IntPtrT> tmp191;
    4058         112 :     compiler::TNode<IntPtrT> tmp192;
    4059         112 :     compiler::TNode<BoolT> tmp193;
    4060         112 :     compiler::TNode<UintPtrT> tmp194;
    4061         112 :     compiler::TNode<BuiltinPtr> tmp195;
    4062         112 :     compiler::TNode<JSReceiver> tmp196;
    4063         112 :     compiler::TNode<Map> tmp197;
    4064         112 :     compiler::TNode<Number> tmp198;
    4065         112 :     ca_.Bind(&block13, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198);
    4066         112 :     ca_.Goto(&block11, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194);
    4067             :   }
    4068             : 
    4069         112 :   if (block10.is_used()) {
    4070         112 :     compiler::TNode<Context> tmp199;
    4071         112 :     compiler::TNode<JSReceiver> tmp200;
    4072         112 :     compiler::TNode<String> tmp201;
    4073         112 :     compiler::TNode<Number> tmp202;
    4074         112 :     compiler::TNode<Object> tmp203;
    4075         112 :     compiler::TNode<Object> tmp204;
    4076         112 :     compiler::TNode<BuiltinPtr> tmp205;
    4077         112 :     compiler::TNode<Map> tmp206;
    4078         112 :     compiler::TNode<UintPtrT> tmp207;
    4079         112 :     compiler::TNode<IntPtrT> tmp208;
    4080         112 :     compiler::TNode<IntPtrT> tmp209;
    4081         112 :     compiler::TNode<BuiltinPtr> tmp210;
    4082         112 :     compiler::TNode<FixedArray> tmp211;
    4083         112 :     compiler::TNode<IntPtrT> tmp212;
    4084         112 :     compiler::TNode<IntPtrT> tmp213;
    4085         112 :     compiler::TNode<BoolT> tmp214;
    4086         112 :     compiler::TNode<UintPtrT> tmp215;
    4087         112 :     ca_.Bind(&block10, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215);
    4088         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    4089         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 275);
    4090         112 :     ca_.Goto(&block11, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)), tmp211, tmp212, tmp213, tmp214, tmp215);
    4091             :   }
    4092             : 
    4093         112 :   if (block11.is_used()) {
    4094         112 :     compiler::TNode<Context> tmp216;
    4095         112 :     compiler::TNode<JSReceiver> tmp217;
    4096         112 :     compiler::TNode<String> tmp218;
    4097         112 :     compiler::TNode<Number> tmp219;
    4098         112 :     compiler::TNode<Object> tmp220;
    4099         112 :     compiler::TNode<Object> tmp221;
    4100         112 :     compiler::TNode<BuiltinPtr> tmp222;
    4101         112 :     compiler::TNode<Map> tmp223;
    4102         112 :     compiler::TNode<UintPtrT> tmp224;
    4103         112 :     compiler::TNode<IntPtrT> tmp225;
    4104         112 :     compiler::TNode<IntPtrT> tmp226;
    4105         112 :     compiler::TNode<BuiltinPtr> tmp227;
    4106         112 :     compiler::TNode<FixedArray> tmp228;
    4107         112 :     compiler::TNode<IntPtrT> tmp229;
    4108         112 :     compiler::TNode<IntPtrT> tmp230;
    4109         112 :     compiler::TNode<BoolT> tmp231;
    4110         112 :     compiler::TNode<UintPtrT> tmp232;
    4111         112 :     ca_.Bind(&block11, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232);
    4112         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
    4113         112 :     compiler::TNode<UintPtrT> tmp233;
    4114         112 :     USE(tmp233);
    4115         112 :     tmp233 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    4116         112 :     compiler::TNode<BoolT> tmp234;
    4117         112 :     USE(tmp234);
    4118         112 :     tmp234 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp232}, compiler::TNode<UintPtrT>{tmp233}));
    4119         112 :     ca_.Branch(tmp234, &block14, &block15, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, tmp232);
    4120             :   }
    4121             : 
    4122         112 :   if (block14.is_used()) {
    4123         112 :     compiler::TNode<Context> tmp235;
    4124         112 :     compiler::TNode<JSReceiver> tmp236;
    4125         112 :     compiler::TNode<String> tmp237;
    4126         112 :     compiler::TNode<Number> tmp238;
    4127         112 :     compiler::TNode<Object> tmp239;
    4128         112 :     compiler::TNode<Object> tmp240;
    4129         112 :     compiler::TNode<BuiltinPtr> tmp241;
    4130         112 :     compiler::TNode<Map> tmp242;
    4131         112 :     compiler::TNode<UintPtrT> tmp243;
    4132         112 :     compiler::TNode<IntPtrT> tmp244;
    4133         112 :     compiler::TNode<IntPtrT> tmp245;
    4134         112 :     compiler::TNode<BuiltinPtr> tmp246;
    4135         112 :     compiler::TNode<FixedArray> tmp247;
    4136         112 :     compiler::TNode<IntPtrT> tmp248;
    4137         112 :     compiler::TNode<IntPtrT> tmp249;
    4138         112 :     compiler::TNode<BoolT> tmp250;
    4139         112 :     compiler::TNode<UintPtrT> tmp251;
    4140         112 :     ca_.Bind(&block14, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251);
    4141         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 283);
    4142         112 :     compiler::TNode<IntPtrT> tmp252;
    4143         112 :     USE(tmp252);
    4144         112 :     tmp252 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    4145         112 :     compiler::TNode<IntPtrT> tmp253;
    4146         112 :     USE(tmp253);
    4147         112 :     tmp253 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp245}, compiler::TNode<IntPtrT>{tmp252}));
    4148         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
    4149         112 :     ca_.Goto(&block15, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp253, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251);
    4150             :   }
    4151             : 
    4152         112 :   if (block15.is_used()) {
    4153         112 :     compiler::TNode<Context> tmp254;
    4154         112 :     compiler::TNode<JSReceiver> tmp255;
    4155         112 :     compiler::TNode<String> tmp256;
    4156         112 :     compiler::TNode<Number> tmp257;
    4157         112 :     compiler::TNode<Object> tmp258;
    4158         112 :     compiler::TNode<Object> tmp259;
    4159         112 :     compiler::TNode<BuiltinPtr> tmp260;
    4160         112 :     compiler::TNode<Map> tmp261;
    4161         112 :     compiler::TNode<UintPtrT> tmp262;
    4162         112 :     compiler::TNode<IntPtrT> tmp263;
    4163         112 :     compiler::TNode<IntPtrT> tmp264;
    4164         112 :     compiler::TNode<BuiltinPtr> tmp265;
    4165         112 :     compiler::TNode<FixedArray> tmp266;
    4166         112 :     compiler::TNode<IntPtrT> tmp267;
    4167         112 :     compiler::TNode<IntPtrT> tmp268;
    4168         112 :     compiler::TNode<BoolT> tmp269;
    4169         112 :     compiler::TNode<UintPtrT> tmp270;
    4170         112 :     ca_.Bind(&block15, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270);
    4171         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 287);
    4172         112 :     compiler::TNode<UintPtrT> tmp271;
    4173         112 :     USE(tmp271);
    4174         112 :     tmp271 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
    4175         112 :     compiler::TNode<UintPtrT> tmp272;
    4176         112 :     USE(tmp272);
    4177         112 :     tmp272 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp270}, compiler::TNode<UintPtrT>{tmp271}));
    4178         112 :     compiler::TNode<Number> tmp273;
    4179         112 :     USE(tmp273);
    4180         112 :     tmp273 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert22UT12ATHeapNumber5ATSmi9ATuintptr(compiler::TNode<UintPtrT>{tmp270}));
    4181         112 :     compiler::TNode<Object> tmp274 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp265, tmp254, tmp255, tmp273); 
    4182         112 :     USE(tmp274);
    4183         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 291);
    4184         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 292);
    4185         112 :     if ((p_useToLocaleString)) {
    4186          56 :       ca_.Goto(&block16, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp272, tmp274, ca_.Uninitialized<String>());
    4187             :     } else {
    4188          56 :       ca_.Goto(&block17, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp272, tmp274, ca_.Uninitialized<String>());
    4189             :     }
    4190             :   }
    4191             : 
    4192         112 :   if (block16.is_used()) {
    4193          56 :     compiler::TNode<Context> tmp275;
    4194          56 :     compiler::TNode<JSReceiver> tmp276;
    4195          56 :     compiler::TNode<String> tmp277;
    4196          56 :     compiler::TNode<Number> tmp278;
    4197          56 :     compiler::TNode<Object> tmp279;
    4198          56 :     compiler::TNode<Object> tmp280;
    4199          56 :     compiler::TNode<BuiltinPtr> tmp281;
    4200          56 :     compiler::TNode<Map> tmp282;
    4201          56 :     compiler::TNode<UintPtrT> tmp283;
    4202          56 :     compiler::TNode<IntPtrT> tmp284;
    4203          56 :     compiler::TNode<IntPtrT> tmp285;
    4204          56 :     compiler::TNode<BuiltinPtr> tmp286;
    4205          56 :     compiler::TNode<FixedArray> tmp287;
    4206          56 :     compiler::TNode<IntPtrT> tmp288;
    4207          56 :     compiler::TNode<IntPtrT> tmp289;
    4208          56 :     compiler::TNode<BoolT> tmp290;
    4209          56 :     compiler::TNode<UintPtrT> tmp291;
    4210          56 :     compiler::TNode<Object> tmp292;
    4211          56 :     compiler::TNode<String> tmp293;
    4212          56 :     ca_.Bind(&block16, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292, &tmp293);
    4213          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 293);
    4214          56 :     compiler::TNode<String> tmp294;
    4215          56 :     tmp294 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp275, tmp292, tmp279, tmp280));
    4216          56 :     USE(tmp294);
    4217          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
    4218          56 :     compiler::TNode<String> tmp295;
    4219          56 :     USE(tmp295);
    4220          56 :     tmp295 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    4221          56 :     compiler::TNode<BoolT> tmp296;
    4222          56 :     USE(tmp296);
    4223          56 :     tmp296 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp294}, compiler::TNode<HeapObject>{tmp295}));
    4224          56 :     ca_.Branch(tmp296, &block19, &block20, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, tmp292, tmp294);
    4225             :   }
    4226             : 
    4227         112 :   if (block19.is_used()) {
    4228          56 :     compiler::TNode<Context> tmp297;
    4229          56 :     compiler::TNode<JSReceiver> tmp298;
    4230          56 :     compiler::TNode<String> tmp299;
    4231          56 :     compiler::TNode<Number> tmp300;
    4232          56 :     compiler::TNode<Object> tmp301;
    4233          56 :     compiler::TNode<Object> tmp302;
    4234          56 :     compiler::TNode<BuiltinPtr> tmp303;
    4235          56 :     compiler::TNode<Map> tmp304;
    4236          56 :     compiler::TNode<UintPtrT> tmp305;
    4237          56 :     compiler::TNode<IntPtrT> tmp306;
    4238          56 :     compiler::TNode<IntPtrT> tmp307;
    4239          56 :     compiler::TNode<BuiltinPtr> tmp308;
    4240          56 :     compiler::TNode<FixedArray> tmp309;
    4241          56 :     compiler::TNode<IntPtrT> tmp310;
    4242          56 :     compiler::TNode<IntPtrT> tmp311;
    4243          56 :     compiler::TNode<BoolT> tmp312;
    4244          56 :     compiler::TNode<UintPtrT> tmp313;
    4245          56 :     compiler::TNode<Object> tmp314;
    4246          56 :     compiler::TNode<String> tmp315;
    4247          56 :     ca_.Bind(&block19, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315);
    4248          56 :     ca_.Goto(&block9, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311, tmp312, tmp313);
    4249             :   }
    4250             : 
    4251         112 :   if (block20.is_used()) {
    4252          56 :     compiler::TNode<Context> tmp316;
    4253          56 :     compiler::TNode<JSReceiver> tmp317;
    4254          56 :     compiler::TNode<String> tmp318;
    4255          56 :     compiler::TNode<Number> tmp319;
    4256          56 :     compiler::TNode<Object> tmp320;
    4257          56 :     compiler::TNode<Object> tmp321;
    4258          56 :     compiler::TNode<BuiltinPtr> tmp322;
    4259          56 :     compiler::TNode<Map> tmp323;
    4260          56 :     compiler::TNode<UintPtrT> tmp324;
    4261          56 :     compiler::TNode<IntPtrT> tmp325;
    4262          56 :     compiler::TNode<IntPtrT> tmp326;
    4263          56 :     compiler::TNode<BuiltinPtr> tmp327;
    4264          56 :     compiler::TNode<FixedArray> tmp328;
    4265          56 :     compiler::TNode<IntPtrT> tmp329;
    4266          56 :     compiler::TNode<IntPtrT> tmp330;
    4267          56 :     compiler::TNode<BoolT> tmp331;
    4268          56 :     compiler::TNode<UintPtrT> tmp332;
    4269          56 :     compiler::TNode<Object> tmp333;
    4270          56 :     compiler::TNode<String> tmp334;
    4271          56 :     ca_.Bind(&block20, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334);
    4272          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 292);
    4273          56 :     ca_.Goto(&block18, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334);
    4274             :   }
    4275             : 
    4276         112 :   if (block17.is_used()) {
    4277          56 :     compiler::TNode<Context> tmp335;
    4278          56 :     compiler::TNode<JSReceiver> tmp336;
    4279          56 :     compiler::TNode<String> tmp337;
    4280          56 :     compiler::TNode<Number> tmp338;
    4281          56 :     compiler::TNode<Object> tmp339;
    4282          56 :     compiler::TNode<Object> tmp340;
    4283          56 :     compiler::TNode<BuiltinPtr> tmp341;
    4284          56 :     compiler::TNode<Map> tmp342;
    4285          56 :     compiler::TNode<UintPtrT> tmp343;
    4286          56 :     compiler::TNode<IntPtrT> tmp344;
    4287          56 :     compiler::TNode<IntPtrT> tmp345;
    4288          56 :     compiler::TNode<BuiltinPtr> tmp346;
    4289          56 :     compiler::TNode<FixedArray> tmp347;
    4290          56 :     compiler::TNode<IntPtrT> tmp348;
    4291          56 :     compiler::TNode<IntPtrT> tmp349;
    4292          56 :     compiler::TNode<BoolT> tmp350;
    4293          56 :     compiler::TNode<UintPtrT> tmp351;
    4294          56 :     compiler::TNode<Object> tmp352;
    4295          56 :     compiler::TNode<String> tmp353;
    4296          56 :     ca_.Bind(&block17, &tmp335, &tmp336, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353);
    4297          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
    4298          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
    4299          56 :     compiler::TNode<String> tmp354;
    4300          56 :     USE(tmp354);
    4301          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    4302          56 :     tmp354 = BaseBuiltinsFromDSLAssembler(state_).Cast8ATString(compiler::TNode<Context>{tmp335}, compiler::TNode<Object>{tmp352}, &label0);
    4303          56 :     ca_.Goto(&block23, tmp335, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp352, tmp352, tmp354);
    4304          56 :     if (label0.is_used()) {
    4305          56 :       ca_.Bind(&label0);
    4306          56 :       ca_.Goto(&block24, tmp335, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp352, tmp352);
    4307          56 :     }
    4308             :   }
    4309             : 
    4310         112 :   if (block24.is_used()) {
    4311          56 :     compiler::TNode<Context> tmp355;
    4312          56 :     compiler::TNode<JSReceiver> tmp356;
    4313          56 :     compiler::TNode<String> tmp357;
    4314          56 :     compiler::TNode<Number> tmp358;
    4315          56 :     compiler::TNode<Object> tmp359;
    4316          56 :     compiler::TNode<Object> tmp360;
    4317          56 :     compiler::TNode<BuiltinPtr> tmp361;
    4318          56 :     compiler::TNode<Map> tmp362;
    4319          56 :     compiler::TNode<UintPtrT> tmp363;
    4320          56 :     compiler::TNode<IntPtrT> tmp364;
    4321          56 :     compiler::TNode<IntPtrT> tmp365;
    4322          56 :     compiler::TNode<BuiltinPtr> tmp366;
    4323          56 :     compiler::TNode<FixedArray> tmp367;
    4324          56 :     compiler::TNode<IntPtrT> tmp368;
    4325          56 :     compiler::TNode<IntPtrT> tmp369;
    4326          56 :     compiler::TNode<BoolT> tmp370;
    4327          56 :     compiler::TNode<UintPtrT> tmp371;
    4328          56 :     compiler::TNode<Object> tmp372;
    4329          56 :     compiler::TNode<String> tmp373;
    4330          56 :     compiler::TNode<Object> tmp374;
    4331          56 :     compiler::TNode<Object> tmp375;
    4332          56 :     ca_.Bind(&block24, &tmp355, &tmp356, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375);
    4333          56 :     ca_.Goto(&block22, tmp355, tmp356, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374);
    4334             :   }
    4335             : 
    4336         112 :   if (block23.is_used()) {
    4337          56 :     compiler::TNode<Context> tmp376;
    4338          56 :     compiler::TNode<JSReceiver> tmp377;
    4339          56 :     compiler::TNode<String> tmp378;
    4340          56 :     compiler::TNode<Number> tmp379;
    4341          56 :     compiler::TNode<Object> tmp380;
    4342          56 :     compiler::TNode<Object> tmp381;
    4343          56 :     compiler::TNode<BuiltinPtr> tmp382;
    4344          56 :     compiler::TNode<Map> tmp383;
    4345          56 :     compiler::TNode<UintPtrT> tmp384;
    4346          56 :     compiler::TNode<IntPtrT> tmp385;
    4347          56 :     compiler::TNode<IntPtrT> tmp386;
    4348          56 :     compiler::TNode<BuiltinPtr> tmp387;
    4349          56 :     compiler::TNode<FixedArray> tmp388;
    4350          56 :     compiler::TNode<IntPtrT> tmp389;
    4351          56 :     compiler::TNode<IntPtrT> tmp390;
    4352          56 :     compiler::TNode<BoolT> tmp391;
    4353          56 :     compiler::TNode<UintPtrT> tmp392;
    4354          56 :     compiler::TNode<Object> tmp393;
    4355          56 :     compiler::TNode<String> tmp394;
    4356          56 :     compiler::TNode<Object> tmp395;
    4357          56 :     compiler::TNode<Object> tmp396;
    4358          56 :     compiler::TNode<String> tmp397;
    4359          56 :     ca_.Bind(&block23, &tmp376, &tmp377, &tmp378, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397);
    4360          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 298);
    4361          56 :     compiler::TNode<String> tmp398;
    4362          56 :     USE(tmp398);
    4363          56 :     tmp398 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    4364          56 :     compiler::TNode<BoolT> tmp399;
    4365          56 :     USE(tmp399);
    4366          56 :     tmp399 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp397}, compiler::TNode<HeapObject>{tmp398}));
    4367          56 :     ca_.Branch(tmp399, &block25, &block26, tmp376, tmp377, tmp378, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp397);
    4368             :   }
    4369             : 
    4370         112 :   if (block25.is_used()) {
    4371          56 :     compiler::TNode<Context> tmp400;
    4372          56 :     compiler::TNode<JSReceiver> tmp401;
    4373          56 :     compiler::TNode<String> tmp402;
    4374          56 :     compiler::TNode<Number> tmp403;
    4375          56 :     compiler::TNode<Object> tmp404;
    4376          56 :     compiler::TNode<Object> tmp405;
    4377          56 :     compiler::TNode<BuiltinPtr> tmp406;
    4378          56 :     compiler::TNode<Map> tmp407;
    4379          56 :     compiler::TNode<UintPtrT> tmp408;
    4380          56 :     compiler::TNode<IntPtrT> tmp409;
    4381          56 :     compiler::TNode<IntPtrT> tmp410;
    4382          56 :     compiler::TNode<BuiltinPtr> tmp411;
    4383          56 :     compiler::TNode<FixedArray> tmp412;
    4384          56 :     compiler::TNode<IntPtrT> tmp413;
    4385          56 :     compiler::TNode<IntPtrT> tmp414;
    4386          56 :     compiler::TNode<BoolT> tmp415;
    4387          56 :     compiler::TNode<UintPtrT> tmp416;
    4388          56 :     compiler::TNode<Object> tmp417;
    4389          56 :     compiler::TNode<String> tmp418;
    4390          56 :     compiler::TNode<Object> tmp419;
    4391          56 :     compiler::TNode<String> tmp420;
    4392          56 :     ca_.Bind(&block25, &tmp400, &tmp401, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420);
    4393          56 :     ca_.Goto(&block9, tmp400, tmp401, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416);
    4394             :   }
    4395             : 
    4396         112 :   if (block26.is_used()) {
    4397          56 :     compiler::TNode<Context> tmp421;
    4398          56 :     compiler::TNode<JSReceiver> tmp422;
    4399          56 :     compiler::TNode<String> tmp423;
    4400          56 :     compiler::TNode<Number> tmp424;
    4401          56 :     compiler::TNode<Object> tmp425;
    4402          56 :     compiler::TNode<Object> tmp426;
    4403          56 :     compiler::TNode<BuiltinPtr> tmp427;
    4404          56 :     compiler::TNode<Map> tmp428;
    4405          56 :     compiler::TNode<UintPtrT> tmp429;
    4406          56 :     compiler::TNode<IntPtrT> tmp430;
    4407          56 :     compiler::TNode<IntPtrT> tmp431;
    4408          56 :     compiler::TNode<BuiltinPtr> tmp432;
    4409          56 :     compiler::TNode<FixedArray> tmp433;
    4410          56 :     compiler::TNode<IntPtrT> tmp434;
    4411          56 :     compiler::TNode<IntPtrT> tmp435;
    4412          56 :     compiler::TNode<BoolT> tmp436;
    4413          56 :     compiler::TNode<UintPtrT> tmp437;
    4414          56 :     compiler::TNode<Object> tmp438;
    4415          56 :     compiler::TNode<String> tmp439;
    4416          56 :     compiler::TNode<Object> tmp440;
    4417          56 :     compiler::TNode<String> tmp441;
    4418          56 :     ca_.Bind(&block26, &tmp421, &tmp422, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441);
    4419          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    4420          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
    4421          56 :     ca_.Goto(&block21, tmp421, tmp422, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp441, tmp440);
    4422             :   }
    4423             : 
    4424         112 :   if (block22.is_used()) {
    4425          56 :     compiler::TNode<Context> tmp442;
    4426          56 :     compiler::TNode<JSReceiver> tmp443;
    4427          56 :     compiler::TNode<String> tmp444;
    4428          56 :     compiler::TNode<Number> tmp445;
    4429          56 :     compiler::TNode<Object> tmp446;
    4430          56 :     compiler::TNode<Object> tmp447;
    4431          56 :     compiler::TNode<BuiltinPtr> tmp448;
    4432          56 :     compiler::TNode<Map> tmp449;
    4433          56 :     compiler::TNode<UintPtrT> tmp450;
    4434          56 :     compiler::TNode<IntPtrT> tmp451;
    4435          56 :     compiler::TNode<IntPtrT> tmp452;
    4436          56 :     compiler::TNode<BuiltinPtr> tmp453;
    4437          56 :     compiler::TNode<FixedArray> tmp454;
    4438          56 :     compiler::TNode<IntPtrT> tmp455;
    4439          56 :     compiler::TNode<IntPtrT> tmp456;
    4440          56 :     compiler::TNode<BoolT> tmp457;
    4441          56 :     compiler::TNode<UintPtrT> tmp458;
    4442          56 :     compiler::TNode<Object> tmp459;
    4443          56 :     compiler::TNode<String> tmp460;
    4444          56 :     compiler::TNode<Object> tmp461;
    4445          56 :     ca_.Bind(&block22, &tmp442, &tmp443, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461);
    4446          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
    4447          56 :     compiler::TNode<Number> tmp462;
    4448          56 :     USE(tmp462);
    4449          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    4450          56 :     tmp462 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp461)}, &label0);
    4451          56 :     ca_.Goto(&block29, tmp442, tmp443, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, ca_.UncheckedCast<Object>(tmp461), tmp462);
    4452          56 :     if (label0.is_used()) {
    4453          56 :       ca_.Bind(&label0);
    4454          56 :       ca_.Goto(&block30, tmp442, tmp443, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, ca_.UncheckedCast<Object>(tmp461));
    4455          56 :     }
    4456             :   }
    4457             : 
    4458         112 :   if (block30.is_used()) {
    4459          56 :     compiler::TNode<Context> tmp463;
    4460          56 :     compiler::TNode<JSReceiver> tmp464;
    4461          56 :     compiler::TNode<String> tmp465;
    4462          56 :     compiler::TNode<Number> tmp466;
    4463          56 :     compiler::TNode<Object> tmp467;
    4464          56 :     compiler::TNode<Object> tmp468;
    4465          56 :     compiler::TNode<BuiltinPtr> tmp469;
    4466          56 :     compiler::TNode<Map> tmp470;
    4467          56 :     compiler::TNode<UintPtrT> tmp471;
    4468          56 :     compiler::TNode<IntPtrT> tmp472;
    4469          56 :     compiler::TNode<IntPtrT> tmp473;
    4470          56 :     compiler::TNode<BuiltinPtr> tmp474;
    4471          56 :     compiler::TNode<FixedArray> tmp475;
    4472          56 :     compiler::TNode<IntPtrT> tmp476;
    4473          56 :     compiler::TNode<IntPtrT> tmp477;
    4474          56 :     compiler::TNode<BoolT> tmp478;
    4475          56 :     compiler::TNode<UintPtrT> tmp479;
    4476          56 :     compiler::TNode<Object> tmp480;
    4477          56 :     compiler::TNode<String> tmp481;
    4478          56 :     compiler::TNode<Object> tmp482;
    4479          56 :     compiler::TNode<Object> tmp483;
    4480          56 :     ca_.Bind(&block30, &tmp463, &tmp464, &tmp465, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483);
    4481          56 :     ca_.Goto(&block28, tmp463, tmp464, tmp465, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482);
    4482             :   }
    4483             : 
    4484         112 :   if (block29.is_used()) {
    4485          56 :     compiler::TNode<Context> tmp484;
    4486          56 :     compiler::TNode<JSReceiver> tmp485;
    4487          56 :     compiler::TNode<String> tmp486;
    4488          56 :     compiler::TNode<Number> tmp487;
    4489          56 :     compiler::TNode<Object> tmp488;
    4490          56 :     compiler::TNode<Object> tmp489;
    4491          56 :     compiler::TNode<BuiltinPtr> tmp490;
    4492          56 :     compiler::TNode<Map> tmp491;
    4493          56 :     compiler::TNode<UintPtrT> tmp492;
    4494          56 :     compiler::TNode<IntPtrT> tmp493;
    4495          56 :     compiler::TNode<IntPtrT> tmp494;
    4496          56 :     compiler::TNode<BuiltinPtr> tmp495;
    4497          56 :     compiler::TNode<FixedArray> tmp496;
    4498          56 :     compiler::TNode<IntPtrT> tmp497;
    4499          56 :     compiler::TNode<IntPtrT> tmp498;
    4500          56 :     compiler::TNode<BoolT> tmp499;
    4501          56 :     compiler::TNode<UintPtrT> tmp500;
    4502          56 :     compiler::TNode<Object> tmp501;
    4503          56 :     compiler::TNode<String> tmp502;
    4504          56 :     compiler::TNode<Object> tmp503;
    4505          56 :     compiler::TNode<Object> tmp504;
    4506          56 :     compiler::TNode<Number> tmp505;
    4507          56 :     ca_.Bind(&block29, &tmp484, &tmp485, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504, &tmp505);
    4508          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
    4509          56 :     compiler::TNode<String> tmp506;
    4510          56 :     USE(tmp506);
    4511          56 :     tmp506 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp505}));
    4512          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
    4513          56 :     ca_.Goto(&block27, tmp484, tmp485, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp506, tmp503);
    4514             :   }
    4515             : 
    4516         112 :   if (block28.is_used()) {
    4517          56 :     compiler::TNode<Context> tmp507;
    4518          56 :     compiler::TNode<JSReceiver> tmp508;
    4519          56 :     compiler::TNode<String> tmp509;
    4520          56 :     compiler::TNode<Number> tmp510;
    4521          56 :     compiler::TNode<Object> tmp511;
    4522          56 :     compiler::TNode<Object> tmp512;
    4523          56 :     compiler::TNode<BuiltinPtr> tmp513;
    4524          56 :     compiler::TNode<Map> tmp514;
    4525          56 :     compiler::TNode<UintPtrT> tmp515;
    4526          56 :     compiler::TNode<IntPtrT> tmp516;
    4527          56 :     compiler::TNode<IntPtrT> tmp517;
    4528          56 :     compiler::TNode<BuiltinPtr> tmp518;
    4529          56 :     compiler::TNode<FixedArray> tmp519;
    4530          56 :     compiler::TNode<IntPtrT> tmp520;
    4531          56 :     compiler::TNode<IntPtrT> tmp521;
    4532          56 :     compiler::TNode<BoolT> tmp522;
    4533          56 :     compiler::TNode<UintPtrT> tmp523;
    4534          56 :     compiler::TNode<Object> tmp524;
    4535          56 :     compiler::TNode<String> tmp525;
    4536          56 :     compiler::TNode<Object> tmp526;
    4537          56 :     ca_.Bind(&block28, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523, &tmp524, &tmp525, &tmp526);
    4538          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    4539          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
    4540          56 :     compiler::TNode<BoolT> tmp527;
    4541          56 :     USE(tmp527);
    4542          56 :     tmp527 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp526)}));
    4543          56 :     ca_.Branch(tmp527, &block31, &block32, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp522, tmp523, tmp524, tmp525, tmp526, ca_.UncheckedCast<HeapObject>(tmp526));
    4544             :   }
    4545             : 
    4546         112 :   if (block31.is_used()) {
    4547          56 :     compiler::TNode<Context> tmp528;
    4548          56 :     compiler::TNode<JSReceiver> tmp529;
    4549          56 :     compiler::TNode<String> tmp530;
    4550          56 :     compiler::TNode<Number> tmp531;
    4551          56 :     compiler::TNode<Object> tmp532;
    4552          56 :     compiler::TNode<Object> tmp533;
    4553          56 :     compiler::TNode<BuiltinPtr> tmp534;
    4554          56 :     compiler::TNode<Map> tmp535;
    4555          56 :     compiler::TNode<UintPtrT> tmp536;
    4556          56 :     compiler::TNode<IntPtrT> tmp537;
    4557          56 :     compiler::TNode<IntPtrT> tmp538;
    4558          56 :     compiler::TNode<BuiltinPtr> tmp539;
    4559          56 :     compiler::TNode<FixedArray> tmp540;
    4560          56 :     compiler::TNode<IntPtrT> tmp541;
    4561          56 :     compiler::TNode<IntPtrT> tmp542;
    4562          56 :     compiler::TNode<BoolT> tmp543;
    4563          56 :     compiler::TNode<UintPtrT> tmp544;
    4564          56 :     compiler::TNode<Object> tmp545;
    4565          56 :     compiler::TNode<String> tmp546;
    4566          56 :     compiler::TNode<Object> tmp547;
    4567          56 :     compiler::TNode<HeapObject> tmp548;
    4568          56 :     ca_.Bind(&block31, &tmp528, &tmp529, &tmp530, &tmp531, &tmp532, &tmp533, &tmp534, &tmp535, &tmp536, &tmp537, &tmp538, &tmp539, &tmp540, &tmp541, &tmp542, &tmp543, &tmp544, &tmp545, &tmp546, &tmp547, &tmp548);
    4569          56 :     ca_.Goto(&block9, tmp528, tmp529, tmp530, tmp531, tmp532, tmp533, tmp534, tmp535, tmp536, tmp537, tmp538, tmp539, tmp540, tmp541, tmp542, tmp543, tmp544);
    4570             :   }
    4571             : 
    4572         112 :   if (block32.is_used()) {
    4573          56 :     compiler::TNode<Context> tmp549;
    4574          56 :     compiler::TNode<JSReceiver> tmp550;
    4575          56 :     compiler::TNode<String> tmp551;
    4576          56 :     compiler::TNode<Number> tmp552;
    4577          56 :     compiler::TNode<Object> tmp553;
    4578          56 :     compiler::TNode<Object> tmp554;
    4579          56 :     compiler::TNode<BuiltinPtr> tmp555;
    4580          56 :     compiler::TNode<Map> tmp556;
    4581          56 :     compiler::TNode<UintPtrT> tmp557;
    4582          56 :     compiler::TNode<IntPtrT> tmp558;
    4583          56 :     compiler::TNode<IntPtrT> tmp559;
    4584          56 :     compiler::TNode<BuiltinPtr> tmp560;
    4585          56 :     compiler::TNode<FixedArray> tmp561;
    4586          56 :     compiler::TNode<IntPtrT> tmp562;
    4587          56 :     compiler::TNode<IntPtrT> tmp563;
    4588          56 :     compiler::TNode<BoolT> tmp564;
    4589          56 :     compiler::TNode<UintPtrT> tmp565;
    4590          56 :     compiler::TNode<Object> tmp566;
    4591          56 :     compiler::TNode<String> tmp567;
    4592          56 :     compiler::TNode<Object> tmp568;
    4593          56 :     compiler::TNode<HeapObject> tmp569;
    4594          56 :     ca_.Bind(&block32, &tmp549, &tmp550, &tmp551, &tmp552, &tmp553, &tmp554, &tmp555, &tmp556, &tmp557, &tmp558, &tmp559, &tmp560, &tmp561, &tmp562, &tmp563, &tmp564, &tmp565, &tmp566, &tmp567, &tmp568, &tmp569);
    4595          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 306);
    4596          56 :     compiler::TNode<String> tmp570;
    4597          56 :     tmp570 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp549, tmp569));
    4598          56 :     USE(tmp570);
    4599          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
    4600          56 :     ca_.Goto(&block27, tmp549, tmp550, tmp551, tmp552, tmp553, tmp554, tmp555, tmp556, tmp557, tmp558, tmp559, tmp560, tmp561, tmp562, tmp563, tmp564, tmp565, tmp566, tmp570, tmp568);
    4601             :   }
    4602             : 
    4603         112 :   if (block27.is_used()) {
    4604          56 :     compiler::TNode<Context> tmp571;
    4605          56 :     compiler::TNode<JSReceiver> tmp572;
    4606          56 :     compiler::TNode<String> tmp573;
    4607          56 :     compiler::TNode<Number> tmp574;
    4608          56 :     compiler::TNode<Object> tmp575;
    4609          56 :     compiler::TNode<Object> tmp576;
    4610          56 :     compiler::TNode<BuiltinPtr> tmp577;
    4611          56 :     compiler::TNode<Map> tmp578;
    4612          56 :     compiler::TNode<UintPtrT> tmp579;
    4613          56 :     compiler::TNode<IntPtrT> tmp580;
    4614          56 :     compiler::TNode<IntPtrT> tmp581;
    4615          56 :     compiler::TNode<BuiltinPtr> tmp582;
    4616          56 :     compiler::TNode<FixedArray> tmp583;
    4617          56 :     compiler::TNode<IntPtrT> tmp584;
    4618          56 :     compiler::TNode<IntPtrT> tmp585;
    4619          56 :     compiler::TNode<BoolT> tmp586;
    4620          56 :     compiler::TNode<UintPtrT> tmp587;
    4621          56 :     compiler::TNode<Object> tmp588;
    4622          56 :     compiler::TNode<String> tmp589;
    4623          56 :     compiler::TNode<Object> tmp590;
    4624          56 :     ca_.Bind(&block27, &tmp571, &tmp572, &tmp573, &tmp574, &tmp575, &tmp576, &tmp577, &tmp578, &tmp579, &tmp580, &tmp581, &tmp582, &tmp583, &tmp584, &tmp585, &tmp586, &tmp587, &tmp588, &tmp589, &tmp590);
    4625          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
    4626          56 :     ca_.Goto(&block21, tmp571, tmp572, tmp573, tmp574, tmp575, tmp576, tmp577, tmp578, tmp579, tmp580, tmp581, tmp582, tmp583, tmp584, tmp585, tmp586, tmp587, tmp588, tmp589, tmp590);
    4627             :   }
    4628             : 
    4629         112 :   if (block21.is_used()) {
    4630          56 :     compiler::TNode<Context> tmp591;
    4631          56 :     compiler::TNode<JSReceiver> tmp592;
    4632          56 :     compiler::TNode<String> tmp593;
    4633          56 :     compiler::TNode<Number> tmp594;
    4634          56 :     compiler::TNode<Object> tmp595;
    4635          56 :     compiler::TNode<Object> tmp596;
    4636          56 :     compiler::TNode<BuiltinPtr> tmp597;
    4637          56 :     compiler::TNode<Map> tmp598;
    4638          56 :     compiler::TNode<UintPtrT> tmp599;
    4639          56 :     compiler::TNode<IntPtrT> tmp600;
    4640          56 :     compiler::TNode<IntPtrT> tmp601;
    4641          56 :     compiler::TNode<BuiltinPtr> tmp602;
    4642          56 :     compiler::TNode<FixedArray> tmp603;
    4643          56 :     compiler::TNode<IntPtrT> tmp604;
    4644          56 :     compiler::TNode<IntPtrT> tmp605;
    4645          56 :     compiler::TNode<BoolT> tmp606;
    4646          56 :     compiler::TNode<UintPtrT> tmp607;
    4647          56 :     compiler::TNode<Object> tmp608;
    4648          56 :     compiler::TNode<String> tmp609;
    4649          56 :     compiler::TNode<Object> tmp610;
    4650          56 :     ca_.Bind(&block21, &tmp591, &tmp592, &tmp593, &tmp594, &tmp595, &tmp596, &tmp597, &tmp598, &tmp599, &tmp600, &tmp601, &tmp602, &tmp603, &tmp604, &tmp605, &tmp606, &tmp607, &tmp608, &tmp609, &tmp610);
    4651          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
    4652          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 292);
    4653          56 :     ca_.Goto(&block18, tmp591, tmp592, tmp593, tmp594, tmp595, tmp596, tmp597, tmp598, tmp599, tmp600, tmp601, tmp602, tmp603, tmp604, tmp605, tmp606, tmp607, tmp608, tmp609);
    4654             :   }
    4655             : 
    4656         112 :   if (block18.is_used()) {
    4657         112 :     compiler::TNode<Context> tmp611;
    4658         112 :     compiler::TNode<JSReceiver> tmp612;
    4659         112 :     compiler::TNode<String> tmp613;
    4660         112 :     compiler::TNode<Number> tmp614;
    4661         112 :     compiler::TNode<Object> tmp615;
    4662         112 :     compiler::TNode<Object> tmp616;
    4663         112 :     compiler::TNode<BuiltinPtr> tmp617;
    4664         112 :     compiler::TNode<Map> tmp618;
    4665         112 :     compiler::TNode<UintPtrT> tmp619;
    4666         112 :     compiler::TNode<IntPtrT> tmp620;
    4667         112 :     compiler::TNode<IntPtrT> tmp621;
    4668         112 :     compiler::TNode<BuiltinPtr> tmp622;
    4669         112 :     compiler::TNode<FixedArray> tmp623;
    4670         112 :     compiler::TNode<IntPtrT> tmp624;
    4671         112 :     compiler::TNode<IntPtrT> tmp625;
    4672         112 :     compiler::TNode<BoolT> tmp626;
    4673         112 :     compiler::TNode<UintPtrT> tmp627;
    4674         112 :     compiler::TNode<Object> tmp628;
    4675         112 :     compiler::TNode<String> tmp629;
    4676         112 :     ca_.Bind(&block18, &tmp611, &tmp612, &tmp613, &tmp614, &tmp615, &tmp616, &tmp617, &tmp618, &tmp619, &tmp620, &tmp621, &tmp622, &tmp623, &tmp624, &tmp625, &tmp626, &tmp627, &tmp628, &tmp629);
    4677         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 312);
    4678         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 169);
    4679         112 :     compiler::TNode<IntPtrT> tmp630;
    4680         112 :     USE(tmp630);
    4681         112 :     tmp630 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    4682         112 :     compiler::TNode<BoolT> tmp631;
    4683         112 :     USE(tmp631);
    4684         112 :     tmp631 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp624}, compiler::TNode<IntPtrT>{tmp630}));
    4685         112 :     compiler::TNode<IntPtrT> tmp632;
    4686         112 :     USE(tmp632);
    4687         112 :     tmp632 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    4688         112 :     compiler::TNode<BoolT> tmp633;
    4689         112 :     USE(tmp633);
    4690         112 :     tmp633 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp621}, compiler::TNode<IntPtrT>{tmp632}));
    4691         112 :     compiler::TNode<BoolT> tmp634;
    4692         112 :     USE(tmp634);
    4693         112 :     tmp634 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp631}, compiler::TNode<BoolT>{tmp633}));
    4694         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    4695         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    4696         112 :     compiler::TNode<IntPtrT> tmp635;
    4697         112 :     USE(tmp635);
    4698         112 :     tmp635 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    4699         112 :     compiler::TNode<BoolT> tmp636;
    4700         112 :     USE(tmp636);
    4701         112 :     tmp636 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp621}, compiler::TNode<IntPtrT>{tmp635}));
    4702         112 :     ca_.Branch(tmp636, &block35, &block37, tmp611, tmp612, tmp613, tmp614, tmp615, tmp616, tmp617, tmp618, tmp619, tmp620, tmp621, tmp622, tmp623, tmp624, tmp625, tmp626, tmp627, tmp628, tmp629, tmp629, tmp621, tmp620, tmp611, tmp629, tmp621, tmp620, tmp634, tmp621, tmp620, tmp634, tmp611, tmp621, tmp620, tmp634);
    4703             :   }
    4704             : 
    4705         112 :   if (block37.is_used()) {
    4706         112 :     compiler::TNode<Context> tmp637;
    4707         112 :     compiler::TNode<JSReceiver> tmp638;
    4708         112 :     compiler::TNode<String> tmp639;
    4709         112 :     compiler::TNode<Number> tmp640;
    4710         112 :     compiler::TNode<Object> tmp641;
    4711         112 :     compiler::TNode<Object> tmp642;
    4712         112 :     compiler::TNode<BuiltinPtr> tmp643;
    4713         112 :     compiler::TNode<Map> tmp644;
    4714         112 :     compiler::TNode<UintPtrT> tmp645;
    4715         112 :     compiler::TNode<IntPtrT> tmp646;
    4716         112 :     compiler::TNode<IntPtrT> tmp647;
    4717         112 :     compiler::TNode<BuiltinPtr> tmp648;
    4718         112 :     compiler::TNode<FixedArray> tmp649;
    4719         112 :     compiler::TNode<IntPtrT> tmp650;
    4720         112 :     compiler::TNode<IntPtrT> tmp651;
    4721         112 :     compiler::TNode<BoolT> tmp652;
    4722         112 :     compiler::TNode<UintPtrT> tmp653;
    4723         112 :     compiler::TNode<Object> tmp654;
    4724         112 :     compiler::TNode<String> tmp655;
    4725         112 :     compiler::TNode<String> tmp656;
    4726         112 :     compiler::TNode<IntPtrT> tmp657;
    4727         112 :     compiler::TNode<IntPtrT> tmp658;
    4728         112 :     compiler::TNode<Context> tmp659;
    4729         112 :     compiler::TNode<String> tmp660;
    4730         112 :     compiler::TNode<IntPtrT> tmp661;
    4731         112 :     compiler::TNode<IntPtrT> tmp662;
    4732         112 :     compiler::TNode<BoolT> tmp663;
    4733         112 :     compiler::TNode<IntPtrT> tmp664;
    4734         112 :     compiler::TNode<IntPtrT> tmp665;
    4735         112 :     compiler::TNode<BoolT> tmp666;
    4736         112 :     compiler::TNode<Context> tmp667;
    4737         112 :     compiler::TNode<IntPtrT> tmp668;
    4738         112 :     compiler::TNode<IntPtrT> tmp669;
    4739         112 :     compiler::TNode<BoolT> tmp670;
    4740         112 :     ca_.Bind(&block37, &tmp637, &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);
    4741         112 :     compiler::TNode<IntPtrT> tmp671;
    4742         112 :     USE(tmp671);
    4743         112 :     tmp671 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    4744         112 :     compiler::TNode<BoolT> tmp672;
    4745         112 :     USE(tmp672);
    4746         112 :     tmp672 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp669}, compiler::TNode<IntPtrT>{tmp671}));
    4747         112 :     ca_.Branch(tmp672, &block35, &block36, tmp637, 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);
    4748             :   }
    4749             : 
    4750         112 :   if (block35.is_used()) {
    4751         112 :     compiler::TNode<Context> tmp673;
    4752         112 :     compiler::TNode<JSReceiver> tmp674;
    4753         112 :     compiler::TNode<String> tmp675;
    4754         112 :     compiler::TNode<Number> tmp676;
    4755         112 :     compiler::TNode<Object> tmp677;
    4756         112 :     compiler::TNode<Object> tmp678;
    4757         112 :     compiler::TNode<BuiltinPtr> tmp679;
    4758         112 :     compiler::TNode<Map> tmp680;
    4759         112 :     compiler::TNode<UintPtrT> tmp681;
    4760         112 :     compiler::TNode<IntPtrT> tmp682;
    4761         112 :     compiler::TNode<IntPtrT> tmp683;
    4762         112 :     compiler::TNode<BuiltinPtr> tmp684;
    4763         112 :     compiler::TNode<FixedArray> tmp685;
    4764         112 :     compiler::TNode<IntPtrT> tmp686;
    4765         112 :     compiler::TNode<IntPtrT> tmp687;
    4766         112 :     compiler::TNode<BoolT> tmp688;
    4767         112 :     compiler::TNode<UintPtrT> tmp689;
    4768         112 :     compiler::TNode<Object> tmp690;
    4769         112 :     compiler::TNode<String> tmp691;
    4770         112 :     compiler::TNode<String> tmp692;
    4771         112 :     compiler::TNode<IntPtrT> tmp693;
    4772         112 :     compiler::TNode<IntPtrT> tmp694;
    4773         112 :     compiler::TNode<Context> tmp695;
    4774         112 :     compiler::TNode<String> tmp696;
    4775         112 :     compiler::TNode<IntPtrT> tmp697;
    4776         112 :     compiler::TNode<IntPtrT> tmp698;
    4777         112 :     compiler::TNode<BoolT> tmp699;
    4778         112 :     compiler::TNode<IntPtrT> tmp700;
    4779         112 :     compiler::TNode<IntPtrT> tmp701;
    4780         112 :     compiler::TNode<BoolT> tmp702;
    4781         112 :     compiler::TNode<Context> tmp703;
    4782         112 :     compiler::TNode<IntPtrT> tmp704;
    4783         112 :     compiler::TNode<IntPtrT> tmp705;
    4784         112 :     compiler::TNode<BoolT> tmp706;
    4785         112 :     ca_.Bind(&block35, &tmp673, &tmp674, &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);
    4786         112 :     ca_.Goto(&block34, tmp673, tmp674, 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);
    4787             :   }
    4788             : 
    4789         112 :   if (block36.is_used()) {
    4790         112 :     compiler::TNode<Context> tmp707;
    4791         112 :     compiler::TNode<JSReceiver> tmp708;
    4792         112 :     compiler::TNode<String> tmp709;
    4793         112 :     compiler::TNode<Number> tmp710;
    4794         112 :     compiler::TNode<Object> tmp711;
    4795         112 :     compiler::TNode<Object> tmp712;
    4796         112 :     compiler::TNode<BuiltinPtr> tmp713;
    4797         112 :     compiler::TNode<Map> tmp714;
    4798         112 :     compiler::TNode<UintPtrT> tmp715;
    4799         112 :     compiler::TNode<IntPtrT> tmp716;
    4800         112 :     compiler::TNode<IntPtrT> tmp717;
    4801         112 :     compiler::TNode<BuiltinPtr> tmp718;
    4802         112 :     compiler::TNode<FixedArray> tmp719;
    4803         112 :     compiler::TNode<IntPtrT> tmp720;
    4804         112 :     compiler::TNode<IntPtrT> tmp721;
    4805         112 :     compiler::TNode<BoolT> tmp722;
    4806         112 :     compiler::TNode<UintPtrT> tmp723;
    4807         112 :     compiler::TNode<Object> tmp724;
    4808         112 :     compiler::TNode<String> tmp725;
    4809         112 :     compiler::TNode<String> tmp726;
    4810         112 :     compiler::TNode<IntPtrT> tmp727;
    4811         112 :     compiler::TNode<IntPtrT> tmp728;
    4812         112 :     compiler::TNode<Context> tmp729;
    4813         112 :     compiler::TNode<String> tmp730;
    4814         112 :     compiler::TNode<IntPtrT> tmp731;
    4815         112 :     compiler::TNode<IntPtrT> tmp732;
    4816         112 :     compiler::TNode<BoolT> tmp733;
    4817         112 :     compiler::TNode<IntPtrT> tmp734;
    4818         112 :     compiler::TNode<IntPtrT> tmp735;
    4819         112 :     compiler::TNode<BoolT> tmp736;
    4820         112 :     compiler::TNode<Context> tmp737;
    4821         112 :     compiler::TNode<IntPtrT> tmp738;
    4822         112 :     compiler::TNode<IntPtrT> tmp739;
    4823         112 :     compiler::TNode<BoolT> tmp740;
    4824         112 :     ca_.Bind(&block36, &tmp707, &tmp708, &tmp709, &tmp710, &tmp711, &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);
    4825         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    4826         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    4827         112 :     compiler::TNode<IntPtrT> tmp741;
    4828         112 :     USE(tmp741);
    4829         112 :     tmp741 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp739}, compiler::TNode<IntPtrT>{tmp738}));
    4830         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 187);
    4831         112 :     compiler::TNode<IntPtrT> tmp742;
    4832         112 :     USE(tmp742);
    4833         112 :     tmp742 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp741}, compiler::TNode<IntPtrT>{tmp739}));
    4834         112 :     compiler::TNode<BoolT> tmp743;
    4835         112 :     USE(tmp743);
    4836         112 :     tmp743 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp742}, compiler::TNode<IntPtrT>{tmp738}));
    4837         112 :     ca_.Branch(tmp743, &block38, &block39, tmp707, tmp708, tmp709, tmp710, tmp711, 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, tmp738, tmp741);
    4838             :   }
    4839             : 
    4840         112 :   if (block38.is_used()) {
    4841         112 :     compiler::TNode<Context> tmp744;
    4842         112 :     compiler::TNode<JSReceiver> tmp745;
    4843         112 :     compiler::TNode<String> tmp746;
    4844         112 :     compiler::TNode<Number> tmp747;
    4845         112 :     compiler::TNode<Object> tmp748;
    4846         112 :     compiler::TNode<Object> tmp749;
    4847         112 :     compiler::TNode<BuiltinPtr> tmp750;
    4848         112 :     compiler::TNode<Map> tmp751;
    4849         112 :     compiler::TNode<UintPtrT> tmp752;
    4850         112 :     compiler::TNode<IntPtrT> tmp753;
    4851         112 :     compiler::TNode<IntPtrT> tmp754;
    4852         112 :     compiler::TNode<BuiltinPtr> tmp755;
    4853         112 :     compiler::TNode<FixedArray> tmp756;
    4854         112 :     compiler::TNode<IntPtrT> tmp757;
    4855         112 :     compiler::TNode<IntPtrT> tmp758;
    4856         112 :     compiler::TNode<BoolT> tmp759;
    4857         112 :     compiler::TNode<UintPtrT> tmp760;
    4858         112 :     compiler::TNode<Object> tmp761;
    4859         112 :     compiler::TNode<String> tmp762;
    4860         112 :     compiler::TNode<String> tmp763;
    4861         112 :     compiler::TNode<IntPtrT> tmp764;
    4862         112 :     compiler::TNode<IntPtrT> tmp765;
    4863         112 :     compiler::TNode<Context> tmp766;
    4864         112 :     compiler::TNode<String> tmp767;
    4865         112 :     compiler::TNode<IntPtrT> tmp768;
    4866         112 :     compiler::TNode<IntPtrT> tmp769;
    4867         112 :     compiler::TNode<BoolT> tmp770;
    4868         112 :     compiler::TNode<IntPtrT> tmp771;
    4869         112 :     compiler::TNode<IntPtrT> tmp772;
    4870         112 :     compiler::TNode<BoolT> tmp773;
    4871         112 :     compiler::TNode<Context> tmp774;
    4872         112 :     compiler::TNode<IntPtrT> tmp775;
    4873         112 :     compiler::TNode<IntPtrT> tmp776;
    4874         112 :     compiler::TNode<BoolT> tmp777;
    4875         112 :     compiler::TNode<IntPtrT> tmp778;
    4876         112 :     compiler::TNode<IntPtrT> tmp779;
    4877         112 :     ca_.Bind(&block38, &tmp744, &tmp745, &tmp746, &tmp747, &tmp748, &tmp749, &tmp750, &tmp751, &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);
    4878         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 188);
    4879         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp774);
    4880         112 :     CodeStubAssembler(state_).Unreachable();
    4881             :   }
    4882             : 
    4883         112 :   if (block39.is_used()) {
    4884         112 :     compiler::TNode<Context> tmp781;
    4885         112 :     compiler::TNode<JSReceiver> tmp782;
    4886         112 :     compiler::TNode<String> tmp783;
    4887         112 :     compiler::TNode<Number> tmp784;
    4888         112 :     compiler::TNode<Object> tmp785;
    4889         112 :     compiler::TNode<Object> tmp786;
    4890         112 :     compiler::TNode<BuiltinPtr> tmp787;
    4891         112 :     compiler::TNode<Map> tmp788;
    4892         112 :     compiler::TNode<UintPtrT> tmp789;
    4893         112 :     compiler::TNode<IntPtrT> tmp790;
    4894         112 :     compiler::TNode<IntPtrT> tmp791;
    4895         112 :     compiler::TNode<BuiltinPtr> tmp792;
    4896         112 :     compiler::TNode<FixedArray> tmp793;
    4897         112 :     compiler::TNode<IntPtrT> tmp794;
    4898         112 :     compiler::TNode<IntPtrT> tmp795;
    4899         112 :     compiler::TNode<BoolT> tmp796;
    4900         112 :     compiler::TNode<UintPtrT> tmp797;
    4901         112 :     compiler::TNode<Object> tmp798;
    4902         112 :     compiler::TNode<String> tmp799;
    4903         112 :     compiler::TNode<String> tmp800;
    4904         112 :     compiler::TNode<IntPtrT> tmp801;
    4905         112 :     compiler::TNode<IntPtrT> tmp802;
    4906         112 :     compiler::TNode<Context> tmp803;
    4907         112 :     compiler::TNode<String> tmp804;
    4908         112 :     compiler::TNode<IntPtrT> tmp805;
    4909         112 :     compiler::TNode<IntPtrT> tmp806;
    4910         112 :     compiler::TNode<BoolT> tmp807;
    4911         112 :     compiler::TNode<IntPtrT> tmp808;
    4912         112 :     compiler::TNode<IntPtrT> tmp809;
    4913         112 :     compiler::TNode<BoolT> tmp810;
    4914         112 :     compiler::TNode<Context> tmp811;
    4915         112 :     compiler::TNode<IntPtrT> tmp812;
    4916         112 :     compiler::TNode<IntPtrT> tmp813;
    4917         112 :     compiler::TNode<BoolT> tmp814;
    4918         112 :     compiler::TNode<IntPtrT> tmp815;
    4919         112 :     compiler::TNode<IntPtrT> tmp816;
    4920         112 :     ca_.Bind(&block39, &tmp781, &tmp782, &tmp783, &tmp784, &tmp785, &tmp786, &tmp787, &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);
    4921         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 191);
    4922         112 :     compiler::TNode<IntPtrT> tmp817;
    4923         112 :     USE(tmp817);
    4924         112 :     tmp817 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp811}, compiler::TNode<IntPtrT>{tmp795}, compiler::TNode<IntPtrT>{tmp816}));
    4925         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 192);
    4926         112 :     ca_.Branch(tmp814, &block40, &block41, tmp781, tmp782, tmp783, tmp784, tmp785, tmp786, tmp787, tmp788, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp817, tmp796, tmp797, tmp798, tmp799, tmp800, tmp801, tmp802, tmp803, tmp804, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813, tmp814, tmp815, tmp816);
    4927             :   }
    4928             : 
    4929         112 :   if (block40.is_used()) {
    4930         112 :     compiler::TNode<Context> tmp818;
    4931         112 :     compiler::TNode<JSReceiver> tmp819;
    4932         112 :     compiler::TNode<String> tmp820;
    4933         112 :     compiler::TNode<Number> tmp821;
    4934         112 :     compiler::TNode<Object> tmp822;
    4935         112 :     compiler::TNode<Object> tmp823;
    4936         112 :     compiler::TNode<BuiltinPtr> tmp824;
    4937         112 :     compiler::TNode<Map> tmp825;
    4938         112 :     compiler::TNode<UintPtrT> tmp826;
    4939         112 :     compiler::TNode<IntPtrT> tmp827;
    4940         112 :     compiler::TNode<IntPtrT> tmp828;
    4941         112 :     compiler::TNode<BuiltinPtr> tmp829;
    4942         112 :     compiler::TNode<FixedArray> tmp830;
    4943         112 :     compiler::TNode<IntPtrT> tmp831;
    4944         112 :     compiler::TNode<IntPtrT> tmp832;
    4945         112 :     compiler::TNode<BoolT> tmp833;
    4946         112 :     compiler::TNode<UintPtrT> tmp834;
    4947         112 :     compiler::TNode<Object> tmp835;
    4948         112 :     compiler::TNode<String> tmp836;
    4949         112 :     compiler::TNode<String> tmp837;
    4950         112 :     compiler::TNode<IntPtrT> tmp838;
    4951         112 :     compiler::TNode<IntPtrT> tmp839;
    4952         112 :     compiler::TNode<Context> tmp840;
    4953         112 :     compiler::TNode<String> tmp841;
    4954         112 :     compiler::TNode<IntPtrT> tmp842;
    4955         112 :     compiler::TNode<IntPtrT> tmp843;
    4956         112 :     compiler::TNode<BoolT> tmp844;
    4957         112 :     compiler::TNode<IntPtrT> tmp845;
    4958         112 :     compiler::TNode<IntPtrT> tmp846;
    4959         112 :     compiler::TNode<BoolT> tmp847;
    4960         112 :     compiler::TNode<Context> tmp848;
    4961         112 :     compiler::TNode<IntPtrT> tmp849;
    4962         112 :     compiler::TNode<IntPtrT> tmp850;
    4963         112 :     compiler::TNode<BoolT> tmp851;
    4964         112 :     compiler::TNode<IntPtrT> tmp852;
    4965         112 :     compiler::TNode<IntPtrT> tmp853;
    4966         112 :     ca_.Bind(&block40, &tmp818, &tmp819, &tmp820, &tmp821, &tmp822, &tmp823, &tmp824, &tmp825, &tmp826, &tmp827, &tmp828, &tmp829, &tmp830, &tmp831, &tmp832, &tmp833, &tmp834, &tmp835, &tmp836, &tmp837, &tmp838, &tmp839, &tmp840, &tmp841, &tmp842, &tmp843, &tmp844, &tmp845, &tmp846, &tmp847, &tmp848, &tmp849, &tmp850, &tmp851, &tmp852, &tmp853);
    4967         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 194);
    4968         112 :     compiler::TNode<IntPtrT> tmp854;
    4969         112 :     USE(tmp854);
    4970         112 :     tmp854 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    4971         112 :     compiler::TNode<IntPtrT> tmp855;
    4972         112 :     USE(tmp855);
    4973         112 :     tmp855 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp831}, compiler::TNode<IntPtrT>{tmp854}));
    4974         112 :     compiler::TNode<Smi> tmp856;
    4975         112 :     USE(tmp856);
    4976         112 :     tmp856 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp852}));
    4977         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 193);
    4978         112 :     compiler::TNode<FixedArray> tmp857;
    4979         112 :     USE(tmp857);
    4980         112 :     tmp857 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp830}, compiler::TNode<IntPtrT>{tmp831}, compiler::TNode<Smi>{tmp856}));
    4981         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 192);
    4982         112 :     ca_.Goto(&block41, tmp818, tmp819, tmp820, tmp821, tmp822, tmp823, tmp824, tmp825, tmp826, tmp827, tmp828, tmp829, tmp857, tmp855, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp840, tmp841, tmp842, tmp843, tmp844, tmp845, tmp846, tmp847, tmp848, tmp849, tmp850, tmp851, tmp852, tmp853);
    4983             :   }
    4984             : 
    4985         112 :   if (block41.is_used()) {
    4986         112 :     compiler::TNode<Context> tmp858;
    4987         112 :     compiler::TNode<JSReceiver> tmp859;
    4988         112 :     compiler::TNode<String> tmp860;
    4989         112 :     compiler::TNode<Number> tmp861;
    4990         112 :     compiler::TNode<Object> tmp862;
    4991         112 :     compiler::TNode<Object> tmp863;
    4992         112 :     compiler::TNode<BuiltinPtr> tmp864;
    4993         112 :     compiler::TNode<Map> tmp865;
    4994         112 :     compiler::TNode<UintPtrT> tmp866;
    4995         112 :     compiler::TNode<IntPtrT> tmp867;
    4996         112 :     compiler::TNode<IntPtrT> tmp868;
    4997         112 :     compiler::TNode<BuiltinPtr> tmp869;
    4998         112 :     compiler::TNode<FixedArray> tmp870;
    4999         112 :     compiler::TNode<IntPtrT> tmp871;
    5000         112 :     compiler::TNode<IntPtrT> tmp872;
    5001         112 :     compiler::TNode<BoolT> tmp873;
    5002         112 :     compiler::TNode<UintPtrT> tmp874;
    5003         112 :     compiler::TNode<Object> tmp875;
    5004         112 :     compiler::TNode<String> tmp876;
    5005         112 :     compiler::TNode<String> tmp877;
    5006         112 :     compiler::TNode<IntPtrT> tmp878;
    5007         112 :     compiler::TNode<IntPtrT> tmp879;
    5008         112 :     compiler::TNode<Context> tmp880;
    5009         112 :     compiler::TNode<String> tmp881;
    5010         112 :     compiler::TNode<IntPtrT> tmp882;
    5011         112 :     compiler::TNode<IntPtrT> tmp883;
    5012         112 :     compiler::TNode<BoolT> tmp884;
    5013         112 :     compiler::TNode<IntPtrT> tmp885;
    5014         112 :     compiler::TNode<IntPtrT> tmp886;
    5015         112 :     compiler::TNode<BoolT> tmp887;
    5016         112 :     compiler::TNode<Context> tmp888;
    5017         112 :     compiler::TNode<IntPtrT> tmp889;
    5018         112 :     compiler::TNode<IntPtrT> tmp890;
    5019         112 :     compiler::TNode<BoolT> tmp891;
    5020         112 :     compiler::TNode<IntPtrT> tmp892;
    5021         112 :     compiler::TNode<IntPtrT> tmp893;
    5022         112 :     ca_.Bind(&block41, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873, &tmp874, &tmp875, &tmp876, &tmp877, &tmp878, &tmp879, &tmp880, &tmp881, &tmp882, &tmp883, &tmp884, &tmp885, &tmp886, &tmp887, &tmp888, &tmp889, &tmp890, &tmp891, &tmp892, &tmp893);
    5023         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 180);
    5024         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    5025         112 :     ca_.Goto(&block34, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp874, tmp875, tmp876, tmp877, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889, tmp890, tmp891);
    5026             :   }
    5027             : 
    5028         112 :   if (block34.is_used()) {
    5029         112 :     compiler::TNode<Context> tmp894;
    5030         112 :     compiler::TNode<JSReceiver> tmp895;
    5031         112 :     compiler::TNode<String> tmp896;
    5032         112 :     compiler::TNode<Number> tmp897;
    5033         112 :     compiler::TNode<Object> tmp898;
    5034         112 :     compiler::TNode<Object> tmp899;
    5035         112 :     compiler::TNode<BuiltinPtr> tmp900;
    5036         112 :     compiler::TNode<Map> tmp901;
    5037         112 :     compiler::TNode<UintPtrT> tmp902;
    5038         112 :     compiler::TNode<IntPtrT> tmp903;
    5039         112 :     compiler::TNode<IntPtrT> tmp904;
    5040         112 :     compiler::TNode<BuiltinPtr> tmp905;
    5041         112 :     compiler::TNode<FixedArray> tmp906;
    5042         112 :     compiler::TNode<IntPtrT> tmp907;
    5043         112 :     compiler::TNode<IntPtrT> tmp908;
    5044         112 :     compiler::TNode<BoolT> tmp909;
    5045         112 :     compiler::TNode<UintPtrT> tmp910;
    5046         112 :     compiler::TNode<Object> tmp911;
    5047         112 :     compiler::TNode<String> tmp912;
    5048         112 :     compiler::TNode<String> tmp913;
    5049         112 :     compiler::TNode<IntPtrT> tmp914;
    5050         112 :     compiler::TNode<IntPtrT> tmp915;
    5051         112 :     compiler::TNode<Context> tmp916;
    5052         112 :     compiler::TNode<String> tmp917;
    5053         112 :     compiler::TNode<IntPtrT> tmp918;
    5054         112 :     compiler::TNode<IntPtrT> tmp919;
    5055         112 :     compiler::TNode<BoolT> tmp920;
    5056         112 :     compiler::TNode<IntPtrT> tmp921;
    5057         112 :     compiler::TNode<IntPtrT> tmp922;
    5058         112 :     compiler::TNode<BoolT> tmp923;
    5059         112 :     compiler::TNode<Context> tmp924;
    5060         112 :     compiler::TNode<IntPtrT> tmp925;
    5061         112 :     compiler::TNode<IntPtrT> tmp926;
    5062         112 :     compiler::TNode<BoolT> tmp927;
    5063         112 :     ca_.Bind(&block34, &tmp894, &tmp895, &tmp896, &tmp897, &tmp898, &tmp899, &tmp900, &tmp901, &tmp902, &tmp903, &tmp904, &tmp905, &tmp906, &tmp907, &tmp908, &tmp909, &tmp910, &tmp911, &tmp912, &tmp913, &tmp914, &tmp915, &tmp916, &tmp917, &tmp918, &tmp919, &tmp920, &tmp921, &tmp922, &tmp923, &tmp924, &tmp925, &tmp926, &tmp927);
    5064         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    5065         112 :     compiler::TNode<IntPtrT> tmp928;
    5066         112 :     USE(tmp928);
    5067         112 :     tmp928 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp917}));
    5068         112 :     compiler::TNode<IntPtrT> tmp929;
    5069         112 :     USE(tmp929);
    5070         112 :     tmp929 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp916}, compiler::TNode<IntPtrT>{tmp908}, compiler::TNode<IntPtrT>{tmp928}));
    5071         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 172);
    5072         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 175);
    5073         112 :     compiler::TNode<IntPtrT> tmp930;
    5074         112 :     USE(tmp930);
    5075         112 :     tmp930 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    5076         112 :     compiler::TNode<IntPtrT> tmp931;
    5077         112 :     USE(tmp931);
    5078         112 :     tmp931 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp907}, compiler::TNode<IntPtrT>{tmp930}));
    5079         112 :     compiler::TNode<FixedArray> tmp932;
    5080         112 :     USE(tmp932);
    5081         112 :     tmp932 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray8ATString(compiler::TNode<FixedArray>{tmp906}, compiler::TNode<IntPtrT>{tmp907}, compiler::TNode<String>{tmp917}));
    5082         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    5083         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 176);
    5084         112 :     compiler::TNode<Int32T> tmp933;
    5085         112 :     USE(tmp933);
    5086         112 :     tmp933 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp917}));
    5087         112 :     compiler::TNode<BoolT> tmp934;
    5088         112 :     USE(tmp934);
    5089         112 :     tmp934 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).HasOnlyOneByteChars(compiler::TNode<Int32T>{tmp933}));
    5090         112 :     compiler::TNode<BoolT> tmp935;
    5091         112 :     USE(tmp935);
    5092         112 :     tmp935 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp934}, compiler::TNode<BoolT>{tmp909}));
    5093         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 167);
    5094         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 312);
    5095         112 :     ca_.Goto(&block33, tmp894, tmp895, tmp896, tmp897, tmp898, tmp899, tmp900, tmp901, tmp902, tmp903, tmp904, tmp905, tmp932, tmp931, tmp929, tmp935, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919);
    5096             :   }
    5097             : 
    5098         112 :   if (block33.is_used()) {
    5099         112 :     compiler::TNode<Context> tmp936;
    5100         112 :     compiler::TNode<JSReceiver> tmp937;
    5101         112 :     compiler::TNode<String> tmp938;
    5102         112 :     compiler::TNode<Number> tmp939;
    5103         112 :     compiler::TNode<Object> tmp940;
    5104         112 :     compiler::TNode<Object> tmp941;
    5105         112 :     compiler::TNode<BuiltinPtr> tmp942;
    5106         112 :     compiler::TNode<Map> tmp943;
    5107         112 :     compiler::TNode<UintPtrT> tmp944;
    5108         112 :     compiler::TNode<IntPtrT> tmp945;
    5109         112 :     compiler::TNode<IntPtrT> tmp946;
    5110         112 :     compiler::TNode<BuiltinPtr> tmp947;
    5111         112 :     compiler::TNode<FixedArray> tmp948;
    5112         112 :     compiler::TNode<IntPtrT> tmp949;
    5113         112 :     compiler::TNode<IntPtrT> tmp950;
    5114         112 :     compiler::TNode<BoolT> tmp951;
    5115         112 :     compiler::TNode<UintPtrT> tmp952;
    5116         112 :     compiler::TNode<Object> tmp953;
    5117         112 :     compiler::TNode<String> tmp954;
    5118         112 :     compiler::TNode<String> tmp955;
    5119         112 :     compiler::TNode<IntPtrT> tmp956;
    5120         112 :     compiler::TNode<IntPtrT> tmp957;
    5121         112 :     compiler::TNode<Context> tmp958;
    5122         112 :     compiler::TNode<String> tmp959;
    5123         112 :     compiler::TNode<IntPtrT> tmp960;
    5124         112 :     compiler::TNode<IntPtrT> tmp961;
    5125         112 :     ca_.Bind(&block33, &tmp936, &tmp937, &tmp938, &tmp939, &tmp940, &tmp941, &tmp942, &tmp943, &tmp944, &tmp945, &tmp946, &tmp947, &tmp948, &tmp949, &tmp950, &tmp951, &tmp952, &tmp953, &tmp954, &tmp955, &tmp956, &tmp957, &tmp958, &tmp959, &tmp960, &tmp961);
    5126         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 313);
    5127         112 :     compiler::TNode<IntPtrT> tmp962;
    5128         112 :     USE(tmp962);
    5129         112 :     tmp962 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5130         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
    5131         112 :     ca_.Goto(&block9, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp962, tmp947, tmp948, tmp949, tmp950, tmp951, tmp952);
    5132             :   }
    5133             : 
    5134         112 :   if (block8.is_used()) {
    5135         112 :     compiler::TNode<Context> tmp963;
    5136         112 :     compiler::TNode<JSReceiver> tmp964;
    5137         112 :     compiler::TNode<String> tmp965;
    5138         112 :     compiler::TNode<Number> tmp966;
    5139         112 :     compiler::TNode<Object> tmp967;
    5140         112 :     compiler::TNode<Object> tmp968;
    5141         112 :     compiler::TNode<BuiltinPtr> tmp969;
    5142         112 :     compiler::TNode<Map> tmp970;
    5143         112 :     compiler::TNode<UintPtrT> tmp971;
    5144         112 :     compiler::TNode<IntPtrT> tmp972;
    5145         112 :     compiler::TNode<IntPtrT> tmp973;
    5146         112 :     compiler::TNode<BuiltinPtr> tmp974;
    5147         112 :     compiler::TNode<FixedArray> tmp975;
    5148         112 :     compiler::TNode<IntPtrT> tmp976;
    5149         112 :     compiler::TNode<IntPtrT> tmp977;
    5150         112 :     compiler::TNode<BoolT> tmp978;
    5151         112 :     compiler::TNode<UintPtrT> tmp979;
    5152         112 :     ca_.Bind(&block8, &tmp963, &tmp964, &tmp965, &tmp966, &tmp967, &tmp968, &tmp969, &tmp970, &tmp971, &tmp972, &tmp973, &tmp974, &tmp975, &tmp976, &tmp977, &tmp978, &tmp979);
    5153         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 317);
    5154         112 :     compiler::TNode<BoolT> tmp980;
    5155         112 :     USE(tmp980);
    5156         112 :     tmp980 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
    5157         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    5158         112 :     compiler::TNode<IntPtrT> tmp981;
    5159         112 :     USE(tmp981);
    5160         112 :     tmp981 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5161         112 :     compiler::TNode<BoolT> tmp982;
    5162         112 :     USE(tmp982);
    5163         112 :     tmp982 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp973}, compiler::TNode<IntPtrT>{tmp981}));
    5164         112 :     ca_.Branch(tmp982, &block43, &block45, tmp963, tmp964, tmp965, tmp966, tmp967, tmp968, tmp969, tmp970, tmp971, tmp972, tmp973, tmp974, tmp975, tmp976, tmp977, tmp978, tmp979, tmp973, tmp972, tmp963, tmp973, tmp972, tmp980);
    5165             :   }
    5166             : 
    5167         112 :   if (block45.is_used()) {
    5168         112 :     compiler::TNode<Context> tmp983;
    5169         112 :     compiler::TNode<JSReceiver> tmp984;
    5170         112 :     compiler::TNode<String> tmp985;
    5171         112 :     compiler::TNode<Number> tmp986;
    5172         112 :     compiler::TNode<Object> tmp987;
    5173         112 :     compiler::TNode<Object> tmp988;
    5174         112 :     compiler::TNode<BuiltinPtr> tmp989;
    5175         112 :     compiler::TNode<Map> tmp990;
    5176         112 :     compiler::TNode<UintPtrT> tmp991;
    5177         112 :     compiler::TNode<IntPtrT> tmp992;
    5178         112 :     compiler::TNode<IntPtrT> tmp993;
    5179         112 :     compiler::TNode<BuiltinPtr> tmp994;
    5180         112 :     compiler::TNode<FixedArray> tmp995;
    5181         112 :     compiler::TNode<IntPtrT> tmp996;
    5182         112 :     compiler::TNode<IntPtrT> tmp997;
    5183         112 :     compiler::TNode<BoolT> tmp998;
    5184         112 :     compiler::TNode<UintPtrT> tmp999;
    5185         112 :     compiler::TNode<IntPtrT> tmp1000;
    5186         112 :     compiler::TNode<IntPtrT> tmp1001;
    5187         112 :     compiler::TNode<Context> tmp1002;
    5188         112 :     compiler::TNode<IntPtrT> tmp1003;
    5189         112 :     compiler::TNode<IntPtrT> tmp1004;
    5190         112 :     compiler::TNode<BoolT> tmp1005;
    5191         112 :     ca_.Bind(&block45, &tmp983, &tmp984, &tmp985, &tmp986, &tmp987, &tmp988, &tmp989, &tmp990, &tmp991, &tmp992, &tmp993, &tmp994, &tmp995, &tmp996, &tmp997, &tmp998, &tmp999, &tmp1000, &tmp1001, &tmp1002, &tmp1003, &tmp1004, &tmp1005);
    5192         112 :     compiler::TNode<IntPtrT> tmp1006;
    5193         112 :     USE(tmp1006);
    5194         112 :     tmp1006 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5195         112 :     compiler::TNode<BoolT> tmp1007;
    5196         112 :     USE(tmp1007);
    5197         112 :     tmp1007 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp1004}, compiler::TNode<IntPtrT>{tmp1006}));
    5198         112 :     ca_.Branch(tmp1007, &block43, &block44, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989, tmp990, tmp991, tmp992, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001, tmp1002, tmp1003, tmp1004, tmp1005);
    5199             :   }
    5200             : 
    5201         112 :   if (block43.is_used()) {
    5202         112 :     compiler::TNode<Context> tmp1008;
    5203         112 :     compiler::TNode<JSReceiver> tmp1009;
    5204         112 :     compiler::TNode<String> tmp1010;
    5205         112 :     compiler::TNode<Number> tmp1011;
    5206         112 :     compiler::TNode<Object> tmp1012;
    5207         112 :     compiler::TNode<Object> tmp1013;
    5208         112 :     compiler::TNode<BuiltinPtr> tmp1014;
    5209         112 :     compiler::TNode<Map> tmp1015;
    5210         112 :     compiler::TNode<UintPtrT> tmp1016;
    5211         112 :     compiler::TNode<IntPtrT> tmp1017;
    5212         112 :     compiler::TNode<IntPtrT> tmp1018;
    5213         112 :     compiler::TNode<BuiltinPtr> tmp1019;
    5214         112 :     compiler::TNode<FixedArray> tmp1020;
    5215         112 :     compiler::TNode<IntPtrT> tmp1021;
    5216         112 :     compiler::TNode<IntPtrT> tmp1022;
    5217         112 :     compiler::TNode<BoolT> tmp1023;
    5218         112 :     compiler::TNode<UintPtrT> tmp1024;
    5219         112 :     compiler::TNode<IntPtrT> tmp1025;
    5220         112 :     compiler::TNode<IntPtrT> tmp1026;
    5221         112 :     compiler::TNode<Context> tmp1027;
    5222         112 :     compiler::TNode<IntPtrT> tmp1028;
    5223         112 :     compiler::TNode<IntPtrT> tmp1029;
    5224         112 :     compiler::TNode<BoolT> tmp1030;
    5225         112 :     ca_.Bind(&block43, &tmp1008, &tmp1009, &tmp1010, &tmp1011, &tmp1012, &tmp1013, &tmp1014, &tmp1015, &tmp1016, &tmp1017, &tmp1018, &tmp1019, &tmp1020, &tmp1021, &tmp1022, &tmp1023, &tmp1024, &tmp1025, &tmp1026, &tmp1027, &tmp1028, &tmp1029, &tmp1030);
    5226         112 :     ca_.Goto(&block42, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1015, tmp1016, tmp1017, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027, tmp1028, tmp1029, tmp1030);
    5227             :   }
    5228             : 
    5229         112 :   if (block44.is_used()) {
    5230         112 :     compiler::TNode<Context> tmp1031;
    5231         112 :     compiler::TNode<JSReceiver> tmp1032;
    5232         112 :     compiler::TNode<String> tmp1033;
    5233         112 :     compiler::TNode<Number> tmp1034;
    5234         112 :     compiler::TNode<Object> tmp1035;
    5235         112 :     compiler::TNode<Object> tmp1036;
    5236         112 :     compiler::TNode<BuiltinPtr> tmp1037;
    5237         112 :     compiler::TNode<Map> tmp1038;
    5238         112 :     compiler::TNode<UintPtrT> tmp1039;
    5239         112 :     compiler::TNode<IntPtrT> tmp1040;
    5240         112 :     compiler::TNode<IntPtrT> tmp1041;
    5241         112 :     compiler::TNode<BuiltinPtr> tmp1042;
    5242         112 :     compiler::TNode<FixedArray> tmp1043;
    5243         112 :     compiler::TNode<IntPtrT> tmp1044;
    5244         112 :     compiler::TNode<IntPtrT> tmp1045;
    5245         112 :     compiler::TNode<BoolT> tmp1046;
    5246         112 :     compiler::TNode<UintPtrT> tmp1047;
    5247         112 :     compiler::TNode<IntPtrT> tmp1048;
    5248         112 :     compiler::TNode<IntPtrT> tmp1049;
    5249         112 :     compiler::TNode<Context> tmp1050;
    5250         112 :     compiler::TNode<IntPtrT> tmp1051;
    5251         112 :     compiler::TNode<IntPtrT> tmp1052;
    5252         112 :     compiler::TNode<BoolT> tmp1053;
    5253         112 :     ca_.Bind(&block44, &tmp1031, &tmp1032, &tmp1033, &tmp1034, &tmp1035, &tmp1036, &tmp1037, &tmp1038, &tmp1039, &tmp1040, &tmp1041, &tmp1042, &tmp1043, &tmp1044, &tmp1045, &tmp1046, &tmp1047, &tmp1048, &tmp1049, &tmp1050, &tmp1051, &tmp1052, &tmp1053);
    5254         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    5255         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    5256         112 :     compiler::TNode<IntPtrT> tmp1054;
    5257         112 :     USE(tmp1054);
    5258         112 :     tmp1054 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp1052}, compiler::TNode<IntPtrT>{tmp1051}));
    5259         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 187);
    5260         112 :     compiler::TNode<IntPtrT> tmp1055;
    5261         112 :     USE(tmp1055);
    5262         112 :     tmp1055 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp1054}, compiler::TNode<IntPtrT>{tmp1052}));
    5263         112 :     compiler::TNode<BoolT> tmp1056;
    5264         112 :     USE(tmp1056);
    5265         112 :     tmp1056 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp1055}, compiler::TNode<IntPtrT>{tmp1051}));
    5266         112 :     ca_.Branch(tmp1056, &block46, &block47, tmp1031, tmp1032, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1051, tmp1054);
    5267             :   }
    5268             : 
    5269         112 :   if (block46.is_used()) {
    5270         112 :     compiler::TNode<Context> tmp1057;
    5271         112 :     compiler::TNode<JSReceiver> tmp1058;
    5272         112 :     compiler::TNode<String> tmp1059;
    5273         112 :     compiler::TNode<Number> tmp1060;
    5274         112 :     compiler::TNode<Object> tmp1061;
    5275         112 :     compiler::TNode<Object> tmp1062;
    5276         112 :     compiler::TNode<BuiltinPtr> tmp1063;
    5277         112 :     compiler::TNode<Map> tmp1064;
    5278         112 :     compiler::TNode<UintPtrT> tmp1065;
    5279         112 :     compiler::TNode<IntPtrT> tmp1066;
    5280         112 :     compiler::TNode<IntPtrT> tmp1067;
    5281         112 :     compiler::TNode<BuiltinPtr> tmp1068;
    5282         112 :     compiler::TNode<FixedArray> tmp1069;
    5283         112 :     compiler::TNode<IntPtrT> tmp1070;
    5284         112 :     compiler::TNode<IntPtrT> tmp1071;
    5285         112 :     compiler::TNode<BoolT> tmp1072;
    5286         112 :     compiler::TNode<UintPtrT> tmp1073;
    5287         112 :     compiler::TNode<IntPtrT> tmp1074;
    5288         112 :     compiler::TNode<IntPtrT> tmp1075;
    5289         112 :     compiler::TNode<Context> tmp1076;
    5290         112 :     compiler::TNode<IntPtrT> tmp1077;
    5291         112 :     compiler::TNode<IntPtrT> tmp1078;
    5292         112 :     compiler::TNode<BoolT> tmp1079;
    5293         112 :     compiler::TNode<IntPtrT> tmp1080;
    5294         112 :     compiler::TNode<IntPtrT> tmp1081;
    5295         112 :     ca_.Bind(&block46, &tmp1057, &tmp1058, &tmp1059, &tmp1060, &tmp1061, &tmp1062, &tmp1063, &tmp1064, &tmp1065, &tmp1066, &tmp1067, &tmp1068, &tmp1069, &tmp1070, &tmp1071, &tmp1072, &tmp1073, &tmp1074, &tmp1075, &tmp1076, &tmp1077, &tmp1078, &tmp1079, &tmp1080, &tmp1081);
    5296         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 188);
    5297         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp1076);
    5298         112 :     CodeStubAssembler(state_).Unreachable();
    5299             :   }
    5300             : 
    5301         112 :   if (block47.is_used()) {
    5302         112 :     compiler::TNode<Context> tmp1083;
    5303         112 :     compiler::TNode<JSReceiver> tmp1084;
    5304         112 :     compiler::TNode<String> tmp1085;
    5305         112 :     compiler::TNode<Number> tmp1086;
    5306         112 :     compiler::TNode<Object> tmp1087;
    5307         112 :     compiler::TNode<Object> tmp1088;
    5308         112 :     compiler::TNode<BuiltinPtr> tmp1089;
    5309         112 :     compiler::TNode<Map> tmp1090;
    5310         112 :     compiler::TNode<UintPtrT> tmp1091;
    5311         112 :     compiler::TNode<IntPtrT> tmp1092;
    5312         112 :     compiler::TNode<IntPtrT> tmp1093;
    5313         112 :     compiler::TNode<BuiltinPtr> tmp1094;
    5314         112 :     compiler::TNode<FixedArray> tmp1095;
    5315         112 :     compiler::TNode<IntPtrT> tmp1096;
    5316         112 :     compiler::TNode<IntPtrT> tmp1097;
    5317         112 :     compiler::TNode<BoolT> tmp1098;
    5318         112 :     compiler::TNode<UintPtrT> tmp1099;
    5319         112 :     compiler::TNode<IntPtrT> tmp1100;
    5320         112 :     compiler::TNode<IntPtrT> tmp1101;
    5321         112 :     compiler::TNode<Context> tmp1102;
    5322         112 :     compiler::TNode<IntPtrT> tmp1103;
    5323         112 :     compiler::TNode<IntPtrT> tmp1104;
    5324         112 :     compiler::TNode<BoolT> tmp1105;
    5325         112 :     compiler::TNode<IntPtrT> tmp1106;
    5326         112 :     compiler::TNode<IntPtrT> tmp1107;
    5327         112 :     ca_.Bind(&block47, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088, &tmp1089, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096, &tmp1097, &tmp1098, &tmp1099, &tmp1100, &tmp1101, &tmp1102, &tmp1103, &tmp1104, &tmp1105, &tmp1106, &tmp1107);
    5328         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 191);
    5329         112 :     compiler::TNode<IntPtrT> tmp1108;
    5330         112 :     USE(tmp1108);
    5331         112 :     tmp1108 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp1102}, compiler::TNode<IntPtrT>{tmp1097}, compiler::TNode<IntPtrT>{tmp1107}));
    5332         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 192);
    5333         112 :     ca_.Branch(tmp1105, &block48, &block49, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088, tmp1089, tmp1090, tmp1091, tmp1092, tmp1093, tmp1094, tmp1095, tmp1096, tmp1108, tmp1098, tmp1099, tmp1100, tmp1101, tmp1102, tmp1103, tmp1104, tmp1105, tmp1106, tmp1107);
    5334             :   }
    5335             : 
    5336         112 :   if (block48.is_used()) {
    5337         112 :     compiler::TNode<Context> tmp1109;
    5338         112 :     compiler::TNode<JSReceiver> tmp1110;
    5339         112 :     compiler::TNode<String> tmp1111;
    5340         112 :     compiler::TNode<Number> tmp1112;
    5341         112 :     compiler::TNode<Object> tmp1113;
    5342         112 :     compiler::TNode<Object> tmp1114;
    5343         112 :     compiler::TNode<BuiltinPtr> tmp1115;
    5344         112 :     compiler::TNode<Map> tmp1116;
    5345         112 :     compiler::TNode<UintPtrT> tmp1117;
    5346         112 :     compiler::TNode<IntPtrT> tmp1118;
    5347         112 :     compiler::TNode<IntPtrT> tmp1119;
    5348         112 :     compiler::TNode<BuiltinPtr> tmp1120;
    5349         112 :     compiler::TNode<FixedArray> tmp1121;
    5350         112 :     compiler::TNode<IntPtrT> tmp1122;
    5351         112 :     compiler::TNode<IntPtrT> tmp1123;
    5352         112 :     compiler::TNode<BoolT> tmp1124;
    5353         112 :     compiler::TNode<UintPtrT> tmp1125;
    5354         112 :     compiler::TNode<IntPtrT> tmp1126;
    5355         112 :     compiler::TNode<IntPtrT> tmp1127;
    5356         112 :     compiler::TNode<Context> tmp1128;
    5357         112 :     compiler::TNode<IntPtrT> tmp1129;
    5358         112 :     compiler::TNode<IntPtrT> tmp1130;
    5359         112 :     compiler::TNode<BoolT> tmp1131;
    5360         112 :     compiler::TNode<IntPtrT> tmp1132;
    5361         112 :     compiler::TNode<IntPtrT> tmp1133;
    5362         112 :     ca_.Bind(&block48, &tmp1109, &tmp1110, &tmp1111, &tmp1112, &tmp1113, &tmp1114, &tmp1115, &tmp1116, &tmp1117, &tmp1118, &tmp1119, &tmp1120, &tmp1121, &tmp1122, &tmp1123, &tmp1124, &tmp1125, &tmp1126, &tmp1127, &tmp1128, &tmp1129, &tmp1130, &tmp1131, &tmp1132, &tmp1133);
    5363         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 194);
    5364         112 :     compiler::TNode<IntPtrT> tmp1134;
    5365         112 :     USE(tmp1134);
    5366         112 :     tmp1134 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    5367         112 :     compiler::TNode<IntPtrT> tmp1135;
    5368         112 :     USE(tmp1135);
    5369         112 :     tmp1135 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1122}, compiler::TNode<IntPtrT>{tmp1134}));
    5370         112 :     compiler::TNode<Smi> tmp1136;
    5371         112 :     USE(tmp1136);
    5372         112 :     tmp1136 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1132}));
    5373         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 193);
    5374         112 :     compiler::TNode<FixedArray> tmp1137;
    5375         112 :     USE(tmp1137);
    5376         112 :     tmp1137 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1121}, compiler::TNode<IntPtrT>{tmp1122}, compiler::TNode<Smi>{tmp1136}));
    5377         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 192);
    5378         112 :     ca_.Goto(&block49, tmp1109, tmp1110, tmp1111, tmp1112, tmp1113, tmp1114, tmp1115, tmp1116, tmp1117, tmp1118, tmp1119, tmp1120, tmp1137, tmp1135, tmp1123, tmp1124, tmp1125, tmp1126, tmp1127, tmp1128, tmp1129, tmp1130, tmp1131, tmp1132, tmp1133);
    5379             :   }
    5380             : 
    5381         112 :   if (block49.is_used()) {
    5382         112 :     compiler::TNode<Context> tmp1138;
    5383         112 :     compiler::TNode<JSReceiver> tmp1139;
    5384         112 :     compiler::TNode<String> tmp1140;
    5385         112 :     compiler::TNode<Number> tmp1141;
    5386         112 :     compiler::TNode<Object> tmp1142;
    5387         112 :     compiler::TNode<Object> tmp1143;
    5388         112 :     compiler::TNode<BuiltinPtr> tmp1144;
    5389         112 :     compiler::TNode<Map> tmp1145;
    5390         112 :     compiler::TNode<UintPtrT> tmp1146;
    5391         112 :     compiler::TNode<IntPtrT> tmp1147;
    5392         112 :     compiler::TNode<IntPtrT> tmp1148;
    5393         112 :     compiler::TNode<BuiltinPtr> tmp1149;
    5394         112 :     compiler::TNode<FixedArray> tmp1150;
    5395         112 :     compiler::TNode<IntPtrT> tmp1151;
    5396         112 :     compiler::TNode<IntPtrT> tmp1152;
    5397         112 :     compiler::TNode<BoolT> tmp1153;
    5398         112 :     compiler::TNode<UintPtrT> tmp1154;
    5399         112 :     compiler::TNode<IntPtrT> tmp1155;
    5400         112 :     compiler::TNode<IntPtrT> tmp1156;
    5401         112 :     compiler::TNode<Context> tmp1157;
    5402         112 :     compiler::TNode<IntPtrT> tmp1158;
    5403         112 :     compiler::TNode<IntPtrT> tmp1159;
    5404         112 :     compiler::TNode<BoolT> tmp1160;
    5405         112 :     compiler::TNode<IntPtrT> tmp1161;
    5406         112 :     compiler::TNode<IntPtrT> tmp1162;
    5407         112 :     ca_.Bind(&block49, &tmp1138, &tmp1139, &tmp1140, &tmp1141, &tmp1142, &tmp1143, &tmp1144, &tmp1145, &tmp1146, &tmp1147, &tmp1148, &tmp1149, &tmp1150, &tmp1151, &tmp1152, &tmp1153, &tmp1154, &tmp1155, &tmp1156, &tmp1157, &tmp1158, &tmp1159, &tmp1160, &tmp1161, &tmp1162);
    5408         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 180);
    5409         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 317);
    5410         112 :     ca_.Goto(&block42, tmp1138, tmp1139, tmp1140, tmp1141, tmp1142, tmp1143, tmp1144, tmp1145, tmp1146, tmp1147, tmp1148, tmp1149, tmp1150, tmp1151, tmp1152, tmp1153, tmp1154, tmp1155, tmp1156, tmp1157, tmp1158, tmp1159, tmp1160);
    5411             :   }
    5412             : 
    5413         112 :   if (block42.is_used()) {
    5414         112 :     compiler::TNode<Context> tmp1163;
    5415         112 :     compiler::TNode<JSReceiver> tmp1164;
    5416         112 :     compiler::TNode<String> tmp1165;
    5417         112 :     compiler::TNode<Number> tmp1166;
    5418         112 :     compiler::TNode<Object> tmp1167;
    5419         112 :     compiler::TNode<Object> tmp1168;
    5420         112 :     compiler::TNode<BuiltinPtr> tmp1169;
    5421         112 :     compiler::TNode<Map> tmp1170;
    5422         112 :     compiler::TNode<UintPtrT> tmp1171;
    5423         112 :     compiler::TNode<IntPtrT> tmp1172;
    5424         112 :     compiler::TNode<IntPtrT> tmp1173;
    5425         112 :     compiler::TNode<BuiltinPtr> tmp1174;
    5426         112 :     compiler::TNode<FixedArray> tmp1175;
    5427         112 :     compiler::TNode<IntPtrT> tmp1176;
    5428         112 :     compiler::TNode<IntPtrT> tmp1177;
    5429         112 :     compiler::TNode<BoolT> tmp1178;
    5430         112 :     compiler::TNode<UintPtrT> tmp1179;
    5431         112 :     compiler::TNode<IntPtrT> tmp1180;
    5432         112 :     compiler::TNode<IntPtrT> tmp1181;
    5433         112 :     compiler::TNode<Context> tmp1182;
    5434         112 :     compiler::TNode<IntPtrT> tmp1183;
    5435         112 :     compiler::TNode<IntPtrT> tmp1184;
    5436         112 :     compiler::TNode<BoolT> tmp1185;
    5437         112 :     ca_.Bind(&block42, &tmp1163, &tmp1164, &tmp1165, &tmp1166, &tmp1167, &tmp1168, &tmp1169, &tmp1170, &tmp1171, &tmp1172, &tmp1173, &tmp1174, &tmp1175, &tmp1176, &tmp1177, &tmp1178, &tmp1179, &tmp1180, &tmp1181, &tmp1182, &tmp1183, &tmp1184, &tmp1185);
    5438         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    5439         112 :     compiler::TNode<String> tmp1186;
    5440         112 :     USE(tmp1186);
    5441         112 :     tmp1186 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).BufferJoin(compiler::TNode<Context>{tmp1163}, ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp1175}, compiler::TNode<IntPtrT>{tmp1176}, compiler::TNode<IntPtrT>{tmp1177}, compiler::TNode<BoolT>{tmp1178}}, compiler::TNode<String>{tmp1165}));
    5442         112 :     ca_.Goto(&block1, tmp1163, tmp1164, tmp1165, tmp1166, tmp1167, tmp1168, tmp1169, tmp1186);
    5443             :   }
    5444             : 
    5445         112 :   if (block1.is_used()) {
    5446         112 :     compiler::TNode<Context> tmp1187;
    5447         112 :     compiler::TNode<JSReceiver> tmp1188;
    5448         112 :     compiler::TNode<String> tmp1189;
    5449         112 :     compiler::TNode<Number> tmp1190;
    5450         112 :     compiler::TNode<Object> tmp1191;
    5451         112 :     compiler::TNode<Object> tmp1192;
    5452         112 :     compiler::TNode<BuiltinPtr> tmp1193;
    5453         112 :     compiler::TNode<String> tmp1194;
    5454         112 :     ca_.Bind(&block1, &tmp1187, &tmp1188, &tmp1189, &tmp1190, &tmp1191, &tmp1192, &tmp1193, &tmp1194);
    5455         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 259);
    5456         112 :     ca_.Goto(&block50, tmp1187, tmp1188, tmp1189, tmp1190, tmp1191, tmp1192, tmp1193, tmp1194);
    5457             :   }
    5458             : 
    5459         112 :     compiler::TNode<Context> tmp1195;
    5460         112 :     compiler::TNode<JSReceiver> tmp1196;
    5461         112 :     compiler::TNode<String> tmp1197;
    5462         112 :     compiler::TNode<Number> tmp1198;
    5463         112 :     compiler::TNode<Object> tmp1199;
    5464         112 :     compiler::TNode<Object> tmp1200;
    5465         112 :     compiler::TNode<BuiltinPtr> tmp1201;
    5466         112 :     compiler::TNode<String> tmp1202;
    5467         112 :     ca_.Bind(&block50, &tmp1195, &tmp1196, &tmp1197, &tmp1198, &tmp1199, &tmp1200, &tmp1201, &tmp1202);
    5468         224 :   return compiler::TNode<String>{tmp1202};
    5469             : }
    5470             : 
    5471         392 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt32Array, CodeStubAssembler) {
    5472          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5473          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5474          56 :   USE(parameter0);
    5475          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5476          56 :   USE(parameter1);
    5477          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5478          56 :   USE(parameter2);
    5479         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5480          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5481             : 
    5482          56 :   if (block0.is_used()) {
    5483          56 :     compiler::TNode<Context> tmp0;
    5484          56 :     compiler::TNode<JSReceiver> tmp1;
    5485          56 :     compiler::TNode<Number> tmp2;
    5486          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5487          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5488          56 :     compiler::TNode<JSTypedArray> tmp3;
    5489          56 :     USE(tmp3);
    5490          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5491          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5492          56 :     compiler::TNode<RawPtrT> tmp4;
    5493          56 :     USE(tmp4);
    5494          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5495          56 :     compiler::TNode<Smi> tmp5;
    5496          56 :     USE(tmp5);
    5497          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5498          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5499          56 :     compiler::TNode<Object> tmp6;
    5500          56 :     USE(tmp6);
    5501          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt32Array()), CodeStubAssembler::SMI_PARAMETERS));
    5502          56 :     CodeStubAssembler(state_).Return(tmp6);
    5503          56 :   }
    5504          56 : }
    5505             : 
    5506         392 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat32Array, CodeStubAssembler) {
    5507          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5508          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5509          56 :   USE(parameter0);
    5510          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5511          56 :   USE(parameter1);
    5512          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5513          56 :   USE(parameter2);
    5514         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5515          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5516             : 
    5517          56 :   if (block0.is_used()) {
    5518          56 :     compiler::TNode<Context> tmp0;
    5519          56 :     compiler::TNode<JSReceiver> tmp1;
    5520          56 :     compiler::TNode<Number> tmp2;
    5521          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5522          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5523          56 :     compiler::TNode<JSTypedArray> tmp3;
    5524          56 :     USE(tmp3);
    5525          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5526          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5527          56 :     compiler::TNode<RawPtrT> tmp4;
    5528          56 :     USE(tmp4);
    5529          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5530          56 :     compiler::TNode<Smi> tmp5;
    5531          56 :     USE(tmp5);
    5532          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5533          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5534          56 :     compiler::TNode<Object> tmp6;
    5535          56 :     USE(tmp6);
    5536          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat32Array()), CodeStubAssembler::SMI_PARAMETERS));
    5537          56 :     CodeStubAssembler(state_).Return(tmp6);
    5538          56 :   }
    5539          56 : }
    5540             : 
    5541         392 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat64Array, CodeStubAssembler) {
    5542          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5543          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5544          56 :   USE(parameter0);
    5545          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5546          56 :   USE(parameter1);
    5547          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5548          56 :   USE(parameter2);
    5549         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5550          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5551             : 
    5552          56 :   if (block0.is_used()) {
    5553          56 :     compiler::TNode<Context> tmp0;
    5554          56 :     compiler::TNode<JSReceiver> tmp1;
    5555          56 :     compiler::TNode<Number> tmp2;
    5556          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5557          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5558          56 :     compiler::TNode<JSTypedArray> tmp3;
    5559          56 :     USE(tmp3);
    5560          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5561          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5562          56 :     compiler::TNode<RawPtrT> tmp4;
    5563          56 :     USE(tmp4);
    5564          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5565          56 :     compiler::TNode<Smi> tmp5;
    5566          56 :     USE(tmp5);
    5567          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5568          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5569          56 :     compiler::TNode<Object> tmp6;
    5570          56 :     USE(tmp6);
    5571          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat64Array()), CodeStubAssembler::SMI_PARAMETERS));
    5572          56 :     CodeStubAssembler(state_).Return(tmp6);
    5573          56 :   }
    5574          56 : }
    5575             : 
    5576         392 : TF_BUILTIN(LoadJoinTypedElement24ATFixedUint8ClampedArray, CodeStubAssembler) {
    5577          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5578          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5579          56 :   USE(parameter0);
    5580          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5581          56 :   USE(parameter1);
    5582          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5583          56 :   USE(parameter2);
    5584         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5585          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5586             : 
    5587          56 :   if (block0.is_used()) {
    5588          56 :     compiler::TNode<Context> tmp0;
    5589          56 :     compiler::TNode<JSReceiver> tmp1;
    5590          56 :     compiler::TNode<Number> tmp2;
    5591          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5592          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5593          56 :     compiler::TNode<JSTypedArray> tmp3;
    5594          56 :     USE(tmp3);
    5595          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5596          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5597          56 :     compiler::TNode<RawPtrT> tmp4;
    5598          56 :     USE(tmp4);
    5599          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5600          56 :     compiler::TNode<Smi> tmp5;
    5601          56 :     USE(tmp5);
    5602          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5603          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5604          56 :     compiler::TNode<Object> tmp6;
    5605          56 :     USE(tmp6);
    5606          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType24ATFixedUint8ClampedArray()), CodeStubAssembler::SMI_PARAMETERS));
    5607          56 :     CodeStubAssembler(state_).Return(tmp6);
    5608          56 :   }
    5609          56 : }
    5610             : 
    5611         392 : TF_BUILTIN(LoadJoinTypedElement21ATFixedBigUint64Array, CodeStubAssembler) {
    5612          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5613          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5614          56 :   USE(parameter0);
    5615          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5616          56 :   USE(parameter1);
    5617          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5618          56 :   USE(parameter2);
    5619         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5620          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5621             : 
    5622          56 :   if (block0.is_used()) {
    5623          56 :     compiler::TNode<Context> tmp0;
    5624          56 :     compiler::TNode<JSReceiver> tmp1;
    5625          56 :     compiler::TNode<Number> tmp2;
    5626          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5627          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5628          56 :     compiler::TNode<JSTypedArray> tmp3;
    5629          56 :     USE(tmp3);
    5630          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5631          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5632          56 :     compiler::TNode<RawPtrT> tmp4;
    5633          56 :     USE(tmp4);
    5634          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5635          56 :     compiler::TNode<Smi> tmp5;
    5636          56 :     USE(tmp5);
    5637          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5638          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5639          56 :     compiler::TNode<Object> tmp6;
    5640          56 :     USE(tmp6);
    5641          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType21ATFixedBigUint64Array()), CodeStubAssembler::SMI_PARAMETERS));
    5642          56 :     CodeStubAssembler(state_).Return(tmp6);
    5643          56 :   }
    5644          56 : }
    5645             : 
    5646         392 : TF_BUILTIN(LoadJoinTypedElement20ATFixedBigInt64Array, CodeStubAssembler) {
    5647          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5648          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5649          56 :   USE(parameter0);
    5650          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5651          56 :   USE(parameter1);
    5652          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5653          56 :   USE(parameter2);
    5654         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5655          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5656             : 
    5657          56 :   if (block0.is_used()) {
    5658          56 :     compiler::TNode<Context> tmp0;
    5659          56 :     compiler::TNode<JSReceiver> tmp1;
    5660          56 :     compiler::TNode<Number> tmp2;
    5661          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5662          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5663          56 :     compiler::TNode<JSTypedArray> tmp3;
    5664          56 :     USE(tmp3);
    5665          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5666          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5667          56 :     compiler::TNode<RawPtrT> tmp4;
    5668          56 :     USE(tmp4);
    5669          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5670          56 :     compiler::TNode<Smi> tmp5;
    5671          56 :     USE(tmp5);
    5672          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5673          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5674          56 :     compiler::TNode<Object> tmp6;
    5675          56 :     USE(tmp6);
    5676          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType20ATFixedBigInt64Array()), CodeStubAssembler::SMI_PARAMETERS));
    5677          56 :     CodeStubAssembler(state_).Return(tmp6);
    5678          56 :   }
    5679          56 : }
    5680             : 
    5681         392 : TF_BUILTIN(LoadJoinTypedElement17ATFixedUint8Array, CodeStubAssembler) {
    5682          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5683          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5684          56 :   USE(parameter0);
    5685          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5686          56 :   USE(parameter1);
    5687          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5688          56 :   USE(parameter2);
    5689         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5690          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5691             : 
    5692          56 :   if (block0.is_used()) {
    5693          56 :     compiler::TNode<Context> tmp0;
    5694          56 :     compiler::TNode<JSReceiver> tmp1;
    5695          56 :     compiler::TNode<Number> tmp2;
    5696          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5697          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5698          56 :     compiler::TNode<JSTypedArray> tmp3;
    5699          56 :     USE(tmp3);
    5700          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5701          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5702          56 :     compiler::TNode<RawPtrT> tmp4;
    5703          56 :     USE(tmp4);
    5704          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5705          56 :     compiler::TNode<Smi> tmp5;
    5706          56 :     USE(tmp5);
    5707          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5708          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5709          56 :     compiler::TNode<Object> tmp6;
    5710          56 :     USE(tmp6);
    5711          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedUint8Array()), CodeStubAssembler::SMI_PARAMETERS));
    5712          56 :     CodeStubAssembler(state_).Return(tmp6);
    5713          56 :   }
    5714          56 : }
    5715             : 
    5716         392 : TF_BUILTIN(LoadJoinTypedElement16ATFixedInt8Array, CodeStubAssembler) {
    5717          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5718          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5719          56 :   USE(parameter0);
    5720          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5721          56 :   USE(parameter1);
    5722          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5723          56 :   USE(parameter2);
    5724         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5725          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5726             : 
    5727          56 :   if (block0.is_used()) {
    5728          56 :     compiler::TNode<Context> tmp0;
    5729          56 :     compiler::TNode<JSReceiver> tmp1;
    5730          56 :     compiler::TNode<Number> tmp2;
    5731          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5732          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5733          56 :     compiler::TNode<JSTypedArray> tmp3;
    5734          56 :     USE(tmp3);
    5735          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5736          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5737          56 :     compiler::TNode<RawPtrT> tmp4;
    5738          56 :     USE(tmp4);
    5739          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5740          56 :     compiler::TNode<Smi> tmp5;
    5741          56 :     USE(tmp5);
    5742          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5743          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5744          56 :     compiler::TNode<Object> tmp6;
    5745          56 :     USE(tmp6);
    5746          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType16ATFixedInt8Array()), CodeStubAssembler::SMI_PARAMETERS));
    5747          56 :     CodeStubAssembler(state_).Return(tmp6);
    5748          56 :   }
    5749          56 : }
    5750             : 
    5751         392 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint16Array, CodeStubAssembler) {
    5752          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5753          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5754          56 :   USE(parameter0);
    5755          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5756          56 :   USE(parameter1);
    5757          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5758          56 :   USE(parameter2);
    5759         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5760          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5761             : 
    5762          56 :   if (block0.is_used()) {
    5763          56 :     compiler::TNode<Context> tmp0;
    5764          56 :     compiler::TNode<JSReceiver> tmp1;
    5765          56 :     compiler::TNode<Number> tmp2;
    5766          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5767          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5768          56 :     compiler::TNode<JSTypedArray> tmp3;
    5769          56 :     USE(tmp3);
    5770          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5771          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5772          56 :     compiler::TNode<RawPtrT> tmp4;
    5773          56 :     USE(tmp4);
    5774          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5775          56 :     compiler::TNode<Smi> tmp5;
    5776          56 :     USE(tmp5);
    5777          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5778          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5779          56 :     compiler::TNode<Object> tmp6;
    5780          56 :     USE(tmp6);
    5781          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint16Array()), CodeStubAssembler::SMI_PARAMETERS));
    5782          56 :     CodeStubAssembler(state_).Return(tmp6);
    5783          56 :   }
    5784          56 : }
    5785             : 
    5786         392 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt16Array, CodeStubAssembler) {
    5787          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5788          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5789          56 :   USE(parameter0);
    5790          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5791          56 :   USE(parameter1);
    5792          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5793          56 :   USE(parameter2);
    5794         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5795          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5796             : 
    5797          56 :   if (block0.is_used()) {
    5798          56 :     compiler::TNode<Context> tmp0;
    5799          56 :     compiler::TNode<JSReceiver> tmp1;
    5800          56 :     compiler::TNode<Number> tmp2;
    5801          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5802          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5803          56 :     compiler::TNode<JSTypedArray> tmp3;
    5804          56 :     USE(tmp3);
    5805          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5806          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5807          56 :     compiler::TNode<RawPtrT> tmp4;
    5808          56 :     USE(tmp4);
    5809          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5810          56 :     compiler::TNode<Smi> tmp5;
    5811          56 :     USE(tmp5);
    5812          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5813          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5814          56 :     compiler::TNode<Object> tmp6;
    5815          56 :     USE(tmp6);
    5816          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt16Array()), CodeStubAssembler::SMI_PARAMETERS));
    5817          56 :     CodeStubAssembler(state_).Return(tmp6);
    5818          56 :   }
    5819          56 : }
    5820             : 
    5821         392 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint32Array, CodeStubAssembler) {
    5822          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5823          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5824          56 :   USE(parameter0);
    5825          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5826          56 :   USE(parameter1);
    5827          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5828          56 :   USE(parameter2);
    5829         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5830          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5831             : 
    5832          56 :   if (block0.is_used()) {
    5833          56 :     compiler::TNode<Context> tmp0;
    5834          56 :     compiler::TNode<JSReceiver> tmp1;
    5835          56 :     compiler::TNode<Number> tmp2;
    5836          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5837          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5838          56 :     compiler::TNode<JSTypedArray> tmp3;
    5839          56 :     USE(tmp3);
    5840          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5841          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5842          56 :     compiler::TNode<RawPtrT> tmp4;
    5843          56 :     USE(tmp4);
    5844          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5845          56 :     compiler::TNode<Smi> tmp5;
    5846          56 :     USE(tmp5);
    5847          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5848          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5849          56 :     compiler::TNode<Object> tmp6;
    5850          56 :     USE(tmp6);
    5851          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint32Array()), CodeStubAssembler::SMI_PARAMETERS));
    5852          56 :     CodeStubAssembler(state_).Return(tmp6);
    5853          56 :   }
    5854          56 : }
    5855             : 
    5856         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) {
    5857         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&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, String, UintPtrT, String> block3(&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, String, UintPtrT, String> block4(&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, String, UintPtrT, String> block6(&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, String, UintPtrT, String, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5862         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, String, UintPtrT, String> block2(&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> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5864         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block7(&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, BuiltinPtr, JSReceiver, Map, Number> block12(&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, BuiltinPtr, JSReceiver, Map, Number> block13(&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> block10(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5868         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block11(&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> block14(&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> block15(&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, Object, String> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5872         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block19(&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, Object, String> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5874         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block17(&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, Object, String, Object, Object> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5876         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> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5877         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5878         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5879         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);
    5880         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5881         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> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5882         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5883         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5884         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5885         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5886         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5887         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5888         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> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5889         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> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5890         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> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5891         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> block38(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5892         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> block39(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5893         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> block40(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5894         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> block41(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5895         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> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5896         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> block33(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5897         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5898         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> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5899         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> block43(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5900         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> block44(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5901         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> block46(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5902         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> block47(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5903         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> block48(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5904         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> block49(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5905         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> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5906         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5907         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block50(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5908         112 :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
    5909             : 
    5910         112 :   if (block0.is_used()) {
    5911         112 :     compiler::TNode<Context> tmp0;
    5912         112 :     compiler::TNode<JSReceiver> tmp1;
    5913         112 :     compiler::TNode<String> tmp2;
    5914         112 :     compiler::TNode<Number> tmp3;
    5915         112 :     compiler::TNode<Object> tmp4;
    5916         112 :     compiler::TNode<Object> tmp5;
    5917         112 :     compiler::TNode<BuiltinPtr> tmp6;
    5918         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
    5919         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 263);
    5920         112 :     compiler::TNode<Map> tmp7;
    5921         112 :     USE(tmp7);
    5922         112 :     tmp7 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp1}));
    5923         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 264);
    5924         112 :     compiler::TNode<UintPtrT> tmp8;
    5925         112 :     USE(tmp8);
    5926         112 :     tmp8 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr22UT12ATHeapNumber5ATSmi(compiler::TNode<Number>{tmp3}));
    5927         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 265);
    5928         112 :     compiler::TNode<IntPtrT> tmp9;
    5929         112 :     USE(tmp9);
    5930         112 :     tmp9 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
    5931         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
    5932         112 :     compiler::TNode<IntPtrT> tmp10;
    5933         112 :     USE(tmp10);
    5934         112 :     tmp10 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5935         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
    5936         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
    5937         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
    5938         112 :     compiler::TNode<UintPtrT> tmp11;
    5939         112 :     USE(tmp11);
    5940         112 :     tmp11 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
    5941         112 :     compiler::TNode<BoolT> tmp12;
    5942         112 :     USE(tmp12);
    5943         112 :     tmp12 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp8}, compiler::TNode<UintPtrT>{tmp11}));
    5944         112 :     ca_.Branch(tmp12, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp6, ca_.Uninitialized<FixedArray>(), ca_.Uninitialized<IntPtrT>(), ca_.Uninitialized<IntPtrT>(), ca_.Uninitialized<BoolT>(), tmp8, tmp2, tmp8, tmp2);
    5945             :   }
    5946             : 
    5947         112 :   if (block3.is_used()) {
    5948         112 :     compiler::TNode<Context> tmp13;
    5949         112 :     compiler::TNode<JSReceiver> tmp14;
    5950         112 :     compiler::TNode<String> tmp15;
    5951         112 :     compiler::TNode<Number> tmp16;
    5952         112 :     compiler::TNode<Object> tmp17;
    5953         112 :     compiler::TNode<Object> tmp18;
    5954         112 :     compiler::TNode<BuiltinPtr> tmp19;
    5955         112 :     compiler::TNode<Map> tmp20;
    5956         112 :     compiler::TNode<UintPtrT> tmp21;
    5957         112 :     compiler::TNode<IntPtrT> tmp22;
    5958         112 :     compiler::TNode<IntPtrT> tmp23;
    5959         112 :     compiler::TNode<BuiltinPtr> tmp24;
    5960         112 :     compiler::TNode<FixedArray> tmp25;
    5961         112 :     compiler::TNode<IntPtrT> tmp26;
    5962         112 :     compiler::TNode<IntPtrT> tmp27;
    5963         112 :     compiler::TNode<BoolT> tmp28;
    5964         112 :     compiler::TNode<UintPtrT> tmp29;
    5965         112 :     compiler::TNode<String> tmp30;
    5966         112 :     compiler::TNode<UintPtrT> tmp31;
    5967         112 :     compiler::TNode<String> tmp32;
    5968         112 :     ca_.Bind(&block3, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32);
    5969         112 :     ca_.Goto(&block6, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32);
    5970             :   }
    5971             : 
    5972         112 :   if (block4.is_used()) {
    5973         112 :     compiler::TNode<Context> tmp33;
    5974         112 :     compiler::TNode<JSReceiver> tmp34;
    5975         112 :     compiler::TNode<String> tmp35;
    5976         112 :     compiler::TNode<Number> tmp36;
    5977         112 :     compiler::TNode<Object> tmp37;
    5978         112 :     compiler::TNode<Object> tmp38;
    5979         112 :     compiler::TNode<BuiltinPtr> tmp39;
    5980         112 :     compiler::TNode<Map> tmp40;
    5981         112 :     compiler::TNode<UintPtrT> tmp41;
    5982         112 :     compiler::TNode<IntPtrT> tmp42;
    5983         112 :     compiler::TNode<IntPtrT> tmp43;
    5984         112 :     compiler::TNode<BuiltinPtr> tmp44;
    5985         112 :     compiler::TNode<FixedArray> tmp45;
    5986         112 :     compiler::TNode<IntPtrT> tmp46;
    5987         112 :     compiler::TNode<IntPtrT> tmp47;
    5988         112 :     compiler::TNode<BoolT> tmp48;
    5989         112 :     compiler::TNode<UintPtrT> tmp49;
    5990         112 :     compiler::TNode<String> tmp50;
    5991         112 :     compiler::TNode<UintPtrT> tmp51;
    5992         112 :     compiler::TNode<String> tmp52;
    5993         112 :     ca_.Bind(&block4, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
    5994         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
    5995         112 :     compiler::TNode<IntPtrT> tmp53;
    5996         112 :     USE(tmp53);
    5997         112 :     tmp53 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp51}));
    5998         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
    5999         112 :     ca_.Goto(&block5, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53);
    6000             :   }
    6001             : 
    6002         112 :   if (block6.is_used()) {
    6003         112 :     compiler::TNode<Context> tmp54;
    6004         112 :     compiler::TNode<JSReceiver> tmp55;
    6005         112 :     compiler::TNode<String> tmp56;
    6006         112 :     compiler::TNode<Number> tmp57;
    6007         112 :     compiler::TNode<Object> tmp58;
    6008         112 :     compiler::TNode<Object> tmp59;
    6009         112 :     compiler::TNode<BuiltinPtr> tmp60;
    6010         112 :     compiler::TNode<Map> tmp61;
    6011         112 :     compiler::TNode<UintPtrT> tmp62;
    6012         112 :     compiler::TNode<IntPtrT> tmp63;
    6013         112 :     compiler::TNode<IntPtrT> tmp64;
    6014         112 :     compiler::TNode<BuiltinPtr> tmp65;
    6015         112 :     compiler::TNode<FixedArray> tmp66;
    6016         112 :     compiler::TNode<IntPtrT> tmp67;
    6017         112 :     compiler::TNode<IntPtrT> tmp68;
    6018         112 :     compiler::TNode<BoolT> tmp69;
    6019         112 :     compiler::TNode<UintPtrT> tmp70;
    6020         112 :     compiler::TNode<String> tmp71;
    6021         112 :     compiler::TNode<UintPtrT> tmp72;
    6022         112 :     compiler::TNode<String> tmp73;
    6023         112 :     ca_.Bind(&block6, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73);
    6024         112 :     compiler::TNode<IntPtrT> tmp74;
    6025         112 :     USE(tmp74);
    6026         112 :     tmp74 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
    6027         112 :     ca_.Goto(&block5, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74);
    6028             :   }
    6029             : 
    6030         112 :   if (block5.is_used()) {
    6031         112 :     compiler::TNode<Context> tmp75;
    6032         112 :     compiler::TNode<JSReceiver> tmp76;
    6033         112 :     compiler::TNode<String> tmp77;
    6034         112 :     compiler::TNode<Number> tmp78;
    6035         112 :     compiler::TNode<Object> tmp79;
    6036         112 :     compiler::TNode<Object> tmp80;
    6037         112 :     compiler::TNode<BuiltinPtr> tmp81;
    6038         112 :     compiler::TNode<Map> tmp82;
    6039         112 :     compiler::TNode<UintPtrT> tmp83;
    6040         112 :     compiler::TNode<IntPtrT> tmp84;
    6041         112 :     compiler::TNode<IntPtrT> tmp85;
    6042         112 :     compiler::TNode<BuiltinPtr> tmp86;
    6043         112 :     compiler::TNode<FixedArray> tmp87;
    6044         112 :     compiler::TNode<IntPtrT> tmp88;
    6045         112 :     compiler::TNode<IntPtrT> tmp89;
    6046         112 :     compiler::TNode<BoolT> tmp90;
    6047         112 :     compiler::TNode<UintPtrT> tmp91;
    6048         112 :     compiler::TNode<String> tmp92;
    6049         112 :     compiler::TNode<UintPtrT> tmp93;
    6050         112 :     compiler::TNode<String> tmp94;
    6051         112 :     compiler::TNode<IntPtrT> tmp95;
    6052         112 :     ca_.Bind(&block5, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95);
    6053         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 160);
    6054         112 :     compiler::TNode<FixedArray> tmp96;
    6055         112 :     USE(tmp96);
    6056         112 :     tmp96 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateZeroedFixedArray(compiler::TNode<IntPtrT>{tmp95}));
    6057         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
    6058         112 :     compiler::TNode<Int32T> tmp97;
    6059         112 :     USE(tmp97);
    6060         112 :     tmp97 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp94}));
    6061         112 :     compiler::TNode<BoolT> tmp98;
    6062         112 :     USE(tmp98);
    6063         112 :     tmp98 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).HasOnlyOneByteChars(compiler::TNode<Int32T>{tmp97}));
    6064         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
    6065         112 :     compiler::TNode<IntPtrT> tmp99;
    6066         112 :     USE(tmp99);
    6067         112 :     tmp99 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6068         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
    6069         112 :     compiler::TNode<IntPtrT> tmp100;
    6070         112 :     USE(tmp100);
    6071         112 :     tmp100 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6072         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 155);
    6073         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
    6074         112 :     ca_.Goto(&block2, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp96, tmp99, tmp100, tmp98, tmp91, tmp92, tmp93, tmp94);
    6075             :   }
    6076             : 
    6077         112 :   if (block2.is_used()) {
    6078         112 :     compiler::TNode<Context> tmp101;
    6079         112 :     compiler::TNode<JSReceiver> tmp102;
    6080         112 :     compiler::TNode<String> tmp103;
    6081         112 :     compiler::TNode<Number> tmp104;
    6082         112 :     compiler::TNode<Object> tmp105;
    6083         112 :     compiler::TNode<Object> tmp106;
    6084         112 :     compiler::TNode<BuiltinPtr> tmp107;
    6085         112 :     compiler::TNode<Map> tmp108;
    6086         112 :     compiler::TNode<UintPtrT> tmp109;
    6087         112 :     compiler::TNode<IntPtrT> tmp110;
    6088         112 :     compiler::TNode<IntPtrT> tmp111;
    6089         112 :     compiler::TNode<BuiltinPtr> tmp112;
    6090         112 :     compiler::TNode<FixedArray> tmp113;
    6091         112 :     compiler::TNode<IntPtrT> tmp114;
    6092         112 :     compiler::TNode<IntPtrT> tmp115;
    6093         112 :     compiler::TNode<BoolT> tmp116;
    6094         112 :     compiler::TNode<UintPtrT> tmp117;
    6095         112 :     compiler::TNode<String> tmp118;
    6096         112 :     compiler::TNode<UintPtrT> tmp119;
    6097         112 :     compiler::TNode<String> tmp120;
    6098         112 :     ca_.Bind(&block2, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120);
    6099         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
    6100         112 :     compiler::TNode<UintPtrT> tmp121;
    6101         112 :     USE(tmp121);
    6102         112 :     tmp121 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    6103         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
    6104         112 :     ca_.Goto(&block9, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp121);
    6105             :   }
    6106             : 
    6107         112 :   if (block9.is_used()) {
    6108         112 :     compiler::TNode<Context> tmp122;
    6109         112 :     compiler::TNode<JSReceiver> tmp123;
    6110         112 :     compiler::TNode<String> tmp124;
    6111         112 :     compiler::TNode<Number> tmp125;
    6112         112 :     compiler::TNode<Object> tmp126;
    6113         112 :     compiler::TNode<Object> tmp127;
    6114         112 :     compiler::TNode<BuiltinPtr> tmp128;
    6115         112 :     compiler::TNode<Map> tmp129;
    6116         112 :     compiler::TNode<UintPtrT> tmp130;
    6117         112 :     compiler::TNode<IntPtrT> tmp131;
    6118         112 :     compiler::TNode<IntPtrT> tmp132;
    6119         112 :     compiler::TNode<BuiltinPtr> tmp133;
    6120         112 :     compiler::TNode<FixedArray> tmp134;
    6121         112 :     compiler::TNode<IntPtrT> tmp135;
    6122         112 :     compiler::TNode<IntPtrT> tmp136;
    6123         112 :     compiler::TNode<BoolT> tmp137;
    6124         112 :     compiler::TNode<UintPtrT> tmp138;
    6125         112 :     ca_.Bind(&block9, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    6126         112 :     compiler::TNode<BoolT> tmp139;
    6127         112 :     USE(tmp139);
    6128         112 :     tmp139 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp138}, compiler::TNode<UintPtrT>{tmp130}));
    6129         112 :     ca_.Branch(tmp139, &block7, &block8, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138);
    6130             :   }
    6131             : 
    6132         112 :   if (block7.is_used()) {
    6133         112 :     compiler::TNode<Context> tmp140;
    6134         112 :     compiler::TNode<JSReceiver> tmp141;
    6135         112 :     compiler::TNode<String> tmp142;
    6136         112 :     compiler::TNode<Number> tmp143;
    6137         112 :     compiler::TNode<Object> tmp144;
    6138         112 :     compiler::TNode<Object> tmp145;
    6139         112 :     compiler::TNode<BuiltinPtr> tmp146;
    6140         112 :     compiler::TNode<Map> tmp147;
    6141         112 :     compiler::TNode<UintPtrT> tmp148;
    6142         112 :     compiler::TNode<IntPtrT> tmp149;
    6143         112 :     compiler::TNode<IntPtrT> tmp150;
    6144         112 :     compiler::TNode<BuiltinPtr> tmp151;
    6145         112 :     compiler::TNode<FixedArray> tmp152;
    6146         112 :     compiler::TNode<IntPtrT> tmp153;
    6147         112 :     compiler::TNode<IntPtrT> tmp154;
    6148         112 :     compiler::TNode<BoolT> tmp155;
    6149         112 :     compiler::TNode<UintPtrT> tmp156;
    6150         112 :     ca_.Bind(&block7, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156);
    6151         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 276);
    6152         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 275);
    6153         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    6154         224 :     compiler::CodeAssemblerLabel label1(&ca_);
    6155         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).CannotUseSameArrayAccessor12JSTypedArray(compiler::TNode<Context>{tmp140}, compiler::TNode<BuiltinPtr>{tmp151}, compiler::TNode<JSReceiver>{tmp141}, compiler::TNode<Map>{tmp147}, compiler::TNode<Number>{tmp143}, &label0, &label1);
    6156         112 :     if (label0.is_used()) {
    6157         112 :       ca_.Bind(&label0);
    6158         112 :       ca_.Goto(&block12, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp151, tmp141, tmp147, tmp143);
    6159             :     }
    6160         112 :     if (label1.is_used()) {
    6161         112 :       ca_.Bind(&label1);
    6162         112 :       ca_.Goto(&block13, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp151, tmp141, tmp147, tmp143);
    6163         112 :     }
    6164             :   }
    6165             : 
    6166         112 :   if (block12.is_used()) {
    6167         112 :     compiler::TNode<Context> tmp157;
    6168         112 :     compiler::TNode<JSReceiver> tmp158;
    6169         112 :     compiler::TNode<String> tmp159;
    6170         112 :     compiler::TNode<Number> tmp160;
    6171         112 :     compiler::TNode<Object> tmp161;
    6172         112 :     compiler::TNode<Object> tmp162;
    6173         112 :     compiler::TNode<BuiltinPtr> tmp163;
    6174         112 :     compiler::TNode<Map> tmp164;
    6175         112 :     compiler::TNode<UintPtrT> tmp165;
    6176         112 :     compiler::TNode<IntPtrT> tmp166;
    6177         112 :     compiler::TNode<IntPtrT> tmp167;
    6178         112 :     compiler::TNode<BuiltinPtr> tmp168;
    6179         112 :     compiler::TNode<FixedArray> tmp169;
    6180         112 :     compiler::TNode<IntPtrT> tmp170;
    6181         112 :     compiler::TNode<IntPtrT> tmp171;
    6182         112 :     compiler::TNode<BoolT> tmp172;
    6183         112 :     compiler::TNode<UintPtrT> tmp173;
    6184         112 :     compiler::TNode<BuiltinPtr> tmp174;
    6185         112 :     compiler::TNode<JSReceiver> tmp175;
    6186         112 :     compiler::TNode<Map> tmp176;
    6187         112 :     compiler::TNode<Number> tmp177;
    6188         112 :     ca_.Bind(&block12, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177);
    6189         112 :     ca_.Goto(&block10, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173);
    6190             :   }
    6191             : 
    6192         112 :   if (block13.is_used()) {
    6193         112 :     compiler::TNode<Context> tmp178;
    6194         112 :     compiler::TNode<JSReceiver> tmp179;
    6195         112 :     compiler::TNode<String> tmp180;
    6196         112 :     compiler::TNode<Number> tmp181;
    6197         112 :     compiler::TNode<Object> tmp182;
    6198         112 :     compiler::TNode<Object> tmp183;
    6199         112 :     compiler::TNode<BuiltinPtr> tmp184;
    6200         112 :     compiler::TNode<Map> tmp185;
    6201         112 :     compiler::TNode<UintPtrT> tmp186;
    6202         112 :     compiler::TNode<IntPtrT> tmp187;
    6203         112 :     compiler::TNode<IntPtrT> tmp188;
    6204         112 :     compiler::TNode<BuiltinPtr> tmp189;
    6205         112 :     compiler::TNode<FixedArray> tmp190;
    6206         112 :     compiler::TNode<IntPtrT> tmp191;
    6207         112 :     compiler::TNode<IntPtrT> tmp192;
    6208         112 :     compiler::TNode<BoolT> tmp193;
    6209         112 :     compiler::TNode<UintPtrT> tmp194;
    6210         112 :     compiler::TNode<BuiltinPtr> tmp195;
    6211         112 :     compiler::TNode<JSReceiver> tmp196;
    6212         112 :     compiler::TNode<Map> tmp197;
    6213         112 :     compiler::TNode<Number> tmp198;
    6214         112 :     ca_.Bind(&block13, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198);
    6215         112 :     ca_.Goto(&block11, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194);
    6216             :   }
    6217             : 
    6218         112 :   if (block10.is_used()) {
    6219         112 :     compiler::TNode<Context> tmp199;
    6220         112 :     compiler::TNode<JSReceiver> tmp200;
    6221         112 :     compiler::TNode<String> tmp201;
    6222         112 :     compiler::TNode<Number> tmp202;
    6223         112 :     compiler::TNode<Object> tmp203;
    6224         112 :     compiler::TNode<Object> tmp204;
    6225         112 :     compiler::TNode<BuiltinPtr> tmp205;
    6226         112 :     compiler::TNode<Map> tmp206;
    6227         112 :     compiler::TNode<UintPtrT> tmp207;
    6228         112 :     compiler::TNode<IntPtrT> tmp208;
    6229         112 :     compiler::TNode<IntPtrT> tmp209;
    6230         112 :     compiler::TNode<BuiltinPtr> tmp210;
    6231         112 :     compiler::TNode<FixedArray> tmp211;
    6232         112 :     compiler::TNode<IntPtrT> tmp212;
    6233         112 :     compiler::TNode<IntPtrT> tmp213;
    6234         112 :     compiler::TNode<BoolT> tmp214;
    6235         112 :     compiler::TNode<UintPtrT> tmp215;
    6236         112 :     ca_.Bind(&block10, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215);
    6237         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    6238         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 275);
    6239         112 :     ca_.Goto(&block11, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)), tmp211, tmp212, tmp213, tmp214, tmp215);
    6240             :   }
    6241             : 
    6242         112 :   if (block11.is_used()) {
    6243         112 :     compiler::TNode<Context> tmp216;
    6244         112 :     compiler::TNode<JSReceiver> tmp217;
    6245         112 :     compiler::TNode<String> tmp218;
    6246         112 :     compiler::TNode<Number> tmp219;
    6247         112 :     compiler::TNode<Object> tmp220;
    6248         112 :     compiler::TNode<Object> tmp221;
    6249         112 :     compiler::TNode<BuiltinPtr> tmp222;
    6250         112 :     compiler::TNode<Map> tmp223;
    6251         112 :     compiler::TNode<UintPtrT> tmp224;
    6252         112 :     compiler::TNode<IntPtrT> tmp225;
    6253         112 :     compiler::TNode<IntPtrT> tmp226;
    6254         112 :     compiler::TNode<BuiltinPtr> tmp227;
    6255         112 :     compiler::TNode<FixedArray> tmp228;
    6256         112 :     compiler::TNode<IntPtrT> tmp229;
    6257         112 :     compiler::TNode<IntPtrT> tmp230;
    6258         112 :     compiler::TNode<BoolT> tmp231;
    6259         112 :     compiler::TNode<UintPtrT> tmp232;
    6260         112 :     ca_.Bind(&block11, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232);
    6261         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
    6262         112 :     compiler::TNode<UintPtrT> tmp233;
    6263         112 :     USE(tmp233);
    6264         112 :     tmp233 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    6265         112 :     compiler::TNode<BoolT> tmp234;
    6266         112 :     USE(tmp234);
    6267         112 :     tmp234 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp232}, compiler::TNode<UintPtrT>{tmp233}));
    6268         112 :     ca_.Branch(tmp234, &block14, &block15, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, tmp232);
    6269             :   }
    6270             : 
    6271         112 :   if (block14.is_used()) {
    6272         112 :     compiler::TNode<Context> tmp235;
    6273         112 :     compiler::TNode<JSReceiver> tmp236;
    6274         112 :     compiler::TNode<String> tmp237;
    6275         112 :     compiler::TNode<Number> tmp238;
    6276         112 :     compiler::TNode<Object> tmp239;
    6277         112 :     compiler::TNode<Object> tmp240;
    6278         112 :     compiler::TNode<BuiltinPtr> tmp241;
    6279         112 :     compiler::TNode<Map> tmp242;
    6280         112 :     compiler::TNode<UintPtrT> tmp243;
    6281         112 :     compiler::TNode<IntPtrT> tmp244;
    6282         112 :     compiler::TNode<IntPtrT> tmp245;
    6283         112 :     compiler::TNode<BuiltinPtr> tmp246;
    6284         112 :     compiler::TNode<FixedArray> tmp247;
    6285         112 :     compiler::TNode<IntPtrT> tmp248;
    6286         112 :     compiler::TNode<IntPtrT> tmp249;
    6287         112 :     compiler::TNode<BoolT> tmp250;
    6288         112 :     compiler::TNode<UintPtrT> tmp251;
    6289         112 :     ca_.Bind(&block14, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251);
    6290         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 283);
    6291         112 :     compiler::TNode<IntPtrT> tmp252;
    6292         112 :     USE(tmp252);
    6293         112 :     tmp252 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    6294         112 :     compiler::TNode<IntPtrT> tmp253;
    6295         112 :     USE(tmp253);
    6296         112 :     tmp253 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp245}, compiler::TNode<IntPtrT>{tmp252}));
    6297         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
    6298         112 :     ca_.Goto(&block15, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp253, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251);
    6299             :   }
    6300             : 
    6301         112 :   if (block15.is_used()) {
    6302         112 :     compiler::TNode<Context> tmp254;
    6303         112 :     compiler::TNode<JSReceiver> tmp255;
    6304         112 :     compiler::TNode<String> tmp256;
    6305         112 :     compiler::TNode<Number> tmp257;
    6306         112 :     compiler::TNode<Object> tmp258;
    6307         112 :     compiler::TNode<Object> tmp259;
    6308         112 :     compiler::TNode<BuiltinPtr> tmp260;
    6309         112 :     compiler::TNode<Map> tmp261;
    6310         112 :     compiler::TNode<UintPtrT> tmp262;
    6311         112 :     compiler::TNode<IntPtrT> tmp263;
    6312         112 :     compiler::TNode<IntPtrT> tmp264;
    6313         112 :     compiler::TNode<BuiltinPtr> tmp265;
    6314         112 :     compiler::TNode<FixedArray> tmp266;
    6315         112 :     compiler::TNode<IntPtrT> tmp267;
    6316         112 :     compiler::TNode<IntPtrT> tmp268;
    6317         112 :     compiler::TNode<BoolT> tmp269;
    6318         112 :     compiler::TNode<UintPtrT> tmp270;
    6319         112 :     ca_.Bind(&block15, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270);
    6320         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 287);
    6321         112 :     compiler::TNode<UintPtrT> tmp271;
    6322         112 :     USE(tmp271);
    6323         112 :     tmp271 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
    6324         112 :     compiler::TNode<UintPtrT> tmp272;
    6325         112 :     USE(tmp272);
    6326         112 :     tmp272 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp270}, compiler::TNode<UintPtrT>{tmp271}));
    6327         112 :     compiler::TNode<Number> tmp273;
    6328         112 :     USE(tmp273);
    6329         112 :     tmp273 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert22UT12ATHeapNumber5ATSmi9ATuintptr(compiler::TNode<UintPtrT>{tmp270}));
    6330         112 :     compiler::TNode<Object> tmp274 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp265, tmp254, tmp255, tmp273); 
    6331         112 :     USE(tmp274);
    6332         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 291);
    6333         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 292);
    6334         112 :     if ((p_useToLocaleString)) {
    6335          56 :       ca_.Goto(&block16, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp272, tmp274, ca_.Uninitialized<String>());
    6336             :     } else {
    6337          56 :       ca_.Goto(&block17, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp272, tmp274, ca_.Uninitialized<String>());
    6338             :     }
    6339             :   }
    6340             : 
    6341         112 :   if (block16.is_used()) {
    6342          56 :     compiler::TNode<Context> tmp275;
    6343          56 :     compiler::TNode<JSReceiver> tmp276;
    6344          56 :     compiler::TNode<String> tmp277;
    6345          56 :     compiler::TNode<Number> tmp278;
    6346          56 :     compiler::TNode<Object> tmp279;
    6347          56 :     compiler::TNode<Object> tmp280;
    6348          56 :     compiler::TNode<BuiltinPtr> tmp281;
    6349          56 :     compiler::TNode<Map> tmp282;
    6350          56 :     compiler::TNode<UintPtrT> tmp283;
    6351          56 :     compiler::TNode<IntPtrT> tmp284;
    6352          56 :     compiler::TNode<IntPtrT> tmp285;
    6353          56 :     compiler::TNode<BuiltinPtr> tmp286;
    6354          56 :     compiler::TNode<FixedArray> tmp287;
    6355          56 :     compiler::TNode<IntPtrT> tmp288;
    6356          56 :     compiler::TNode<IntPtrT> tmp289;
    6357          56 :     compiler::TNode<BoolT> tmp290;
    6358          56 :     compiler::TNode<UintPtrT> tmp291;
    6359          56 :     compiler::TNode<Object> tmp292;
    6360          56 :     compiler::TNode<String> tmp293;
    6361          56 :     ca_.Bind(&block16, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292, &tmp293);
    6362          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 293);
    6363          56 :     compiler::TNode<String> tmp294;
    6364          56 :     tmp294 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp275, tmp292, tmp279, tmp280));
    6365          56 :     USE(tmp294);
    6366          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
    6367          56 :     compiler::TNode<String> tmp295;
    6368          56 :     USE(tmp295);
    6369          56 :     tmp295 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    6370          56 :     compiler::TNode<BoolT> tmp296;
    6371          56 :     USE(tmp296);
    6372          56 :     tmp296 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp294}, compiler::TNode<HeapObject>{tmp295}));
    6373          56 :     ca_.Branch(tmp296, &block19, &block20, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, tmp292, tmp294);
    6374             :   }
    6375             : 
    6376         112 :   if (block19.is_used()) {
    6377          56 :     compiler::TNode<Context> tmp297;
    6378          56 :     compiler::TNode<JSReceiver> tmp298;
    6379          56 :     compiler::TNode<String> tmp299;
    6380          56 :     compiler::TNode<Number> tmp300;
    6381          56 :     compiler::TNode<Object> tmp301;
    6382          56 :     compiler::TNode<Object> tmp302;
    6383          56 :     compiler::TNode<BuiltinPtr> tmp303;
    6384          56 :     compiler::TNode<Map> tmp304;
    6385          56 :     compiler::TNode<UintPtrT> tmp305;
    6386          56 :     compiler::TNode<IntPtrT> tmp306;
    6387          56 :     compiler::TNode<IntPtrT> tmp307;
    6388          56 :     compiler::TNode<BuiltinPtr> tmp308;
    6389          56 :     compiler::TNode<FixedArray> tmp309;
    6390          56 :     compiler::TNode<IntPtrT> tmp310;
    6391          56 :     compiler::TNode<IntPtrT> tmp311;
    6392          56 :     compiler::TNode<BoolT> tmp312;
    6393          56 :     compiler::TNode<UintPtrT> tmp313;
    6394          56 :     compiler::TNode<Object> tmp314;
    6395          56 :     compiler::TNode<String> tmp315;
    6396          56 :     ca_.Bind(&block19, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315);
    6397          56 :     ca_.Goto(&block9, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311, tmp312, tmp313);
    6398             :   }
    6399             : 
    6400         112 :   if (block20.is_used()) {
    6401          56 :     compiler::TNode<Context> tmp316;
    6402          56 :     compiler::TNode<JSReceiver> tmp317;
    6403          56 :     compiler::TNode<String> tmp318;
    6404          56 :     compiler::TNode<Number> tmp319;
    6405          56 :     compiler::TNode<Object> tmp320;
    6406          56 :     compiler::TNode<Object> tmp321;
    6407          56 :     compiler::TNode<BuiltinPtr> tmp322;
    6408          56 :     compiler::TNode<Map> tmp323;
    6409          56 :     compiler::TNode<UintPtrT> tmp324;
    6410          56 :     compiler::TNode<IntPtrT> tmp325;
    6411          56 :     compiler::TNode<IntPtrT> tmp326;
    6412          56 :     compiler::TNode<BuiltinPtr> tmp327;
    6413          56 :     compiler::TNode<FixedArray> tmp328;
    6414          56 :     compiler::TNode<IntPtrT> tmp329;
    6415          56 :     compiler::TNode<IntPtrT> tmp330;
    6416          56 :     compiler::TNode<BoolT> tmp331;
    6417          56 :     compiler::TNode<UintPtrT> tmp332;
    6418          56 :     compiler::TNode<Object> tmp333;
    6419          56 :     compiler::TNode<String> tmp334;
    6420          56 :     ca_.Bind(&block20, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334);
    6421          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 292);
    6422          56 :     ca_.Goto(&block18, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334);
    6423             :   }
    6424             : 
    6425         112 :   if (block17.is_used()) {
    6426          56 :     compiler::TNode<Context> tmp335;
    6427          56 :     compiler::TNode<JSReceiver> tmp336;
    6428          56 :     compiler::TNode<String> tmp337;
    6429          56 :     compiler::TNode<Number> tmp338;
    6430          56 :     compiler::TNode<Object> tmp339;
    6431          56 :     compiler::TNode<Object> tmp340;
    6432          56 :     compiler::TNode<BuiltinPtr> tmp341;
    6433          56 :     compiler::TNode<Map> tmp342;
    6434          56 :     compiler::TNode<UintPtrT> tmp343;
    6435          56 :     compiler::TNode<IntPtrT> tmp344;
    6436          56 :     compiler::TNode<IntPtrT> tmp345;
    6437          56 :     compiler::TNode<BuiltinPtr> tmp346;
    6438          56 :     compiler::TNode<FixedArray> tmp347;
    6439          56 :     compiler::TNode<IntPtrT> tmp348;
    6440          56 :     compiler::TNode<IntPtrT> tmp349;
    6441          56 :     compiler::TNode<BoolT> tmp350;
    6442          56 :     compiler::TNode<UintPtrT> tmp351;
    6443          56 :     compiler::TNode<Object> tmp352;
    6444          56 :     compiler::TNode<String> tmp353;
    6445          56 :     ca_.Bind(&block17, &tmp335, &tmp336, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353);
    6446          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
    6447          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
    6448          56 :     compiler::TNode<String> tmp354;
    6449          56 :     USE(tmp354);
    6450          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    6451          56 :     tmp354 = BaseBuiltinsFromDSLAssembler(state_).Cast8ATString(compiler::TNode<Context>{tmp335}, compiler::TNode<Object>{tmp352}, &label0);
    6452          56 :     ca_.Goto(&block23, tmp335, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp352, tmp352, tmp354);
    6453          56 :     if (label0.is_used()) {
    6454          56 :       ca_.Bind(&label0);
    6455          56 :       ca_.Goto(&block24, tmp335, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp352, tmp352);
    6456          56 :     }
    6457             :   }
    6458             : 
    6459         112 :   if (block24.is_used()) {
    6460          56 :     compiler::TNode<Context> tmp355;
    6461          56 :     compiler::TNode<JSReceiver> tmp356;
    6462          56 :     compiler::TNode<String> tmp357;
    6463          56 :     compiler::TNode<Number> tmp358;
    6464          56 :     compiler::TNode<Object> tmp359;
    6465          56 :     compiler::TNode<Object> tmp360;
    6466          56 :     compiler::TNode<BuiltinPtr> tmp361;
    6467          56 :     compiler::TNode<Map> tmp362;
    6468          56 :     compiler::TNode<UintPtrT> tmp363;
    6469          56 :     compiler::TNode<IntPtrT> tmp364;
    6470          56 :     compiler::TNode<IntPtrT> tmp365;
    6471          56 :     compiler::TNode<BuiltinPtr> tmp366;
    6472          56 :     compiler::TNode<FixedArray> tmp367;
    6473          56 :     compiler::TNode<IntPtrT> tmp368;
    6474          56 :     compiler::TNode<IntPtrT> tmp369;
    6475          56 :     compiler::TNode<BoolT> tmp370;
    6476          56 :     compiler::TNode<UintPtrT> tmp371;
    6477          56 :     compiler::TNode<Object> tmp372;
    6478          56 :     compiler::TNode<String> tmp373;
    6479          56 :     compiler::TNode<Object> tmp374;
    6480          56 :     compiler::TNode<Object> tmp375;
    6481          56 :     ca_.Bind(&block24, &tmp355, &tmp356, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375);
    6482          56 :     ca_.Goto(&block22, tmp355, tmp356, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374);
    6483             :   }
    6484             : 
    6485         112 :   if (block23.is_used()) {
    6486          56 :     compiler::TNode<Context> tmp376;
    6487          56 :     compiler::TNode<JSReceiver> tmp377;
    6488          56 :     compiler::TNode<String> tmp378;
    6489          56 :     compiler::TNode<Number> tmp379;
    6490          56 :     compiler::TNode<Object> tmp380;
    6491          56 :     compiler::TNode<Object> tmp381;
    6492          56 :     compiler::TNode<BuiltinPtr> tmp382;
    6493          56 :     compiler::TNode<Map> tmp383;
    6494          56 :     compiler::TNode<UintPtrT> tmp384;
    6495          56 :     compiler::TNode<IntPtrT> tmp385;
    6496          56 :     compiler::TNode<IntPtrT> tmp386;
    6497          56 :     compiler::TNode<BuiltinPtr> tmp387;
    6498          56 :     compiler::TNode<FixedArray> tmp388;
    6499          56 :     compiler::TNode<IntPtrT> tmp389;
    6500          56 :     compiler::TNode<IntPtrT> tmp390;
    6501          56 :     compiler::TNode<BoolT> tmp391;
    6502          56 :     compiler::TNode<UintPtrT> tmp392;
    6503          56 :     compiler::TNode<Object> tmp393;
    6504          56 :     compiler::TNode<String> tmp394;
    6505          56 :     compiler::TNode<Object> tmp395;
    6506          56 :     compiler::TNode<Object> tmp396;
    6507          56 :     compiler::TNode<String> tmp397;
    6508          56 :     ca_.Bind(&block23, &tmp376, &tmp377, &tmp378, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397);
    6509          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 298);
    6510          56 :     compiler::TNode<String> tmp398;
    6511          56 :     USE(tmp398);
    6512          56 :     tmp398 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    6513          56 :     compiler::TNode<BoolT> tmp399;
    6514          56 :     USE(tmp399);
    6515          56 :     tmp399 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp397}, compiler::TNode<HeapObject>{tmp398}));
    6516          56 :     ca_.Branch(tmp399, &block25, &block26, tmp376, tmp377, tmp378, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp397);
    6517             :   }
    6518             : 
    6519         112 :   if (block25.is_used()) {
    6520          56 :     compiler::TNode<Context> tmp400;
    6521          56 :     compiler::TNode<JSReceiver> tmp401;
    6522          56 :     compiler::TNode<String> tmp402;
    6523          56 :     compiler::TNode<Number> tmp403;
    6524          56 :     compiler::TNode<Object> tmp404;
    6525          56 :     compiler::TNode<Object> tmp405;
    6526          56 :     compiler::TNode<BuiltinPtr> tmp406;
    6527          56 :     compiler::TNode<Map> tmp407;
    6528          56 :     compiler::TNode<UintPtrT> tmp408;
    6529          56 :     compiler::TNode<IntPtrT> tmp409;
    6530          56 :     compiler::TNode<IntPtrT> tmp410;
    6531          56 :     compiler::TNode<BuiltinPtr> tmp411;
    6532          56 :     compiler::TNode<FixedArray> tmp412;
    6533          56 :     compiler::TNode<IntPtrT> tmp413;
    6534          56 :     compiler::TNode<IntPtrT> tmp414;
    6535          56 :     compiler::TNode<BoolT> tmp415;
    6536          56 :     compiler::TNode<UintPtrT> tmp416;
    6537          56 :     compiler::TNode<Object> tmp417;
    6538          56 :     compiler::TNode<String> tmp418;
    6539          56 :     compiler::TNode<Object> tmp419;
    6540          56 :     compiler::TNode<String> tmp420;
    6541          56 :     ca_.Bind(&block25, &tmp400, &tmp401, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420);
    6542          56 :     ca_.Goto(&block9, tmp400, tmp401, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416);
    6543             :   }
    6544             : 
    6545         112 :   if (block26.is_used()) {
    6546          56 :     compiler::TNode<Context> tmp421;
    6547          56 :     compiler::TNode<JSReceiver> tmp422;
    6548          56 :     compiler::TNode<String> tmp423;
    6549          56 :     compiler::TNode<Number> tmp424;
    6550          56 :     compiler::TNode<Object> tmp425;
    6551          56 :     compiler::TNode<Object> tmp426;
    6552          56 :     compiler::TNode<BuiltinPtr> tmp427;
    6553          56 :     compiler::TNode<Map> tmp428;
    6554          56 :     compiler::TNode<UintPtrT> tmp429;
    6555          56 :     compiler::TNode<IntPtrT> tmp430;
    6556          56 :     compiler::TNode<IntPtrT> tmp431;
    6557          56 :     compiler::TNode<BuiltinPtr> tmp432;
    6558          56 :     compiler::TNode<FixedArray> tmp433;
    6559          56 :     compiler::TNode<IntPtrT> tmp434;
    6560          56 :     compiler::TNode<IntPtrT> tmp435;
    6561          56 :     compiler::TNode<BoolT> tmp436;
    6562          56 :     compiler::TNode<UintPtrT> tmp437;
    6563          56 :     compiler::TNode<Object> tmp438;
    6564          56 :     compiler::TNode<String> tmp439;
    6565          56 :     compiler::TNode<Object> tmp440;
    6566          56 :     compiler::TNode<String> tmp441;
    6567          56 :     ca_.Bind(&block26, &tmp421, &tmp422, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441);
    6568          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    6569          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
    6570          56 :     ca_.Goto(&block21, tmp421, tmp422, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp441, tmp440);
    6571             :   }
    6572             : 
    6573         112 :   if (block22.is_used()) {
    6574          56 :     compiler::TNode<Context> tmp442;
    6575          56 :     compiler::TNode<JSReceiver> tmp443;
    6576          56 :     compiler::TNode<String> tmp444;
    6577          56 :     compiler::TNode<Number> tmp445;
    6578          56 :     compiler::TNode<Object> tmp446;
    6579          56 :     compiler::TNode<Object> tmp447;
    6580          56 :     compiler::TNode<BuiltinPtr> tmp448;
    6581          56 :     compiler::TNode<Map> tmp449;
    6582          56 :     compiler::TNode<UintPtrT> tmp450;
    6583          56 :     compiler::TNode<IntPtrT> tmp451;
    6584          56 :     compiler::TNode<IntPtrT> tmp452;
    6585          56 :     compiler::TNode<BuiltinPtr> tmp453;
    6586          56 :     compiler::TNode<FixedArray> tmp454;
    6587          56 :     compiler::TNode<IntPtrT> tmp455;
    6588          56 :     compiler::TNode<IntPtrT> tmp456;
    6589          56 :     compiler::TNode<BoolT> tmp457;
    6590          56 :     compiler::TNode<UintPtrT> tmp458;
    6591          56 :     compiler::TNode<Object> tmp459;
    6592          56 :     compiler::TNode<String> tmp460;
    6593          56 :     compiler::TNode<Object> tmp461;
    6594          56 :     ca_.Bind(&block22, &tmp442, &tmp443, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461);
    6595          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
    6596          56 :     compiler::TNode<Number> tmp462;
    6597          56 :     USE(tmp462);
    6598          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    6599          56 :     tmp462 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp461)}, &label0);
    6600          56 :     ca_.Goto(&block29, tmp442, tmp443, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, ca_.UncheckedCast<Object>(tmp461), tmp462);
    6601          56 :     if (label0.is_used()) {
    6602          56 :       ca_.Bind(&label0);
    6603          56 :       ca_.Goto(&block30, tmp442, tmp443, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, ca_.UncheckedCast<Object>(tmp461));
    6604          56 :     }
    6605             :   }
    6606             : 
    6607         112 :   if (block30.is_used()) {
    6608          56 :     compiler::TNode<Context> tmp463;
    6609          56 :     compiler::TNode<JSReceiver> tmp464;
    6610          56 :     compiler::TNode<String> tmp465;
    6611          56 :     compiler::TNode<Number> tmp466;
    6612          56 :     compiler::TNode<Object> tmp467;
    6613          56 :     compiler::TNode<Object> tmp468;
    6614          56 :     compiler::TNode<BuiltinPtr> tmp469;
    6615          56 :     compiler::TNode<Map> tmp470;
    6616          56 :     compiler::TNode<UintPtrT> tmp471;
    6617          56 :     compiler::TNode<IntPtrT> tmp472;
    6618          56 :     compiler::TNode<IntPtrT> tmp473;
    6619          56 :     compiler::TNode<BuiltinPtr> tmp474;
    6620          56 :     compiler::TNode<FixedArray> tmp475;
    6621          56 :     compiler::TNode<IntPtrT> tmp476;
    6622          56 :     compiler::TNode<IntPtrT> tmp477;
    6623          56 :     compiler::TNode<BoolT> tmp478;
    6624          56 :     compiler::TNode<UintPtrT> tmp479;
    6625          56 :     compiler::TNode<Object> tmp480;
    6626          56 :     compiler::TNode<String> tmp481;
    6627          56 :     compiler::TNode<Object> tmp482;
    6628          56 :     compiler::TNode<Object> tmp483;
    6629          56 :     ca_.Bind(&block30, &tmp463, &tmp464, &tmp465, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483);
    6630          56 :     ca_.Goto(&block28, tmp463, tmp464, tmp465, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482);
    6631             :   }
    6632             : 
    6633         112 :   if (block29.is_used()) {
    6634          56 :     compiler::TNode<Context> tmp484;
    6635          56 :     compiler::TNode<JSReceiver> tmp485;
    6636          56 :     compiler::TNode<String> tmp486;
    6637          56 :     compiler::TNode<Number> tmp487;
    6638          56 :     compiler::TNode<Object> tmp488;
    6639          56 :     compiler::TNode<Object> tmp489;
    6640          56 :     compiler::TNode<BuiltinPtr> tmp490;
    6641          56 :     compiler::TNode<Map> tmp491;
    6642          56 :     compiler::TNode<UintPtrT> tmp492;
    6643          56 :     compiler::TNode<IntPtrT> tmp493;
    6644          56 :     compiler::TNode<IntPtrT> tmp494;
    6645          56 :     compiler::TNode<BuiltinPtr> tmp495;
    6646          56 :     compiler::TNode<FixedArray> tmp496;
    6647          56 :     compiler::TNode<IntPtrT> tmp497;
    6648          56 :     compiler::TNode<IntPtrT> tmp498;
    6649          56 :     compiler::TNode<BoolT> tmp499;
    6650          56 :     compiler::TNode<UintPtrT> tmp500;
    6651          56 :     compiler::TNode<Object> tmp501;
    6652          56 :     compiler::TNode<String> tmp502;
    6653          56 :     compiler::TNode<Object> tmp503;
    6654          56 :     compiler::TNode<Object> tmp504;
    6655          56 :     compiler::TNode<Number> tmp505;
    6656          56 :     ca_.Bind(&block29, &tmp484, &tmp485, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504, &tmp505);
    6657          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
    6658          56 :     compiler::TNode<String> tmp506;
    6659          56 :     USE(tmp506);
    6660          56 :     tmp506 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp505}));
    6661          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
    6662          56 :     ca_.Goto(&block27, tmp484, tmp485, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp506, tmp503);
    6663             :   }
    6664             : 
    6665         112 :   if (block28.is_used()) {
    6666          56 :     compiler::TNode<Context> tmp507;
    6667          56 :     compiler::TNode<JSReceiver> tmp508;
    6668          56 :     compiler::TNode<String> tmp509;
    6669          56 :     compiler::TNode<Number> tmp510;
    6670          56 :     compiler::TNode<Object> tmp511;
    6671          56 :     compiler::TNode<Object> tmp512;
    6672          56 :     compiler::TNode<BuiltinPtr> tmp513;
    6673          56 :     compiler::TNode<Map> tmp514;
    6674          56 :     compiler::TNode<UintPtrT> tmp515;
    6675          56 :     compiler::TNode<IntPtrT> tmp516;
    6676          56 :     compiler::TNode<IntPtrT> tmp517;
    6677          56 :     compiler::TNode<BuiltinPtr> tmp518;
    6678          56 :     compiler::TNode<FixedArray> tmp519;
    6679          56 :     compiler::TNode<IntPtrT> tmp520;
    6680          56 :     compiler::TNode<IntPtrT> tmp521;
    6681          56 :     compiler::TNode<BoolT> tmp522;
    6682          56 :     compiler::TNode<UintPtrT> tmp523;
    6683          56 :     compiler::TNode<Object> tmp524;
    6684          56 :     compiler::TNode<String> tmp525;
    6685          56 :     compiler::TNode<Object> tmp526;
    6686          56 :     ca_.Bind(&block28, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523, &tmp524, &tmp525, &tmp526);
    6687          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    6688          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
    6689          56 :     compiler::TNode<BoolT> tmp527;
    6690          56 :     USE(tmp527);
    6691          56 :     tmp527 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp526)}));
    6692          56 :     ca_.Branch(tmp527, &block31, &block32, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp522, tmp523, tmp524, tmp525, tmp526, ca_.UncheckedCast<HeapObject>(tmp526));
    6693             :   }
    6694             : 
    6695         112 :   if (block31.is_used()) {
    6696          56 :     compiler::TNode<Context> tmp528;
    6697          56 :     compiler::TNode<JSReceiver> tmp529;
    6698          56 :     compiler::TNode<String> tmp530;
    6699          56 :     compiler::TNode<Number> tmp531;
    6700          56 :     compiler::TNode<Object> tmp532;
    6701          56 :     compiler::TNode<Object> tmp533;
    6702          56 :     compiler::TNode<BuiltinPtr> tmp534;
    6703          56 :     compiler::TNode<Map> tmp535;
    6704          56 :     compiler::TNode<UintPtrT> tmp536;
    6705          56 :     compiler::TNode<IntPtrT> tmp537;
    6706          56 :     compiler::TNode<IntPtrT> tmp538;
    6707          56 :     compiler::TNode<BuiltinPtr> tmp539;
    6708          56 :     compiler::TNode<FixedArray> tmp540;
    6709          56 :     compiler::TNode<IntPtrT> tmp541;
    6710          56 :     compiler::TNode<IntPtrT> tmp542;
    6711          56 :     compiler::TNode<BoolT> tmp543;
    6712          56 :     compiler::TNode<UintPtrT> tmp544;
    6713          56 :     compiler::TNode<Object> tmp545;
    6714          56 :     compiler::TNode<String> tmp546;
    6715          56 :     compiler::TNode<Object> tmp547;
    6716          56 :     compiler::TNode<HeapObject> tmp548;
    6717          56 :     ca_.Bind(&block31, &tmp528, &tmp529, &tmp530, &tmp531, &tmp532, &tmp533, &tmp534, &tmp535, &tmp536, &tmp537, &tmp538, &tmp539, &tmp540, &tmp541, &tmp542, &tmp543, &tmp544, &tmp545, &tmp546, &tmp547, &tmp548);
    6718          56 :     ca_.Goto(&block9, tmp528, tmp529, tmp530, tmp531, tmp532, tmp533, tmp534, tmp535, tmp536, tmp537, tmp538, tmp539, tmp540, tmp541, tmp542, tmp543, tmp544);
    6719             :   }
    6720             : 
    6721         112 :   if (block32.is_used()) {
    6722          56 :     compiler::TNode<Context> tmp549;
    6723          56 :     compiler::TNode<JSReceiver> tmp550;
    6724          56 :     compiler::TNode<String> tmp551;
    6725          56 :     compiler::TNode<Number> tmp552;
    6726          56 :     compiler::TNode<Object> tmp553;
    6727          56 :     compiler::TNode<Object> tmp554;
    6728          56 :     compiler::TNode<BuiltinPtr> tmp555;
    6729          56 :     compiler::TNode<Map> tmp556;
    6730          56 :     compiler::TNode<UintPtrT> tmp557;
    6731          56 :     compiler::TNode<IntPtrT> tmp558;
    6732          56 :     compiler::TNode<IntPtrT> tmp559;
    6733          56 :     compiler::TNode<BuiltinPtr> tmp560;
    6734          56 :     compiler::TNode<FixedArray> tmp561;
    6735          56 :     compiler::TNode<IntPtrT> tmp562;
    6736          56 :     compiler::TNode<IntPtrT> tmp563;
    6737          56 :     compiler::TNode<BoolT> tmp564;
    6738          56 :     compiler::TNode<UintPtrT> tmp565;
    6739          56 :     compiler::TNode<Object> tmp566;
    6740          56 :     compiler::TNode<String> tmp567;
    6741          56 :     compiler::TNode<Object> tmp568;
    6742          56 :     compiler::TNode<HeapObject> tmp569;
    6743          56 :     ca_.Bind(&block32, &tmp549, &tmp550, &tmp551, &tmp552, &tmp553, &tmp554, &tmp555, &tmp556, &tmp557, &tmp558, &tmp559, &tmp560, &tmp561, &tmp562, &tmp563, &tmp564, &tmp565, &tmp566, &tmp567, &tmp568, &tmp569);
    6744          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 306);
    6745          56 :     compiler::TNode<String> tmp570;
    6746          56 :     tmp570 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp549, tmp569));
    6747          56 :     USE(tmp570);
    6748          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
    6749          56 :     ca_.Goto(&block27, tmp549, tmp550, tmp551, tmp552, tmp553, tmp554, tmp555, tmp556, tmp557, tmp558, tmp559, tmp560, tmp561, tmp562, tmp563, tmp564, tmp565, tmp566, tmp570, tmp568);
    6750             :   }
    6751             : 
    6752         112 :   if (block27.is_used()) {
    6753          56 :     compiler::TNode<Context> tmp571;
    6754          56 :     compiler::TNode<JSReceiver> tmp572;
    6755          56 :     compiler::TNode<String> tmp573;
    6756          56 :     compiler::TNode<Number> tmp574;
    6757          56 :     compiler::TNode<Object> tmp575;
    6758          56 :     compiler::TNode<Object> tmp576;
    6759          56 :     compiler::TNode<BuiltinPtr> tmp577;
    6760          56 :     compiler::TNode<Map> tmp578;
    6761          56 :     compiler::TNode<UintPtrT> tmp579;
    6762          56 :     compiler::TNode<IntPtrT> tmp580;
    6763          56 :     compiler::TNode<IntPtrT> tmp581;
    6764          56 :     compiler::TNode<BuiltinPtr> tmp582;
    6765          56 :     compiler::TNode<FixedArray> tmp583;
    6766          56 :     compiler::TNode<IntPtrT> tmp584;
    6767          56 :     compiler::TNode<IntPtrT> tmp585;
    6768          56 :     compiler::TNode<BoolT> tmp586;
    6769          56 :     compiler::TNode<UintPtrT> tmp587;
    6770          56 :     compiler::TNode<Object> tmp588;
    6771          56 :     compiler::TNode<String> tmp589;
    6772          56 :     compiler::TNode<Object> tmp590;
    6773          56 :     ca_.Bind(&block27, &tmp571, &tmp572, &tmp573, &tmp574, &tmp575, &tmp576, &tmp577, &tmp578, &tmp579, &tmp580, &tmp581, &tmp582, &tmp583, &tmp584, &tmp585, &tmp586, &tmp587, &tmp588, &tmp589, &tmp590);
    6774          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
    6775          56 :     ca_.Goto(&block21, tmp571, tmp572, tmp573, tmp574, tmp575, tmp576, tmp577, tmp578, tmp579, tmp580, tmp581, tmp582, tmp583, tmp584, tmp585, tmp586, tmp587, tmp588, tmp589, tmp590);
    6776             :   }
    6777             : 
    6778         112 :   if (block21.is_used()) {
    6779          56 :     compiler::TNode<Context> tmp591;
    6780          56 :     compiler::TNode<JSReceiver> tmp592;
    6781          56 :     compiler::TNode<String> tmp593;
    6782          56 :     compiler::TNode<Number> tmp594;
    6783          56 :     compiler::TNode<Object> tmp595;
    6784          56 :     compiler::TNode<Object> tmp596;
    6785          56 :     compiler::TNode<BuiltinPtr> tmp597;
    6786          56 :     compiler::TNode<Map> tmp598;
    6787          56 :     compiler::TNode<UintPtrT> tmp599;
    6788          56 :     compiler::TNode<IntPtrT> tmp600;
    6789          56 :     compiler::TNode<IntPtrT> tmp601;
    6790          56 :     compiler::TNode<BuiltinPtr> tmp602;
    6791          56 :     compiler::TNode<FixedArray> tmp603;
    6792          56 :     compiler::TNode<IntPtrT> tmp604;
    6793          56 :     compiler::TNode<IntPtrT> tmp605;
    6794          56 :     compiler::TNode<BoolT> tmp606;
    6795          56 :     compiler::TNode<UintPtrT> tmp607;
    6796          56 :     compiler::TNode<Object> tmp608;
    6797          56 :     compiler::TNode<String> tmp609;
    6798          56 :     compiler::TNode<Object> tmp610;
    6799          56 :     ca_.Bind(&block21, &tmp591, &tmp592, &tmp593, &tmp594, &tmp595, &tmp596, &tmp597, &tmp598, &tmp599, &tmp600, &tmp601, &tmp602, &tmp603, &tmp604, &tmp605, &tmp606, &tmp607, &tmp608, &tmp609, &tmp610);
    6800          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
    6801          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 292);
    6802          56 :     ca_.Goto(&block18, tmp591, tmp592, tmp593, tmp594, tmp595, tmp596, tmp597, tmp598, tmp599, tmp600, tmp601, tmp602, tmp603, tmp604, tmp605, tmp606, tmp607, tmp608, tmp609);
    6803             :   }
    6804             : 
    6805         112 :   if (block18.is_used()) {
    6806         112 :     compiler::TNode<Context> tmp611;
    6807         112 :     compiler::TNode<JSReceiver> tmp612;
    6808         112 :     compiler::TNode<String> tmp613;
    6809         112 :     compiler::TNode<Number> tmp614;
    6810         112 :     compiler::TNode<Object> tmp615;
    6811         112 :     compiler::TNode<Object> tmp616;
    6812         112 :     compiler::TNode<BuiltinPtr> tmp617;
    6813         112 :     compiler::TNode<Map> tmp618;
    6814         112 :     compiler::TNode<UintPtrT> tmp619;
    6815         112 :     compiler::TNode<IntPtrT> tmp620;
    6816         112 :     compiler::TNode<IntPtrT> tmp621;
    6817         112 :     compiler::TNode<BuiltinPtr> tmp622;
    6818         112 :     compiler::TNode<FixedArray> tmp623;
    6819         112 :     compiler::TNode<IntPtrT> tmp624;
    6820         112 :     compiler::TNode<IntPtrT> tmp625;
    6821         112 :     compiler::TNode<BoolT> tmp626;
    6822         112 :     compiler::TNode<UintPtrT> tmp627;
    6823         112 :     compiler::TNode<Object> tmp628;
    6824         112 :     compiler::TNode<String> tmp629;
    6825         112 :     ca_.Bind(&block18, &tmp611, &tmp612, &tmp613, &tmp614, &tmp615, &tmp616, &tmp617, &tmp618, &tmp619, &tmp620, &tmp621, &tmp622, &tmp623, &tmp624, &tmp625, &tmp626, &tmp627, &tmp628, &tmp629);
    6826         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 312);
    6827         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 169);
    6828         112 :     compiler::TNode<IntPtrT> tmp630;
    6829         112 :     USE(tmp630);
    6830         112 :     tmp630 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6831         112 :     compiler::TNode<BoolT> tmp631;
    6832         112 :     USE(tmp631);
    6833         112 :     tmp631 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp624}, compiler::TNode<IntPtrT>{tmp630}));
    6834         112 :     compiler::TNode<IntPtrT> tmp632;
    6835         112 :     USE(tmp632);
    6836         112 :     tmp632 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    6837         112 :     compiler::TNode<BoolT> tmp633;
    6838         112 :     USE(tmp633);
    6839         112 :     tmp633 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp621}, compiler::TNode<IntPtrT>{tmp632}));
    6840         112 :     compiler::TNode<BoolT> tmp634;
    6841         112 :     USE(tmp634);
    6842         112 :     tmp634 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp631}, compiler::TNode<BoolT>{tmp633}));
    6843         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    6844         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    6845         112 :     compiler::TNode<IntPtrT> tmp635;
    6846         112 :     USE(tmp635);
    6847         112 :     tmp635 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6848         112 :     compiler::TNode<BoolT> tmp636;
    6849         112 :     USE(tmp636);
    6850         112 :     tmp636 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp621}, compiler::TNode<IntPtrT>{tmp635}));
    6851         112 :     ca_.Branch(tmp636, &block35, &block37, tmp611, tmp612, tmp613, tmp614, tmp615, tmp616, tmp617, tmp618, tmp619, tmp620, tmp621, tmp622, tmp623, tmp624, tmp625, tmp626, tmp627, tmp628, tmp629, tmp629, tmp621, tmp620, tmp611, tmp629, tmp621, tmp620, tmp634, tmp621, tmp620, tmp634, tmp611, tmp621, tmp620, tmp634);
    6852             :   }
    6853             : 
    6854         112 :   if (block37.is_used()) {
    6855         112 :     compiler::TNode<Context> tmp637;
    6856         112 :     compiler::TNode<JSReceiver> tmp638;
    6857         112 :     compiler::TNode<String> tmp639;
    6858         112 :     compiler::TNode<Number> tmp640;
    6859         112 :     compiler::TNode<Object> tmp641;
    6860         112 :     compiler::TNode<Object> tmp642;
    6861         112 :     compiler::TNode<BuiltinPtr> tmp643;
    6862         112 :     compiler::TNode<Map> tmp644;
    6863         112 :     compiler::TNode<UintPtrT> tmp645;
    6864         112 :     compiler::TNode<IntPtrT> tmp646;
    6865         112 :     compiler::TNode<IntPtrT> tmp647;
    6866         112 :     compiler::TNode<BuiltinPtr> tmp648;
    6867         112 :     compiler::TNode<FixedArray> tmp649;
    6868         112 :     compiler::TNode<IntPtrT> tmp650;
    6869         112 :     compiler::TNode<IntPtrT> tmp651;
    6870         112 :     compiler::TNode<BoolT> tmp652;
    6871         112 :     compiler::TNode<UintPtrT> tmp653;
    6872         112 :     compiler::TNode<Object> tmp654;
    6873         112 :     compiler::TNode<String> tmp655;
    6874         112 :     compiler::TNode<String> tmp656;
    6875         112 :     compiler::TNode<IntPtrT> tmp657;
    6876         112 :     compiler::TNode<IntPtrT> tmp658;
    6877         112 :     compiler::TNode<Context> tmp659;
    6878         112 :     compiler::TNode<String> tmp660;
    6879         112 :     compiler::TNode<IntPtrT> tmp661;
    6880         112 :     compiler::TNode<IntPtrT> tmp662;
    6881         112 :     compiler::TNode<BoolT> tmp663;
    6882         112 :     compiler::TNode<IntPtrT> tmp664;
    6883         112 :     compiler::TNode<IntPtrT> tmp665;
    6884         112 :     compiler::TNode<BoolT> tmp666;
    6885         112 :     compiler::TNode<Context> tmp667;
    6886         112 :     compiler::TNode<IntPtrT> tmp668;
    6887         112 :     compiler::TNode<IntPtrT> tmp669;
    6888         112 :     compiler::TNode<BoolT> tmp670;
    6889         112 :     ca_.Bind(&block37, &tmp637, &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);
    6890         112 :     compiler::TNode<IntPtrT> tmp671;
    6891         112 :     USE(tmp671);
    6892         112 :     tmp671 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6893         112 :     compiler::TNode<BoolT> tmp672;
    6894         112 :     USE(tmp672);
    6895         112 :     tmp672 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp669}, compiler::TNode<IntPtrT>{tmp671}));
    6896         112 :     ca_.Branch(tmp672, &block35, &block36, tmp637, 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);
    6897             :   }
    6898             : 
    6899         112 :   if (block35.is_used()) {
    6900         112 :     compiler::TNode<Context> tmp673;
    6901         112 :     compiler::TNode<JSReceiver> tmp674;
    6902         112 :     compiler::TNode<String> tmp675;
    6903         112 :     compiler::TNode<Number> tmp676;
    6904         112 :     compiler::TNode<Object> tmp677;
    6905         112 :     compiler::TNode<Object> tmp678;
    6906         112 :     compiler::TNode<BuiltinPtr> tmp679;
    6907         112 :     compiler::TNode<Map> tmp680;
    6908         112 :     compiler::TNode<UintPtrT> tmp681;
    6909         112 :     compiler::TNode<IntPtrT> tmp682;
    6910         112 :     compiler::TNode<IntPtrT> tmp683;
    6911         112 :     compiler::TNode<BuiltinPtr> tmp684;
    6912         112 :     compiler::TNode<FixedArray> tmp685;
    6913         112 :     compiler::TNode<IntPtrT> tmp686;
    6914         112 :     compiler::TNode<IntPtrT> tmp687;
    6915         112 :     compiler::TNode<BoolT> tmp688;
    6916         112 :     compiler::TNode<UintPtrT> tmp689;
    6917         112 :     compiler::TNode<Object> tmp690;
    6918         112 :     compiler::TNode<String> tmp691;
    6919         112 :     compiler::TNode<String> tmp692;
    6920         112 :     compiler::TNode<IntPtrT> tmp693;
    6921         112 :     compiler::TNode<IntPtrT> tmp694;
    6922         112 :     compiler::TNode<Context> tmp695;
    6923         112 :     compiler::TNode<String> tmp696;
    6924         112 :     compiler::TNode<IntPtrT> tmp697;
    6925         112 :     compiler::TNode<IntPtrT> tmp698;
    6926         112 :     compiler::TNode<BoolT> tmp699;
    6927         112 :     compiler::TNode<IntPtrT> tmp700;
    6928         112 :     compiler::TNode<IntPtrT> tmp701;
    6929         112 :     compiler::TNode<BoolT> tmp702;
    6930         112 :     compiler::TNode<Context> tmp703;
    6931         112 :     compiler::TNode<IntPtrT> tmp704;
    6932         112 :     compiler::TNode<IntPtrT> tmp705;
    6933         112 :     compiler::TNode<BoolT> tmp706;
    6934         112 :     ca_.Bind(&block35, &tmp673, &tmp674, &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);
    6935         112 :     ca_.Goto(&block34, tmp673, tmp674, 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);
    6936             :   }
    6937             : 
    6938         112 :   if (block36.is_used()) {
    6939         112 :     compiler::TNode<Context> tmp707;
    6940         112 :     compiler::TNode<JSReceiver> tmp708;
    6941         112 :     compiler::TNode<String> tmp709;
    6942         112 :     compiler::TNode<Number> tmp710;
    6943         112 :     compiler::TNode<Object> tmp711;
    6944         112 :     compiler::TNode<Object> tmp712;
    6945         112 :     compiler::TNode<BuiltinPtr> tmp713;
    6946         112 :     compiler::TNode<Map> tmp714;
    6947         112 :     compiler::TNode<UintPtrT> tmp715;
    6948         112 :     compiler::TNode<IntPtrT> tmp716;
    6949         112 :     compiler::TNode<IntPtrT> tmp717;
    6950         112 :     compiler::TNode<BuiltinPtr> tmp718;
    6951         112 :     compiler::TNode<FixedArray> tmp719;
    6952         112 :     compiler::TNode<IntPtrT> tmp720;
    6953         112 :     compiler::TNode<IntPtrT> tmp721;
    6954         112 :     compiler::TNode<BoolT> tmp722;
    6955         112 :     compiler::TNode<UintPtrT> tmp723;
    6956         112 :     compiler::TNode<Object> tmp724;
    6957         112 :     compiler::TNode<String> tmp725;
    6958         112 :     compiler::TNode<String> tmp726;
    6959         112 :     compiler::TNode<IntPtrT> tmp727;
    6960         112 :     compiler::TNode<IntPtrT> tmp728;
    6961         112 :     compiler::TNode<Context> tmp729;
    6962         112 :     compiler::TNode<String> tmp730;
    6963         112 :     compiler::TNode<IntPtrT> tmp731;
    6964         112 :     compiler::TNode<IntPtrT> tmp732;
    6965         112 :     compiler::TNode<BoolT> tmp733;
    6966         112 :     compiler::TNode<IntPtrT> tmp734;
    6967         112 :     compiler::TNode<IntPtrT> tmp735;
    6968         112 :     compiler::TNode<BoolT> tmp736;
    6969         112 :     compiler::TNode<Context> tmp737;
    6970         112 :     compiler::TNode<IntPtrT> tmp738;
    6971         112 :     compiler::TNode<IntPtrT> tmp739;
    6972         112 :     compiler::TNode<BoolT> tmp740;
    6973         112 :     ca_.Bind(&block36, &tmp707, &tmp708, &tmp709, &tmp710, &tmp711, &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);
    6974         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    6975         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    6976         112 :     compiler::TNode<IntPtrT> tmp741;
    6977         112 :     USE(tmp741);
    6978         112 :     tmp741 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp739}, compiler::TNode<IntPtrT>{tmp738}));
    6979         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 187);
    6980         112 :     compiler::TNode<IntPtrT> tmp742;
    6981         112 :     USE(tmp742);
    6982         112 :     tmp742 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp741}, compiler::TNode<IntPtrT>{tmp739}));
    6983         112 :     compiler::TNode<BoolT> tmp743;
    6984         112 :     USE(tmp743);
    6985         112 :     tmp743 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp742}, compiler::TNode<IntPtrT>{tmp738}));
    6986         112 :     ca_.Branch(tmp743, &block38, &block39, tmp707, tmp708, tmp709, tmp710, tmp711, 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, tmp738, tmp741);
    6987             :   }
    6988             : 
    6989         112 :   if (block38.is_used()) {
    6990         112 :     compiler::TNode<Context> tmp744;
    6991         112 :     compiler::TNode<JSReceiver> tmp745;
    6992         112 :     compiler::TNode<String> tmp746;
    6993         112 :     compiler::TNode<Number> tmp747;
    6994         112 :     compiler::TNode<Object> tmp748;
    6995         112 :     compiler::TNode<Object> tmp749;
    6996         112 :     compiler::TNode<BuiltinPtr> tmp750;
    6997         112 :     compiler::TNode<Map> tmp751;
    6998         112 :     compiler::TNode<UintPtrT> tmp752;
    6999         112 :     compiler::TNode<IntPtrT> tmp753;
    7000         112 :     compiler::TNode<IntPtrT> tmp754;
    7001         112 :     compiler::TNode<BuiltinPtr> tmp755;
    7002         112 :     compiler::TNode<FixedArray> tmp756;
    7003         112 :     compiler::TNode<IntPtrT> tmp757;
    7004         112 :     compiler::TNode<IntPtrT> tmp758;
    7005         112 :     compiler::TNode<BoolT> tmp759;
    7006         112 :     compiler::TNode<UintPtrT> tmp760;
    7007         112 :     compiler::TNode<Object> tmp761;
    7008         112 :     compiler::TNode<String> tmp762;
    7009         112 :     compiler::TNode<String> tmp763;
    7010         112 :     compiler::TNode<IntPtrT> tmp764;
    7011         112 :     compiler::TNode<IntPtrT> tmp765;
    7012         112 :     compiler::TNode<Context> tmp766;
    7013         112 :     compiler::TNode<String> tmp767;
    7014         112 :     compiler::TNode<IntPtrT> tmp768;
    7015         112 :     compiler::TNode<IntPtrT> tmp769;
    7016         112 :     compiler::TNode<BoolT> tmp770;
    7017         112 :     compiler::TNode<IntPtrT> tmp771;
    7018         112 :     compiler::TNode<IntPtrT> tmp772;
    7019         112 :     compiler::TNode<BoolT> tmp773;
    7020         112 :     compiler::TNode<Context> tmp774;
    7021         112 :     compiler::TNode<IntPtrT> tmp775;
    7022         112 :     compiler::TNode<IntPtrT> tmp776;
    7023         112 :     compiler::TNode<BoolT> tmp777;
    7024         112 :     compiler::TNode<IntPtrT> tmp778;
    7025         112 :     compiler::TNode<IntPtrT> tmp779;
    7026         112 :     ca_.Bind(&block38, &tmp744, &tmp745, &tmp746, &tmp747, &tmp748, &tmp749, &tmp750, &tmp751, &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);
    7027         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 188);
    7028         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp774);
    7029         112 :     CodeStubAssembler(state_).Unreachable();
    7030             :   }
    7031             : 
    7032         112 :   if (block39.is_used()) {
    7033         112 :     compiler::TNode<Context> tmp781;
    7034         112 :     compiler::TNode<JSReceiver> tmp782;
    7035         112 :     compiler::TNode<String> tmp783;
    7036         112 :     compiler::TNode<Number> tmp784;
    7037         112 :     compiler::TNode<Object> tmp785;
    7038         112 :     compiler::TNode<Object> tmp786;
    7039         112 :     compiler::TNode<BuiltinPtr> tmp787;
    7040         112 :     compiler::TNode<Map> tmp788;
    7041         112 :     compiler::TNode<UintPtrT> tmp789;
    7042         112 :     compiler::TNode<IntPtrT> tmp790;
    7043         112 :     compiler::TNode<IntPtrT> tmp791;
    7044         112 :     compiler::TNode<BuiltinPtr> tmp792;
    7045         112 :     compiler::TNode<FixedArray> tmp793;
    7046         112 :     compiler::TNode<IntPtrT> tmp794;
    7047         112 :     compiler::TNode<IntPtrT> tmp795;
    7048         112 :     compiler::TNode<BoolT> tmp796;
    7049         112 :     compiler::TNode<UintPtrT> tmp797;
    7050         112 :     compiler::TNode<Object> tmp798;
    7051         112 :     compiler::TNode<String> tmp799;
    7052         112 :     compiler::TNode<String> tmp800;
    7053         112 :     compiler::TNode<IntPtrT> tmp801;
    7054         112 :     compiler::TNode<IntPtrT> tmp802;
    7055         112 :     compiler::TNode<Context> tmp803;
    7056         112 :     compiler::TNode<String> tmp804;
    7057         112 :     compiler::TNode<IntPtrT> tmp805;
    7058         112 :     compiler::TNode<IntPtrT> tmp806;
    7059         112 :     compiler::TNode<BoolT> tmp807;
    7060         112 :     compiler::TNode<IntPtrT> tmp808;
    7061         112 :     compiler::TNode<IntPtrT> tmp809;
    7062         112 :     compiler::TNode<BoolT> tmp810;
    7063         112 :     compiler::TNode<Context> tmp811;
    7064         112 :     compiler::TNode<IntPtrT> tmp812;
    7065         112 :     compiler::TNode<IntPtrT> tmp813;
    7066         112 :     compiler::TNode<BoolT> tmp814;
    7067         112 :     compiler::TNode<IntPtrT> tmp815;
    7068         112 :     compiler::TNode<IntPtrT> tmp816;
    7069         112 :     ca_.Bind(&block39, &tmp781, &tmp782, &tmp783, &tmp784, &tmp785, &tmp786, &tmp787, &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);
    7070         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 191);
    7071         112 :     compiler::TNode<IntPtrT> tmp817;
    7072         112 :     USE(tmp817);
    7073         112 :     tmp817 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp811}, compiler::TNode<IntPtrT>{tmp795}, compiler::TNode<IntPtrT>{tmp816}));
    7074         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 192);
    7075         112 :     ca_.Branch(tmp814, &block40, &block41, tmp781, tmp782, tmp783, tmp784, tmp785, tmp786, tmp787, tmp788, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp817, tmp796, tmp797, tmp798, tmp799, tmp800, tmp801, tmp802, tmp803, tmp804, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813, tmp814, tmp815, tmp816);
    7076             :   }
    7077             : 
    7078         112 :   if (block40.is_used()) {
    7079         112 :     compiler::TNode<Context> tmp818;
    7080         112 :     compiler::TNode<JSReceiver> tmp819;
    7081         112 :     compiler::TNode<String> tmp820;
    7082         112 :     compiler::TNode<Number> tmp821;
    7083         112 :     compiler::TNode<Object> tmp822;
    7084         112 :     compiler::TNode<Object> tmp823;
    7085         112 :     compiler::TNode<BuiltinPtr> tmp824;
    7086         112 :     compiler::TNode<Map> tmp825;
    7087         112 :     compiler::TNode<UintPtrT> tmp826;
    7088         112 :     compiler::TNode<IntPtrT> tmp827;
    7089         112 :     compiler::TNode<IntPtrT> tmp828;
    7090         112 :     compiler::TNode<BuiltinPtr> tmp829;
    7091         112 :     compiler::TNode<FixedArray> tmp830;
    7092         112 :     compiler::TNode<IntPtrT> tmp831;
    7093         112 :     compiler::TNode<IntPtrT> tmp832;
    7094         112 :     compiler::TNode<BoolT> tmp833;
    7095         112 :     compiler::TNode<UintPtrT> tmp834;
    7096         112 :     compiler::TNode<Object> tmp835;
    7097         112 :     compiler::TNode<String> tmp836;
    7098         112 :     compiler::TNode<String> tmp837;
    7099         112 :     compiler::TNode<IntPtrT> tmp838;
    7100         112 :     compiler::TNode<IntPtrT> tmp839;
    7101         112 :     compiler::TNode<Context> tmp840;
    7102         112 :     compiler::TNode<String> tmp841;
    7103         112 :     compiler::TNode<IntPtrT> tmp842;
    7104         112 :     compiler::TNode<IntPtrT> tmp843;
    7105         112 :     compiler::TNode<BoolT> tmp844;
    7106         112 :     compiler::TNode<IntPtrT> tmp845;
    7107         112 :     compiler::TNode<IntPtrT> tmp846;
    7108         112 :     compiler::TNode<BoolT> tmp847;
    7109         112 :     compiler::TNode<Context> tmp848;
    7110         112 :     compiler::TNode<IntPtrT> tmp849;
    7111         112 :     compiler::TNode<IntPtrT> tmp850;
    7112         112 :     compiler::TNode<BoolT> tmp851;
    7113         112 :     compiler::TNode<IntPtrT> tmp852;
    7114         112 :     compiler::TNode<IntPtrT> tmp853;
    7115         112 :     ca_.Bind(&block40, &tmp818, &tmp819, &tmp820, &tmp821, &tmp822, &tmp823, &tmp824, &tmp825, &tmp826, &tmp827, &tmp828, &tmp829, &tmp830, &tmp831, &tmp832, &tmp833, &tmp834, &tmp835, &tmp836, &tmp837, &tmp838, &tmp839, &tmp840, &tmp841, &tmp842, &tmp843, &tmp844, &tmp845, &tmp846, &tmp847, &tmp848, &tmp849, &tmp850, &tmp851, &tmp852, &tmp853);
    7116         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 194);
    7117         112 :     compiler::TNode<IntPtrT> tmp854;
    7118         112 :     USE(tmp854);
    7119         112 :     tmp854 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    7120         112 :     compiler::TNode<IntPtrT> tmp855;
    7121         112 :     USE(tmp855);
    7122         112 :     tmp855 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp831}, compiler::TNode<IntPtrT>{tmp854}));
    7123         112 :     compiler::TNode<Smi> tmp856;
    7124         112 :     USE(tmp856);
    7125         112 :     tmp856 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp852}));
    7126         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 193);
    7127         112 :     compiler::TNode<FixedArray> tmp857;
    7128         112 :     USE(tmp857);
    7129         112 :     tmp857 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp830}, compiler::TNode<IntPtrT>{tmp831}, compiler::TNode<Smi>{tmp856}));
    7130         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 192);
    7131         112 :     ca_.Goto(&block41, tmp818, tmp819, tmp820, tmp821, tmp822, tmp823, tmp824, tmp825, tmp826, tmp827, tmp828, tmp829, tmp857, tmp855, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp840, tmp841, tmp842, tmp843, tmp844, tmp845, tmp846, tmp847, tmp848, tmp849, tmp850, tmp851, tmp852, tmp853);
    7132             :   }
    7133             : 
    7134         112 :   if (block41.is_used()) {
    7135         112 :     compiler::TNode<Context> tmp858;
    7136         112 :     compiler::TNode<JSReceiver> tmp859;
    7137         112 :     compiler::TNode<String> tmp860;
    7138         112 :     compiler::TNode<Number> tmp861;
    7139         112 :     compiler::TNode<Object> tmp862;
    7140         112 :     compiler::TNode<Object> tmp863;
    7141         112 :     compiler::TNode<BuiltinPtr> tmp864;
    7142         112 :     compiler::TNode<Map> tmp865;
    7143         112 :     compiler::TNode<UintPtrT> tmp866;
    7144         112 :     compiler::TNode<IntPtrT> tmp867;
    7145         112 :     compiler::TNode<IntPtrT> tmp868;
    7146         112 :     compiler::TNode<BuiltinPtr> tmp869;
    7147         112 :     compiler::TNode<FixedArray> tmp870;
    7148         112 :     compiler::TNode<IntPtrT> tmp871;
    7149         112 :     compiler::TNode<IntPtrT> tmp872;
    7150         112 :     compiler::TNode<BoolT> tmp873;
    7151         112 :     compiler::TNode<UintPtrT> tmp874;
    7152         112 :     compiler::TNode<Object> tmp875;
    7153         112 :     compiler::TNode<String> tmp876;
    7154         112 :     compiler::TNode<String> tmp877;
    7155         112 :     compiler::TNode<IntPtrT> tmp878;
    7156         112 :     compiler::TNode<IntPtrT> tmp879;
    7157         112 :     compiler::TNode<Context> tmp880;
    7158         112 :     compiler::TNode<String> tmp881;
    7159         112 :     compiler::TNode<IntPtrT> tmp882;
    7160         112 :     compiler::TNode<IntPtrT> tmp883;
    7161         112 :     compiler::TNode<BoolT> tmp884;
    7162         112 :     compiler::TNode<IntPtrT> tmp885;
    7163         112 :     compiler::TNode<IntPtrT> tmp886;
    7164         112 :     compiler::TNode<BoolT> tmp887;
    7165         112 :     compiler::TNode<Context> tmp888;
    7166         112 :     compiler::TNode<IntPtrT> tmp889;
    7167         112 :     compiler::TNode<IntPtrT> tmp890;
    7168         112 :     compiler::TNode<BoolT> tmp891;
    7169         112 :     compiler::TNode<IntPtrT> tmp892;
    7170         112 :     compiler::TNode<IntPtrT> tmp893;
    7171         112 :     ca_.Bind(&block41, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873, &tmp874, &tmp875, &tmp876, &tmp877, &tmp878, &tmp879, &tmp880, &tmp881, &tmp882, &tmp883, &tmp884, &tmp885, &tmp886, &tmp887, &tmp888, &tmp889, &tmp890, &tmp891, &tmp892, &tmp893);
    7172         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 180);
    7173         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    7174         112 :     ca_.Goto(&block34, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp874, tmp875, tmp876, tmp877, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889, tmp890, tmp891);
    7175             :   }
    7176             : 
    7177         112 :   if (block34.is_used()) {
    7178         112 :     compiler::TNode<Context> tmp894;
    7179         112 :     compiler::TNode<JSReceiver> tmp895;
    7180         112 :     compiler::TNode<String> tmp896;
    7181         112 :     compiler::TNode<Number> tmp897;
    7182         112 :     compiler::TNode<Object> tmp898;
    7183         112 :     compiler::TNode<Object> tmp899;
    7184         112 :     compiler::TNode<BuiltinPtr> tmp900;
    7185         112 :     compiler::TNode<Map> tmp901;
    7186         112 :     compiler::TNode<UintPtrT> tmp902;
    7187         112 :     compiler::TNode<IntPtrT> tmp903;
    7188         112 :     compiler::TNode<IntPtrT> tmp904;
    7189         112 :     compiler::TNode<BuiltinPtr> tmp905;
    7190         112 :     compiler::TNode<FixedArray> tmp906;
    7191         112 :     compiler::TNode<IntPtrT> tmp907;
    7192         112 :     compiler::TNode<IntPtrT> tmp908;
    7193         112 :     compiler::TNode<BoolT> tmp909;
    7194         112 :     compiler::TNode<UintPtrT> tmp910;
    7195         112 :     compiler::TNode<Object> tmp911;
    7196         112 :     compiler::TNode<String> tmp912;
    7197         112 :     compiler::TNode<String> tmp913;
    7198         112 :     compiler::TNode<IntPtrT> tmp914;
    7199         112 :     compiler::TNode<IntPtrT> tmp915;
    7200         112 :     compiler::TNode<Context> tmp916;
    7201         112 :     compiler::TNode<String> tmp917;
    7202         112 :     compiler::TNode<IntPtrT> tmp918;
    7203         112 :     compiler::TNode<IntPtrT> tmp919;
    7204         112 :     compiler::TNode<BoolT> tmp920;
    7205         112 :     compiler::TNode<IntPtrT> tmp921;
    7206         112 :     compiler::TNode<IntPtrT> tmp922;
    7207         112 :     compiler::TNode<BoolT> tmp923;
    7208         112 :     compiler::TNode<Context> tmp924;
    7209         112 :     compiler::TNode<IntPtrT> tmp925;
    7210         112 :     compiler::TNode<IntPtrT> tmp926;
    7211         112 :     compiler::TNode<BoolT> tmp927;
    7212         112 :     ca_.Bind(&block34, &tmp894, &tmp895, &tmp896, &tmp897, &tmp898, &tmp899, &tmp900, &tmp901, &tmp902, &tmp903, &tmp904, &tmp905, &tmp906, &tmp907, &tmp908, &tmp909, &tmp910, &tmp911, &tmp912, &tmp913, &tmp914, &tmp915, &tmp916, &tmp917, &tmp918, &tmp919, &tmp920, &tmp921, &tmp922, &tmp923, &tmp924, &tmp925, &tmp926, &tmp927);
    7213         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    7214         112 :     compiler::TNode<IntPtrT> tmp928;
    7215         112 :     USE(tmp928);
    7216         112 :     tmp928 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp917}));
    7217         112 :     compiler::TNode<IntPtrT> tmp929;
    7218         112 :     USE(tmp929);
    7219         112 :     tmp929 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp916}, compiler::TNode<IntPtrT>{tmp908}, compiler::TNode<IntPtrT>{tmp928}));
    7220         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 172);
    7221         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 175);
    7222         112 :     compiler::TNode<IntPtrT> tmp930;
    7223         112 :     USE(tmp930);
    7224         112 :     tmp930 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    7225         112 :     compiler::TNode<IntPtrT> tmp931;
    7226         112 :     USE(tmp931);
    7227         112 :     tmp931 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp907}, compiler::TNode<IntPtrT>{tmp930}));
    7228         112 :     compiler::TNode<FixedArray> tmp932;
    7229         112 :     USE(tmp932);
    7230         112 :     tmp932 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray8ATString(compiler::TNode<FixedArray>{tmp906}, compiler::TNode<IntPtrT>{tmp907}, compiler::TNode<String>{tmp917}));
    7231         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    7232         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 176);
    7233         112 :     compiler::TNode<Int32T> tmp933;
    7234         112 :     USE(tmp933);
    7235         112 :     tmp933 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp917}));
    7236         112 :     compiler::TNode<BoolT> tmp934;
    7237         112 :     USE(tmp934);
    7238         112 :     tmp934 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).HasOnlyOneByteChars(compiler::TNode<Int32T>{tmp933}));
    7239         112 :     compiler::TNode<BoolT> tmp935;
    7240         112 :     USE(tmp935);
    7241         112 :     tmp935 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp934}, compiler::TNode<BoolT>{tmp909}));
    7242         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 167);
    7243         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 312);
    7244         112 :     ca_.Goto(&block33, tmp894, tmp895, tmp896, tmp897, tmp898, tmp899, tmp900, tmp901, tmp902, tmp903, tmp904, tmp905, tmp932, tmp931, tmp929, tmp935, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919);
    7245             :   }
    7246             : 
    7247         112 :   if (block33.is_used()) {
    7248         112 :     compiler::TNode<Context> tmp936;
    7249         112 :     compiler::TNode<JSReceiver> tmp937;
    7250         112 :     compiler::TNode<String> tmp938;
    7251         112 :     compiler::TNode<Number> tmp939;
    7252         112 :     compiler::TNode<Object> tmp940;
    7253         112 :     compiler::TNode<Object> tmp941;
    7254         112 :     compiler::TNode<BuiltinPtr> tmp942;
    7255         112 :     compiler::TNode<Map> tmp943;
    7256         112 :     compiler::TNode<UintPtrT> tmp944;
    7257         112 :     compiler::TNode<IntPtrT> tmp945;
    7258         112 :     compiler::TNode<IntPtrT> tmp946;
    7259         112 :     compiler::TNode<BuiltinPtr> tmp947;
    7260         112 :     compiler::TNode<FixedArray> tmp948;
    7261         112 :     compiler::TNode<IntPtrT> tmp949;
    7262         112 :     compiler::TNode<IntPtrT> tmp950;
    7263         112 :     compiler::TNode<BoolT> tmp951;
    7264         112 :     compiler::TNode<UintPtrT> tmp952;
    7265         112 :     compiler::TNode<Object> tmp953;
    7266         112 :     compiler::TNode<String> tmp954;
    7267         112 :     compiler::TNode<String> tmp955;
    7268         112 :     compiler::TNode<IntPtrT> tmp956;
    7269         112 :     compiler::TNode<IntPtrT> tmp957;
    7270         112 :     compiler::TNode<Context> tmp958;
    7271         112 :     compiler::TNode<String> tmp959;
    7272         112 :     compiler::TNode<IntPtrT> tmp960;
    7273         112 :     compiler::TNode<IntPtrT> tmp961;
    7274         112 :     ca_.Bind(&block33, &tmp936, &tmp937, &tmp938, &tmp939, &tmp940, &tmp941, &tmp942, &tmp943, &tmp944, &tmp945, &tmp946, &tmp947, &tmp948, &tmp949, &tmp950, &tmp951, &tmp952, &tmp953, &tmp954, &tmp955, &tmp956, &tmp957, &tmp958, &tmp959, &tmp960, &tmp961);
    7275         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 313);
    7276         112 :     compiler::TNode<IntPtrT> tmp962;
    7277         112 :     USE(tmp962);
    7278         112 :     tmp962 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7279         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
    7280         112 :     ca_.Goto(&block9, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp962, tmp947, tmp948, tmp949, tmp950, tmp951, tmp952);
    7281             :   }
    7282             : 
    7283         112 :   if (block8.is_used()) {
    7284         112 :     compiler::TNode<Context> tmp963;
    7285         112 :     compiler::TNode<JSReceiver> tmp964;
    7286         112 :     compiler::TNode<String> tmp965;
    7287         112 :     compiler::TNode<Number> tmp966;
    7288         112 :     compiler::TNode<Object> tmp967;
    7289         112 :     compiler::TNode<Object> tmp968;
    7290         112 :     compiler::TNode<BuiltinPtr> tmp969;
    7291         112 :     compiler::TNode<Map> tmp970;
    7292         112 :     compiler::TNode<UintPtrT> tmp971;
    7293         112 :     compiler::TNode<IntPtrT> tmp972;
    7294         112 :     compiler::TNode<IntPtrT> tmp973;
    7295         112 :     compiler::TNode<BuiltinPtr> tmp974;
    7296         112 :     compiler::TNode<FixedArray> tmp975;
    7297         112 :     compiler::TNode<IntPtrT> tmp976;
    7298         112 :     compiler::TNode<IntPtrT> tmp977;
    7299         112 :     compiler::TNode<BoolT> tmp978;
    7300         112 :     compiler::TNode<UintPtrT> tmp979;
    7301         112 :     ca_.Bind(&block8, &tmp963, &tmp964, &tmp965, &tmp966, &tmp967, &tmp968, &tmp969, &tmp970, &tmp971, &tmp972, &tmp973, &tmp974, &tmp975, &tmp976, &tmp977, &tmp978, &tmp979);
    7302         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 317);
    7303         112 :     compiler::TNode<BoolT> tmp980;
    7304         112 :     USE(tmp980);
    7305         112 :     tmp980 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
    7306         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    7307         112 :     compiler::TNode<IntPtrT> tmp981;
    7308         112 :     USE(tmp981);
    7309         112 :     tmp981 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7310         112 :     compiler::TNode<BoolT> tmp982;
    7311         112 :     USE(tmp982);
    7312         112 :     tmp982 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp973}, compiler::TNode<IntPtrT>{tmp981}));
    7313         112 :     ca_.Branch(tmp982, &block43, &block45, tmp963, tmp964, tmp965, tmp966, tmp967, tmp968, tmp969, tmp970, tmp971, tmp972, tmp973, tmp974, tmp975, tmp976, tmp977, tmp978, tmp979, tmp973, tmp972, tmp963, tmp973, tmp972, tmp980);
    7314             :   }
    7315             : 
    7316         112 :   if (block45.is_used()) {
    7317         112 :     compiler::TNode<Context> tmp983;
    7318         112 :     compiler::TNode<JSReceiver> tmp984;
    7319         112 :     compiler::TNode<String> tmp985;
    7320         112 :     compiler::TNode<Number> tmp986;
    7321         112 :     compiler::TNode<Object> tmp987;
    7322         112 :     compiler::TNode<Object> tmp988;
    7323         112 :     compiler::TNode<BuiltinPtr> tmp989;
    7324         112 :     compiler::TNode<Map> tmp990;
    7325         112 :     compiler::TNode<UintPtrT> tmp991;
    7326         112 :     compiler::TNode<IntPtrT> tmp992;
    7327         112 :     compiler::TNode<IntPtrT> tmp993;
    7328         112 :     compiler::TNode<BuiltinPtr> tmp994;
    7329         112 :     compiler::TNode<FixedArray> tmp995;
    7330         112 :     compiler::TNode<IntPtrT> tmp996;
    7331         112 :     compiler::TNode<IntPtrT> tmp997;
    7332         112 :     compiler::TNode<BoolT> tmp998;
    7333         112 :     compiler::TNode<UintPtrT> tmp999;
    7334         112 :     compiler::TNode<IntPtrT> tmp1000;
    7335         112 :     compiler::TNode<IntPtrT> tmp1001;
    7336         112 :     compiler::TNode<Context> tmp1002;
    7337         112 :     compiler::TNode<IntPtrT> tmp1003;
    7338         112 :     compiler::TNode<IntPtrT> tmp1004;
    7339         112 :     compiler::TNode<BoolT> tmp1005;
    7340         112 :     ca_.Bind(&block45, &tmp983, &tmp984, &tmp985, &tmp986, &tmp987, &tmp988, &tmp989, &tmp990, &tmp991, &tmp992, &tmp993, &tmp994, &tmp995, &tmp996, &tmp997, &tmp998, &tmp999, &tmp1000, &tmp1001, &tmp1002, &tmp1003, &tmp1004, &tmp1005);
    7341         112 :     compiler::TNode<IntPtrT> tmp1006;
    7342         112 :     USE(tmp1006);
    7343         112 :     tmp1006 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7344         112 :     compiler::TNode<BoolT> tmp1007;
    7345         112 :     USE(tmp1007);
    7346         112 :     tmp1007 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp1004}, compiler::TNode<IntPtrT>{tmp1006}));
    7347         112 :     ca_.Branch(tmp1007, &block43, &block44, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989, tmp990, tmp991, tmp992, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001, tmp1002, tmp1003, tmp1004, tmp1005);
    7348             :   }
    7349             : 
    7350         112 :   if (block43.is_used()) {
    7351         112 :     compiler::TNode<Context> tmp1008;
    7352         112 :     compiler::TNode<JSReceiver> tmp1009;
    7353         112 :     compiler::TNode<String> tmp1010;
    7354         112 :     compiler::TNode<Number> tmp1011;
    7355         112 :     compiler::TNode<Object> tmp1012;
    7356         112 :     compiler::TNode<Object> tmp1013;
    7357         112 :     compiler::TNode<BuiltinPtr> tmp1014;
    7358         112 :     compiler::TNode<Map> tmp1015;
    7359         112 :     compiler::TNode<UintPtrT> tmp1016;
    7360         112 :     compiler::TNode<IntPtrT> tmp1017;
    7361         112 :     compiler::TNode<IntPtrT> tmp1018;
    7362         112 :     compiler::TNode<BuiltinPtr> tmp1019;
    7363         112 :     compiler::TNode<FixedArray> tmp1020;
    7364         112 :     compiler::TNode<IntPtrT> tmp1021;
    7365         112 :     compiler::TNode<IntPtrT> tmp1022;
    7366         112 :     compiler::TNode<BoolT> tmp1023;
    7367         112 :     compiler::TNode<UintPtrT> tmp1024;
    7368         112 :     compiler::TNode<IntPtrT> tmp1025;
    7369         112 :     compiler::TNode<IntPtrT> tmp1026;
    7370         112 :     compiler::TNode<Context> tmp1027;
    7371         112 :     compiler::TNode<IntPtrT> tmp1028;
    7372         112 :     compiler::TNode<IntPtrT> tmp1029;
    7373         112 :     compiler::TNode<BoolT> tmp1030;
    7374         112 :     ca_.Bind(&block43, &tmp1008, &tmp1009, &tmp1010, &tmp1011, &tmp1012, &tmp1013, &tmp1014, &tmp1015, &tmp1016, &tmp1017, &tmp1018, &tmp1019, &tmp1020, &tmp1021, &tmp1022, &tmp1023, &tmp1024, &tmp1025, &tmp1026, &tmp1027, &tmp1028, &tmp1029, &tmp1030);
    7375         112 :     ca_.Goto(&block42, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1015, tmp1016, tmp1017, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027, tmp1028, tmp1029, tmp1030);
    7376             :   }
    7377             : 
    7378         112 :   if (block44.is_used()) {
    7379         112 :     compiler::TNode<Context> tmp1031;
    7380         112 :     compiler::TNode<JSReceiver> tmp1032;
    7381         112 :     compiler::TNode<String> tmp1033;
    7382         112 :     compiler::TNode<Number> tmp1034;
    7383         112 :     compiler::TNode<Object> tmp1035;
    7384         112 :     compiler::TNode<Object> tmp1036;
    7385         112 :     compiler::TNode<BuiltinPtr> tmp1037;
    7386         112 :     compiler::TNode<Map> tmp1038;
    7387         112 :     compiler::TNode<UintPtrT> tmp1039;
    7388         112 :     compiler::TNode<IntPtrT> tmp1040;
    7389         112 :     compiler::TNode<IntPtrT> tmp1041;
    7390         112 :     compiler::TNode<BuiltinPtr> tmp1042;
    7391         112 :     compiler::TNode<FixedArray> tmp1043;
    7392         112 :     compiler::TNode<IntPtrT> tmp1044;
    7393         112 :     compiler::TNode<IntPtrT> tmp1045;
    7394         112 :     compiler::TNode<BoolT> tmp1046;
    7395         112 :     compiler::TNode<UintPtrT> tmp1047;
    7396         112 :     compiler::TNode<IntPtrT> tmp1048;
    7397         112 :     compiler::TNode<IntPtrT> tmp1049;
    7398         112 :     compiler::TNode<Context> tmp1050;
    7399         112 :     compiler::TNode<IntPtrT> tmp1051;
    7400         112 :     compiler::TNode<IntPtrT> tmp1052;
    7401         112 :     compiler::TNode<BoolT> tmp1053;
    7402         112 :     ca_.Bind(&block44, &tmp1031, &tmp1032, &tmp1033, &tmp1034, &tmp1035, &tmp1036, &tmp1037, &tmp1038, &tmp1039, &tmp1040, &tmp1041, &tmp1042, &tmp1043, &tmp1044, &tmp1045, &tmp1046, &tmp1047, &tmp1048, &tmp1049, &tmp1050, &tmp1051, &tmp1052, &tmp1053);
    7403         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    7404         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    7405         112 :     compiler::TNode<IntPtrT> tmp1054;
    7406         112 :     USE(tmp1054);
    7407         112 :     tmp1054 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp1052}, compiler::TNode<IntPtrT>{tmp1051}));
    7408         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 187);
    7409         112 :     compiler::TNode<IntPtrT> tmp1055;
    7410         112 :     USE(tmp1055);
    7411         112 :     tmp1055 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp1054}, compiler::TNode<IntPtrT>{tmp1052}));
    7412         112 :     compiler::TNode<BoolT> tmp1056;
    7413         112 :     USE(tmp1056);
    7414         112 :     tmp1056 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp1055}, compiler::TNode<IntPtrT>{tmp1051}));
    7415         112 :     ca_.Branch(tmp1056, &block46, &block47, tmp1031, tmp1032, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1051, tmp1054);
    7416             :   }
    7417             : 
    7418         112 :   if (block46.is_used()) {
    7419         112 :     compiler::TNode<Context> tmp1057;
    7420         112 :     compiler::TNode<JSReceiver> tmp1058;
    7421         112 :     compiler::TNode<String> tmp1059;
    7422         112 :     compiler::TNode<Number> tmp1060;
    7423         112 :     compiler::TNode<Object> tmp1061;
    7424         112 :     compiler::TNode<Object> tmp1062;
    7425         112 :     compiler::TNode<BuiltinPtr> tmp1063;
    7426         112 :     compiler::TNode<Map> tmp1064;
    7427         112 :     compiler::TNode<UintPtrT> tmp1065;
    7428         112 :     compiler::TNode<IntPtrT> tmp1066;
    7429         112 :     compiler::TNode<IntPtrT> tmp1067;
    7430         112 :     compiler::TNode<BuiltinPtr> tmp1068;
    7431         112 :     compiler::TNode<FixedArray> tmp1069;
    7432         112 :     compiler::TNode<IntPtrT> tmp1070;
    7433         112 :     compiler::TNode<IntPtrT> tmp1071;
    7434         112 :     compiler::TNode<BoolT> tmp1072;
    7435         112 :     compiler::TNode<UintPtrT> tmp1073;
    7436         112 :     compiler::TNode<IntPtrT> tmp1074;
    7437         112 :     compiler::TNode<IntPtrT> tmp1075;
    7438         112 :     compiler::TNode<Context> tmp1076;
    7439         112 :     compiler::TNode<IntPtrT> tmp1077;
    7440         112 :     compiler::TNode<IntPtrT> tmp1078;
    7441         112 :     compiler::TNode<BoolT> tmp1079;
    7442         112 :     compiler::TNode<IntPtrT> tmp1080;
    7443         112 :     compiler::TNode<IntPtrT> tmp1081;
    7444         112 :     ca_.Bind(&block46, &tmp1057, &tmp1058, &tmp1059, &tmp1060, &tmp1061, &tmp1062, &tmp1063, &tmp1064, &tmp1065, &tmp1066, &tmp1067, &tmp1068, &tmp1069, &tmp1070, &tmp1071, &tmp1072, &tmp1073, &tmp1074, &tmp1075, &tmp1076, &tmp1077, &tmp1078, &tmp1079, &tmp1080, &tmp1081);
    7445         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 188);
    7446         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp1076);
    7447         112 :     CodeStubAssembler(state_).Unreachable();
    7448             :   }
    7449             : 
    7450         112 :   if (block47.is_used()) {
    7451         112 :     compiler::TNode<Context> tmp1083;
    7452         112 :     compiler::TNode<JSReceiver> tmp1084;
    7453         112 :     compiler::TNode<String> tmp1085;
    7454         112 :     compiler::TNode<Number> tmp1086;
    7455         112 :     compiler::TNode<Object> tmp1087;
    7456         112 :     compiler::TNode<Object> tmp1088;
    7457         112 :     compiler::TNode<BuiltinPtr> tmp1089;
    7458         112 :     compiler::TNode<Map> tmp1090;
    7459         112 :     compiler::TNode<UintPtrT> tmp1091;
    7460         112 :     compiler::TNode<IntPtrT> tmp1092;
    7461         112 :     compiler::TNode<IntPtrT> tmp1093;
    7462         112 :     compiler::TNode<BuiltinPtr> tmp1094;
    7463         112 :     compiler::TNode<FixedArray> tmp1095;
    7464         112 :     compiler::TNode<IntPtrT> tmp1096;
    7465         112 :     compiler::TNode<IntPtrT> tmp1097;
    7466         112 :     compiler::TNode<BoolT> tmp1098;
    7467         112 :     compiler::TNode<UintPtrT> tmp1099;
    7468         112 :     compiler::TNode<IntPtrT> tmp1100;
    7469         112 :     compiler::TNode<IntPtrT> tmp1101;
    7470         112 :     compiler::TNode<Context> tmp1102;
    7471         112 :     compiler::TNode<IntPtrT> tmp1103;
    7472         112 :     compiler::TNode<IntPtrT> tmp1104;
    7473         112 :     compiler::TNode<BoolT> tmp1105;
    7474         112 :     compiler::TNode<IntPtrT> tmp1106;
    7475         112 :     compiler::TNode<IntPtrT> tmp1107;
    7476         112 :     ca_.Bind(&block47, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088, &tmp1089, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096, &tmp1097, &tmp1098, &tmp1099, &tmp1100, &tmp1101, &tmp1102, &tmp1103, &tmp1104, &tmp1105, &tmp1106, &tmp1107);
    7477         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 191);
    7478         112 :     compiler::TNode<IntPtrT> tmp1108;
    7479         112 :     USE(tmp1108);
    7480         112 :     tmp1108 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp1102}, compiler::TNode<IntPtrT>{tmp1097}, compiler::TNode<IntPtrT>{tmp1107}));
    7481         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 192);
    7482         112 :     ca_.Branch(tmp1105, &block48, &block49, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088, tmp1089, tmp1090, tmp1091, tmp1092, tmp1093, tmp1094, tmp1095, tmp1096, tmp1108, tmp1098, tmp1099, tmp1100, tmp1101, tmp1102, tmp1103, tmp1104, tmp1105, tmp1106, tmp1107);
    7483             :   }
    7484             : 
    7485         112 :   if (block48.is_used()) {
    7486         112 :     compiler::TNode<Context> tmp1109;
    7487         112 :     compiler::TNode<JSReceiver> tmp1110;
    7488         112 :     compiler::TNode<String> tmp1111;
    7489         112 :     compiler::TNode<Number> tmp1112;
    7490         112 :     compiler::TNode<Object> tmp1113;
    7491         112 :     compiler::TNode<Object> tmp1114;
    7492         112 :     compiler::TNode<BuiltinPtr> tmp1115;
    7493         112 :     compiler::TNode<Map> tmp1116;
    7494         112 :     compiler::TNode<UintPtrT> tmp1117;
    7495         112 :     compiler::TNode<IntPtrT> tmp1118;
    7496         112 :     compiler::TNode<IntPtrT> tmp1119;
    7497         112 :     compiler::TNode<BuiltinPtr> tmp1120;
    7498         112 :     compiler::TNode<FixedArray> tmp1121;
    7499         112 :     compiler::TNode<IntPtrT> tmp1122;
    7500         112 :     compiler::TNode<IntPtrT> tmp1123;
    7501         112 :     compiler::TNode<BoolT> tmp1124;
    7502         112 :     compiler::TNode<UintPtrT> tmp1125;
    7503         112 :     compiler::TNode<IntPtrT> tmp1126;
    7504         112 :     compiler::TNode<IntPtrT> tmp1127;
    7505         112 :     compiler::TNode<Context> tmp1128;
    7506         112 :     compiler::TNode<IntPtrT> tmp1129;
    7507         112 :     compiler::TNode<IntPtrT> tmp1130;
    7508         112 :     compiler::TNode<BoolT> tmp1131;
    7509         112 :     compiler::TNode<IntPtrT> tmp1132;
    7510         112 :     compiler::TNode<IntPtrT> tmp1133;
    7511         112 :     ca_.Bind(&block48, &tmp1109, &tmp1110, &tmp1111, &tmp1112, &tmp1113, &tmp1114, &tmp1115, &tmp1116, &tmp1117, &tmp1118, &tmp1119, &tmp1120, &tmp1121, &tmp1122, &tmp1123, &tmp1124, &tmp1125, &tmp1126, &tmp1127, &tmp1128, &tmp1129, &tmp1130, &tmp1131, &tmp1132, &tmp1133);
    7512         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 194);
    7513         112 :     compiler::TNode<IntPtrT> tmp1134;
    7514         112 :     USE(tmp1134);
    7515         112 :     tmp1134 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    7516         112 :     compiler::TNode<IntPtrT> tmp1135;
    7517         112 :     USE(tmp1135);
    7518         112 :     tmp1135 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1122}, compiler::TNode<IntPtrT>{tmp1134}));
    7519         112 :     compiler::TNode<Smi> tmp1136;
    7520         112 :     USE(tmp1136);
    7521         112 :     tmp1136 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1132}));
    7522         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 193);
    7523         112 :     compiler::TNode<FixedArray> tmp1137;
    7524         112 :     USE(tmp1137);
    7525         112 :     tmp1137 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1121}, compiler::TNode<IntPtrT>{tmp1122}, compiler::TNode<Smi>{tmp1136}));
    7526         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 192);
    7527         112 :     ca_.Goto(&block49, tmp1109, tmp1110, tmp1111, tmp1112, tmp1113, tmp1114, tmp1115, tmp1116, tmp1117, tmp1118, tmp1119, tmp1120, tmp1137, tmp1135, tmp1123, tmp1124, tmp1125, tmp1126, tmp1127, tmp1128, tmp1129, tmp1130, tmp1131, tmp1132, tmp1133);
    7528             :   }
    7529             : 
    7530         112 :   if (block49.is_used()) {
    7531         112 :     compiler::TNode<Context> tmp1138;
    7532         112 :     compiler::TNode<JSReceiver> tmp1139;
    7533         112 :     compiler::TNode<String> tmp1140;
    7534         112 :     compiler::TNode<Number> tmp1141;
    7535         112 :     compiler::TNode<Object> tmp1142;
    7536         112 :     compiler::TNode<Object> tmp1143;
    7537         112 :     compiler::TNode<BuiltinPtr> tmp1144;
    7538         112 :     compiler::TNode<Map> tmp1145;
    7539         112 :     compiler::TNode<UintPtrT> tmp1146;
    7540         112 :     compiler::TNode<IntPtrT> tmp1147;
    7541         112 :     compiler::TNode<IntPtrT> tmp1148;
    7542         112 :     compiler::TNode<BuiltinPtr> tmp1149;
    7543         112 :     compiler::TNode<FixedArray> tmp1150;
    7544         112 :     compiler::TNode<IntPtrT> tmp1151;
    7545         112 :     compiler::TNode<IntPtrT> tmp1152;
    7546         112 :     compiler::TNode<BoolT> tmp1153;
    7547         112 :     compiler::TNode<UintPtrT> tmp1154;
    7548         112 :     compiler::TNode<IntPtrT> tmp1155;
    7549         112 :     compiler::TNode<IntPtrT> tmp1156;
    7550         112 :     compiler::TNode<Context> tmp1157;
    7551         112 :     compiler::TNode<IntPtrT> tmp1158;
    7552         112 :     compiler::TNode<IntPtrT> tmp1159;
    7553         112 :     compiler::TNode<BoolT> tmp1160;
    7554         112 :     compiler::TNode<IntPtrT> tmp1161;
    7555         112 :     compiler::TNode<IntPtrT> tmp1162;
    7556         112 :     ca_.Bind(&block49, &tmp1138, &tmp1139, &tmp1140, &tmp1141, &tmp1142, &tmp1143, &tmp1144, &tmp1145, &tmp1146, &tmp1147, &tmp1148, &tmp1149, &tmp1150, &tmp1151, &tmp1152, &tmp1153, &tmp1154, &tmp1155, &tmp1156, &tmp1157, &tmp1158, &tmp1159, &tmp1160, &tmp1161, &tmp1162);
    7557         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 180);
    7558         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 317);
    7559         112 :     ca_.Goto(&block42, tmp1138, tmp1139, tmp1140, tmp1141, tmp1142, tmp1143, tmp1144, tmp1145, tmp1146, tmp1147, tmp1148, tmp1149, tmp1150, tmp1151, tmp1152, tmp1153, tmp1154, tmp1155, tmp1156, tmp1157, tmp1158, tmp1159, tmp1160);
    7560             :   }
    7561             : 
    7562         112 :   if (block42.is_used()) {
    7563         112 :     compiler::TNode<Context> tmp1163;
    7564         112 :     compiler::TNode<JSReceiver> tmp1164;
    7565         112 :     compiler::TNode<String> tmp1165;
    7566         112 :     compiler::TNode<Number> tmp1166;
    7567         112 :     compiler::TNode<Object> tmp1167;
    7568         112 :     compiler::TNode<Object> tmp1168;
    7569         112 :     compiler::TNode<BuiltinPtr> tmp1169;
    7570         112 :     compiler::TNode<Map> tmp1170;
    7571         112 :     compiler::TNode<UintPtrT> tmp1171;
    7572         112 :     compiler::TNode<IntPtrT> tmp1172;
    7573         112 :     compiler::TNode<IntPtrT> tmp1173;
    7574         112 :     compiler::TNode<BuiltinPtr> tmp1174;
    7575         112 :     compiler::TNode<FixedArray> tmp1175;
    7576         112 :     compiler::TNode<IntPtrT> tmp1176;
    7577         112 :     compiler::TNode<IntPtrT> tmp1177;
    7578         112 :     compiler::TNode<BoolT> tmp1178;
    7579         112 :     compiler::TNode<UintPtrT> tmp1179;
    7580         112 :     compiler::TNode<IntPtrT> tmp1180;
    7581         112 :     compiler::TNode<IntPtrT> tmp1181;
    7582         112 :     compiler::TNode<Context> tmp1182;
    7583         112 :     compiler::TNode<IntPtrT> tmp1183;
    7584         112 :     compiler::TNode<IntPtrT> tmp1184;
    7585         112 :     compiler::TNode<BoolT> tmp1185;
    7586         112 :     ca_.Bind(&block42, &tmp1163, &tmp1164, &tmp1165, &tmp1166, &tmp1167, &tmp1168, &tmp1169, &tmp1170, &tmp1171, &tmp1172, &tmp1173, &tmp1174, &tmp1175, &tmp1176, &tmp1177, &tmp1178, &tmp1179, &tmp1180, &tmp1181, &tmp1182, &tmp1183, &tmp1184, &tmp1185);
    7587         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    7588         112 :     compiler::TNode<String> tmp1186;
    7589         112 :     USE(tmp1186);
    7590         112 :     tmp1186 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).BufferJoin(compiler::TNode<Context>{tmp1163}, ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp1175}, compiler::TNode<IntPtrT>{tmp1176}, compiler::TNode<IntPtrT>{tmp1177}, compiler::TNode<BoolT>{tmp1178}}, compiler::TNode<String>{tmp1165}));
    7591         112 :     ca_.Goto(&block1, tmp1163, tmp1164, tmp1165, tmp1166, tmp1167, tmp1168, tmp1169, tmp1186);
    7592             :   }
    7593             : 
    7594         112 :   if (block1.is_used()) {
    7595         112 :     compiler::TNode<Context> tmp1187;
    7596         112 :     compiler::TNode<JSReceiver> tmp1188;
    7597         112 :     compiler::TNode<String> tmp1189;
    7598         112 :     compiler::TNode<Number> tmp1190;
    7599         112 :     compiler::TNode<Object> tmp1191;
    7600         112 :     compiler::TNode<Object> tmp1192;
    7601         112 :     compiler::TNode<BuiltinPtr> tmp1193;
    7602         112 :     compiler::TNode<String> tmp1194;
    7603         112 :     ca_.Bind(&block1, &tmp1187, &tmp1188, &tmp1189, &tmp1190, &tmp1191, &tmp1192, &tmp1193, &tmp1194);
    7604         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 259);
    7605         112 :     ca_.Goto(&block50, tmp1187, tmp1188, tmp1189, tmp1190, tmp1191, tmp1192, tmp1193, tmp1194);
    7606             :   }
    7607             : 
    7608         112 :     compiler::TNode<Context> tmp1195;
    7609         112 :     compiler::TNode<JSReceiver> tmp1196;
    7610         112 :     compiler::TNode<String> tmp1197;
    7611         112 :     compiler::TNode<Number> tmp1198;
    7612         112 :     compiler::TNode<Object> tmp1199;
    7613         112 :     compiler::TNode<Object> tmp1200;
    7614         112 :     compiler::TNode<BuiltinPtr> tmp1201;
    7615         112 :     compiler::TNode<String> tmp1202;
    7616         112 :     ca_.Bind(&block50, &tmp1195, &tmp1196, &tmp1197, &tmp1198, &tmp1199, &tmp1200, &tmp1201, &tmp1202);
    7617         224 :   return compiler::TNode<String>{tmp1202};
    7618             : }
    7619             : 
    7620          56 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<JSReceiver> p_element) {
    7621          56 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7622         112 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7623         112 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7624         112 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7625         112 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7626          56 :     ca_.Goto(&block0, p_fixedArray, p_index, p_element);
    7627             : 
    7628          56 :   if (block0.is_used()) {
    7629          56 :     compiler::TNode<FixedArray> tmp0;
    7630          56 :     compiler::TNode<IntPtrT> tmp1;
    7631          56 :     compiler::TNode<JSReceiver> tmp2;
    7632          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    7633          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
    7634          56 :     compiler::TNode<IntPtrT> tmp3;
    7635          56 :     USE(tmp3);
    7636          56 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
    7637          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
    7638          56 :     compiler::TNode<BoolT> tmp4;
    7639          56 :     USE(tmp4);
    7640          56 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
    7641          56 :     ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
    7642             :   }
    7643             : 
    7644          56 :   if (block2.is_used()) {
    7645          56 :     compiler::TNode<FixedArray> tmp5;
    7646          56 :     compiler::TNode<IntPtrT> tmp6;
    7647          56 :     compiler::TNode<JSReceiver> tmp7;
    7648          56 :     compiler::TNode<IntPtrT> tmp8;
    7649          56 :     ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
    7650          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
    7651          56 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
    7652          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
    7653          56 :     ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
    7654             :   }
    7655             : 
    7656          56 :   if (block3.is_used()) {
    7657          56 :     compiler::TNode<FixedArray> tmp9;
    7658          56 :     compiler::TNode<IntPtrT> tmp10;
    7659          56 :     compiler::TNode<JSReceiver> tmp11;
    7660          56 :     compiler::TNode<IntPtrT> tmp12;
    7661          56 :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
    7662          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
    7663          56 :     compiler::TNode<IntPtrT> tmp13;
    7664          56 :     USE(tmp13);
    7665          56 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
    7666          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
    7667          56 :     compiler::TNode<IntPtrT> tmp14;
    7668          56 :     USE(tmp14);
    7669          56 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7670          56 :     compiler::TNode<FixedArray> tmp15;
    7671          56 :     USE(tmp15);
    7672          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));
    7673          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
    7674          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
    7675          56 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
    7676          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
    7677          56 :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
    7678             :   }
    7679             : 
    7680          56 :   if (block1.is_used()) {
    7681          56 :     compiler::TNode<FixedArray> tmp16;
    7682          56 :     compiler::TNode<IntPtrT> tmp17;
    7683          56 :     compiler::TNode<JSReceiver> tmp18;
    7684          56 :     compiler::TNode<FixedArray> tmp19;
    7685          56 :     ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
    7686          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
    7687          56 :     ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
    7688             :   }
    7689             : 
    7690          56 :     compiler::TNode<FixedArray> tmp20;
    7691          56 :     compiler::TNode<IntPtrT> tmp21;
    7692          56 :     compiler::TNode<JSReceiver> tmp22;
    7693          56 :     compiler::TNode<FixedArray> tmp23;
    7694          56 :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
    7695         112 :   return compiler::TNode<FixedArray>{tmp23};
    7696             : }
    7697             : 
    7698         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) {
    7699         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7700         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7701         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7702         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7703         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7704         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7705         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7706         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7707         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7708         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7709         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7710         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7711         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7712         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7713         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7714         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7715         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7716         112 :     ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
    7717             : 
    7718         112 :   if (block0.is_used()) {
    7719         112 :     compiler::TNode<Context> tmp0;
    7720         112 :     compiler::TNode<JSReceiver> tmp1;
    7721         112 :     compiler::TNode<Number> tmp2;
    7722         112 :     compiler::TNode<Object> tmp3;
    7723         112 :     compiler::TNode<Object> tmp4;
    7724         112 :     compiler::TNode<Object> tmp5;
    7725         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    7726         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 536);
    7727         112 :     compiler::TNode<Oddball> tmp6;
    7728         112 :     USE(tmp6);
    7729         112 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    7730         112 :     compiler::TNode<BoolT> tmp7;
    7731         112 :     USE(tmp7);
    7732         112 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
    7733         112 :     ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
    7734             :   }
    7735             : 
    7736         112 :   if (block2.is_used()) {
    7737         112 :     compiler::TNode<Context> tmp8;
    7738         112 :     compiler::TNode<JSReceiver> tmp9;
    7739         112 :     compiler::TNode<Number> tmp10;
    7740         112 :     compiler::TNode<Object> tmp11;
    7741         112 :     compiler::TNode<Object> tmp12;
    7742         112 :     compiler::TNode<Object> tmp13;
    7743         112 :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    7744         112 :     ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
    7745             :   }
    7746             : 
    7747         112 :   if (block3.is_used()) {
    7748         112 :     compiler::TNode<Context> tmp14;
    7749         112 :     compiler::TNode<JSReceiver> tmp15;
    7750         112 :     compiler::TNode<Number> tmp16;
    7751         112 :     compiler::TNode<Object> tmp17;
    7752         112 :     compiler::TNode<Object> tmp18;
    7753         112 :     compiler::TNode<Object> tmp19;
    7754         112 :     ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
    7755         112 :     compiler::TNode<String> tmp20;
    7756         112 :     USE(tmp20);
    7757         112 :     tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
    7758         112 :     ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
    7759             :   }
    7760             : 
    7761         112 :   if (block5.is_used()) {
    7762         112 :     compiler::TNode<Context> tmp21;
    7763         112 :     compiler::TNode<JSReceiver> tmp22;
    7764         112 :     compiler::TNode<Number> tmp23;
    7765         112 :     compiler::TNode<Object> tmp24;
    7766         112 :     compiler::TNode<Object> tmp25;
    7767         112 :     compiler::TNode<Object> tmp26;
    7768         112 :     ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
    7769         112 :     compiler::TNode<String> tmp27;
    7770         112 :     USE(tmp27);
    7771         112 :     tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATString18ATconstexpr_string(","));
    7772         112 :     ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
    7773             :   }
    7774             : 
    7775         112 :   if (block4.is_used()) {
    7776         112 :     compiler::TNode<Context> tmp28;
    7777         112 :     compiler::TNode<JSReceiver> tmp29;
    7778         112 :     compiler::TNode<Number> tmp30;
    7779         112 :     compiler::TNode<Object> tmp31;
    7780         112 :     compiler::TNode<Object> tmp32;
    7781         112 :     compiler::TNode<Object> tmp33;
    7782         112 :     compiler::TNode<String> tmp34;
    7783         112 :     ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
    7784         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 535);
    7785         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 540);
    7786         112 :     compiler::TNode<Number> tmp35;
    7787         112 :     USE(tmp35);
    7788         112 :     tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
    7789         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    7790         224 :     compiler::CodeAssemblerLabel label1(&ca_);
    7791         112 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
    7792         112 :     if (label0.is_used()) {
    7793         112 :       ca_.Bind(&label0);
    7794         112 :       ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7795             :     }
    7796         112 :     if (label1.is_used()) {
    7797         112 :       ca_.Bind(&label1);
    7798         112 :       ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7799         112 :     }
    7800             :   }
    7801             : 
    7802         112 :   if (block9.is_used()) {
    7803         112 :     compiler::TNode<Context> tmp36;
    7804         112 :     compiler::TNode<JSReceiver> tmp37;
    7805         112 :     compiler::TNode<Number> tmp38;
    7806         112 :     compiler::TNode<Object> tmp39;
    7807         112 :     compiler::TNode<Object> tmp40;
    7808         112 :     compiler::TNode<Object> tmp41;
    7809         112 :     compiler::TNode<String> tmp42;
    7810         112 :     compiler::TNode<Number> tmp43;
    7811         112 :     ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    7812         112 :     ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
    7813             :   }
    7814             : 
    7815         112 :   if (block10.is_used()) {
    7816         112 :     compiler::TNode<Context> tmp44;
    7817         112 :     compiler::TNode<JSReceiver> tmp45;
    7818         112 :     compiler::TNode<Number> tmp46;
    7819         112 :     compiler::TNode<Object> tmp47;
    7820         112 :     compiler::TNode<Object> tmp48;
    7821         112 :     compiler::TNode<Object> tmp49;
    7822         112 :     compiler::TNode<String> tmp50;
    7823         112 :     compiler::TNode<Number> tmp51;
    7824         112 :     ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    7825         112 :     ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
    7826             :   }
    7827             : 
    7828         112 :   if (block8.is_used()) {
    7829         112 :     compiler::TNode<Context> tmp52;
    7830         112 :     compiler::TNode<JSReceiver> tmp53;
    7831         112 :     compiler::TNode<Number> tmp54;
    7832         112 :     compiler::TNode<Object> tmp55;
    7833         112 :     compiler::TNode<Object> tmp56;
    7834         112 :     compiler::TNode<Object> tmp57;
    7835         112 :     compiler::TNode<String> tmp58;
    7836         112 :     ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
    7837         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    7838         224 :     compiler::CodeAssemblerLabel label1(&ca_);
    7839         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
    7840         112 :     if (label0.is_used()) {
    7841         112 :       ca_.Bind(&label0);
    7842         112 :       ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    7843             :     }
    7844         112 :     if (label1.is_used()) {
    7845         112 :       ca_.Bind(&label1);
    7846         112 :       ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    7847         112 :     }
    7848             :   }
    7849             : 
    7850         112 :   if (block11.is_used()) {
    7851         112 :     compiler::TNode<Context> tmp59;
    7852         112 :     compiler::TNode<JSReceiver> tmp60;
    7853         112 :     compiler::TNode<Number> tmp61;
    7854         112 :     compiler::TNode<Object> tmp62;
    7855         112 :     compiler::TNode<Object> tmp63;
    7856         112 :     compiler::TNode<Object> tmp64;
    7857         112 :     compiler::TNode<String> tmp65;
    7858         112 :     compiler::TNode<JSReceiver> tmp66;
    7859         112 :     ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
    7860         112 :     ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
    7861             :   }
    7862             : 
    7863         112 :   if (block12.is_used()) {
    7864         112 :     compiler::TNode<Context> tmp67;
    7865         112 :     compiler::TNode<JSReceiver> tmp68;
    7866         112 :     compiler::TNode<Number> tmp69;
    7867         112 :     compiler::TNode<Object> tmp70;
    7868         112 :     compiler::TNode<Object> tmp71;
    7869         112 :     compiler::TNode<Object> tmp72;
    7870         112 :     compiler::TNode<String> tmp73;
    7871         112 :     compiler::TNode<JSReceiver> tmp74;
    7872         112 :     ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
    7873         112 :     ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
    7874             :   }
    7875             : 
    7876         112 :   if (block6.is_used()) {
    7877         112 :     compiler::TNode<Context> tmp75;
    7878         112 :     compiler::TNode<JSReceiver> tmp76;
    7879         112 :     compiler::TNode<Number> tmp77;
    7880         112 :     compiler::TNode<Object> tmp78;
    7881         112 :     compiler::TNode<Object> tmp79;
    7882         112 :     compiler::TNode<Object> tmp80;
    7883         112 :     compiler::TNode<String> tmp81;
    7884         112 :     ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
    7885         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
    7886         112 :     compiler::TNode<Object> tmp82;
    7887         112 :     USE(tmp82);
    7888         112 :     compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7889         112 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
    7890         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}));
    7891             :     }
    7892         112 :     if (catch83_label.is_used()) {
    7893         112 :       compiler::CodeAssemblerLabel catch83_skip(&ca_);
    7894         112 :       ca_.Goto(&catch83_skip);
    7895         112 :       compiler::TNode<Object> catch83_exception_object;
    7896         112 :       ca_.Bind(&catch83_label, &catch83_exception_object);
    7897         112 :       ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
    7898         112 :       ca_.Bind(&catch83_skip);
    7899             :     }
    7900         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 542);
    7901         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 544);
    7902         224 :     compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7903         112 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
    7904         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
    7905             :     }
    7906         112 :     if (catch84_label.is_used()) {
    7907         112 :       compiler::CodeAssemblerLabel catch84_skip(&ca_);
    7908         112 :       ca_.Goto(&catch84_skip);
    7909         112 :       compiler::TNode<Object> catch84_exception_object;
    7910         112 :       ca_.Bind(&catch84_label, &catch84_exception_object);
    7911         112 :       ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
    7912         112 :       ca_.Bind(&catch84_skip);
    7913             :     }
    7914         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
    7915         224 :     ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
    7916             :   }
    7917             : 
    7918         112 :   if (block16.is_used()) {
    7919         112 :     compiler::TNode<Context> tmp85;
    7920         112 :     compiler::TNode<JSReceiver> tmp86;
    7921         112 :     compiler::TNode<Number> tmp87;
    7922         112 :     compiler::TNode<Object> tmp88;
    7923         112 :     compiler::TNode<Object> tmp89;
    7924         112 :     compiler::TNode<Object> tmp90;
    7925         112 :     compiler::TNode<String> tmp91;
    7926         112 :     compiler::TNode<JSReceiver> tmp92;
    7927         112 :     compiler::TNode<String> tmp93;
    7928         112 :     compiler::TNode<Number> tmp94;
    7929         112 :     compiler::TNode<Object> tmp95;
    7930         112 :     compiler::TNode<Object> tmp96;
    7931         112 :     compiler::TNode<Object> tmp97;
    7932         112 :     ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
    7933         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
    7934         112 :     ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
    7935             :   }
    7936             : 
    7937         112 :   if (block17.is_used()) {
    7938         112 :     compiler::TNode<Context> tmp98;
    7939         112 :     compiler::TNode<JSReceiver> tmp99;
    7940         112 :     compiler::TNode<Number> tmp100;
    7941         112 :     compiler::TNode<Object> tmp101;
    7942         112 :     compiler::TNode<Object> tmp102;
    7943         112 :     compiler::TNode<Object> tmp103;
    7944         112 :     compiler::TNode<String> tmp104;
    7945         112 :     compiler::TNode<Object> tmp105;
    7946         112 :     compiler::TNode<JSReceiver> tmp106;
    7947         112 :     compiler::TNode<Object> tmp107;
    7948         112 :     ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
    7949         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 544);
    7950         112 :     ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
    7951             :   }
    7952             : 
    7953         112 :   if (block15.is_used()) {
    7954         112 :     compiler::TNode<Context> tmp108;
    7955         112 :     compiler::TNode<JSReceiver> tmp109;
    7956         112 :     compiler::TNode<Number> tmp110;
    7957         112 :     compiler::TNode<Object> tmp111;
    7958         112 :     compiler::TNode<Object> tmp112;
    7959         112 :     compiler::TNode<Object> tmp113;
    7960         112 :     compiler::TNode<String> tmp114;
    7961         112 :     compiler::TNode<Object> tmp115;
    7962         112 :     ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
    7963         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    7964         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
    7965         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
    7966         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
    7967         112 :     CodeStubAssembler(state_).Unreachable();
    7968             :   }
    7969             : 
    7970         112 :   if (block7.is_used()) {
    7971         112 :     compiler::TNode<Context> tmp117;
    7972         112 :     compiler::TNode<JSReceiver> tmp118;
    7973         112 :     compiler::TNode<Number> tmp119;
    7974         112 :     compiler::TNode<Object> tmp120;
    7975         112 :     compiler::TNode<Object> tmp121;
    7976         112 :     compiler::TNode<Object> tmp122;
    7977         112 :     compiler::TNode<String> tmp123;
    7978         112 :     ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
    7979         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
    7980         112 :     compiler::TNode<String> tmp124;
    7981         112 :     USE(tmp124);
    7982         112 :     tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    7983         112 :     ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
    7984             :   }
    7985             : 
    7986         112 :   if (block1.is_used()) {
    7987         112 :     compiler::TNode<Context> tmp125;
    7988         112 :     compiler::TNode<JSReceiver> tmp126;
    7989         112 :     compiler::TNode<Number> tmp127;
    7990         112 :     compiler::TNode<Object> tmp128;
    7991         112 :     compiler::TNode<Object> tmp129;
    7992         112 :     compiler::TNode<Object> tmp130;
    7993         112 :     compiler::TNode<Object> tmp131;
    7994         112 :     ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
    7995         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 529);
    7996         112 :     ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
    7997             :   }
    7998             : 
    7999         112 :     compiler::TNode<Context> tmp132;
    8000         112 :     compiler::TNode<JSReceiver> tmp133;
    8001         112 :     compiler::TNode<Number> tmp134;
    8002         112 :     compiler::TNode<Object> tmp135;
    8003         112 :     compiler::TNode<Object> tmp136;
    8004         112 :     compiler::TNode<Object> tmp137;
    8005         112 :     compiler::TNode<Object> tmp138;
    8006         112 :     ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    8007         224 :   return compiler::TNode<Object>{tmp138};
    8008             : }
    8009             : 
    8010         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) {
    8011         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8012         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8013         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8014         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8015         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8016         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8017         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8018         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8019         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8020         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8021         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8022         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8023         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8024         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8025         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8026         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8027         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8028         112 :     ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
    8029             : 
    8030         112 :   if (block0.is_used()) {
    8031         112 :     compiler::TNode<Context> tmp0;
    8032         112 :     compiler::TNode<JSReceiver> tmp1;
    8033         112 :     compiler::TNode<Number> tmp2;
    8034         112 :     compiler::TNode<Object> tmp3;
    8035         112 :     compiler::TNode<Object> tmp4;
    8036         112 :     compiler::TNode<Object> tmp5;
    8037         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    8038         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 536);
    8039         112 :     compiler::TNode<Oddball> tmp6;
    8040         112 :     USE(tmp6);
    8041         112 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    8042         112 :     compiler::TNode<BoolT> tmp7;
    8043         112 :     USE(tmp7);
    8044         112 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
    8045         112 :     ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
    8046             :   }
    8047             : 
    8048         112 :   if (block2.is_used()) {
    8049         112 :     compiler::TNode<Context> tmp8;
    8050         112 :     compiler::TNode<JSReceiver> tmp9;
    8051         112 :     compiler::TNode<Number> tmp10;
    8052         112 :     compiler::TNode<Object> tmp11;
    8053         112 :     compiler::TNode<Object> tmp12;
    8054         112 :     compiler::TNode<Object> tmp13;
    8055         112 :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    8056         112 :     ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
    8057             :   }
    8058             : 
    8059         112 :   if (block3.is_used()) {
    8060         112 :     compiler::TNode<Context> tmp14;
    8061         112 :     compiler::TNode<JSReceiver> tmp15;
    8062         112 :     compiler::TNode<Number> tmp16;
    8063         112 :     compiler::TNode<Object> tmp17;
    8064         112 :     compiler::TNode<Object> tmp18;
    8065         112 :     compiler::TNode<Object> tmp19;
    8066         112 :     ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
    8067         112 :     compiler::TNode<String> tmp20;
    8068         112 :     USE(tmp20);
    8069         112 :     tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
    8070         112 :     ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
    8071             :   }
    8072             : 
    8073         112 :   if (block5.is_used()) {
    8074         112 :     compiler::TNode<Context> tmp21;
    8075         112 :     compiler::TNode<JSReceiver> tmp22;
    8076         112 :     compiler::TNode<Number> tmp23;
    8077         112 :     compiler::TNode<Object> tmp24;
    8078         112 :     compiler::TNode<Object> tmp25;
    8079         112 :     compiler::TNode<Object> tmp26;
    8080         112 :     ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
    8081         112 :     compiler::TNode<String> tmp27;
    8082         112 :     USE(tmp27);
    8083         112 :     tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATString18ATconstexpr_string(","));
    8084         112 :     ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
    8085             :   }
    8086             : 
    8087         112 :   if (block4.is_used()) {
    8088         112 :     compiler::TNode<Context> tmp28;
    8089         112 :     compiler::TNode<JSReceiver> tmp29;
    8090         112 :     compiler::TNode<Number> tmp30;
    8091         112 :     compiler::TNode<Object> tmp31;
    8092         112 :     compiler::TNode<Object> tmp32;
    8093         112 :     compiler::TNode<Object> tmp33;
    8094         112 :     compiler::TNode<String> tmp34;
    8095         112 :     ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
    8096         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 535);
    8097         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 540);
    8098         112 :     compiler::TNode<Number> tmp35;
    8099         112 :     USE(tmp35);
    8100         112 :     tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
    8101         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    8102         224 :     compiler::CodeAssemblerLabel label1(&ca_);
    8103         112 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
    8104         112 :     if (label0.is_used()) {
    8105         112 :       ca_.Bind(&label0);
    8106         112 :       ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    8107             :     }
    8108         112 :     if (label1.is_used()) {
    8109         112 :       ca_.Bind(&label1);
    8110         112 :       ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    8111         112 :     }
    8112             :   }
    8113             : 
    8114         112 :   if (block9.is_used()) {
    8115         112 :     compiler::TNode<Context> tmp36;
    8116         112 :     compiler::TNode<JSReceiver> tmp37;
    8117         112 :     compiler::TNode<Number> tmp38;
    8118         112 :     compiler::TNode<Object> tmp39;
    8119         112 :     compiler::TNode<Object> tmp40;
    8120         112 :     compiler::TNode<Object> tmp41;
    8121         112 :     compiler::TNode<String> tmp42;
    8122         112 :     compiler::TNode<Number> tmp43;
    8123         112 :     ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    8124         112 :     ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
    8125             :   }
    8126             : 
    8127         112 :   if (block10.is_used()) {
    8128         112 :     compiler::TNode<Context> tmp44;
    8129         112 :     compiler::TNode<JSReceiver> tmp45;
    8130         112 :     compiler::TNode<Number> tmp46;
    8131         112 :     compiler::TNode<Object> tmp47;
    8132         112 :     compiler::TNode<Object> tmp48;
    8133         112 :     compiler::TNode<Object> tmp49;
    8134         112 :     compiler::TNode<String> tmp50;
    8135         112 :     compiler::TNode<Number> tmp51;
    8136         112 :     ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    8137         112 :     ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
    8138             :   }
    8139             : 
    8140         112 :   if (block8.is_used()) {
    8141         112 :     compiler::TNode<Context> tmp52;
    8142         112 :     compiler::TNode<JSReceiver> tmp53;
    8143         112 :     compiler::TNode<Number> tmp54;
    8144         112 :     compiler::TNode<Object> tmp55;
    8145         112 :     compiler::TNode<Object> tmp56;
    8146         112 :     compiler::TNode<Object> tmp57;
    8147         112 :     compiler::TNode<String> tmp58;
    8148         112 :     ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
    8149         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    8150         224 :     compiler::CodeAssemblerLabel label1(&ca_);
    8151         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
    8152         112 :     if (label0.is_used()) {
    8153         112 :       ca_.Bind(&label0);
    8154         112 :       ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    8155             :     }
    8156         112 :     if (label1.is_used()) {
    8157         112 :       ca_.Bind(&label1);
    8158         112 :       ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    8159         112 :     }
    8160             :   }
    8161             : 
    8162         112 :   if (block11.is_used()) {
    8163         112 :     compiler::TNode<Context> tmp59;
    8164         112 :     compiler::TNode<JSReceiver> tmp60;
    8165         112 :     compiler::TNode<Number> tmp61;
    8166         112 :     compiler::TNode<Object> tmp62;
    8167         112 :     compiler::TNode<Object> tmp63;
    8168         112 :     compiler::TNode<Object> tmp64;
    8169         112 :     compiler::TNode<String> tmp65;
    8170         112 :     compiler::TNode<JSReceiver> tmp66;
    8171         112 :     ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
    8172         112 :     ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
    8173             :   }
    8174             : 
    8175         112 :   if (block12.is_used()) {
    8176         112 :     compiler::TNode<Context> tmp67;
    8177         112 :     compiler::TNode<JSReceiver> tmp68;
    8178         112 :     compiler::TNode<Number> tmp69;
    8179         112 :     compiler::TNode<Object> tmp70;
    8180         112 :     compiler::TNode<Object> tmp71;
    8181         112 :     compiler::TNode<Object> tmp72;
    8182         112 :     compiler::TNode<String> tmp73;
    8183         112 :     compiler::TNode<JSReceiver> tmp74;
    8184         112 :     ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
    8185         112 :     ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
    8186             :   }
    8187             : 
    8188         112 :   if (block6.is_used()) {
    8189         112 :     compiler::TNode<Context> tmp75;
    8190         112 :     compiler::TNode<JSReceiver> tmp76;
    8191         112 :     compiler::TNode<Number> tmp77;
    8192         112 :     compiler::TNode<Object> tmp78;
    8193         112 :     compiler::TNode<Object> tmp79;
    8194         112 :     compiler::TNode<Object> tmp80;
    8195         112 :     compiler::TNode<String> tmp81;
    8196         112 :     ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
    8197         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
    8198         112 :     compiler::TNode<Object> tmp82;
    8199         112 :     USE(tmp82);
    8200         112 :     compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8201         112 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
    8202         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}));
    8203             :     }
    8204         112 :     if (catch83_label.is_used()) {
    8205         112 :       compiler::CodeAssemblerLabel catch83_skip(&ca_);
    8206         112 :       ca_.Goto(&catch83_skip);
    8207         112 :       compiler::TNode<Object> catch83_exception_object;
    8208         112 :       ca_.Bind(&catch83_label, &catch83_exception_object);
    8209         112 :       ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
    8210         112 :       ca_.Bind(&catch83_skip);
    8211             :     }
    8212         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 542);
    8213         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 544);
    8214         224 :     compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8215         112 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
    8216         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
    8217             :     }
    8218         112 :     if (catch84_label.is_used()) {
    8219         112 :       compiler::CodeAssemblerLabel catch84_skip(&ca_);
    8220         112 :       ca_.Goto(&catch84_skip);
    8221         112 :       compiler::TNode<Object> catch84_exception_object;
    8222         112 :       ca_.Bind(&catch84_label, &catch84_exception_object);
    8223         112 :       ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
    8224         112 :       ca_.Bind(&catch84_skip);
    8225             :     }
    8226         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
    8227         224 :     ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
    8228             :   }
    8229             : 
    8230         112 :   if (block16.is_used()) {
    8231         112 :     compiler::TNode<Context> tmp85;
    8232         112 :     compiler::TNode<JSReceiver> tmp86;
    8233         112 :     compiler::TNode<Number> tmp87;
    8234         112 :     compiler::TNode<Object> tmp88;
    8235         112 :     compiler::TNode<Object> tmp89;
    8236         112 :     compiler::TNode<Object> tmp90;
    8237         112 :     compiler::TNode<String> tmp91;
    8238         112 :     compiler::TNode<JSReceiver> tmp92;
    8239         112 :     compiler::TNode<String> tmp93;
    8240         112 :     compiler::TNode<Number> tmp94;
    8241         112 :     compiler::TNode<Object> tmp95;
    8242         112 :     compiler::TNode<Object> tmp96;
    8243         112 :     compiler::TNode<Object> tmp97;
    8244         112 :     ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
    8245         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
    8246         112 :     ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
    8247             :   }
    8248             : 
    8249         112 :   if (block17.is_used()) {
    8250         112 :     compiler::TNode<Context> tmp98;
    8251         112 :     compiler::TNode<JSReceiver> tmp99;
    8252         112 :     compiler::TNode<Number> tmp100;
    8253         112 :     compiler::TNode<Object> tmp101;
    8254         112 :     compiler::TNode<Object> tmp102;
    8255         112 :     compiler::TNode<Object> tmp103;
    8256         112 :     compiler::TNode<String> tmp104;
    8257         112 :     compiler::TNode<Object> tmp105;
    8258         112 :     compiler::TNode<JSReceiver> tmp106;
    8259         112 :     compiler::TNode<Object> tmp107;
    8260         112 :     ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
    8261         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 544);
    8262         112 :     ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
    8263             :   }
    8264             : 
    8265         112 :   if (block15.is_used()) {
    8266         112 :     compiler::TNode<Context> tmp108;
    8267         112 :     compiler::TNode<JSReceiver> tmp109;
    8268         112 :     compiler::TNode<Number> tmp110;
    8269         112 :     compiler::TNode<Object> tmp111;
    8270         112 :     compiler::TNode<Object> tmp112;
    8271         112 :     compiler::TNode<Object> tmp113;
    8272         112 :     compiler::TNode<String> tmp114;
    8273         112 :     compiler::TNode<Object> tmp115;
    8274         112 :     ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
    8275         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    8276         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
    8277         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
    8278         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
    8279         112 :     CodeStubAssembler(state_).Unreachable();
    8280             :   }
    8281             : 
    8282         112 :   if (block7.is_used()) {
    8283         112 :     compiler::TNode<Context> tmp117;
    8284         112 :     compiler::TNode<JSReceiver> tmp118;
    8285         112 :     compiler::TNode<Number> tmp119;
    8286         112 :     compiler::TNode<Object> tmp120;
    8287         112 :     compiler::TNode<Object> tmp121;
    8288         112 :     compiler::TNode<Object> tmp122;
    8289         112 :     compiler::TNode<String> tmp123;
    8290         112 :     ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
    8291         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
    8292         112 :     compiler::TNode<String> tmp124;
    8293         112 :     USE(tmp124);
    8294         112 :     tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    8295         112 :     ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
    8296             :   }
    8297             : 
    8298         112 :   if (block1.is_used()) {
    8299         112 :     compiler::TNode<Context> tmp125;
    8300         112 :     compiler::TNode<JSReceiver> tmp126;
    8301         112 :     compiler::TNode<Number> tmp127;
    8302         112 :     compiler::TNode<Object> tmp128;
    8303         112 :     compiler::TNode<Object> tmp129;
    8304         112 :     compiler::TNode<Object> tmp130;
    8305         112 :     compiler::TNode<Object> tmp131;
    8306         112 :     ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
    8307         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 529);
    8308         112 :     ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
    8309             :   }
    8310             : 
    8311         112 :     compiler::TNode<Context> tmp132;
    8312         112 :     compiler::TNode<JSReceiver> tmp133;
    8313         112 :     compiler::TNode<Number> tmp134;
    8314         112 :     compiler::TNode<Object> tmp135;
    8315         112 :     compiler::TNode<Object> tmp136;
    8316         112 :     compiler::TNode<Object> tmp137;
    8317         112 :     compiler::TNode<Object> tmp138;
    8318         112 :     ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    8319         224 :   return compiler::TNode<Object>{tmp138};
    8320             : }
    8321             : 
    8322         448 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<Smi> p_element) {
    8323         448 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8324         896 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8325         896 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8326         896 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8327         896 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8328         448 :     ca_.Goto(&block0, p_fixedArray, p_index, p_element);
    8329             : 
    8330         448 :   if (block0.is_used()) {
    8331         448 :     compiler::TNode<FixedArray> tmp0;
    8332         448 :     compiler::TNode<IntPtrT> tmp1;
    8333         448 :     compiler::TNode<Smi> tmp2;
    8334         448 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    8335         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
    8336         448 :     compiler::TNode<IntPtrT> tmp3;
    8337         448 :     USE(tmp3);
    8338         448 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
    8339         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
    8340         448 :     compiler::TNode<BoolT> tmp4;
    8341         448 :     USE(tmp4);
    8342         448 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
    8343         448 :     ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
    8344             :   }
    8345             : 
    8346         448 :   if (block2.is_used()) {
    8347         448 :     compiler::TNode<FixedArray> tmp5;
    8348         448 :     compiler::TNode<IntPtrT> tmp6;
    8349         448 :     compiler::TNode<Smi> tmp7;
    8350         448 :     compiler::TNode<IntPtrT> tmp8;
    8351         448 :     ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
    8352         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
    8353         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<Smi>{tmp7});
    8354         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
    8355         448 :     ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
    8356             :   }
    8357             : 
    8358         448 :   if (block3.is_used()) {
    8359         448 :     compiler::TNode<FixedArray> tmp9;
    8360         448 :     compiler::TNode<IntPtrT> tmp10;
    8361         448 :     compiler::TNode<Smi> tmp11;
    8362         448 :     compiler::TNode<IntPtrT> tmp12;
    8363         448 :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
    8364         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
    8365         448 :     compiler::TNode<IntPtrT> tmp13;
    8366         448 :     USE(tmp13);
    8367         448 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
    8368         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
    8369         448 :     compiler::TNode<IntPtrT> tmp14;
    8370         448 :     USE(tmp14);
    8371         448 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    8372         448 :     compiler::TNode<FixedArray> tmp15;
    8373         448 :     USE(tmp15);
    8374         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));
    8375         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
    8376         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
    8377         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<Smi>{tmp11});
    8378         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
    8379         448 :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
    8380             :   }
    8381             : 
    8382         448 :   if (block1.is_used()) {
    8383         448 :     compiler::TNode<FixedArray> tmp16;
    8384         448 :     compiler::TNode<IntPtrT> tmp17;
    8385         448 :     compiler::TNode<Smi> tmp18;
    8386         448 :     compiler::TNode<FixedArray> tmp19;
    8387         448 :     ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
    8388         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
    8389         448 :     ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
    8390             :   }
    8391             : 
    8392         448 :     compiler::TNode<FixedArray> tmp20;
    8393         448 :     compiler::TNode<IntPtrT> tmp21;
    8394         448 :     compiler::TNode<Smi> tmp22;
    8395         448 :     compiler::TNode<FixedArray> tmp23;
    8396         448 :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
    8397         896 :   return compiler::TNode<FixedArray>{tmp23};
    8398             : }
    8399             : 
    8400         224 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray8ATString(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<String> p_element) {
    8401         224 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8402         448 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8403         448 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8404         448 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8405         448 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8406         224 :     ca_.Goto(&block0, p_fixedArray, p_index, p_element);
    8407             : 
    8408         224 :   if (block0.is_used()) {
    8409         224 :     compiler::TNode<FixedArray> tmp0;
    8410         224 :     compiler::TNode<IntPtrT> tmp1;
    8411         224 :     compiler::TNode<String> tmp2;
    8412         224 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    8413         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
    8414         224 :     compiler::TNode<IntPtrT> tmp3;
    8415         224 :     USE(tmp3);
    8416         224 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
    8417         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
    8418         224 :     compiler::TNode<BoolT> tmp4;
    8419         224 :     USE(tmp4);
    8420         224 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
    8421         224 :     ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
    8422             :   }
    8423             : 
    8424         224 :   if (block2.is_used()) {
    8425         224 :     compiler::TNode<FixedArray> tmp5;
    8426         224 :     compiler::TNode<IntPtrT> tmp6;
    8427         224 :     compiler::TNode<String> tmp7;
    8428         224 :     compiler::TNode<IntPtrT> tmp8;
    8429         224 :     ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
    8430         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
    8431         224 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
    8432         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
    8433         224 :     ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
    8434             :   }
    8435             : 
    8436         224 :   if (block3.is_used()) {
    8437         224 :     compiler::TNode<FixedArray> tmp9;
    8438         224 :     compiler::TNode<IntPtrT> tmp10;
    8439         224 :     compiler::TNode<String> tmp11;
    8440         224 :     compiler::TNode<IntPtrT> tmp12;
    8441         224 :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
    8442         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
    8443         224 :     compiler::TNode<IntPtrT> tmp13;
    8444         224 :     USE(tmp13);
    8445         224 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
    8446         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
    8447         224 :     compiler::TNode<IntPtrT> tmp14;
    8448         224 :     USE(tmp14);
    8449         224 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    8450         224 :     compiler::TNode<FixedArray> tmp15;
    8451         224 :     USE(tmp15);
    8452         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));
    8453         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
    8454         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
    8455         224 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
    8456         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
    8457         224 :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
    8458             :   }
    8459             : 
    8460         224 :   if (block1.is_used()) {
    8461         224 :     compiler::TNode<FixedArray> tmp16;
    8462         224 :     compiler::TNode<IntPtrT> tmp17;
    8463         224 :     compiler::TNode<String> tmp18;
    8464         224 :     compiler::TNode<FixedArray> tmp19;
    8465         224 :     ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
    8466         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
    8467         224 :     ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
    8468             :   }
    8469             : 
    8470         224 :     compiler::TNode<FixedArray> tmp20;
    8471         224 :     compiler::TNode<IntPtrT> tmp21;
    8472         224 :     compiler::TNode<String> tmp22;
    8473         224 :     compiler::TNode<FixedArray> tmp23;
    8474         224 :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
    8475         448 :   return compiler::TNode<FixedArray>{tmp23};
    8476             : }
    8477             : 
    8478             : }  // namespace internal
    8479       86739 : }  // namespace v8
    8480             : 

Generated by: LCOV version 1.10