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: 1706 1706 100.0 %
Date: 2019-04-19 Functions: 65 65 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/objects/free-space.h"
      10             : #include "src/objects/js-generator.h"
      11             : #include "src/objects/js-promise.h"
      12             : #include "src/objects/js-regexp-string-iterator.h"
      13             : #include "src/objects/module.h"
      14             : #include "src/objects/stack-frame-info.h"
      15             : #include "src/builtins/builtins-regexp-gen.h"
      16             : #include "src/builtins/builtins-array-gen.h"
      17             : #include "src/builtins/builtins-collections-gen.h"
      18             : #include "src/builtins/builtins-data-view-gen.h"
      19             : #include "src/builtins/builtins-iterator-gen.h"
      20             : #include "src/builtins/builtins-proxy-gen.h"
      21             : #include "src/builtins/builtins-proxy-gen.h"
      22             : #include "src/builtins/builtins-proxy-gen.h"
      23             : #include "src/builtins/builtins-proxy-gen.h"
      24             : #include "src/builtins/builtins-regexp-gen.h"
      25             : #include "src/builtins/builtins-regexp-gen.h"
      26             : #include "src/builtins/builtins-regexp-gen.h"
      27             : #include "src/builtins/builtins-typed-array-gen.h"
      28             : #include "src/builtins/builtins-constructor-gen.h"
      29             : #include "src/builtins/builtins-typed-array-gen.h"
      30             : #include "src/builtins/builtins-typed-array-gen.h"
      31             : #include "src/builtins/builtins-typed-array-gen.h"
      32             : #include "src/builtins/builtins-typed-array-gen.h"
      33             : #include "src/builtins/builtins-typed-array-gen.h"
      34             : #include "src/builtins/builtins-typed-array-gen.h"
      35             : #include "src/builtins/builtins-typed-array-gen.h"
      36             : #include "src/builtins/builtins-typed-array-gen.h"
      37             : #include "torque-generated/builtins-base-from-dsl-gen.h"
      38             : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
      39             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      40             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      41             : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
      42             : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
      43             : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
      44             : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
      45             : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
      46             : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
      47             : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
      48             : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
      49             : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
      50             : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
      51             : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
      52             : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
      53             : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
      54             : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
      55             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      56             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      57             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      58             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      59             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      60             : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
      61             : #include "torque-generated/builtins-regexp-from-dsl-gen.h"
      62             : #include "torque-generated/builtins-regexp-replace-from-dsl-gen.h"
      63             : #include "torque-generated/builtins-string-from-dsl-gen.h"
      64             : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
      65             : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
      66             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      67             : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
      68             : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
      69             : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
      70             : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
      71             : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
      72             : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
      73             : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
      74             : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
      75             : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
      76             : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
      77             : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
      78             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      79             : 
      80             : namespace v8 {
      81             : namespace internal {
      82             : 
      83         224 : TF_BUILTIN(LoadJoinElement20ATDictionaryElements, CodeStubAssembler) {
      84          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
      85             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
      86             :   USE(parameter0);
      87             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
      88             :   USE(parameter1);
      89             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
      90             :   USE(parameter2);
      91             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      92             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      93             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      94             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      95             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
      96             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      97             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
      98             : 
      99          56 :   if (block0.is_used()) {
     100             :     compiler::TNode<Context> tmp0;
     101             :     compiler::TNode<JSReceiver> tmp1;
     102             :     compiler::TNode<Number> tmp2;
     103             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     104          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 21);
     105             :     compiler::TNode<JSArray> tmp3;
     106             :     USE(tmp3);
     107         112 :     tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     108          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 22);
     109          56 :     compiler::TNode<IntPtrT> tmp4 = ca_.IntPtrConstant(JSObject::kElementsOffset);
     110             :     USE(tmp4);
     111         112 :     compiler::TNode<FixedArrayBase>tmp5 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp3, tmp4});
     112             :     compiler::TNode<NumberDictionary> tmp6;
     113             :     USE(tmp6);
     114         112 :     tmp6 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
     115          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 24);
     116             :     compiler::TNode<UintPtrT> tmp7;
     117             :     USE(tmp7);
     118         112 :     tmp7 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number>{tmp2}));
     119             :     compiler::TNode<IntPtrT> tmp8;
     120             :     USE(tmp8);
     121         112 :     tmp8 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp7}));
     122             :     compiler::TNode<Object> tmp9;
     123             :     USE(tmp9);
     124          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     125          56 :     compiler::CodeAssemblerLabel label1(&ca_);
     126         112 :     tmp9 = CodeStubAssembler(state_).BasicLoadNumberDictionaryElement(compiler::TNode<NumberDictionary>{tmp6}, compiler::TNode<IntPtrT>{tmp8}, &label0, &label1);
     127             :     ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp8, tmp9);
     128          56 :     if (label0.is_used()) {
     129          56 :       ca_.Bind(&label0);
     130             :       ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp8);
     131             :     }
     132          56 :     if (label1.is_used()) {
     133          56 :       ca_.Bind(&label1);
     134             :       ca_.Goto(&block7, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp8);
     135             :     }
     136             :   }
     137             : 
     138          56 :   if (block6.is_used()) {
     139             :     compiler::TNode<Context> tmp10;
     140             :     compiler::TNode<JSReceiver> tmp11;
     141             :     compiler::TNode<Number> tmp12;
     142             :     compiler::TNode<JSArray> tmp13;
     143             :     compiler::TNode<NumberDictionary> tmp14;
     144             :     compiler::TNode<NumberDictionary> tmp15;
     145             :     compiler::TNode<IntPtrT> tmp16;
     146             :     ca_.Bind(&block6, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
     147             :     ca_.Goto(&block4, tmp10, tmp11, tmp12, tmp13, tmp14);
     148             :   }
     149             : 
     150          56 :   if (block7.is_used()) {
     151             :     compiler::TNode<Context> tmp17;
     152             :     compiler::TNode<JSReceiver> tmp18;
     153             :     compiler::TNode<Number> tmp19;
     154             :     compiler::TNode<JSArray> tmp20;
     155             :     compiler::TNode<NumberDictionary> tmp21;
     156             :     compiler::TNode<NumberDictionary> tmp22;
     157             :     compiler::TNode<IntPtrT> tmp23;
     158             :     ca_.Bind(&block7, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
     159             :     ca_.Goto(&block2, tmp17, tmp18, tmp19, tmp20, tmp21);
     160             :   }
     161             : 
     162          56 :   if (block5.is_used()) {
     163             :     compiler::TNode<Context> tmp24;
     164             :     compiler::TNode<JSReceiver> tmp25;
     165             :     compiler::TNode<Number> tmp26;
     166             :     compiler::TNode<JSArray> tmp27;
     167             :     compiler::TNode<NumberDictionary> tmp28;
     168             :     compiler::TNode<NumberDictionary> tmp29;
     169             :     compiler::TNode<IntPtrT> tmp30;
     170             :     compiler::TNode<Object> tmp31;
     171             :     ca_.Bind(&block5, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
     172         112 :     CodeStubAssembler(state_).Return(tmp31);
     173             :   }
     174             : 
     175          56 :   if (block4.is_used()) {
     176             :     compiler::TNode<Context> tmp32;
     177             :     compiler::TNode<JSReceiver> tmp33;
     178             :     compiler::TNode<Number> tmp34;
     179             :     compiler::TNode<JSArray> tmp35;
     180             :     compiler::TNode<NumberDictionary> tmp36;
     181             :     ca_.Bind(&block4, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
     182          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 28);
     183             :     compiler::TNode<Object> tmp37;
     184             :     USE(tmp37);
     185         112 :     tmp37 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp32}, compiler::TNode<Object>{tmp33}, compiler::TNode<Object>{tmp34}));
     186         112 :     CodeStubAssembler(state_).Return(tmp37);
     187             :   }
     188             : 
     189          56 :   if (block2.is_used()) {
     190             :     compiler::TNode<Context> tmp38;
     191             :     compiler::TNode<JSReceiver> tmp39;
     192             :     compiler::TNode<Number> tmp40;
     193             :     compiler::TNode<JSArray> tmp41;
     194             :     compiler::TNode<NumberDictionary> tmp42;
     195             :     ca_.Bind(&block2, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42);
     196          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 31);
     197             :     compiler::TNode<String> tmp43;
     198             :     USE(tmp43);
     199         112 :     tmp43 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     200         112 :     CodeStubAssembler(state_).Return(tmp43);
     201             :   }
     202          56 : }
     203             : 
     204         224 : TF_BUILTIN(LoadJoinElement25ATFastSmiOrObjectElements, CodeStubAssembler) {
     205          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     206             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     207             :   USE(parameter0);
     208             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
     209             :   USE(parameter1);
     210             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
     211             :   USE(parameter2);
     212             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     213             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     214             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     215             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     216             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     217             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
     218             : 
     219          56 :   if (block0.is_used()) {
     220             :     compiler::TNode<Context> tmp0;
     221             :     compiler::TNode<JSReceiver> tmp1;
     222             :     compiler::TNode<Number> tmp2;
     223             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     224          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 37);
     225             :     compiler::TNode<JSArray> tmp3;
     226             :     USE(tmp3);
     227         112 :     tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     228          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 38);
     229          56 :     compiler::TNode<IntPtrT> tmp4 = ca_.IntPtrConstant(JSObject::kElementsOffset);
     230             :     USE(tmp4);
     231         112 :     compiler::TNode<FixedArrayBase>tmp5 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp3, tmp4});
     232             :     compiler::TNode<FixedArray> tmp6;
     233             :     USE(tmp6);
     234         112 :     tmp6 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
     235          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 39);
     236             :     compiler::TNode<Smi> tmp7;
     237             :     USE(tmp7);
     238         112 :     tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     239             :     compiler::TNode<Object> tmp8;
     240             :     USE(tmp8);
     241         112 :     tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp6}, compiler::TNode<Smi>{tmp7}));
     242          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 40);
     243             :     compiler::TNode<Oddball> tmp9;
     244             :     USE(tmp9);
     245         112 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).Hole();
     246             :     compiler::TNode<BoolT> tmp10;
     247             :     USE(tmp10);
     248         112 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp8}, compiler::TNode<HeapObject>{tmp9}));
     249          56 :     ca_.Branch(tmp10, &block1, &block2, tmp0, tmp1, tmp2, tmp3, tmp6, tmp8);
     250             :   }
     251             : 
     252          56 :   if (block1.is_used()) {
     253             :     compiler::TNode<Context> tmp11;
     254             :     compiler::TNode<JSReceiver> tmp12;
     255             :     compiler::TNode<Number> tmp13;
     256             :     compiler::TNode<JSArray> tmp14;
     257             :     compiler::TNode<FixedArray> tmp15;
     258             :     compiler::TNode<Object> tmp16;
     259             :     ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
     260             :     compiler::TNode<String> tmp17;
     261             :     USE(tmp17);
     262         112 :     tmp17 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     263             :     ca_.Goto(&block4, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
     264             :   }
     265             : 
     266          56 :   if (block2.is_used()) {
     267             :     compiler::TNode<Context> tmp18;
     268             :     compiler::TNode<JSReceiver> tmp19;
     269             :     compiler::TNode<Number> tmp20;
     270             :     compiler::TNode<JSArray> tmp21;
     271             :     compiler::TNode<FixedArray> tmp22;
     272             :     compiler::TNode<Object> tmp23;
     273             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
     274             :     ca_.Goto(&block3, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp23);
     275             :   }
     276             : 
     277          56 :   if (block4.is_used()) {
     278             :     compiler::TNode<Context> tmp24;
     279             :     compiler::TNode<JSReceiver> tmp25;
     280             :     compiler::TNode<Number> tmp26;
     281             :     compiler::TNode<JSArray> tmp27;
     282             :     compiler::TNode<FixedArray> tmp28;
     283             :     compiler::TNode<Object> tmp29;
     284             :     compiler::TNode<String> tmp30;
     285             :     ca_.Bind(&block4, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
     286             :     ca_.Goto(&block3, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30);
     287             :   }
     288             : 
     289          56 :   if (block3.is_used()) {
     290             :     compiler::TNode<Context> tmp31;
     291             :     compiler::TNode<JSReceiver> tmp32;
     292             :     compiler::TNode<Number> tmp33;
     293             :     compiler::TNode<JSArray> tmp34;
     294             :     compiler::TNode<FixedArray> tmp35;
     295             :     compiler::TNode<Object> tmp36;
     296             :     compiler::TNode<Object> tmp37;
     297             :     ca_.Bind(&block3, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
     298         112 :     CodeStubAssembler(state_).Return(tmp37);
     299             :   }
     300          56 : }
     301             : 
     302         224 : TF_BUILTIN(LoadJoinElement20ATFastDoubleElements, CodeStubAssembler) {
     303          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     304             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     305             :   USE(parameter0);
     306             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
     307             :   USE(parameter1);
     308             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
     309             :   USE(parameter2);
     310             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     311             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     312             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi, Float64T> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     313             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     314             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     315             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
     316             : 
     317          56 :   if (block0.is_used()) {
     318             :     compiler::TNode<Context> tmp0;
     319             :     compiler::TNode<JSReceiver> tmp1;
     320             :     compiler::TNode<Number> tmp2;
     321             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     322          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 45);
     323             :     compiler::TNode<JSArray> tmp3;
     324             :     USE(tmp3);
     325         112 :     tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     326          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 47);
     327          56 :     compiler::TNode<IntPtrT> tmp4 = ca_.IntPtrConstant(JSObject::kElementsOffset);
     328             :     USE(tmp4);
     329         112 :     compiler::TNode<FixedArrayBase>tmp5 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp3, tmp4});
     330             :     compiler::TNode<FixedDoubleArray> tmp6;
     331             :     USE(tmp6);
     332         112 :     tmp6 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
     333          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 46);
     334          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
     335             :     compiler::TNode<Smi> tmp7;
     336             :     USE(tmp7);
     337         112 :     tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     338          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
     339             :     compiler::TNode<Float64T> tmp8;
     340             :     USE(tmp8);
     341          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     342         112 :     tmp8 = CodeStubAssembler(state_).LoadDoubleWithHoleCheck(compiler::TNode<FixedDoubleArray>{tmp6}, compiler::TNode<Smi>{tmp7}, &label0);
     343             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp7, tmp8);
     344          56 :     if (label0.is_used()) {
     345          56 :       ca_.Bind(&label0);
     346             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp7);
     347             :     }
     348             :   }
     349             : 
     350          56 :   if (block4.is_used()) {
     351             :     compiler::TNode<Context> tmp9;
     352             :     compiler::TNode<JSReceiver> tmp10;
     353             :     compiler::TNode<Number> tmp11;
     354             :     compiler::TNode<JSArray> tmp12;
     355             :     compiler::TNode<FixedDoubleArray> tmp13;
     356             :     compiler::TNode<FixedDoubleArray> tmp14;
     357             :     compiler::TNode<Smi> tmp15;
     358             :     ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     359             :     ca_.Goto(&block2, tmp9, tmp10, tmp11, tmp12, tmp13);
     360             :   }
     361             : 
     362          56 :   if (block3.is_used()) {
     363             :     compiler::TNode<Context> tmp16;
     364             :     compiler::TNode<JSReceiver> tmp17;
     365             :     compiler::TNode<Number> tmp18;
     366             :     compiler::TNode<JSArray> tmp19;
     367             :     compiler::TNode<FixedDoubleArray> tmp20;
     368             :     compiler::TNode<FixedDoubleArray> tmp21;
     369             :     compiler::TNode<Smi> tmp22;
     370             :     compiler::TNode<Float64T> tmp23;
     371             :     ca_.Bind(&block3, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
     372             :     ca_.Goto(&block1, tmp16, tmp17, tmp18, tmp19, tmp20, tmp23);
     373             :   }
     374             : 
     375          56 :   if (block2.is_used()) {
     376             :     compiler::TNode<Context> tmp24;
     377             :     compiler::TNode<JSReceiver> tmp25;
     378             :     compiler::TNode<Number> tmp26;
     379             :     compiler::TNode<JSArray> tmp27;
     380             :     compiler::TNode<FixedDoubleArray> tmp28;
     381             :     ca_.Bind(&block2, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
     382          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
     383             :     compiler::TNode<String> tmp29;
     384             :     USE(tmp29);
     385         112 :     tmp29 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     386         112 :     CodeStubAssembler(state_).Return(tmp29);
     387             :   }
     388             : 
     389          56 :   if (block1.is_used()) {
     390             :     compiler::TNode<Context> tmp30;
     391             :     compiler::TNode<JSReceiver> tmp31;
     392             :     compiler::TNode<Number> tmp32;
     393             :     compiler::TNode<JSArray> tmp33;
     394             :     compiler::TNode<FixedDoubleArray> tmp34;
     395             :     compiler::TNode<Float64T> tmp35;
     396             :     ca_.Bind(&block1, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
     397          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
     398          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 50);
     399             :     compiler::TNode<HeapNumber> tmp36;
     400             :     USE(tmp36);
     401         168 :     tmp36 = ca_.UncheckedCast<HeapNumber>(CodeStubAssembler(state_).AllocateHeapNumberWithValue(compiler::TNode<Float64T>{tmp35}));
     402         112 :     CodeStubAssembler(state_).Return(tmp36);
     403             :   }
     404          56 : }
     405             : 
     406         224 : TF_BUILTIN(ConvertToLocaleString, CodeStubAssembler) {
     407          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     408             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     409             :   USE(parameter0);
     410             :   compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kElement));
     411             :   USE(parameter1);
     412             :   compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kLocales));
     413             :   USE(parameter2);
     414             :   compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kOptions));
     415             :   USE(parameter3);
     416             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     417             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     418             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     419             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     420             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     421             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     422             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     423             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     424             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     425             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     426             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     427             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     428             :     ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3);
     429             : 
     430          56 :   if (block0.is_used()) {
     431             :     compiler::TNode<Context> tmp0;
     432             :     compiler::TNode<Object> tmp1;
     433             :     compiler::TNode<Object> tmp2;
     434             :     compiler::TNode<Object> tmp3;
     435             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
     436          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 65);
     437             :     compiler::TNode<BoolT> tmp4;
     438             :     USE(tmp4);
     439         168 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp1}));
     440          56 :     ca_.Branch(tmp4, &block1, &block2, tmp0, tmp1, tmp2, tmp3);
     441             :   }
     442             : 
     443          56 :   if (block1.is_used()) {
     444             :     compiler::TNode<Context> tmp5;
     445             :     compiler::TNode<Object> tmp6;
     446             :     compiler::TNode<Object> tmp7;
     447             :     compiler::TNode<Object> tmp8;
     448             :     ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
     449             :     compiler::TNode<String> tmp9;
     450             :     USE(tmp9);
     451         112 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     452         112 :     CodeStubAssembler(state_).Return(tmp9);
     453             :   }
     454             : 
     455          56 :   if (block2.is_used()) {
     456             :     compiler::TNode<Context> tmp10;
     457             :     compiler::TNode<Object> tmp11;
     458             :     compiler::TNode<Object> tmp12;
     459             :     compiler::TNode<Object> tmp13;
     460             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13);
     461          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 67);
     462             :     compiler::TNode<Object> tmp14;
     463             :     USE(tmp14);
     464         112 :     tmp14 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("toLocaleString"));
     465             :     compiler::TNode<Object> tmp15;
     466             :     USE(tmp15);
     467         112 :     tmp15 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp11}, compiler::TNode<Object>{tmp14}));
     468          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 69);
     469             :     compiler::TNode<JSReceiver> tmp16;
     470             :     USE(tmp16);
     471          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     472         112 :     tmp16 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp15}, &label0);
     473             :     ca_.Goto(&block5, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15, tmp16);
     474          56 :     if (label0.is_used()) {
     475          56 :       ca_.Bind(&label0);
     476             :       ca_.Goto(&block6, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15);
     477             :     }
     478             :   }
     479             : 
     480          56 :   if (block6.is_used()) {
     481             :     compiler::TNode<Context> tmp17;
     482             :     compiler::TNode<Object> tmp18;
     483             :     compiler::TNode<Object> tmp19;
     484             :     compiler::TNode<Object> tmp20;
     485             :     compiler::TNode<Object> tmp21;
     486             :     compiler::TNode<Object> tmp22;
     487             :     ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
     488             :     ca_.Goto(&block4, tmp17, tmp18, tmp19, tmp20, tmp21);
     489             :   }
     490             : 
     491          56 :   if (block5.is_used()) {
     492             :     compiler::TNode<Context> tmp23;
     493             :     compiler::TNode<Object> tmp24;
     494             :     compiler::TNode<Object> tmp25;
     495             :     compiler::TNode<Object> tmp26;
     496             :     compiler::TNode<Object> tmp27;
     497             :     compiler::TNode<Object> tmp28;
     498             :     compiler::TNode<JSReceiver> tmp29;
     499             :     ca_.Bind(&block5, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
     500          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 70);
     501          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
     502             :     compiler::TNode<BoolT> tmp30;
     503             :     USE(tmp30);
     504         168 :     tmp30 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp25}));
     505          56 :     ca_.Branch(tmp30, &block7, &block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp29, ca_.Uninitialized<Object>());
     506             :   }
     507             : 
     508          56 :   if (block7.is_used()) {
     509             :     compiler::TNode<Context> tmp31;
     510             :     compiler::TNode<Object> tmp32;
     511             :     compiler::TNode<Object> tmp33;
     512             :     compiler::TNode<Object> tmp34;
     513             :     compiler::TNode<Object> tmp35;
     514             :     compiler::TNode<JSReceiver> tmp36;
     515             :     compiler::TNode<Object> tmp37;
     516             :     ca_.Bind(&block7, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
     517          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 72);
     518             :     compiler::TNode<Object> tmp38;
     519             :     USE(tmp38);
     520         168 :     tmp38 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp31}, compiler::TNode<JSReceiver>{tmp36}, compiler::TNode<Object>{tmp32}));
     521          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
     522             :     ca_.Goto(&block9, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp38);
     523             :   }
     524             : 
     525          56 :   if (block8.is_used()) {
     526             :     compiler::TNode<Context> tmp39;
     527             :     compiler::TNode<Object> tmp40;
     528             :     compiler::TNode<Object> tmp41;
     529             :     compiler::TNode<Object> tmp42;
     530             :     compiler::TNode<Object> tmp43;
     531             :     compiler::TNode<JSReceiver> tmp44;
     532             :     compiler::TNode<Object> tmp45;
     533             :     ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
     534          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
     535             :     compiler::TNode<BoolT> tmp46;
     536             :     USE(tmp46);
     537         168 :     tmp46 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp42}));
     538          56 :     ca_.Branch(tmp46, &block10, &block11, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45);
     539             :   }
     540             : 
     541          56 :   if (block10.is_used()) {
     542             :     compiler::TNode<Context> tmp47;
     543             :     compiler::TNode<Object> tmp48;
     544             :     compiler::TNode<Object> tmp49;
     545             :     compiler::TNode<Object> tmp50;
     546             :     compiler::TNode<Object> tmp51;
     547             :     compiler::TNode<JSReceiver> tmp52;
     548             :     compiler::TNode<Object> tmp53;
     549             :     ca_.Bind(&block10, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
     550          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 74);
     551             :     compiler::TNode<Object> tmp54;
     552             :     USE(tmp54);
     553         168 :     tmp54 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp47}, compiler::TNode<JSReceiver>{tmp52}, compiler::TNode<Object>{tmp48}, compiler::TNode<Object>{tmp49}));
     554          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
     555             :     ca_.Goto(&block12, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp54);
     556             :   }
     557             : 
     558          56 :   if (block11.is_used()) {
     559             :     compiler::TNode<Context> tmp55;
     560             :     compiler::TNode<Object> tmp56;
     561             :     compiler::TNode<Object> tmp57;
     562             :     compiler::TNode<Object> tmp58;
     563             :     compiler::TNode<Object> tmp59;
     564             :     compiler::TNode<JSReceiver> tmp60;
     565             :     compiler::TNode<Object> tmp61;
     566             :     ca_.Bind(&block11, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61);
     567          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 76);
     568             :     compiler::TNode<Object> tmp62;
     569             :     USE(tmp62);
     570         168 :     tmp62 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp55}, compiler::TNode<JSReceiver>{tmp60}, compiler::TNode<Object>{tmp56}, compiler::TNode<Object>{tmp57}, compiler::TNode<Object>{tmp58}));
     571          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
     572             :     ca_.Goto(&block12, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp62);
     573             :   }
     574             : 
     575          56 :   if (block12.is_used()) {
     576             :     compiler::TNode<Context> tmp63;
     577             :     compiler::TNode<Object> tmp64;
     578             :     compiler::TNode<Object> tmp65;
     579             :     compiler::TNode<Object> tmp66;
     580             :     compiler::TNode<Object> tmp67;
     581             :     compiler::TNode<JSReceiver> tmp68;
     582             :     compiler::TNode<Object> tmp69;
     583             :     ca_.Bind(&block12, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
     584          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
     585             :     ca_.Goto(&block9, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69);
     586             :   }
     587             : 
     588          56 :   if (block9.is_used()) {
     589             :     compiler::TNode<Context> tmp70;
     590             :     compiler::TNode<Object> tmp71;
     591             :     compiler::TNode<Object> tmp72;
     592             :     compiler::TNode<Object> tmp73;
     593             :     compiler::TNode<Object> tmp74;
     594             :     compiler::TNode<JSReceiver> tmp75;
     595             :     compiler::TNode<Object> tmp76;
     596             :     ca_.Bind(&block9, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76);
     597          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 78);
     598             :     compiler::TNode<String> tmp77;
     599             :     USE(tmp77);
     600         224 :     tmp77 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp70}, compiler::TNode<Object>{tmp76}));
     601         112 :     CodeStubAssembler(state_).Return(tmp77);
     602             :   }
     603             : 
     604          56 :   if (block4.is_used()) {
     605             :     compiler::TNode<Context> tmp78;
     606             :     compiler::TNode<Object> tmp79;
     607             :     compiler::TNode<Object> tmp80;
     608             :     compiler::TNode<Object> tmp81;
     609             :     compiler::TNode<Object> tmp82;
     610             :     ca_.Bind(&block4, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82);
     611          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 81);
     612         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp78}, MessageTemplate::kCalledNonCallable, compiler::TNode<Object>{tmp82});
     613             :   }
     614          56 : }
     615             : 
     616         112 : void ArrayJoinBuiltinsFromDSLAssembler::CannotUseSameArrayAccessor7JSArray(compiler::TNode<Context> p_context, compiler::TNode<BuiltinPtr> p_loadFn, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<Map> p_originalMap, compiler::TNode<Number> p_originalLen, compiler::CodeAssemblerLabel* label_Cannot, compiler::CodeAssemblerLabel* label_Can) {
     617         112 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     618             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     619             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     620             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     621             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     622             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     623             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     624             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     625             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     626             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     627             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     628             :     ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_originalMap, p_originalLen);
     629             : 
     630         112 :   if (block0.is_used()) {
     631             :     compiler::TNode<Context> tmp0;
     632             :     compiler::TNode<BuiltinPtr> tmp1;
     633             :     compiler::TNode<JSReceiver> tmp2;
     634             :     compiler::TNode<Map> tmp3;
     635             :     compiler::TNode<Number> tmp4;
     636             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     637         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 96);
     638             :     compiler::TNode<BoolT> tmp5;
     639             :     USE(tmp5);
     640         224 :     tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp1}, compiler::TNode<Smi>{ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor))}));
     641         112 :     ca_.Branch(tmp5, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4);
     642             :   }
     643             : 
     644         112 :   if (block3.is_used()) {
     645             :     compiler::TNode<Context> tmp6;
     646             :     compiler::TNode<BuiltinPtr> tmp7;
     647             :     compiler::TNode<JSReceiver> tmp8;
     648             :     compiler::TNode<Map> tmp9;
     649             :     compiler::TNode<Number> tmp10;
     650             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
     651             :     ca_.Goto(&block2);
     652             :   }
     653             : 
     654         112 :   if (block4.is_used()) {
     655             :     compiler::TNode<Context> tmp11;
     656             :     compiler::TNode<BuiltinPtr> tmp12;
     657             :     compiler::TNode<JSReceiver> tmp13;
     658             :     compiler::TNode<Map> tmp14;
     659             :     compiler::TNode<Number> tmp15;
     660             :     ca_.Bind(&block4, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     661         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 98);
     662             :     compiler::TNode<JSArray> tmp16;
     663             :     USE(tmp16);
     664         336 :     tmp16 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp11}, compiler::TNode<Object>{tmp13}));
     665         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 99);
     666         112 :     compiler::TNode<IntPtrT> tmp17 = ca_.IntPtrConstant(HeapObject::kMapOffset);
     667             :     USE(tmp17);
     668         224 :     compiler::TNode<Map>tmp18 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp16, tmp17});
     669             :     compiler::TNode<BoolT> tmp19;
     670             :     USE(tmp19);
     671         224 :     tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<HeapObject>{tmp14}, compiler::TNode<HeapObject>{tmp18}));
     672         112 :     ca_.Branch(tmp19, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
     673             :   }
     674             : 
     675         112 :   if (block5.is_used()) {
     676             :     compiler::TNode<Context> tmp20;
     677             :     compiler::TNode<BuiltinPtr> tmp21;
     678             :     compiler::TNode<JSReceiver> tmp22;
     679             :     compiler::TNode<Map> tmp23;
     680             :     compiler::TNode<Number> tmp24;
     681             :     compiler::TNode<JSArray> tmp25;
     682             :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
     683             :     ca_.Goto(&block1);
     684             :   }
     685             : 
     686         112 :   if (block6.is_used()) {
     687             :     compiler::TNode<Context> tmp26;
     688             :     compiler::TNode<BuiltinPtr> tmp27;
     689             :     compiler::TNode<JSReceiver> tmp28;
     690             :     compiler::TNode<Map> tmp29;
     691             :     compiler::TNode<Number> tmp30;
     692             :     compiler::TNode<JSArray> tmp31;
     693             :     ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
     694         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 100);
     695         112 :     compiler::TNode<IntPtrT> tmp32 = ca_.IntPtrConstant(JSArray::kLengthOffset);
     696             :     USE(tmp32);
     697         336 :     compiler::TNode<Number>tmp33 = CodeStubAssembler(state_).LoadReference<Number>(CodeStubAssembler::Reference{tmp31, tmp32});
     698             :     compiler::TNode<BoolT> tmp34;
     699             :     USE(tmp34);
     700         336 :     tmp34 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp33}));
     701         112 :     ca_.Branch(tmp34, &block7, &block8, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31);
     702             :   }
     703             : 
     704         112 :   if (block7.is_used()) {
     705             :     compiler::TNode<Context> tmp35;
     706             :     compiler::TNode<BuiltinPtr> tmp36;
     707             :     compiler::TNode<JSReceiver> tmp37;
     708             :     compiler::TNode<Map> tmp38;
     709             :     compiler::TNode<Number> tmp39;
     710             :     compiler::TNode<JSArray> tmp40;
     711             :     ca_.Bind(&block7, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40);
     712             :     ca_.Goto(&block1);
     713             :   }
     714             : 
     715         112 :   if (block8.is_used()) {
     716             :     compiler::TNode<Context> tmp41;
     717             :     compiler::TNode<BuiltinPtr> tmp42;
     718             :     compiler::TNode<JSReceiver> tmp43;
     719             :     compiler::TNode<Map> tmp44;
     720             :     compiler::TNode<Number> tmp45;
     721             :     compiler::TNode<JSArray> tmp46;
     722             :     ca_.Bind(&block8, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46);
     723         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 101);
     724             :     compiler::TNode<BoolT> tmp47;
     725             :     USE(tmp47);
     726         224 :     tmp47 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
     727         112 :     ca_.Branch(tmp47, &block9, &block10, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46);
     728             :   }
     729             : 
     730         112 :   if (block9.is_used()) {
     731             :     compiler::TNode<Context> tmp48;
     732             :     compiler::TNode<BuiltinPtr> tmp49;
     733             :     compiler::TNode<JSReceiver> tmp50;
     734             :     compiler::TNode<Map> tmp51;
     735             :     compiler::TNode<Number> tmp52;
     736             :     compiler::TNode<JSArray> tmp53;
     737             :     ca_.Bind(&block9, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
     738             :     ca_.Goto(&block1);
     739             :   }
     740             : 
     741         112 :   if (block10.is_used()) {
     742             :     compiler::TNode<Context> tmp54;
     743             :     compiler::TNode<BuiltinPtr> tmp55;
     744             :     compiler::TNode<JSReceiver> tmp56;
     745             :     compiler::TNode<Map> tmp57;
     746             :     compiler::TNode<Number> tmp58;
     747             :     compiler::TNode<JSArray> tmp59;
     748             :     ca_.Bind(&block10, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
     749         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 102);
     750             :     ca_.Goto(&block2);
     751             :   }
     752             : 
     753         112 :   if (block1.is_used()) {
     754             :     ca_.Bind(&block1);
     755         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
     756         112 :     ca_.Goto(label_Cannot);
     757             :   }
     758             : 
     759         112 :   if (block2.is_used()) {
     760             :     ca_.Bind(&block2);
     761         112 :     ca_.Goto(label_Can);
     762             :   }
     763         112 : }
     764             : 
     765         112 : void ArrayJoinBuiltinsFromDSLAssembler::CannotUseSameArrayAccessor12JSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<BuiltinPtr> p_loadFn, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<Map> p_initialMap, compiler::TNode<Number> p_initialLen, compiler::CodeAssemblerLabel* label_Cannot, compiler::CodeAssemblerLabel* label_Can) {
     766         112 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     767             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     768             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     769             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     770             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     771             :     ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_initialMap, p_initialLen);
     772             : 
     773         112 :   if (block0.is_used()) {
     774             :     compiler::TNode<Context> tmp0;
     775             :     compiler::TNode<BuiltinPtr> tmp1;
     776             :     compiler::TNode<JSReceiver> tmp2;
     777             :     compiler::TNode<Map> tmp3;
     778             :     compiler::TNode<Number> tmp4;
     779             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     780         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 109);
     781             :     compiler::TNode<JSTypedArray> tmp5;
     782             :     USE(tmp5);
     783         336 :     tmp5 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     784         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 110);
     785         112 :     compiler::TNode<IntPtrT> tmp6 = ca_.IntPtrConstant(JSArrayBufferView::kBufferOffset);
     786             :     USE(tmp6);
     787         224 :     compiler::TNode<JSArrayBuffer>tmp7 = CodeStubAssembler(state_).LoadReference<JSArrayBuffer>(CodeStubAssembler::Reference{tmp5, tmp6});
     788             :     compiler::TNode<BoolT> tmp8;
     789             :     USE(tmp8);
     790         224 :     tmp8 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsDetachedBuffer(compiler::TNode<JSArrayBuffer>{tmp7}));
     791         112 :     ca_.Branch(tmp8, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
     792             :   }
     793             : 
     794         112 :   if (block3.is_used()) {
     795             :     compiler::TNode<Context> tmp9;
     796             :     compiler::TNode<BuiltinPtr> tmp10;
     797             :     compiler::TNode<JSReceiver> tmp11;
     798             :     compiler::TNode<Map> tmp12;
     799             :     compiler::TNode<Number> tmp13;
     800             :     compiler::TNode<JSTypedArray> tmp14;
     801             :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
     802             :     ca_.Goto(&block1);
     803             :   }
     804             : 
     805         112 :   if (block4.is_used()) {
     806             :     compiler::TNode<Context> tmp15;
     807             :     compiler::TNode<BuiltinPtr> tmp16;
     808             :     compiler::TNode<JSReceiver> tmp17;
     809             :     compiler::TNode<Map> tmp18;
     810             :     compiler::TNode<Number> tmp19;
     811             :     compiler::TNode<JSTypedArray> tmp20;
     812             :     ca_.Bind(&block4, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
     813         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 111);
     814             :     ca_.Goto(&block2);
     815             :   }
     816             : 
     817         112 :   if (block1.is_used()) {
     818             :     ca_.Bind(&block1);
     819         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
     820         112 :     ca_.Goto(label_Cannot);
     821             :   }
     822             : 
     823         112 :   if (block2.is_used()) {
     824             :     ca_.Bind(&block2);
     825         112 :     ca_.Goto(label_Can);
     826             :   }
     827         112 : }
     828             : 
     829         672 : compiler::TNode<IntPtrT> ArrayJoinBuiltinsFromDSLAssembler::AddStringLength(compiler::TNode<Context> p_context, compiler::TNode<IntPtrT> p_lenA, compiler::TNode<IntPtrT> p_lenB) {
     830         672 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     831             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     832             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     833             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     834             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     835             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     836             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     837             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     838             :     ca_.Goto(&block0, p_context, p_lenA, p_lenB);
     839             : 
     840         672 :   if (block0.is_used()) {
     841             :     compiler::TNode<Context> tmp0;
     842             :     compiler::TNode<IntPtrT> tmp1;
     843             :     compiler::TNode<IntPtrT> tmp2;
     844             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     845         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 120);
     846             :     compiler::TNode<IntPtrT> tmp3;
     847             :     USE(tmp3);
     848         672 :     compiler::CodeAssemblerLabel label0(&ca_);
     849        1344 :     tmp3 = CodeStubAssembler(state_).TryIntPtrAdd(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp2}, &label0);
     850             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp1, tmp2, tmp3);
     851         672 :     if (label0.is_used()) {
     852         672 :       ca_.Bind(&label0);
     853             :       ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp1, tmp2);
     854             :     }
     855             :   }
     856             : 
     857         672 :   if (block5.is_used()) {
     858             :     compiler::TNode<Context> tmp4;
     859             :     compiler::TNode<IntPtrT> tmp5;
     860             :     compiler::TNode<IntPtrT> tmp6;
     861             :     compiler::TNode<IntPtrT> tmp7;
     862             :     compiler::TNode<IntPtrT> tmp8;
     863             :     ca_.Bind(&block5, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
     864             :     ca_.Goto(&block3, tmp4, tmp5, tmp6);
     865             :   }
     866             : 
     867         672 :   if (block4.is_used()) {
     868             :     compiler::TNode<Context> tmp9;
     869             :     compiler::TNode<IntPtrT> tmp10;
     870             :     compiler::TNode<IntPtrT> tmp11;
     871             :     compiler::TNode<IntPtrT> tmp12;
     872             :     compiler::TNode<IntPtrT> tmp13;
     873             :     compiler::TNode<IntPtrT> tmp14;
     874             :     ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
     875         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 121);
     876             :     compiler::TNode<IntPtrT> tmp15;
     877             :     USE(tmp15);
     878        2016 :     tmp15 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(String::kMaxLength));
     879             :     compiler::TNode<BoolT> tmp16;
     880             :     USE(tmp16);
     881        2016 :     tmp16 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp15}));
     882         672 :     ca_.Branch(tmp16, &block6, &block7, tmp9, tmp10, tmp11, tmp14);
     883             :   }
     884             : 
     885         672 :   if (block6.is_used()) {
     886             :     compiler::TNode<Context> tmp17;
     887             :     compiler::TNode<IntPtrT> tmp18;
     888             :     compiler::TNode<IntPtrT> tmp19;
     889             :     compiler::TNode<IntPtrT> tmp20;
     890             :     ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20);
     891             :     ca_.Goto(&block3, tmp17, tmp18, tmp19);
     892             :   }
     893             : 
     894         672 :   if (block7.is_used()) {
     895             :     compiler::TNode<Context> tmp21;
     896             :     compiler::TNode<IntPtrT> tmp22;
     897             :     compiler::TNode<IntPtrT> tmp23;
     898             :     compiler::TNode<IntPtrT> tmp24;
     899             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23, &tmp24);
     900         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 122);
     901             :     ca_.Goto(&block1, tmp21, tmp22, tmp23, tmp24);
     902             :   }
     903             : 
     904         672 :   if (block3.is_used()) {
     905             :     compiler::TNode<Context> tmp25;
     906             :     compiler::TNode<IntPtrT> tmp26;
     907             :     compiler::TNode<IntPtrT> tmp27;
     908             :     ca_.Bind(&block3, &tmp25, &tmp26, &tmp27);
     909         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 125);
     910        1344 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp25);
     911        1344 :     CodeStubAssembler(state_).Unreachable();
     912             :   }
     913             : 
     914         672 :   if (block1.is_used()) {
     915             :     compiler::TNode<Context> tmp29;
     916             :     compiler::TNode<IntPtrT> tmp30;
     917             :     compiler::TNode<IntPtrT> tmp31;
     918             :     compiler::TNode<IntPtrT> tmp32;
     919             :     ca_.Bind(&block1, &tmp29, &tmp30, &tmp31, &tmp32);
     920         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 117);
     921             :     ca_.Goto(&block8, tmp29, tmp30, tmp31, tmp32);
     922             :   }
     923             : 
     924             :     compiler::TNode<Context> tmp33;
     925             :     compiler::TNode<IntPtrT> tmp34;
     926             :     compiler::TNode<IntPtrT> tmp35;
     927             :     compiler::TNode<IntPtrT> tmp36;
     928             :     ca_.Bind(&block8, &tmp33, &tmp34, &tmp35, &tmp36);
     929        1344 :   return compiler::TNode<IntPtrT>{tmp36};
     930             : }
     931             : 
     932         224 : ArrayJoinBuiltinsFromDSLAssembler::Buffer ArrayJoinBuiltinsFromDSLAssembler::NewBuffer(compiler::TNode<UintPtrT> p_len, compiler::TNode<String> p_sep) {
     933         224 :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     934             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     935             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     936             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     937             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     938             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, FixedArray, IntPtrT, IntPtrT, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     939             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, FixedArray, IntPtrT, IntPtrT, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     940             :     ca_.Goto(&block0, p_len, p_sep);
     941             : 
     942         224 :   if (block0.is_used()) {
     943             :     compiler::TNode<UintPtrT> tmp0;
     944             :     compiler::TNode<String> tmp1;
     945             :     ca_.Bind(&block0, &tmp0, &tmp1);
     946         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 217);
     947             :     compiler::TNode<UintPtrT> tmp2;
     948             :     USE(tmp2);
     949         672 :     tmp2 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
     950             :     compiler::TNode<BoolT> tmp3;
     951             :     USE(tmp3);
     952         672 :     tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp0}, compiler::TNode<UintPtrT>{tmp2}));
     953         224 :     ca_.Branch(tmp3, &block2, &block3, tmp0, tmp1);
     954             :   }
     955             : 
     956         224 :   if (block2.is_used()) {
     957             :     compiler::TNode<UintPtrT> tmp4;
     958             :     compiler::TNode<String> tmp5;
     959             :     ca_.Bind(&block2, &tmp4, &tmp5);
     960             :     ca_.Goto(&block5, tmp4, tmp5);
     961             :   }
     962             : 
     963         224 :   if (block3.is_used()) {
     964             :     compiler::TNode<UintPtrT> tmp6;
     965             :     compiler::TNode<String> tmp7;
     966             :     ca_.Bind(&block3, &tmp6, &tmp7);
     967         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 219);
     968             :     compiler::TNode<IntPtrT> tmp8;
     969             :     USE(tmp8);
     970         448 :     tmp8 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp6}));
     971         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 217);
     972             :     ca_.Goto(&block4, tmp6, tmp7, tmp8);
     973             :   }
     974             : 
     975         224 :   if (block5.is_used()) {
     976             :     compiler::TNode<UintPtrT> tmp9;
     977             :     compiler::TNode<String> tmp10;
     978             :     ca_.Bind(&block5, &tmp9, &tmp10);
     979             :     compiler::TNode<IntPtrT> tmp11;
     980             :     USE(tmp11);
     981         672 :     tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
     982             :     ca_.Goto(&block4, tmp9, tmp10, tmp11);
     983             :   }
     984             : 
     985         224 :   if (block4.is_used()) {
     986             :     compiler::TNode<UintPtrT> tmp12;
     987             :     compiler::TNode<String> tmp13;
     988             :     compiler::TNode<IntPtrT> tmp14;
     989             :     ca_.Bind(&block4, &tmp12, &tmp13, &tmp14);
     990         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 222);
     991             :     compiler::TNode<FixedArray> tmp15;
     992             :     USE(tmp15);
     993         448 :     tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateZeroedFixedArray(compiler::TNode<IntPtrT>{tmp14}));
     994         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 225);
     995             :     compiler::TNode<Int32T> tmp16;
     996             :     USE(tmp16);
     997         448 :     tmp16 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp13}));
     998             :     compiler::TNode<BoolT> tmp17;
     999             :     USE(tmp17);
    1000         448 :     tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp16}));
    1001         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 221);
    1002             :     compiler::TNode<IntPtrT> tmp18;
    1003             :     USE(tmp18);
    1004         672 :     tmp18 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    1005             :     compiler::TNode<IntPtrT> tmp19;
    1006             :     USE(tmp19);
    1007         672 :     tmp19 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    1008             :     ca_.Goto(&block1, tmp12, tmp13, tmp15, tmp18, tmp19, tmp17);
    1009             :   }
    1010             : 
    1011         224 :   if (block1.is_used()) {
    1012             :     compiler::TNode<UintPtrT> tmp20;
    1013             :     compiler::TNode<String> tmp21;
    1014             :     compiler::TNode<FixedArray> tmp22;
    1015             :     compiler::TNode<IntPtrT> tmp23;
    1016             :     compiler::TNode<IntPtrT> tmp24;
    1017             :     compiler::TNode<BoolT> tmp25;
    1018             :     ca_.Bind(&block1, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
    1019         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 216);
    1020             :     ca_.Goto(&block6, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25);
    1021             :   }
    1022             : 
    1023             :     compiler::TNode<UintPtrT> tmp26;
    1024             :     compiler::TNode<String> tmp27;
    1025             :     compiler::TNode<FixedArray> tmp28;
    1026             :     compiler::TNode<IntPtrT> tmp29;
    1027             :     compiler::TNode<IntPtrT> tmp30;
    1028             :     compiler::TNode<BoolT> tmp31;
    1029             :     ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
    1030         448 :   return ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp28}, compiler::TNode<IntPtrT>{tmp29}, compiler::TNode<IntPtrT>{tmp30}, compiler::TNode<BoolT>{tmp31}};
    1031             : }
    1032             : 
    1033         224 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::BufferJoin(compiler::TNode<Context> p_context, ArrayJoinBuiltinsFromDSLAssembler::Buffer p_buffer, compiler::TNode<String> p_sep) {
    1034         224 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1035             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1036             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1037             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1038             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1039             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1040             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1041             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1042             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1043             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1044             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1045             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1046             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1047             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1048             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1049             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1050             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1051             :     ca_.Goto(&block0, p_context, p_buffer.fixedArray, p_buffer.index, p_buffer.totalStringLength, p_buffer.isOneByte, p_sep);
    1052             : 
    1053         224 :   if (block0.is_used()) {
    1054             :     compiler::TNode<Context> tmp0;
    1055             :     compiler::TNode<FixedArray> tmp1;
    1056             :     compiler::TNode<IntPtrT> tmp2;
    1057             :     compiler::TNode<IntPtrT> tmp3;
    1058             :     compiler::TNode<BoolT> tmp4;
    1059             :     compiler::TNode<String> tmp5;
    1060             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    1061         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 232);
    1062             :     compiler::TNode<IntPtrT> tmp6;
    1063             :     USE(tmp6);
    1064         672 :     tmp6 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    1065             :     compiler::TNode<BoolT> tmp7;
    1066             :     USE(tmp7);
    1067         672 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp6}));
    1068         224 :     ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
    1069             :   }
    1070             : 
    1071         224 :   if (block2.is_used()) {
    1072             :     compiler::TNode<Context> tmp8;
    1073             :     compiler::TNode<FixedArray> tmp9;
    1074             :     compiler::TNode<IntPtrT> tmp10;
    1075             :     compiler::TNode<IntPtrT> tmp11;
    1076             :     compiler::TNode<BoolT> tmp12;
    1077             :     compiler::TNode<String> tmp13;
    1078             :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    1079             :     compiler::TNode<String> tmp14;
    1080             :     USE(tmp14);
    1081         672 :     tmp14 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    1082             :     ca_.Goto(&block1, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
    1083             :   }
    1084             : 
    1085         224 :   if (block3.is_used()) {
    1086             :     compiler::TNode<Context> tmp15;
    1087             :     compiler::TNode<FixedArray> tmp16;
    1088             :     compiler::TNode<IntPtrT> tmp17;
    1089             :     compiler::TNode<IntPtrT> tmp18;
    1090             :     compiler::TNode<BoolT> tmp19;
    1091             :     compiler::TNode<String> tmp20;
    1092             :     ca_.Bind(&block3, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
    1093         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 235);
    1094             :     compiler::TNode<IntPtrT> tmp21;
    1095             :     USE(tmp21);
    1096         672 :     tmp21 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    1097             :     compiler::TNode<BoolT> tmp22;
    1098             :     USE(tmp22);
    1099         672 :     tmp22 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp17}, compiler::TNode<IntPtrT>{tmp21}));
    1100         224 :     ca_.Branch(tmp22, &block4, &block5, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
    1101             :   }
    1102             : 
    1103         224 :   if (block4.is_used()) {
    1104             :     compiler::TNode<Context> tmp23;
    1105             :     compiler::TNode<FixedArray> tmp24;
    1106             :     compiler::TNode<IntPtrT> tmp25;
    1107             :     compiler::TNode<IntPtrT> tmp26;
    1108             :     compiler::TNode<BoolT> tmp27;
    1109             :     compiler::TNode<String> tmp28;
    1110             :     ca_.Bind(&block4, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
    1111         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 236);
    1112         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 237);
    1113             :     compiler::TNode<Object> tmp29;
    1114             :     USE(tmp29);
    1115         448 :     tmp29 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, 0));
    1116         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 240);
    1117             :     compiler::TNode<String> tmp30;
    1118             :     USE(tmp30);
    1119         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    1120         672 :     tmp30 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp23}, compiler::TNode<Object>{tmp29}, &label0);
    1121             :     ca_.Goto(&block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29, tmp30);
    1122         224 :     if (label0.is_used()) {
    1123         224 :       ca_.Bind(&label0);
    1124             :       ca_.Goto(&block9, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29);
    1125             :     }
    1126             :   }
    1127             : 
    1128         224 :   if (block9.is_used()) {
    1129             :     compiler::TNode<Context> tmp31;
    1130             :     compiler::TNode<FixedArray> tmp32;
    1131             :     compiler::TNode<IntPtrT> tmp33;
    1132             :     compiler::TNode<IntPtrT> tmp34;
    1133             :     compiler::TNode<BoolT> tmp35;
    1134             :     compiler::TNode<String> tmp36;
    1135             :     compiler::TNode<FixedArray> tmp37;
    1136             :     compiler::TNode<Object> tmp38;
    1137             :     compiler::TNode<Object> tmp39;
    1138             :     ca_.Bind(&block9, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
    1139             :     ca_.Goto(&block7, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38);
    1140             :   }
    1141             : 
    1142         224 :   if (block8.is_used()) {
    1143             :     compiler::TNode<Context> tmp40;
    1144             :     compiler::TNode<FixedArray> tmp41;
    1145             :     compiler::TNode<IntPtrT> tmp42;
    1146             :     compiler::TNode<IntPtrT> tmp43;
    1147             :     compiler::TNode<BoolT> tmp44;
    1148             :     compiler::TNode<String> tmp45;
    1149             :     compiler::TNode<FixedArray> tmp46;
    1150             :     compiler::TNode<Object> tmp47;
    1151             :     compiler::TNode<Object> tmp48;
    1152             :     compiler::TNode<String> tmp49;
    1153             :     ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
    1154         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 241);
    1155             :     ca_.Goto(&block1, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp49);
    1156             :   }
    1157             : 
    1158         224 :   if (block7.is_used()) {
    1159             :     compiler::TNode<Context> tmp50;
    1160             :     compiler::TNode<FixedArray> tmp51;
    1161             :     compiler::TNode<IntPtrT> tmp52;
    1162             :     compiler::TNode<IntPtrT> tmp53;
    1163             :     compiler::TNode<BoolT> tmp54;
    1164             :     compiler::TNode<String> tmp55;
    1165             :     compiler::TNode<FixedArray> tmp56;
    1166             :     compiler::TNode<Object> tmp57;
    1167             :     ca_.Bind(&block7, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
    1168         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 246);
    1169             :     compiler::TNode<Number> tmp58;
    1170             :     USE(tmp58);
    1171         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    1172         672 :     tmp58 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp57)}, &label0);
    1173             :     ca_.Goto(&block12, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57), tmp58);
    1174         224 :     if (label0.is_used()) {
    1175         224 :       ca_.Bind(&label0);
    1176             :       ca_.Goto(&block13, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57));
    1177             :     }
    1178             :   }
    1179             : 
    1180         224 :   if (block13.is_used()) {
    1181             :     compiler::TNode<Context> tmp59;
    1182             :     compiler::TNode<FixedArray> tmp60;
    1183             :     compiler::TNode<IntPtrT> tmp61;
    1184             :     compiler::TNode<IntPtrT> tmp62;
    1185             :     compiler::TNode<BoolT> tmp63;
    1186             :     compiler::TNode<String> tmp64;
    1187             :     compiler::TNode<FixedArray> tmp65;
    1188             :     compiler::TNode<Object> tmp66;
    1189             :     compiler::TNode<Object> tmp67;
    1190             :     ca_.Bind(&block13, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
    1191             :     ca_.Goto(&block11, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66);
    1192             :   }
    1193             : 
    1194         224 :   if (block12.is_used()) {
    1195             :     compiler::TNode<Context> tmp68;
    1196             :     compiler::TNode<FixedArray> tmp69;
    1197             :     compiler::TNode<IntPtrT> tmp70;
    1198             :     compiler::TNode<IntPtrT> tmp71;
    1199             :     compiler::TNode<BoolT> tmp72;
    1200             :     compiler::TNode<String> tmp73;
    1201             :     compiler::TNode<FixedArray> tmp74;
    1202             :     compiler::TNode<Object> tmp75;
    1203             :     compiler::TNode<Object> tmp76;
    1204             :     compiler::TNode<Number> tmp77;
    1205             :     ca_.Bind(&block12, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
    1206         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 247);
    1207             :     compiler::TNode<String> tmp78;
    1208         448 :     tmp78 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp68, tmp73, tmp77));
    1209             :     USE(tmp78);
    1210             :     ca_.Goto(&block1, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp78);
    1211             :   }
    1212             : 
    1213         224 :   if (block11.is_used()) {
    1214             :     compiler::TNode<Context> tmp79;
    1215             :     compiler::TNode<FixedArray> tmp80;
    1216             :     compiler::TNode<IntPtrT> tmp81;
    1217             :     compiler::TNode<IntPtrT> tmp82;
    1218             :     compiler::TNode<BoolT> tmp83;
    1219             :     compiler::TNode<String> tmp84;
    1220             :     compiler::TNode<FixedArray> tmp85;
    1221             :     compiler::TNode<Object> tmp86;
    1222             :     ca_.Bind(&block11, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86);
    1223         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 249);
    1224         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 250);
    1225         448 :     CodeStubAssembler(state_).Unreachable();
    1226             :   }
    1227             : 
    1228         224 :   if (block5.is_used()) {
    1229             :     compiler::TNode<Context> tmp87;
    1230             :     compiler::TNode<FixedArray> tmp88;
    1231             :     compiler::TNode<IntPtrT> tmp89;
    1232             :     compiler::TNode<IntPtrT> tmp90;
    1233             :     compiler::TNode<BoolT> tmp91;
    1234             :     compiler::TNode<String> tmp92;
    1235             :     ca_.Bind(&block5, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
    1236         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 255);
    1237             :     compiler::TNode<UintPtrT> tmp93;
    1238             :     USE(tmp93);
    1239         448 :     tmp93 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).Unsigned(compiler::TNode<IntPtrT>{tmp90}));
    1240             :     compiler::TNode<Uint32T> tmp94;
    1241             :     USE(tmp94);
    1242         672 :     tmp94 = ca_.UncheckedCast<Uint32T>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATuint329ATuintptr(compiler::TNode<UintPtrT>{tmp93}));
    1243         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 256);
    1244         224 :     ca_.Branch(tmp91, &block14, &block15, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp94);
    1245             :   }
    1246             : 
    1247         224 :   if (block14.is_used()) {
    1248             :     compiler::TNode<Context> tmp95;
    1249             :     compiler::TNode<FixedArray> tmp96;
    1250             :     compiler::TNode<IntPtrT> tmp97;
    1251             :     compiler::TNode<IntPtrT> tmp98;
    1252             :     compiler::TNode<BoolT> tmp99;
    1253             :     compiler::TNode<String> tmp100;
    1254             :     compiler::TNode<Uint32T> tmp101;
    1255             :     ca_.Bind(&block14, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101);
    1256             :     compiler::TNode<String> tmp102;
    1257             :     USE(tmp102);
    1258         448 :     tmp102 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqOneByteString(compiler::TNode<Context>{tmp95}, compiler::TNode<Uint32T>{tmp101}));
    1259             :     ca_.Goto(&block17, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102);
    1260             :   }
    1261             : 
    1262         224 :   if (block15.is_used()) {
    1263             :     compiler::TNode<Context> tmp103;
    1264             :     compiler::TNode<FixedArray> tmp104;
    1265             :     compiler::TNode<IntPtrT> tmp105;
    1266             :     compiler::TNode<IntPtrT> tmp106;
    1267             :     compiler::TNode<BoolT> tmp107;
    1268             :     compiler::TNode<String> tmp108;
    1269             :     compiler::TNode<Uint32T> tmp109;
    1270             :     ca_.Bind(&block15, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
    1271         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 257);
    1272             :     compiler::TNode<String> tmp110;
    1273             :     USE(tmp110);
    1274         448 :     tmp110 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqTwoByteString(compiler::TNode<Context>{tmp103}, compiler::TNode<Uint32T>{tmp109}));
    1275         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 256);
    1276             :     ca_.Goto(&block16, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110);
    1277             :   }
    1278             : 
    1279         224 :   if (block17.is_used()) {
    1280             :     compiler::TNode<Context> tmp111;
    1281             :     compiler::TNode<FixedArray> tmp112;
    1282             :     compiler::TNode<IntPtrT> tmp113;
    1283             :     compiler::TNode<IntPtrT> tmp114;
    1284             :     compiler::TNode<BoolT> tmp115;
    1285             :     compiler::TNode<String> tmp116;
    1286             :     compiler::TNode<Uint32T> tmp117;
    1287             :     compiler::TNode<String> tmp118;
    1288             :     ca_.Bind(&block17, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
    1289             :     ca_.Goto(&block16, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
    1290             :   }
    1291             : 
    1292         224 :   if (block16.is_used()) {
    1293             :     compiler::TNode<Context> tmp119;
    1294             :     compiler::TNode<FixedArray> tmp120;
    1295             :     compiler::TNode<IntPtrT> tmp121;
    1296             :     compiler::TNode<IntPtrT> tmp122;
    1297             :     compiler::TNode<BoolT> tmp123;
    1298             :     compiler::TNode<String> tmp124;
    1299             :     compiler::TNode<Uint32T> tmp125;
    1300             :     compiler::TNode<String> tmp126;
    1301             :     ca_.Bind(&block16, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
    1302         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 259);
    1303         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 258);
    1304             :     compiler::TNode<String> tmp127;
    1305             :     USE(tmp127);
    1306         224 :     tmp127 = ca_.UncheckedCast<String>(ArrayBuiltinsAssembler(state_).CallJSArrayArrayJoinConcatToSequentialString(compiler::TNode<FixedArray>{tmp120}, compiler::TNode<IntPtrT>{tmp121}, compiler::TNode<String>{tmp124}, compiler::TNode<String>{tmp126}));
    1307             :     ca_.Goto(&block1, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp127);
    1308             :   }
    1309             : 
    1310         224 :   if (block1.is_used()) {
    1311             :     compiler::TNode<Context> tmp128;
    1312             :     compiler::TNode<FixedArray> tmp129;
    1313             :     compiler::TNode<IntPtrT> tmp130;
    1314             :     compiler::TNode<IntPtrT> tmp131;
    1315             :     compiler::TNode<BoolT> tmp132;
    1316             :     compiler::TNode<String> tmp133;
    1317             :     compiler::TNode<String> tmp134;
    1318             :     ca_.Bind(&block1, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134);
    1319         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 229);
    1320             :     ca_.Goto(&block18, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134);
    1321             :   }
    1322             : 
    1323             :     compiler::TNode<Context> tmp135;
    1324             :     compiler::TNode<FixedArray> tmp136;
    1325             :     compiler::TNode<IntPtrT> tmp137;
    1326             :     compiler::TNode<IntPtrT> tmp138;
    1327             :     compiler::TNode<BoolT> tmp139;
    1328             :     compiler::TNode<String> tmp140;
    1329             :     compiler::TNode<String> tmp141;
    1330             :     ca_.Bind(&block18, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141);
    1331         448 :   return compiler::TNode<String>{tmp141};
    1332             : }
    1333             : 
    1334         112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoin7JSArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lenNumber, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
    1335         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1336             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1337             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver, JSArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1338             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1339             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1340             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1341             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1342             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1343             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1344             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1345             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1346             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1347             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1348             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block18(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    1349             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1350             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1351             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1352             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1353             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number, Smi> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1354             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1355             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1356             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1357             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1358             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1359             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1360             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1361             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1362             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1363             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1364             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1365             :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
    1366             : 
    1367         112 :   if (block0.is_used()) {
    1368             :     compiler::TNode<Context> tmp0;
    1369             :     compiler::TNode<JSReceiver> tmp1;
    1370             :     compiler::TNode<String> tmp2;
    1371             :     compiler::TNode<Number> tmp3;
    1372             :     compiler::TNode<Object> tmp4;
    1373             :     compiler::TNode<Object> tmp5;
    1374             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    1375         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 333);
    1376         112 :     compiler::TNode<IntPtrT> tmp6 = ca_.IntPtrConstant(HeapObject::kMapOffset);
    1377             :     USE(tmp6);
    1378         224 :     compiler::TNode<Map>tmp7 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp6});
    1379         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 334);
    1380             :     compiler::TNode<Int32T> tmp8;
    1381             :     USE(tmp8);
    1382         224 :     tmp8 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp7}));
    1383         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 335);
    1384         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 338);
    1385             :     compiler::TNode<JSArray> tmp9;
    1386             :     USE(tmp9);
    1387         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    1388         336 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).Cast7JSArray(compiler::TNode<HeapObject>{tmp1}, &label0);
    1389             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp8, ca_.Uninitialized<BuiltinPtr>(), tmp1, tmp9);
    1390         112 :     if (label0.is_used()) {
    1391         112 :       ca_.Bind(&label0);
    1392             :       ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp8, ca_.Uninitialized<BuiltinPtr>(), tmp1);
    1393             :     }
    1394             :   }
    1395             : 
    1396         112 :   if (block5.is_used()) {
    1397             :     compiler::TNode<Context> tmp10;
    1398             :     compiler::TNode<JSReceiver> tmp11;
    1399             :     compiler::TNode<String> tmp12;
    1400             :     compiler::TNode<Number> tmp13;
    1401             :     compiler::TNode<Object> tmp14;
    1402             :     compiler::TNode<Object> tmp15;
    1403             :     compiler::TNode<Map> tmp16;
    1404             :     compiler::TNode<Int32T> tmp17;
    1405             :     compiler::TNode<BuiltinPtr> tmp18;
    1406             :     compiler::TNode<JSReceiver> tmp19;
    1407             :     ca_.Bind(&block5, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
    1408             :     ca_.Goto(&block3, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18);
    1409             :   }
    1410             : 
    1411         112 :   if (block4.is_used()) {
    1412             :     compiler::TNode<Context> tmp20;
    1413             :     compiler::TNode<JSReceiver> tmp21;
    1414             :     compiler::TNode<String> tmp22;
    1415             :     compiler::TNode<Number> tmp23;
    1416             :     compiler::TNode<Object> tmp24;
    1417             :     compiler::TNode<Object> tmp25;
    1418             :     compiler::TNode<Map> tmp26;
    1419             :     compiler::TNode<Int32T> tmp27;
    1420             :     compiler::TNode<BuiltinPtr> tmp28;
    1421             :     compiler::TNode<JSReceiver> tmp29;
    1422             :     compiler::TNode<JSArray> tmp30;
    1423             :     ca_.Bind(&block4, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
    1424         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 339);
    1425         112 :     compiler::TNode<IntPtrT> tmp31 = ca_.IntPtrConstant(JSArray::kLengthOffset);
    1426             :     USE(tmp31);
    1427         336 :     compiler::TNode<Number>tmp32 = CodeStubAssembler(state_).LoadReference<Number>(CodeStubAssembler::Reference{tmp30, tmp31});
    1428             :     compiler::TNode<BoolT> tmp33;
    1429             :     USE(tmp33);
    1430         336 :     tmp33 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp32}, compiler::TNode<Number>{tmp23}));
    1431         112 :     ca_.Branch(tmp33, &block6, &block7, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp30);
    1432             :   }
    1433             : 
    1434         112 :   if (block6.is_used()) {
    1435             :     compiler::TNode<Context> tmp34;
    1436             :     compiler::TNode<JSReceiver> tmp35;
    1437             :     compiler::TNode<String> tmp36;
    1438             :     compiler::TNode<Number> tmp37;
    1439             :     compiler::TNode<Object> tmp38;
    1440             :     compiler::TNode<Object> tmp39;
    1441             :     compiler::TNode<Map> tmp40;
    1442             :     compiler::TNode<Int32T> tmp41;
    1443             :     compiler::TNode<BuiltinPtr> tmp42;
    1444             :     compiler::TNode<JSArray> tmp43;
    1445             :     ca_.Bind(&block6, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    1446             :     ca_.Goto(&block3, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
    1447             :   }
    1448             : 
    1449         112 :   if (block7.is_used()) {
    1450             :     compiler::TNode<Context> tmp44;
    1451             :     compiler::TNode<JSReceiver> tmp45;
    1452             :     compiler::TNode<String> tmp46;
    1453             :     compiler::TNode<Number> tmp47;
    1454             :     compiler::TNode<Object> tmp48;
    1455             :     compiler::TNode<Object> tmp49;
    1456             :     compiler::TNode<Map> tmp50;
    1457             :     compiler::TNode<Int32T> tmp51;
    1458             :     compiler::TNode<BuiltinPtr> tmp52;
    1459             :     compiler::TNode<JSArray> tmp53;
    1460             :     ca_.Bind(&block7, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
    1461         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 340);
    1462             :     compiler::TNode<BoolT> tmp54;
    1463             :     USE(tmp54);
    1464         448 :     tmp54 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsPrototypeInitialArrayPrototype(compiler::TNode<Context>{tmp44}, compiler::TNode<Map>{tmp50}));
    1465             :     compiler::TNode<BoolT> tmp55;
    1466             :     USE(tmp55);
    1467         224 :     tmp55 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp54}));
    1468         112 :     ca_.Branch(tmp55, &block8, &block9, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53);
    1469             :   }
    1470             : 
    1471         112 :   if (block8.is_used()) {
    1472             :     compiler::TNode<Context> tmp56;
    1473             :     compiler::TNode<JSReceiver> tmp57;
    1474             :     compiler::TNode<String> tmp58;
    1475             :     compiler::TNode<Number> tmp59;
    1476             :     compiler::TNode<Object> tmp60;
    1477             :     compiler::TNode<Object> tmp61;
    1478             :     compiler::TNode<Map> tmp62;
    1479             :     compiler::TNode<Int32T> tmp63;
    1480             :     compiler::TNode<BuiltinPtr> tmp64;
    1481             :     compiler::TNode<JSArray> tmp65;
    1482             :     ca_.Bind(&block8, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65);
    1483             :     ca_.Goto(&block3, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64);
    1484             :   }
    1485             : 
    1486         112 :   if (block9.is_used()) {
    1487             :     compiler::TNode<Context> tmp66;
    1488             :     compiler::TNode<JSReceiver> tmp67;
    1489             :     compiler::TNode<String> tmp68;
    1490             :     compiler::TNode<Number> tmp69;
    1491             :     compiler::TNode<Object> tmp70;
    1492             :     compiler::TNode<Object> tmp71;
    1493             :     compiler::TNode<Map> tmp72;
    1494             :     compiler::TNode<Int32T> tmp73;
    1495             :     compiler::TNode<BuiltinPtr> tmp74;
    1496             :     compiler::TNode<JSArray> tmp75;
    1497             :     ca_.Bind(&block9, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75);
    1498         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 341);
    1499             :     compiler::TNode<BoolT> tmp76;
    1500             :     USE(tmp76);
    1501         224 :     tmp76 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
    1502         112 :     ca_.Branch(tmp76, &block10, &block11, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75);
    1503             :   }
    1504             : 
    1505         112 :   if (block10.is_used()) {
    1506             :     compiler::TNode<Context> tmp77;
    1507             :     compiler::TNode<JSReceiver> tmp78;
    1508             :     compiler::TNode<String> tmp79;
    1509             :     compiler::TNode<Number> tmp80;
    1510             :     compiler::TNode<Object> tmp81;
    1511             :     compiler::TNode<Object> tmp82;
    1512             :     compiler::TNode<Map> tmp83;
    1513             :     compiler::TNode<Int32T> tmp84;
    1514             :     compiler::TNode<BuiltinPtr> tmp85;
    1515             :     compiler::TNode<JSArray> tmp86;
    1516             :     ca_.Bind(&block10, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86);
    1517             :     ca_.Goto(&block3, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85);
    1518             :   }
    1519             : 
    1520         112 :   if (block11.is_used()) {
    1521             :     compiler::TNode<Context> tmp87;
    1522             :     compiler::TNode<JSReceiver> tmp88;
    1523             :     compiler::TNode<String> tmp89;
    1524             :     compiler::TNode<Number> tmp90;
    1525             :     compiler::TNode<Object> tmp91;
    1526             :     compiler::TNode<Object> tmp92;
    1527             :     compiler::TNode<Map> tmp93;
    1528             :     compiler::TNode<Int32T> tmp94;
    1529             :     compiler::TNode<BuiltinPtr> tmp95;
    1530             :     compiler::TNode<JSArray> tmp96;
    1531             :     ca_.Bind(&block11, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96);
    1532         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
    1533             :     compiler::TNode<BoolT> tmp97;
    1534             :     USE(tmp97);
    1535         224 :     tmp97 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp94}, HOLEY_ELEMENTS));
    1536         112 :     ca_.Branch(tmp97, &block12, &block13, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96);
    1537             :   }
    1538             : 
    1539         112 :   if (block12.is_used()) {
    1540             :     compiler::TNode<Context> tmp98;
    1541             :     compiler::TNode<JSReceiver> tmp99;
    1542             :     compiler::TNode<String> tmp100;
    1543             :     compiler::TNode<Number> tmp101;
    1544             :     compiler::TNode<Object> tmp102;
    1545             :     compiler::TNode<Object> tmp103;
    1546             :     compiler::TNode<Map> tmp104;
    1547             :     compiler::TNode<Int32T> tmp105;
    1548             :     compiler::TNode<BuiltinPtr> tmp106;
    1549             :     compiler::TNode<JSArray> tmp107;
    1550             :     ca_.Bind(&block12, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
    1551         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 344);
    1552         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
    1553             :     ca_.Goto(&block14, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATFastSmiOrObjectElements)), tmp107);
    1554             :   }
    1555             : 
    1556         112 :   if (block13.is_used()) {
    1557             :     compiler::TNode<Context> tmp108;
    1558             :     compiler::TNode<JSReceiver> tmp109;
    1559             :     compiler::TNode<String> tmp110;
    1560             :     compiler::TNode<Number> tmp111;
    1561             :     compiler::TNode<Object> tmp112;
    1562             :     compiler::TNode<Object> tmp113;
    1563             :     compiler::TNode<Map> tmp114;
    1564             :     compiler::TNode<Int32T> tmp115;
    1565             :     compiler::TNode<BuiltinPtr> tmp116;
    1566             :     compiler::TNode<JSArray> tmp117;
    1567             :     ca_.Bind(&block13, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117);
    1568         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
    1569             :     compiler::TNode<BoolT> tmp118;
    1570             :     USE(tmp118);
    1571         224 :     tmp118 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp115}, HOLEY_DOUBLE_ELEMENTS));
    1572         112 :     ca_.Branch(tmp118, &block15, &block16, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117);
    1573             :   }
    1574             : 
    1575         112 :   if (block15.is_used()) {
    1576             :     compiler::TNode<Context> tmp119;
    1577             :     compiler::TNode<JSReceiver> tmp120;
    1578             :     compiler::TNode<String> tmp121;
    1579             :     compiler::TNode<Number> tmp122;
    1580             :     compiler::TNode<Object> tmp123;
    1581             :     compiler::TNode<Object> tmp124;
    1582             :     compiler::TNode<Map> tmp125;
    1583             :     compiler::TNode<Int32T> tmp126;
    1584             :     compiler::TNode<BuiltinPtr> tmp127;
    1585             :     compiler::TNode<JSArray> tmp128;
    1586             :     ca_.Bind(&block15, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128);
    1587         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 346);
    1588         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
    1589             :     ca_.Goto(&block17, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATFastDoubleElements)), tmp128);
    1590             :   }
    1591             : 
    1592         112 :   if (block16.is_used()) {
    1593             :     compiler::TNode<Context> tmp129;
    1594             :     compiler::TNode<JSReceiver> tmp130;
    1595             :     compiler::TNode<String> tmp131;
    1596             :     compiler::TNode<Number> tmp132;
    1597             :     compiler::TNode<Object> tmp133;
    1598             :     compiler::TNode<Object> tmp134;
    1599             :     compiler::TNode<Map> tmp135;
    1600             :     compiler::TNode<Int32T> tmp136;
    1601             :     compiler::TNode<BuiltinPtr> tmp137;
    1602             :     compiler::TNode<JSArray> tmp138;
    1603             :     ca_.Bind(&block16, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    1604         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 347);
    1605             :     compiler::TNode<Int32T> tmp139;
    1606             :     USE(tmp139);
    1607         336 :     tmp139 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(DICTIONARY_ELEMENTS));
    1608             :     compiler::TNode<BoolT> tmp140;
    1609             :     USE(tmp140);
    1610         224 :     tmp140 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp136}, compiler::TNode<Int32T>{tmp139}));
    1611         112 :     ca_.Branch(tmp140, &block18, &block19, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138);
    1612             :   }
    1613             : 
    1614         112 :   if (block18.is_used()) {
    1615             :     compiler::TNode<Context> tmp141;
    1616             :     compiler::TNode<JSReceiver> tmp142;
    1617             :     compiler::TNode<String> tmp143;
    1618             :     compiler::TNode<Number> tmp144;
    1619             :     compiler::TNode<Object> tmp145;
    1620             :     compiler::TNode<Object> tmp146;
    1621             :     compiler::TNode<Map> tmp147;
    1622             :     compiler::TNode<Int32T> tmp148;
    1623             :     compiler::TNode<BuiltinPtr> tmp149;
    1624             :     compiler::TNode<JSArray> tmp150;
    1625             :     ca_.Bind(&block18, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150);
    1626         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 350);
    1627         112 :     compiler::TNode<IntPtrT> tmp151 = ca_.IntPtrConstant(JSObject::kElementsOffset);
    1628             :     USE(tmp151);
    1629         224 :     compiler::TNode<FixedArrayBase>tmp152 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp150, tmp151});
    1630             :     compiler::TNode<NumberDictionary> tmp153;
    1631             :     USE(tmp153);
    1632         336 :     tmp153 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp141}, compiler::TNode<Object>{tmp152}));
    1633         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 349);
    1634         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 351);
    1635             :     compiler::TNode<Smi> tmp154;
    1636             :     USE(tmp154);
    1637         224 :     tmp154 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).GetNumberDictionaryNumberOfElements(compiler::TNode<NumberDictionary>{tmp153}));
    1638         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 352);
    1639             :     compiler::TNode<Smi> tmp155;
    1640             :     USE(tmp155);
    1641         336 :     tmp155 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
    1642             :     compiler::TNode<BoolT> tmp156;
    1643             :     USE(tmp156);
    1644         224 :     tmp156 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp154}, compiler::TNode<Smi>{tmp155}));
    1645         112 :     ca_.Branch(tmp156, &block21, &block22, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp153, tmp154);
    1646             :   }
    1647             : 
    1648         112 :   if (block21.is_used()) {
    1649             :     compiler::TNode<Context> tmp157;
    1650             :     compiler::TNode<JSReceiver> tmp158;
    1651             :     compiler::TNode<String> tmp159;
    1652             :     compiler::TNode<Number> tmp160;
    1653             :     compiler::TNode<Object> tmp161;
    1654             :     compiler::TNode<Object> tmp162;
    1655             :     compiler::TNode<Map> tmp163;
    1656             :     compiler::TNode<Int32T> tmp164;
    1657             :     compiler::TNode<BuiltinPtr> tmp165;
    1658             :     compiler::TNode<JSArray> tmp166;
    1659             :     compiler::TNode<NumberDictionary> tmp167;
    1660             :     compiler::TNode<Smi> tmp168;
    1661             :     ca_.Bind(&block21, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168);
    1662         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 353);
    1663             :     compiler::TNode<String> tmp169;
    1664             :     USE(tmp169);
    1665         336 :     tmp169 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    1666             :     compiler::TNode<BoolT> tmp170;
    1667             :     USE(tmp170);
    1668         224 :     tmp170 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp159}, compiler::TNode<HeapObject>{tmp169}));
    1669         112 :     ca_.Branch(tmp170, &block24, &block25, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168);
    1670             :   }
    1671             : 
    1672         112 :   if (block24.is_used()) {
    1673             :     compiler::TNode<Context> tmp171;
    1674             :     compiler::TNode<JSReceiver> tmp172;
    1675             :     compiler::TNode<String> tmp173;
    1676             :     compiler::TNode<Number> tmp174;
    1677             :     compiler::TNode<Object> tmp175;
    1678             :     compiler::TNode<Object> tmp176;
    1679             :     compiler::TNode<Map> tmp177;
    1680             :     compiler::TNode<Int32T> tmp178;
    1681             :     compiler::TNode<BuiltinPtr> tmp179;
    1682             :     compiler::TNode<JSArray> tmp180;
    1683             :     compiler::TNode<NumberDictionary> tmp181;
    1684             :     compiler::TNode<Smi> tmp182;
    1685             :     ca_.Bind(&block24, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182);
    1686             :     compiler::TNode<String> tmp183;
    1687             :     USE(tmp183);
    1688         336 :     tmp183 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    1689             :     ca_.Goto(&block1, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp183);
    1690             :   }
    1691             : 
    1692         112 :   if (block25.is_used()) {
    1693             :     compiler::TNode<Context> tmp184;
    1694             :     compiler::TNode<JSReceiver> tmp185;
    1695             :     compiler::TNode<String> tmp186;
    1696             :     compiler::TNode<Number> tmp187;
    1697             :     compiler::TNode<Object> tmp188;
    1698             :     compiler::TNode<Object> tmp189;
    1699             :     compiler::TNode<Map> tmp190;
    1700             :     compiler::TNode<Int32T> tmp191;
    1701             :     compiler::TNode<BuiltinPtr> tmp192;
    1702             :     compiler::TNode<JSArray> tmp193;
    1703             :     compiler::TNode<NumberDictionary> tmp194;
    1704             :     compiler::TNode<Smi> tmp195;
    1705             :     ca_.Bind(&block25, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195);
    1706         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 356);
    1707             :     compiler::TNode<Number> tmp196;
    1708             :     USE(tmp196);
    1709         336 :     tmp196 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
    1710             :     compiler::TNode<Number> tmp197;
    1711             :     USE(tmp197);
    1712         336 :     tmp197 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp187}, compiler::TNode<Number>{tmp196}));
    1713             :     compiler::TNode<Smi> tmp198;
    1714             :     USE(tmp198);
    1715         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    1716         336 :     tmp198 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp197}, &label0);
    1717             :     ca_.Goto(&block28, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195, tmp197, tmp198);
    1718         112 :     if (label0.is_used()) {
    1719         112 :       ca_.Bind(&label0);
    1720             :       ca_.Goto(&block29, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195, tmp197);
    1721             :     }
    1722             :   }
    1723             : 
    1724         112 :   if (block29.is_used()) {
    1725             :     compiler::TNode<Context> tmp199;
    1726             :     compiler::TNode<JSReceiver> tmp200;
    1727             :     compiler::TNode<String> tmp201;
    1728             :     compiler::TNode<Number> tmp202;
    1729             :     compiler::TNode<Object> tmp203;
    1730             :     compiler::TNode<Object> tmp204;
    1731             :     compiler::TNode<Map> tmp205;
    1732             :     compiler::TNode<Int32T> tmp206;
    1733             :     compiler::TNode<BuiltinPtr> tmp207;
    1734             :     compiler::TNode<JSArray> tmp208;
    1735             :     compiler::TNode<NumberDictionary> tmp209;
    1736             :     compiler::TNode<Smi> tmp210;
    1737             :     compiler::TNode<Number> tmp211;
    1738             :     ca_.Bind(&block29, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211);
    1739             :     ca_.Goto(&block27, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210);
    1740             :   }
    1741             : 
    1742         112 :   if (block28.is_used()) {
    1743             :     compiler::TNode<Context> tmp212;
    1744             :     compiler::TNode<JSReceiver> tmp213;
    1745             :     compiler::TNode<String> tmp214;
    1746             :     compiler::TNode<Number> tmp215;
    1747             :     compiler::TNode<Object> tmp216;
    1748             :     compiler::TNode<Object> tmp217;
    1749             :     compiler::TNode<Map> tmp218;
    1750             :     compiler::TNode<Int32T> tmp219;
    1751             :     compiler::TNode<BuiltinPtr> tmp220;
    1752             :     compiler::TNode<JSArray> tmp221;
    1753             :     compiler::TNode<NumberDictionary> tmp222;
    1754             :     compiler::TNode<Smi> tmp223;
    1755             :     compiler::TNode<Number> tmp224;
    1756             :     compiler::TNode<Smi> tmp225;
    1757             :     ca_.Bind(&block28, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225);
    1758         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 355);
    1759         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 357);
    1760             :     compiler::TNode<String> tmp226;
    1761         224 :     tmp226 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp212, tmp214, tmp225));
    1762             :     USE(tmp226);
    1763             :     ca_.Goto(&block1, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp226);
    1764             :   }
    1765             : 
    1766         112 :   if (block27.is_used()) {
    1767             :     compiler::TNode<Context> tmp227;
    1768             :     compiler::TNode<JSReceiver> tmp228;
    1769             :     compiler::TNode<String> tmp229;
    1770             :     compiler::TNode<Number> tmp230;
    1771             :     compiler::TNode<Object> tmp231;
    1772             :     compiler::TNode<Object> tmp232;
    1773             :     compiler::TNode<Map> tmp233;
    1774             :     compiler::TNode<Int32T> tmp234;
    1775             :     compiler::TNode<BuiltinPtr> tmp235;
    1776             :     compiler::TNode<JSArray> tmp236;
    1777             :     compiler::TNode<NumberDictionary> tmp237;
    1778             :     compiler::TNode<Smi> tmp238;
    1779             :     ca_.Bind(&block27, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238);
    1780         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 360);
    1781         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp227);
    1782         224 :     CodeStubAssembler(state_).Unreachable();
    1783             :   }
    1784             : 
    1785         112 :   if (block22.is_used()) {
    1786             :     compiler::TNode<Context> tmp240;
    1787             :     compiler::TNode<JSReceiver> tmp241;
    1788             :     compiler::TNode<String> tmp242;
    1789             :     compiler::TNode<Number> tmp243;
    1790             :     compiler::TNode<Object> tmp244;
    1791             :     compiler::TNode<Object> tmp245;
    1792             :     compiler::TNode<Map> tmp246;
    1793             :     compiler::TNode<Int32T> tmp247;
    1794             :     compiler::TNode<BuiltinPtr> tmp248;
    1795             :     compiler::TNode<JSArray> tmp249;
    1796             :     compiler::TNode<NumberDictionary> tmp250;
    1797             :     compiler::TNode<Smi> tmp251;
    1798             :     ca_.Bind(&block22, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251);
    1799         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 363);
    1800         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 352);
    1801             :     ca_.Goto(&block23, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATDictionaryElements)), tmp249, tmp250, tmp251);
    1802             :   }
    1803             : 
    1804         112 :   if (block23.is_used()) {
    1805             :     compiler::TNode<Context> tmp252;
    1806             :     compiler::TNode<JSReceiver> tmp253;
    1807             :     compiler::TNode<String> tmp254;
    1808             :     compiler::TNode<Number> tmp255;
    1809             :     compiler::TNode<Object> tmp256;
    1810             :     compiler::TNode<Object> tmp257;
    1811             :     compiler::TNode<Map> tmp258;
    1812             :     compiler::TNode<Int32T> tmp259;
    1813             :     compiler::TNode<BuiltinPtr> tmp260;
    1814             :     compiler::TNode<JSArray> tmp261;
    1815             :     compiler::TNode<NumberDictionary> tmp262;
    1816             :     compiler::TNode<Smi> tmp263;
    1817             :     ca_.Bind(&block23, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263);
    1818         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 348);
    1819         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 347);
    1820             :     ca_.Goto(&block20, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261);
    1821             :   }
    1822             : 
    1823         112 :   if (block19.is_used()) {
    1824             :     compiler::TNode<Context> tmp264;
    1825             :     compiler::TNode<JSReceiver> tmp265;
    1826             :     compiler::TNode<String> tmp266;
    1827             :     compiler::TNode<Number> tmp267;
    1828             :     compiler::TNode<Object> tmp268;
    1829             :     compiler::TNode<Object> tmp269;
    1830             :     compiler::TNode<Map> tmp270;
    1831             :     compiler::TNode<Int32T> tmp271;
    1832             :     compiler::TNode<BuiltinPtr> tmp272;
    1833             :     compiler::TNode<JSArray> tmp273;
    1834             :     ca_.Bind(&block19, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272, &tmp273);
    1835         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 367);
    1836             :     ca_.Goto(&block3, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, tmp272);
    1837             :   }
    1838             : 
    1839         112 :   if (block20.is_used()) {
    1840             :     compiler::TNode<Context> tmp274;
    1841             :     compiler::TNode<JSReceiver> tmp275;
    1842             :     compiler::TNode<String> tmp276;
    1843             :     compiler::TNode<Number> tmp277;
    1844             :     compiler::TNode<Object> tmp278;
    1845             :     compiler::TNode<Object> tmp279;
    1846             :     compiler::TNode<Map> tmp280;
    1847             :     compiler::TNode<Int32T> tmp281;
    1848             :     compiler::TNode<BuiltinPtr> tmp282;
    1849             :     compiler::TNode<JSArray> tmp283;
    1850             :     ca_.Bind(&block20, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283);
    1851         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
    1852             :     ca_.Goto(&block17, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283);
    1853             :   }
    1854             : 
    1855         112 :   if (block17.is_used()) {
    1856             :     compiler::TNode<Context> tmp284;
    1857             :     compiler::TNode<JSReceiver> tmp285;
    1858             :     compiler::TNode<String> tmp286;
    1859             :     compiler::TNode<Number> tmp287;
    1860             :     compiler::TNode<Object> tmp288;
    1861             :     compiler::TNode<Object> tmp289;
    1862             :     compiler::TNode<Map> tmp290;
    1863             :     compiler::TNode<Int32T> tmp291;
    1864             :     compiler::TNode<BuiltinPtr> tmp292;
    1865             :     compiler::TNode<JSArray> tmp293;
    1866             :     ca_.Bind(&block17, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292, &tmp293);
    1867         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
    1868             :     ca_.Goto(&block14, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, tmp292, tmp293);
    1869             :   }
    1870             : 
    1871         112 :   if (block14.is_used()) {
    1872             :     compiler::TNode<Context> tmp294;
    1873             :     compiler::TNode<JSReceiver> tmp295;
    1874             :     compiler::TNode<String> tmp296;
    1875             :     compiler::TNode<Number> tmp297;
    1876             :     compiler::TNode<Object> tmp298;
    1877             :     compiler::TNode<Object> tmp299;
    1878             :     compiler::TNode<Map> tmp300;
    1879             :     compiler::TNode<Int32T> tmp301;
    1880             :     compiler::TNode<BuiltinPtr> tmp302;
    1881             :     compiler::TNode<JSArray> tmp303;
    1882             :     ca_.Bind(&block14, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303);
    1883         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 337);
    1884         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 370);
    1885             :     ca_.Goto(&block2, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302);
    1886             :   }
    1887             : 
    1888         112 :   if (block3.is_used()) {
    1889             :     compiler::TNode<Context> tmp304;
    1890             :     compiler::TNode<JSReceiver> tmp305;
    1891             :     compiler::TNode<String> tmp306;
    1892             :     compiler::TNode<Number> tmp307;
    1893             :     compiler::TNode<Object> tmp308;
    1894             :     compiler::TNode<Object> tmp309;
    1895             :     compiler::TNode<Map> tmp310;
    1896             :     compiler::TNode<Int32T> tmp311;
    1897             :     compiler::TNode<BuiltinPtr> tmp312;
    1898             :     ca_.Bind(&block3, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312);
    1899         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 371);
    1900         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 337);
    1901             :     ca_.Goto(&block2, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)));
    1902             :   }
    1903             : 
    1904         112 :   if (block2.is_used()) {
    1905             :     compiler::TNode<Context> tmp313;
    1906             :     compiler::TNode<JSReceiver> tmp314;
    1907             :     compiler::TNode<String> tmp315;
    1908             :     compiler::TNode<Number> tmp316;
    1909             :     compiler::TNode<Object> tmp317;
    1910             :     compiler::TNode<Object> tmp318;
    1911             :     compiler::TNode<Map> tmp319;
    1912             :     compiler::TNode<Int32T> tmp320;
    1913             :     compiler::TNode<BuiltinPtr> tmp321;
    1914             :     ca_.Bind(&block2, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321);
    1915         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 374);
    1916         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 373);
    1917             :     compiler::TNode<String> tmp322;
    1918             :     USE(tmp322);
    1919         336 :     tmp322 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoinImpl7JSArray(compiler::TNode<Context>{tmp313}, compiler::TNode<JSReceiver>{tmp314}, compiler::TNode<String>{tmp315}, compiler::TNode<Number>{tmp316}, p_useToLocaleString, compiler::TNode<Object>{tmp317}, compiler::TNode<Object>{tmp318}, compiler::TNode<BuiltinPtr>{tmp321}));
    1920             :     ca_.Goto(&block1, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp322);
    1921             :   }
    1922             : 
    1923         112 :   if (block1.is_used()) {
    1924             :     compiler::TNode<Context> tmp323;
    1925             :     compiler::TNode<JSReceiver> tmp324;
    1926             :     compiler::TNode<String> tmp325;
    1927             :     compiler::TNode<Number> tmp326;
    1928             :     compiler::TNode<Object> tmp327;
    1929             :     compiler::TNode<Object> tmp328;
    1930             :     compiler::TNode<Object> tmp329;
    1931             :     ca_.Bind(&block1, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329);
    1932         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 326);
    1933             :     ca_.Goto(&block30, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329);
    1934             :   }
    1935             : 
    1936             :     compiler::TNode<Context> tmp330;
    1937             :     compiler::TNode<JSReceiver> tmp331;
    1938             :     compiler::TNode<String> tmp332;
    1939             :     compiler::TNode<Number> tmp333;
    1940             :     compiler::TNode<Object> tmp334;
    1941             :     compiler::TNode<Object> tmp335;
    1942             :     compiler::TNode<Object> tmp336;
    1943             :     ca_.Bind(&block30, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
    1944         224 :   return compiler::TNode<Object>{tmp336};
    1945             : }
    1946             : 
    1947         112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoin12JSTypedArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lenNumber, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
    1948         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1949             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1950             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1951             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1952             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1953             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1954             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1955             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1956             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1957             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1958             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1959             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1960             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1961             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1962             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1963             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1964             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1965             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1966             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1967             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1968             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1969             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1970             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1971             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1972             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1973             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1974             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1975             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1976             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block33(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1977             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1978             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1979             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1980             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1981             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1982             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1983             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1984             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1985             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1986             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1987             :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
    1988             : 
    1989         112 :   if (block0.is_used()) {
    1990             :     compiler::TNode<Context> tmp0;
    1991             :     compiler::TNode<JSReceiver> tmp1;
    1992             :     compiler::TNode<String> tmp2;
    1993             :     compiler::TNode<Number> tmp3;
    1994             :     compiler::TNode<Object> tmp4;
    1995             :     compiler::TNode<Object> tmp5;
    1996             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    1997         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 380);
    1998         112 :     compiler::TNode<IntPtrT> tmp6 = ca_.IntPtrConstant(HeapObject::kMapOffset);
    1999             :     USE(tmp6);
    2000         224 :     compiler::TNode<Map>tmp7 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp6});
    2001         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 381);
    2002             :     compiler::TNode<Int32T> tmp8;
    2003             :     USE(tmp8);
    2004         224 :     tmp8 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp7}));
    2005         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 382);
    2006         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
    2007             :     compiler::TNode<BoolT> tmp9;
    2008             :     USE(tmp9);
    2009         224 :     tmp9 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindGreaterThan(compiler::TNode<Int32T>{tmp8}, UINT32_ELEMENTS));
    2010         112 :     ca_.Branch(tmp9, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp8, ca_.Uninitialized<BuiltinPtr>());
    2011             :   }
    2012             : 
    2013         112 :   if (block2.is_used()) {
    2014             :     compiler::TNode<Context> tmp10;
    2015             :     compiler::TNode<JSReceiver> tmp11;
    2016             :     compiler::TNode<String> tmp12;
    2017             :     compiler::TNode<Number> tmp13;
    2018             :     compiler::TNode<Object> tmp14;
    2019             :     compiler::TNode<Object> tmp15;
    2020             :     compiler::TNode<Map> tmp16;
    2021             :     compiler::TNode<Int32T> tmp17;
    2022             :     compiler::TNode<BuiltinPtr> tmp18;
    2023             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
    2024         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
    2025             :     compiler::TNode<Int32T> tmp19;
    2026             :     USE(tmp19);
    2027         336 :     tmp19 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT32_ELEMENTS));
    2028             :     compiler::TNode<BoolT> tmp20;
    2029             :     USE(tmp20);
    2030         224 :     tmp20 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp17}, compiler::TNode<Int32T>{tmp19}));
    2031         112 :     ca_.Branch(tmp20, &block5, &block6, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18);
    2032             :   }
    2033             : 
    2034         112 :   if (block5.is_used()) {
    2035             :     compiler::TNode<Context> tmp21;
    2036             :     compiler::TNode<JSReceiver> tmp22;
    2037             :     compiler::TNode<String> tmp23;
    2038             :     compiler::TNode<Number> tmp24;
    2039             :     compiler::TNode<Object> tmp25;
    2040             :     compiler::TNode<Object> tmp26;
    2041             :     compiler::TNode<Map> tmp27;
    2042             :     compiler::TNode<Int32T> tmp28;
    2043             :     compiler::TNode<BuiltinPtr> tmp29;
    2044             :     ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
    2045         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 386);
    2046         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
    2047             :     ca_.Goto(&block7, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt32Array)));
    2048             :   }
    2049             : 
    2050         112 :   if (block6.is_used()) {
    2051             :     compiler::TNode<Context> tmp30;
    2052             :     compiler::TNode<JSReceiver> tmp31;
    2053             :     compiler::TNode<String> tmp32;
    2054             :     compiler::TNode<Number> tmp33;
    2055             :     compiler::TNode<Object> tmp34;
    2056             :     compiler::TNode<Object> tmp35;
    2057             :     compiler::TNode<Map> tmp36;
    2058             :     compiler::TNode<Int32T> tmp37;
    2059             :     compiler::TNode<BuiltinPtr> tmp38;
    2060             :     ca_.Bind(&block6, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
    2061         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
    2062             :     compiler::TNode<Int32T> tmp39;
    2063             :     USE(tmp39);
    2064         336 :     tmp39 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT32_ELEMENTS));
    2065             :     compiler::TNode<BoolT> tmp40;
    2066             :     USE(tmp40);
    2067         224 :     tmp40 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp37}, compiler::TNode<Int32T>{tmp39}));
    2068         112 :     ca_.Branch(tmp40, &block8, &block9, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38);
    2069             :   }
    2070             : 
    2071         112 :   if (block8.is_used()) {
    2072             :     compiler::TNode<Context> tmp41;
    2073             :     compiler::TNode<JSReceiver> tmp42;
    2074             :     compiler::TNode<String> tmp43;
    2075             :     compiler::TNode<Number> tmp44;
    2076             :     compiler::TNode<Object> tmp45;
    2077             :     compiler::TNode<Object> tmp46;
    2078             :     compiler::TNode<Map> tmp47;
    2079             :     compiler::TNode<Int32T> tmp48;
    2080             :     compiler::TNode<BuiltinPtr> tmp49;
    2081             :     ca_.Bind(&block8, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
    2082         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 388);
    2083         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
    2084             :     ca_.Goto(&block10, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat32Array)));
    2085             :   }
    2086             : 
    2087         112 :   if (block9.is_used()) {
    2088             :     compiler::TNode<Context> tmp50;
    2089             :     compiler::TNode<JSReceiver> tmp51;
    2090             :     compiler::TNode<String> tmp52;
    2091             :     compiler::TNode<Number> tmp53;
    2092             :     compiler::TNode<Object> tmp54;
    2093             :     compiler::TNode<Object> tmp55;
    2094             :     compiler::TNode<Map> tmp56;
    2095             :     compiler::TNode<Int32T> tmp57;
    2096             :     compiler::TNode<BuiltinPtr> tmp58;
    2097             :     ca_.Bind(&block9, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
    2098         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
    2099             :     compiler::TNode<Int32T> tmp59;
    2100             :     USE(tmp59);
    2101         336 :     tmp59 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT64_ELEMENTS));
    2102             :     compiler::TNode<BoolT> tmp60;
    2103             :     USE(tmp60);
    2104         224 :     tmp60 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp57}, compiler::TNode<Int32T>{tmp59}));
    2105         112 :     ca_.Branch(tmp60, &block11, &block12, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58);
    2106             :   }
    2107             : 
    2108         112 :   if (block11.is_used()) {
    2109             :     compiler::TNode<Context> tmp61;
    2110             :     compiler::TNode<JSReceiver> tmp62;
    2111             :     compiler::TNode<String> tmp63;
    2112             :     compiler::TNode<Number> tmp64;
    2113             :     compiler::TNode<Object> tmp65;
    2114             :     compiler::TNode<Object> tmp66;
    2115             :     compiler::TNode<Map> tmp67;
    2116             :     compiler::TNode<Int32T> tmp68;
    2117             :     compiler::TNode<BuiltinPtr> tmp69;
    2118             :     ca_.Bind(&block11, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
    2119         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 390);
    2120         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
    2121             :     ca_.Goto(&block13, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat64Array)));
    2122             :   }
    2123             : 
    2124         112 :   if (block12.is_used()) {
    2125             :     compiler::TNode<Context> tmp70;
    2126             :     compiler::TNode<JSReceiver> tmp71;
    2127             :     compiler::TNode<String> tmp72;
    2128             :     compiler::TNode<Number> tmp73;
    2129             :     compiler::TNode<Object> tmp74;
    2130             :     compiler::TNode<Object> tmp75;
    2131             :     compiler::TNode<Map> tmp76;
    2132             :     compiler::TNode<Int32T> tmp77;
    2133             :     compiler::TNode<BuiltinPtr> tmp78;
    2134             :     ca_.Bind(&block12, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78);
    2135         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
    2136             :     compiler::TNode<Int32T> tmp79;
    2137             :     USE(tmp79);
    2138         336 :     tmp79 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_CLAMPED_ELEMENTS));
    2139             :     compiler::TNode<BoolT> tmp80;
    2140             :     USE(tmp80);
    2141         224 :     tmp80 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp77}, compiler::TNode<Int32T>{tmp79}));
    2142         112 :     ca_.Branch(tmp80, &block14, &block15, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78);
    2143             :   }
    2144             : 
    2145         112 :   if (block14.is_used()) {
    2146             :     compiler::TNode<Context> tmp81;
    2147             :     compiler::TNode<JSReceiver> tmp82;
    2148             :     compiler::TNode<String> tmp83;
    2149             :     compiler::TNode<Number> tmp84;
    2150             :     compiler::TNode<Object> tmp85;
    2151             :     compiler::TNode<Object> tmp86;
    2152             :     compiler::TNode<Map> tmp87;
    2153             :     compiler::TNode<Int32T> tmp88;
    2154             :     compiler::TNode<BuiltinPtr> tmp89;
    2155             :     ca_.Bind(&block14, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89);
    2156         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 392);
    2157         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
    2158             :     ca_.Goto(&block16, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement24ATFixedUint8ClampedArray)));
    2159             :   }
    2160             : 
    2161         112 :   if (block15.is_used()) {
    2162             :     compiler::TNode<Context> tmp90;
    2163             :     compiler::TNode<JSReceiver> tmp91;
    2164             :     compiler::TNode<String> tmp92;
    2165             :     compiler::TNode<Number> tmp93;
    2166             :     compiler::TNode<Object> tmp94;
    2167             :     compiler::TNode<Object> tmp95;
    2168             :     compiler::TNode<Map> tmp96;
    2169             :     compiler::TNode<Int32T> tmp97;
    2170             :     compiler::TNode<BuiltinPtr> tmp98;
    2171             :     ca_.Bind(&block15, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98);
    2172         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
    2173             :     compiler::TNode<Int32T> tmp99;
    2174             :     USE(tmp99);
    2175         336 :     tmp99 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGUINT64_ELEMENTS));
    2176             :     compiler::TNode<BoolT> tmp100;
    2177             :     USE(tmp100);
    2178         224 :     tmp100 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp97}, compiler::TNode<Int32T>{tmp99}));
    2179         112 :     ca_.Branch(tmp100, &block17, &block18, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98);
    2180             :   }
    2181             : 
    2182         112 :   if (block17.is_used()) {
    2183             :     compiler::TNode<Context> tmp101;
    2184             :     compiler::TNode<JSReceiver> tmp102;
    2185             :     compiler::TNode<String> tmp103;
    2186             :     compiler::TNode<Number> tmp104;
    2187             :     compiler::TNode<Object> tmp105;
    2188             :     compiler::TNode<Object> tmp106;
    2189             :     compiler::TNode<Map> tmp107;
    2190             :     compiler::TNode<Int32T> tmp108;
    2191             :     compiler::TNode<BuiltinPtr> tmp109;
    2192             :     ca_.Bind(&block17, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
    2193         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 394);
    2194         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
    2195             :     ca_.Goto(&block19, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement21ATFixedBigUint64Array)));
    2196             :   }
    2197             : 
    2198         112 :   if (block18.is_used()) {
    2199             :     compiler::TNode<Context> tmp110;
    2200             :     compiler::TNode<JSReceiver> tmp111;
    2201             :     compiler::TNode<String> tmp112;
    2202             :     compiler::TNode<Number> tmp113;
    2203             :     compiler::TNode<Object> tmp114;
    2204             :     compiler::TNode<Object> tmp115;
    2205             :     compiler::TNode<Map> tmp116;
    2206             :     compiler::TNode<Int32T> tmp117;
    2207             :     compiler::TNode<BuiltinPtr> tmp118;
    2208             :     ca_.Bind(&block18, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
    2209         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 395);
    2210             :     compiler::TNode<Int32T> tmp119;
    2211             :     USE(tmp119);
    2212         336 :     tmp119 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGINT64_ELEMENTS));
    2213             :     compiler::TNode<BoolT> tmp120;
    2214             :     USE(tmp120);
    2215         224 :     tmp120 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp117}, compiler::TNode<Int32T>{tmp119}));
    2216         112 :     ca_.Branch(tmp120, &block20, &block21, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
    2217             :   }
    2218             : 
    2219         112 :   if (block20.is_used()) {
    2220             :     compiler::TNode<Context> tmp121;
    2221             :     compiler::TNode<JSReceiver> tmp122;
    2222             :     compiler::TNode<String> tmp123;
    2223             :     compiler::TNode<Number> tmp124;
    2224             :     compiler::TNode<Object> tmp125;
    2225             :     compiler::TNode<Object> tmp126;
    2226             :     compiler::TNode<Map> tmp127;
    2227             :     compiler::TNode<Int32T> tmp128;
    2228             :     compiler::TNode<BuiltinPtr> tmp129;
    2229             :     ca_.Bind(&block20, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129);
    2230         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 396);
    2231         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 395);
    2232             :     ca_.Goto(&block22, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement20ATFixedBigInt64Array)));
    2233             :   }
    2234             : 
    2235         112 :   if (block21.is_used()) {
    2236             :     compiler::TNode<Context> tmp130;
    2237             :     compiler::TNode<JSReceiver> tmp131;
    2238             :     compiler::TNode<String> tmp132;
    2239             :     compiler::TNode<Number> tmp133;
    2240             :     compiler::TNode<Object> tmp134;
    2241             :     compiler::TNode<Object> tmp135;
    2242             :     compiler::TNode<Map> tmp136;
    2243             :     compiler::TNode<Int32T> tmp137;
    2244             :     compiler::TNode<BuiltinPtr> tmp138;
    2245             :     ca_.Bind(&block21, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    2246         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 398);
    2247         224 :     CodeStubAssembler(state_).Unreachable();
    2248             :   }
    2249             : 
    2250         112 :   if (block22.is_used()) {
    2251             :     compiler::TNode<Context> tmp139;
    2252             :     compiler::TNode<JSReceiver> tmp140;
    2253             :     compiler::TNode<String> tmp141;
    2254             :     compiler::TNode<Number> tmp142;
    2255             :     compiler::TNode<Object> tmp143;
    2256             :     compiler::TNode<Object> tmp144;
    2257             :     compiler::TNode<Map> tmp145;
    2258             :     compiler::TNode<Int32T> tmp146;
    2259             :     compiler::TNode<BuiltinPtr> tmp147;
    2260             :     ca_.Bind(&block22, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147);
    2261         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
    2262             :     ca_.Goto(&block19, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147);
    2263             :   }
    2264             : 
    2265         112 :   if (block19.is_used()) {
    2266             :     compiler::TNode<Context> tmp148;
    2267             :     compiler::TNode<JSReceiver> tmp149;
    2268             :     compiler::TNode<String> tmp150;
    2269             :     compiler::TNode<Number> tmp151;
    2270             :     compiler::TNode<Object> tmp152;
    2271             :     compiler::TNode<Object> tmp153;
    2272             :     compiler::TNode<Map> tmp154;
    2273             :     compiler::TNode<Int32T> tmp155;
    2274             :     compiler::TNode<BuiltinPtr> tmp156;
    2275             :     ca_.Bind(&block19, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156);
    2276         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
    2277             :     ca_.Goto(&block16, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156);
    2278             :   }
    2279             : 
    2280         112 :   if (block16.is_used()) {
    2281             :     compiler::TNode<Context> tmp157;
    2282             :     compiler::TNode<JSReceiver> tmp158;
    2283             :     compiler::TNode<String> tmp159;
    2284             :     compiler::TNode<Number> tmp160;
    2285             :     compiler::TNode<Object> tmp161;
    2286             :     compiler::TNode<Object> tmp162;
    2287             :     compiler::TNode<Map> tmp163;
    2288             :     compiler::TNode<Int32T> tmp164;
    2289             :     compiler::TNode<BuiltinPtr> tmp165;
    2290             :     ca_.Bind(&block16, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
    2291         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
    2292             :     ca_.Goto(&block13, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165);
    2293             :   }
    2294             : 
    2295         112 :   if (block13.is_used()) {
    2296             :     compiler::TNode<Context> tmp166;
    2297             :     compiler::TNode<JSReceiver> tmp167;
    2298             :     compiler::TNode<String> tmp168;
    2299             :     compiler::TNode<Number> tmp169;
    2300             :     compiler::TNode<Object> tmp170;
    2301             :     compiler::TNode<Object> tmp171;
    2302             :     compiler::TNode<Map> tmp172;
    2303             :     compiler::TNode<Int32T> tmp173;
    2304             :     compiler::TNode<BuiltinPtr> tmp174;
    2305             :     ca_.Bind(&block13, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174);
    2306         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
    2307             :     ca_.Goto(&block10, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174);
    2308             :   }
    2309             : 
    2310         112 :   if (block10.is_used()) {
    2311             :     compiler::TNode<Context> tmp175;
    2312             :     compiler::TNode<JSReceiver> tmp176;
    2313             :     compiler::TNode<String> tmp177;
    2314             :     compiler::TNode<Number> tmp178;
    2315             :     compiler::TNode<Object> tmp179;
    2316             :     compiler::TNode<Object> tmp180;
    2317             :     compiler::TNode<Map> tmp181;
    2318             :     compiler::TNode<Int32T> tmp182;
    2319             :     compiler::TNode<BuiltinPtr> tmp183;
    2320             :     ca_.Bind(&block10, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183);
    2321         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
    2322             :     ca_.Goto(&block7, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183);
    2323             :   }
    2324             : 
    2325         112 :   if (block7.is_used()) {
    2326             :     compiler::TNode<Context> tmp184;
    2327             :     compiler::TNode<JSReceiver> tmp185;
    2328             :     compiler::TNode<String> tmp186;
    2329             :     compiler::TNode<Number> tmp187;
    2330             :     compiler::TNode<Object> tmp188;
    2331             :     compiler::TNode<Object> tmp189;
    2332             :     compiler::TNode<Map> tmp190;
    2333             :     compiler::TNode<Int32T> tmp191;
    2334             :     compiler::TNode<BuiltinPtr> tmp192;
    2335             :     ca_.Bind(&block7, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192);
    2336         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
    2337             :     ca_.Goto(&block4, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192);
    2338             :   }
    2339             : 
    2340         112 :   if (block3.is_used()) {
    2341             :     compiler::TNode<Context> tmp193;
    2342             :     compiler::TNode<JSReceiver> tmp194;
    2343             :     compiler::TNode<String> tmp195;
    2344             :     compiler::TNode<Number> tmp196;
    2345             :     compiler::TNode<Object> tmp197;
    2346             :     compiler::TNode<Object> tmp198;
    2347             :     compiler::TNode<Map> tmp199;
    2348             :     compiler::TNode<Int32T> tmp200;
    2349             :     compiler::TNode<BuiltinPtr> tmp201;
    2350             :     ca_.Bind(&block3, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201);
    2351         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
    2352             :     compiler::TNode<Int32T> tmp202;
    2353             :     USE(tmp202);
    2354         336 :     tmp202 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_ELEMENTS));
    2355             :     compiler::TNode<BoolT> tmp203;
    2356             :     USE(tmp203);
    2357         224 :     tmp203 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp200}, compiler::TNode<Int32T>{tmp202}));
    2358         112 :     ca_.Branch(tmp203, &block23, &block24, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201);
    2359             :   }
    2360             : 
    2361         112 :   if (block23.is_used()) {
    2362             :     compiler::TNode<Context> tmp204;
    2363             :     compiler::TNode<JSReceiver> tmp205;
    2364             :     compiler::TNode<String> tmp206;
    2365             :     compiler::TNode<Number> tmp207;
    2366             :     compiler::TNode<Object> tmp208;
    2367             :     compiler::TNode<Object> tmp209;
    2368             :     compiler::TNode<Map> tmp210;
    2369             :     compiler::TNode<Int32T> tmp211;
    2370             :     compiler::TNode<BuiltinPtr> tmp212;
    2371             :     ca_.Bind(&block23, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211, &tmp212);
    2372         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 402);
    2373         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
    2374             :     ca_.Goto(&block25, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedUint8Array)));
    2375             :   }
    2376             : 
    2377         112 :   if (block24.is_used()) {
    2378             :     compiler::TNode<Context> tmp213;
    2379             :     compiler::TNode<JSReceiver> tmp214;
    2380             :     compiler::TNode<String> tmp215;
    2381             :     compiler::TNode<Number> tmp216;
    2382             :     compiler::TNode<Object> tmp217;
    2383             :     compiler::TNode<Object> tmp218;
    2384             :     compiler::TNode<Map> tmp219;
    2385             :     compiler::TNode<Int32T> tmp220;
    2386             :     compiler::TNode<BuiltinPtr> tmp221;
    2387             :     ca_.Bind(&block24, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221);
    2388         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
    2389             :     compiler::TNode<Int32T> tmp222;
    2390             :     USE(tmp222);
    2391         336 :     tmp222 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT8_ELEMENTS));
    2392             :     compiler::TNode<BoolT> tmp223;
    2393             :     USE(tmp223);
    2394         224 :     tmp223 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp220}, compiler::TNode<Int32T>{tmp222}));
    2395         112 :     ca_.Branch(tmp223, &block26, &block27, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221);
    2396             :   }
    2397             : 
    2398         112 :   if (block26.is_used()) {
    2399             :     compiler::TNode<Context> tmp224;
    2400             :     compiler::TNode<JSReceiver> tmp225;
    2401             :     compiler::TNode<String> tmp226;
    2402             :     compiler::TNode<Number> tmp227;
    2403             :     compiler::TNode<Object> tmp228;
    2404             :     compiler::TNode<Object> tmp229;
    2405             :     compiler::TNode<Map> tmp230;
    2406             :     compiler::TNode<Int32T> tmp231;
    2407             :     compiler::TNode<BuiltinPtr> tmp232;
    2408             :     ca_.Bind(&block26, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232);
    2409         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 404);
    2410         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
    2411             :     ca_.Goto(&block28, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement16ATFixedInt8Array)));
    2412             :   }
    2413             : 
    2414         112 :   if (block27.is_used()) {
    2415             :     compiler::TNode<Context> tmp233;
    2416             :     compiler::TNode<JSReceiver> tmp234;
    2417             :     compiler::TNode<String> tmp235;
    2418             :     compiler::TNode<Number> tmp236;
    2419             :     compiler::TNode<Object> tmp237;
    2420             :     compiler::TNode<Object> tmp238;
    2421             :     compiler::TNode<Map> tmp239;
    2422             :     compiler::TNode<Int32T> tmp240;
    2423             :     compiler::TNode<BuiltinPtr> tmp241;
    2424             :     ca_.Bind(&block27, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241);
    2425         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
    2426             :     compiler::TNode<Int32T> tmp242;
    2427             :     USE(tmp242);
    2428         336 :     tmp242 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT16_ELEMENTS));
    2429             :     compiler::TNode<BoolT> tmp243;
    2430             :     USE(tmp243);
    2431         224 :     tmp243 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp240}, compiler::TNode<Int32T>{tmp242}));
    2432         112 :     ca_.Branch(tmp243, &block29, &block30, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241);
    2433             :   }
    2434             : 
    2435         112 :   if (block29.is_used()) {
    2436             :     compiler::TNode<Context> tmp244;
    2437             :     compiler::TNode<JSReceiver> tmp245;
    2438             :     compiler::TNode<String> tmp246;
    2439             :     compiler::TNode<Number> tmp247;
    2440             :     compiler::TNode<Object> tmp248;
    2441             :     compiler::TNode<Object> tmp249;
    2442             :     compiler::TNode<Map> tmp250;
    2443             :     compiler::TNode<Int32T> tmp251;
    2444             :     compiler::TNode<BuiltinPtr> tmp252;
    2445             :     ca_.Bind(&block29, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252);
    2446         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 406);
    2447         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
    2448             :     ca_.Goto(&block31, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint16Array)));
    2449             :   }
    2450             : 
    2451         112 :   if (block30.is_used()) {
    2452             :     compiler::TNode<Context> tmp253;
    2453             :     compiler::TNode<JSReceiver> tmp254;
    2454             :     compiler::TNode<String> tmp255;
    2455             :     compiler::TNode<Number> tmp256;
    2456             :     compiler::TNode<Object> tmp257;
    2457             :     compiler::TNode<Object> tmp258;
    2458             :     compiler::TNode<Map> tmp259;
    2459             :     compiler::TNode<Int32T> tmp260;
    2460             :     compiler::TNode<BuiltinPtr> tmp261;
    2461             :     ca_.Bind(&block30, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261);
    2462         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
    2463             :     compiler::TNode<Int32T> tmp262;
    2464             :     USE(tmp262);
    2465         336 :     tmp262 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT16_ELEMENTS));
    2466             :     compiler::TNode<BoolT> tmp263;
    2467             :     USE(tmp263);
    2468         224 :     tmp263 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp260}, compiler::TNode<Int32T>{tmp262}));
    2469         112 :     ca_.Branch(tmp263, &block32, &block33, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261);
    2470             :   }
    2471             : 
    2472         112 :   if (block32.is_used()) {
    2473             :     compiler::TNode<Context> tmp264;
    2474             :     compiler::TNode<JSReceiver> tmp265;
    2475             :     compiler::TNode<String> tmp266;
    2476             :     compiler::TNode<Number> tmp267;
    2477             :     compiler::TNode<Object> tmp268;
    2478             :     compiler::TNode<Object> tmp269;
    2479             :     compiler::TNode<Map> tmp270;
    2480             :     compiler::TNode<Int32T> tmp271;
    2481             :     compiler::TNode<BuiltinPtr> tmp272;
    2482             :     ca_.Bind(&block32, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272);
    2483         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 408);
    2484         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
    2485             :     ca_.Goto(&block34, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt16Array)));
    2486             :   }
    2487             : 
    2488         112 :   if (block33.is_used()) {
    2489             :     compiler::TNode<Context> tmp273;
    2490             :     compiler::TNode<JSReceiver> tmp274;
    2491             :     compiler::TNode<String> tmp275;
    2492             :     compiler::TNode<Number> tmp276;
    2493             :     compiler::TNode<Object> tmp277;
    2494             :     compiler::TNode<Object> tmp278;
    2495             :     compiler::TNode<Map> tmp279;
    2496             :     compiler::TNode<Int32T> tmp280;
    2497             :     compiler::TNode<BuiltinPtr> tmp281;
    2498             :     ca_.Bind(&block33, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281);
    2499         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 409);
    2500             :     compiler::TNode<Int32T> tmp282;
    2501             :     USE(tmp282);
    2502         336 :     tmp282 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT32_ELEMENTS));
    2503             :     compiler::TNode<BoolT> tmp283;
    2504             :     USE(tmp283);
    2505         224 :     tmp283 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp280}, compiler::TNode<Int32T>{tmp282}));
    2506         112 :     ca_.Branch(tmp283, &block35, &block36, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281);
    2507             :   }
    2508             : 
    2509         112 :   if (block35.is_used()) {
    2510             :     compiler::TNode<Context> tmp284;
    2511             :     compiler::TNode<JSReceiver> tmp285;
    2512             :     compiler::TNode<String> tmp286;
    2513             :     compiler::TNode<Number> tmp287;
    2514             :     compiler::TNode<Object> tmp288;
    2515             :     compiler::TNode<Object> tmp289;
    2516             :     compiler::TNode<Map> tmp290;
    2517             :     compiler::TNode<Int32T> tmp291;
    2518             :     compiler::TNode<BuiltinPtr> tmp292;
    2519             :     ca_.Bind(&block35, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292);
    2520         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 410);
    2521         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 409);
    2522             :     ca_.Goto(&block37, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint32Array)));
    2523             :   }
    2524             : 
    2525         112 :   if (block36.is_used()) {
    2526             :     compiler::TNode<Context> tmp293;
    2527             :     compiler::TNode<JSReceiver> tmp294;
    2528             :     compiler::TNode<String> tmp295;
    2529             :     compiler::TNode<Number> tmp296;
    2530             :     compiler::TNode<Object> tmp297;
    2531             :     compiler::TNode<Object> tmp298;
    2532             :     compiler::TNode<Map> tmp299;
    2533             :     compiler::TNode<Int32T> tmp300;
    2534             :     compiler::TNode<BuiltinPtr> tmp301;
    2535             :     ca_.Bind(&block36, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301);
    2536         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 412);
    2537         224 :     CodeStubAssembler(state_).Unreachable();
    2538             :   }
    2539             : 
    2540         112 :   if (block37.is_used()) {
    2541             :     compiler::TNode<Context> tmp302;
    2542             :     compiler::TNode<JSReceiver> tmp303;
    2543             :     compiler::TNode<String> tmp304;
    2544             :     compiler::TNode<Number> tmp305;
    2545             :     compiler::TNode<Object> tmp306;
    2546             :     compiler::TNode<Object> tmp307;
    2547             :     compiler::TNode<Map> tmp308;
    2548             :     compiler::TNode<Int32T> tmp309;
    2549             :     compiler::TNode<BuiltinPtr> tmp310;
    2550             :     ca_.Bind(&block37, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310);
    2551         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
    2552             :     ca_.Goto(&block34, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310);
    2553             :   }
    2554             : 
    2555         112 :   if (block34.is_used()) {
    2556             :     compiler::TNode<Context> tmp311;
    2557             :     compiler::TNode<JSReceiver> tmp312;
    2558             :     compiler::TNode<String> tmp313;
    2559             :     compiler::TNode<Number> tmp314;
    2560             :     compiler::TNode<Object> tmp315;
    2561             :     compiler::TNode<Object> tmp316;
    2562             :     compiler::TNode<Map> tmp317;
    2563             :     compiler::TNode<Int32T> tmp318;
    2564             :     compiler::TNode<BuiltinPtr> tmp319;
    2565             :     ca_.Bind(&block34, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319);
    2566         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
    2567             :     ca_.Goto(&block31, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp319);
    2568             :   }
    2569             : 
    2570         112 :   if (block31.is_used()) {
    2571             :     compiler::TNode<Context> tmp320;
    2572             :     compiler::TNode<JSReceiver> tmp321;
    2573             :     compiler::TNode<String> tmp322;
    2574             :     compiler::TNode<Number> tmp323;
    2575             :     compiler::TNode<Object> tmp324;
    2576             :     compiler::TNode<Object> tmp325;
    2577             :     compiler::TNode<Map> tmp326;
    2578             :     compiler::TNode<Int32T> tmp327;
    2579             :     compiler::TNode<BuiltinPtr> tmp328;
    2580             :     ca_.Bind(&block31, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328);
    2581         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
    2582             :     ca_.Goto(&block28, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328);
    2583             :   }
    2584             : 
    2585         112 :   if (block28.is_used()) {
    2586             :     compiler::TNode<Context> tmp329;
    2587             :     compiler::TNode<JSReceiver> tmp330;
    2588             :     compiler::TNode<String> tmp331;
    2589             :     compiler::TNode<Number> tmp332;
    2590             :     compiler::TNode<Object> tmp333;
    2591             :     compiler::TNode<Object> tmp334;
    2592             :     compiler::TNode<Map> tmp335;
    2593             :     compiler::TNode<Int32T> tmp336;
    2594             :     compiler::TNode<BuiltinPtr> tmp337;
    2595             :     ca_.Bind(&block28, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336, &tmp337);
    2596         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
    2597             :     ca_.Goto(&block25, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334, tmp335, tmp336, tmp337);
    2598             :   }
    2599             : 
    2600         112 :   if (block25.is_used()) {
    2601             :     compiler::TNode<Context> tmp338;
    2602             :     compiler::TNode<JSReceiver> tmp339;
    2603             :     compiler::TNode<String> tmp340;
    2604             :     compiler::TNode<Number> tmp341;
    2605             :     compiler::TNode<Object> tmp342;
    2606             :     compiler::TNode<Object> tmp343;
    2607             :     compiler::TNode<Map> tmp344;
    2608             :     compiler::TNode<Int32T> tmp345;
    2609             :     compiler::TNode<BuiltinPtr> tmp346;
    2610             :     ca_.Bind(&block25, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346);
    2611         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
    2612             :     ca_.Goto(&block4, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346);
    2613             :   }
    2614             : 
    2615         112 :   if (block4.is_used()) {
    2616             :     compiler::TNode<Context> tmp347;
    2617             :     compiler::TNode<JSReceiver> tmp348;
    2618             :     compiler::TNode<String> tmp349;
    2619             :     compiler::TNode<Number> tmp350;
    2620             :     compiler::TNode<Object> tmp351;
    2621             :     compiler::TNode<Object> tmp352;
    2622             :     compiler::TNode<Map> tmp353;
    2623             :     compiler::TNode<Int32T> tmp354;
    2624             :     compiler::TNode<BuiltinPtr> tmp355;
    2625             :     ca_.Bind(&block4, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355);
    2626         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 416);
    2627         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 415);
    2628             :     compiler::TNode<String> tmp356;
    2629             :     USE(tmp356);
    2630         336 :     tmp356 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoinImpl12JSTypedArray(compiler::TNode<Context>{tmp347}, compiler::TNode<JSReceiver>{tmp348}, compiler::TNode<String>{tmp349}, compiler::TNode<Number>{tmp350}, p_useToLocaleString, compiler::TNode<Object>{tmp351}, compiler::TNode<Object>{tmp352}, compiler::TNode<BuiltinPtr>{tmp355}));
    2631             :     ca_.Goto(&block1, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp356);
    2632             :   }
    2633             : 
    2634         112 :   if (block1.is_used()) {
    2635             :     compiler::TNode<Context> tmp357;
    2636             :     compiler::TNode<JSReceiver> tmp358;
    2637             :     compiler::TNode<String> tmp359;
    2638             :     compiler::TNode<Number> tmp360;
    2639             :     compiler::TNode<Object> tmp361;
    2640             :     compiler::TNode<Object> tmp362;
    2641             :     compiler::TNode<Object> tmp363;
    2642             :     ca_.Bind(&block1, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363);
    2643         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 326);
    2644             :     ca_.Goto(&block38, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363);
    2645             :   }
    2646             : 
    2647             :     compiler::TNode<Context> tmp364;
    2648             :     compiler::TNode<JSReceiver> tmp365;
    2649             :     compiler::TNode<String> tmp366;
    2650             :     compiler::TNode<Number> tmp367;
    2651             :     compiler::TNode<Object> tmp368;
    2652             :     compiler::TNode<Object> tmp369;
    2653             :     compiler::TNode<Object> tmp370;
    2654             :     ca_.Bind(&block38, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370);
    2655         224 :   return compiler::TNode<Object>{tmp370};
    2656             : }
    2657             : 
    2658         672 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::LoadJoinStack(compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_IfUninitialized) {
    2659         672 :   compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2660             :   compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2661             :   compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2662             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2663             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2664             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2665             :     ca_.Goto(&block0, p_context);
    2666             : 
    2667         672 :   if (block0.is_used()) {
    2668             :     compiler::TNode<Context> tmp0;
    2669             :     ca_.Bind(&block0, &tmp0);
    2670         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 428);
    2671             :     compiler::TNode<Context> tmp1;
    2672             :     USE(tmp1);
    2673        2016 :     tmp1 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
    2674         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 430);
    2675             :     compiler::TNode<IntPtrT> tmp2;
    2676             :     USE(tmp2);
    2677        2016 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
    2678             :     compiler::TNode<Object> tmp3;
    2679             :     USE(tmp3);
    2680        1344 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp1}, compiler::TNode<IntPtrT>{tmp2}));
    2681             :     compiler::TNode<HeapObject> tmp4;
    2682             :     USE(tmp4);
    2683        2016 :     tmp4 = ca_.UncheckedCast<HeapObject>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp3}));
    2684         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 429);
    2685         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 431);
    2686             :     compiler::TNode<Oddball> tmp5;
    2687             :     USE(tmp5);
    2688        2016 :     tmp5 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    2689             :     compiler::TNode<BoolT> tmp6;
    2690             :     USE(tmp6);
    2691        1344 :     tmp6 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp4}, compiler::TNode<HeapObject>{tmp5}));
    2692         672 :     ca_.Branch(tmp6, &block3, &block4, tmp0, tmp1, tmp4);
    2693             :   }
    2694             : 
    2695         672 :   if (block3.is_used()) {
    2696             :     compiler::TNode<Context> tmp7;
    2697             :     compiler::TNode<Context> tmp8;
    2698             :     compiler::TNode<HeapObject> tmp9;
    2699             :     ca_.Bind(&block3, &tmp7, &tmp8, &tmp9);
    2700             :     ca_.Goto(&block1);
    2701             :   }
    2702             : 
    2703         672 :   if (block4.is_used()) {
    2704             :     compiler::TNode<Context> tmp10;
    2705             :     compiler::TNode<Context> tmp11;
    2706             :     compiler::TNode<HeapObject> tmp12;
    2707             :     ca_.Bind(&block4, &tmp10, &tmp11, &tmp12);
    2708         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 433);
    2709             :     compiler::TNode<FixedArray> tmp13;
    2710             :     USE(tmp13);
    2711        2016 :     tmp13 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp12}));
    2712             :     ca_.Goto(&block2, tmp10, tmp13);
    2713             :   }
    2714             : 
    2715         672 :   if (block2.is_used()) {
    2716             :     compiler::TNode<Context> tmp14;
    2717             :     compiler::TNode<FixedArray> tmp15;
    2718             :     ca_.Bind(&block2, &tmp14, &tmp15);
    2719         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 426);
    2720             :     ca_.Goto(&block5, tmp14, tmp15);
    2721             :   }
    2722             : 
    2723         672 :   if (block1.is_used()) {
    2724             :     ca_.Bind(&block1);
    2725         672 :     ca_.Goto(label_IfUninitialized);
    2726             :   }
    2727             : 
    2728             :     compiler::TNode<Context> tmp16;
    2729             :     compiler::TNode<FixedArray> tmp17;
    2730             :     ca_.Bind(&block5, &tmp16, &tmp17);
    2731        1344 :   return compiler::TNode<FixedArray>{tmp17};
    2732             : }
    2733             : 
    2734         336 : void ArrayJoinBuiltinsFromDSLAssembler::SetJoinStack(compiler::TNode<Context> p_context, compiler::TNode<FixedArray> p_stack) {
    2735         336 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2736             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2737             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2738             :     ca_.Goto(&block0, p_context, p_stack);
    2739             : 
    2740         336 :   if (block0.is_used()) {
    2741             :     compiler::TNode<Context> tmp0;
    2742             :     compiler::TNode<FixedArray> tmp1;
    2743             :     ca_.Bind(&block0, &tmp0, &tmp1);
    2744         336 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 437);
    2745             :     compiler::TNode<Context> tmp2;
    2746             :     USE(tmp2);
    2747        1008 :     tmp2 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
    2748         336 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 438);
    2749             :     compiler::TNode<IntPtrT> tmp3;
    2750             :     USE(tmp3);
    2751        1008 :     tmp3 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
    2752         672 :     CodeStubAssembler(state_).StoreContextElement(compiler::TNode<Context>{tmp2}, compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<Object>{tmp1});
    2753         336 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 436);
    2754             :     ca_.Goto(&block1, tmp0, tmp1);
    2755             :   }
    2756             : 
    2757         336 :   if (block1.is_used()) {
    2758             :     compiler::TNode<Context> tmp4;
    2759             :     compiler::TNode<FixedArray> tmp5;
    2760             :     ca_.Bind(&block1, &tmp4, &tmp5);
    2761             :     ca_.Goto(&block2, tmp4, tmp5);
    2762             :   }
    2763             : 
    2764             :     compiler::TNode<Context> tmp6;
    2765             :     compiler::TNode<FixedArray> tmp7;
    2766             :     ca_.Bind(&block2, &tmp6, &tmp7);
    2767         336 : }
    2768             : 
    2769         224 : TF_BUILTIN(JoinStackPush, CodeStubAssembler) {
    2770          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    2771             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    2772             :   USE(parameter0);
    2773             :   compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
    2774             :   USE(parameter1);
    2775             :   compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    2776             :   USE(parameter2);
    2777             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2778             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2779             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2780             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2781             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2782             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2783             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2784             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2785             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2786             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    2787             : 
    2788          56 :   if (block0.is_used()) {
    2789             :     compiler::TNode<Context> tmp0;
    2790             :     compiler::TNode<FixedArray> tmp1;
    2791             :     compiler::TNode<JSReceiver> tmp2;
    2792             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    2793          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 446);
    2794             :     compiler::TNode<IntPtrT> tmp3;
    2795             :     USE(tmp3);
    2796         112 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
    2797          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 447);
    2798             :     compiler::TNode<IntPtrT> tmp4;
    2799             :     USE(tmp4);
    2800         112 :     tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    2801             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
    2802             :   }
    2803             : 
    2804          56 :   if (block3.is_used()) {
    2805             :     compiler::TNode<Context> tmp5;
    2806             :     compiler::TNode<FixedArray> tmp6;
    2807             :     compiler::TNode<JSReceiver> tmp7;
    2808             :     compiler::TNode<IntPtrT> tmp8;
    2809             :     compiler::TNode<IntPtrT> tmp9;
    2810             :     ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
    2811             :     compiler::TNode<BoolT> tmp10;
    2812             :     USE(tmp10);
    2813         224 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
    2814          56 :     ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
    2815             :   }
    2816             : 
    2817          56 :   if (block1.is_used()) {
    2818             :     compiler::TNode<Context> tmp11;
    2819             :     compiler::TNode<FixedArray> tmp12;
    2820             :     compiler::TNode<JSReceiver> tmp13;
    2821             :     compiler::TNode<IntPtrT> tmp14;
    2822             :     compiler::TNode<IntPtrT> tmp15;
    2823             :     ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
    2824          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 448);
    2825             :     compiler::TNode<Object> tmp16;
    2826             :     USE(tmp16);
    2827         112 :     tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
    2828          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 451);
    2829             :     compiler::TNode<Oddball> tmp17;
    2830             :     USE(tmp17);
    2831         112 :     tmp17 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    2832             :     compiler::TNode<BoolT> tmp18;
    2833             :     USE(tmp18);
    2834         112 :     tmp18 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp17}));
    2835          56 :     ca_.Branch(tmp18, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
    2836             :   }
    2837             : 
    2838          56 :   if (block5.is_used()) {
    2839             :     compiler::TNode<Context> tmp19;
    2840             :     compiler::TNode<FixedArray> tmp20;
    2841             :     compiler::TNode<JSReceiver> tmp21;
    2842             :     compiler::TNode<IntPtrT> tmp22;
    2843             :     compiler::TNode<IntPtrT> tmp23;
    2844             :     compiler::TNode<Object> tmp24;
    2845             :     ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
    2846          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 452);
    2847         112 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp20}, compiler::TNode<IntPtrT>{tmp23}, compiler::TNode<HeapObject>{tmp21});
    2848          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 453);
    2849             :     compiler::TNode<Oddball> tmp25;
    2850             :     USE(tmp25);
    2851         112 :     tmp25 = BaseBuiltinsFromDSLAssembler(state_).True();
    2852         112 :     CodeStubAssembler(state_).Return(tmp25);
    2853             :   }
    2854             : 
    2855          56 :   if (block6.is_used()) {
    2856             :     compiler::TNode<Context> tmp26;
    2857             :     compiler::TNode<FixedArray> tmp27;
    2858             :     compiler::TNode<JSReceiver> tmp28;
    2859             :     compiler::TNode<IntPtrT> tmp29;
    2860             :     compiler::TNode<IntPtrT> tmp30;
    2861             :     compiler::TNode<Object> tmp31;
    2862             :     ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
    2863          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 457);
    2864             :     compiler::TNode<BoolT> tmp32;
    2865             :     USE(tmp32);
    2866         112 :     tmp32 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp28}, compiler::TNode<Object>{tmp31}));
    2867          56 :     ca_.Branch(tmp32, &block7, &block8, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31);
    2868             :   }
    2869             : 
    2870          56 :   if (block7.is_used()) {
    2871             :     compiler::TNode<Context> tmp33;
    2872             :     compiler::TNode<FixedArray> tmp34;
    2873             :     compiler::TNode<JSReceiver> tmp35;
    2874             :     compiler::TNode<IntPtrT> tmp36;
    2875             :     compiler::TNode<IntPtrT> tmp37;
    2876             :     compiler::TNode<Object> tmp38;
    2877             :     ca_.Bind(&block7, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
    2878             :     compiler::TNode<Oddball> tmp39;
    2879             :     USE(tmp39);
    2880         112 :     tmp39 = BaseBuiltinsFromDSLAssembler(state_).False();
    2881         112 :     CodeStubAssembler(state_).Return(tmp39);
    2882             :   }
    2883             : 
    2884          56 :   if (block8.is_used()) {
    2885             :     compiler::TNode<Context> tmp40;
    2886             :     compiler::TNode<FixedArray> tmp41;
    2887             :     compiler::TNode<JSReceiver> tmp42;
    2888             :     compiler::TNode<IntPtrT> tmp43;
    2889             :     compiler::TNode<IntPtrT> tmp44;
    2890             :     compiler::TNode<Object> tmp45;
    2891             :     ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
    2892          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 447);
    2893             :     ca_.Goto(&block4, tmp40, tmp41, tmp42, tmp43, tmp44);
    2894             :   }
    2895             : 
    2896          56 :   if (block4.is_used()) {
    2897             :     compiler::TNode<Context> tmp46;
    2898             :     compiler::TNode<FixedArray> tmp47;
    2899             :     compiler::TNode<JSReceiver> tmp48;
    2900             :     compiler::TNode<IntPtrT> tmp49;
    2901             :     compiler::TNode<IntPtrT> tmp50;
    2902             :     ca_.Bind(&block4, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
    2903             :     compiler::TNode<IntPtrT> tmp51;
    2904             :     USE(tmp51);
    2905         112 :     tmp51 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    2906             :     compiler::TNode<IntPtrT> tmp52;
    2907             :     USE(tmp52);
    2908         112 :     tmp52 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp50}, compiler::TNode<IntPtrT>{tmp51}));
    2909             :     ca_.Goto(&block3, tmp46, tmp47, tmp48, tmp49, tmp52);
    2910             :   }
    2911             : 
    2912          56 :   if (block2.is_used()) {
    2913             :     compiler::TNode<Context> tmp53;
    2914             :     compiler::TNode<FixedArray> tmp54;
    2915             :     compiler::TNode<JSReceiver> tmp55;
    2916             :     compiler::TNode<IntPtrT> tmp56;
    2917             :     compiler::TNode<IntPtrT> tmp57;
    2918             :     ca_.Bind(&block2, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
    2919          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 462);
    2920             :     compiler::TNode<FixedArray> tmp58;
    2921             :     USE(tmp58);
    2922         112 :     tmp58 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray>{tmp54}, compiler::TNode<IntPtrT>{tmp56}, compiler::TNode<JSReceiver>{tmp55}));
    2923          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 461);
    2924          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 463);
    2925         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp53}, compiler::TNode<FixedArray>{tmp58});
    2926          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 464);
    2927             :     compiler::TNode<Oddball> tmp59;
    2928             :     USE(tmp59);
    2929         112 :     tmp59 = BaseBuiltinsFromDSLAssembler(state_).True();
    2930         112 :     CodeStubAssembler(state_).Return(tmp59);
    2931             :   }
    2932          56 : }
    2933             : 
    2934         224 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPushInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::CodeAssemblerLabel* label_ReceiverAdded, compiler::CodeAssemblerLabel* label_ReceiverNotAdded) {
    2935         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2936             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2937             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2938             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2939             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2940             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block10(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    2941             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2942             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2943             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2944             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2945             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2946             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2947             :     ca_.Goto(&block0, p_context, p_receiver);
    2948             : 
    2949         224 :   if (block0.is_used()) {
    2950             :     compiler::TNode<Context> tmp0;
    2951             :     compiler::TNode<JSReceiver> tmp1;
    2952             :     ca_.Bind(&block0, &tmp0, &tmp1);
    2953         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 474);
    2954             :     compiler::TNode<FixedArray> tmp2;
    2955             :     USE(tmp2);
    2956         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    2957         672 :     tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
    2958             :     ca_.Goto(&block5, tmp0, tmp1, tmp2);
    2959         224 :     if (label0.is_used()) {
    2960         224 :       ca_.Bind(&label0);
    2961             :       ca_.Goto(&block6, tmp0, tmp1);
    2962             :     }
    2963             :   }
    2964             : 
    2965         224 :   if (block6.is_used()) {
    2966             :     compiler::TNode<Context> tmp3;
    2967             :     compiler::TNode<JSReceiver> tmp4;
    2968             :     ca_.Bind(&block6, &tmp3, &tmp4);
    2969             :     ca_.Goto(&block4, tmp3, tmp4);
    2970             :   }
    2971             : 
    2972         224 :   if (block5.is_used()) {
    2973             :     compiler::TNode<Context> tmp5;
    2974             :     compiler::TNode<JSReceiver> tmp6;
    2975             :     compiler::TNode<FixedArray> tmp7;
    2976             :     ca_.Bind(&block5, &tmp5, &tmp6, &tmp7);
    2977         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
    2978             :     compiler::TNode<Object> tmp8;
    2979             :     USE(tmp8);
    2980         448 :     tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp7}, 0));
    2981             :     compiler::TNode<Oddball> tmp9;
    2982             :     USE(tmp9);
    2983         672 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    2984             :     compiler::TNode<BoolT> tmp10;
    2985             :     USE(tmp10);
    2986         448 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp8}, compiler::TNode<HeapObject>{tmp9}));
    2987         224 :     ca_.Branch(tmp10, &block7, &block8, tmp5, tmp6, tmp7);
    2988             :   }
    2989             : 
    2990         224 :   if (block7.is_used()) {
    2991             :     compiler::TNode<Context> tmp11;
    2992             :     compiler::TNode<JSReceiver> tmp12;
    2993             :     compiler::TNode<FixedArray> tmp13;
    2994             :     ca_.Bind(&block7, &tmp11, &tmp12, &tmp13);
    2995         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 477);
    2996         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp13}, 0, compiler::TNode<HeapObject>{tmp12});
    2997         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
    2998             :     ca_.Goto(&block9, tmp11, tmp12, tmp13);
    2999             :   }
    3000             : 
    3001         224 :   if (block8.is_used()) {
    3002             :     compiler::TNode<Context> tmp14;
    3003             :     compiler::TNode<JSReceiver> tmp15;
    3004             :     compiler::TNode<FixedArray> tmp16;
    3005             :     ca_.Bind(&block8, &tmp14, &tmp15, &tmp16);
    3006         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 478);
    3007             :     compiler::TNode<Oddball> tmp17;
    3008         448 :     tmp17 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPush, tmp14, tmp16, tmp15));
    3009             :     USE(tmp17);
    3010             :     compiler::TNode<Oddball> tmp18;
    3011             :     USE(tmp18);
    3012         672 :     tmp18 = BaseBuiltinsFromDSLAssembler(state_).False();
    3013             :     compiler::TNode<BoolT> tmp19;
    3014             :     USE(tmp19);
    3015         448 :     tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp17}, compiler::TNode<HeapObject>{tmp18}));
    3016         224 :     ca_.Branch(tmp19, &block10, &block11, tmp14, tmp15, tmp16);
    3017             :   }
    3018             : 
    3019         224 :   if (block10.is_used()) {
    3020             :     compiler::TNode<Context> tmp20;
    3021             :     compiler::TNode<JSReceiver> tmp21;
    3022             :     compiler::TNode<FixedArray> tmp22;
    3023             :     ca_.Bind(&block10, &tmp20, &tmp21, &tmp22);
    3024         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 480);
    3025             :     ca_.Goto(&block2);
    3026             :   }
    3027             : 
    3028         224 :   if (block11.is_used()) {
    3029             :     compiler::TNode<Context> tmp23;
    3030             :     compiler::TNode<JSReceiver> tmp24;
    3031             :     compiler::TNode<FixedArray> tmp25;
    3032             :     ca_.Bind(&block11, &tmp23, &tmp24, &tmp25);
    3033         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
    3034             :     ca_.Goto(&block9, tmp23, tmp24, tmp25);
    3035             :   }
    3036             : 
    3037         224 :   if (block9.is_used()) {
    3038             :     compiler::TNode<Context> tmp26;
    3039             :     compiler::TNode<JSReceiver> tmp27;
    3040             :     compiler::TNode<FixedArray> tmp28;
    3041             :     ca_.Bind(&block9, &tmp26, &tmp27, &tmp28);
    3042         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
    3043         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 483);
    3044             :     ca_.Goto(&block3, tmp26, tmp27);
    3045             :   }
    3046             : 
    3047         224 :   if (block4.is_used()) {
    3048             :     compiler::TNode<Context> tmp29;
    3049             :     compiler::TNode<JSReceiver> tmp30;
    3050             :     ca_.Bind(&block4, &tmp29, &tmp30);
    3051         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 485);
    3052             :     compiler::TNode<IntPtrT> tmp31;
    3053             :     USE(tmp31);
    3054         672 :     tmp31 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3055             :     compiler::TNode<FixedArray> tmp32;
    3056             :     USE(tmp32);
    3057         448 :     tmp32 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp31}, CodeStubAssembler::kNone));
    3058         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 484);
    3059         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 486);
    3060         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp32}, 0, compiler::TNode<HeapObject>{tmp30});
    3061         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 487);
    3062         672 :     ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp29}, compiler::TNode<FixedArray>{tmp32});
    3063         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 483);
    3064         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
    3065             :     ca_.Goto(&block3, tmp29, tmp30);
    3066             :   }
    3067             : 
    3068         224 :   if (block3.is_used()) {
    3069             :     compiler::TNode<Context> tmp33;
    3070             :     compiler::TNode<JSReceiver> tmp34;
    3071             :     ca_.Bind(&block3, &tmp33, &tmp34);
    3072         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 489);
    3073             :     ca_.Goto(&block1);
    3074             :   }
    3075             : 
    3076         224 :   if (block1.is_used()) {
    3077             :     ca_.Bind(&block1);
    3078         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 470);
    3079         224 :     ca_.Goto(label_ReceiverAdded);
    3080             :   }
    3081             : 
    3082         224 :   if (block2.is_used()) {
    3083             :     ca_.Bind(&block2);
    3084         224 :     ca_.Goto(label_ReceiverNotAdded);
    3085             :   }
    3086         224 : }
    3087             : 
    3088         224 : TF_BUILTIN(JoinStackPop, CodeStubAssembler) {
    3089          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3090             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3091             :   USE(parameter0);
    3092             :   compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
    3093             :   USE(parameter1);
    3094             :   compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    3095             :   USE(parameter2);
    3096             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3097             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3098             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3099             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3100             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3101             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3102             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3103             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3104             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3105             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3106             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3107             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    3108             : 
    3109          56 :   if (block0.is_used()) {
    3110             :     compiler::TNode<Context> tmp0;
    3111             :     compiler::TNode<FixedArray> tmp1;
    3112             :     compiler::TNode<JSReceiver> tmp2;
    3113             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    3114          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 496);
    3115             :     compiler::TNode<IntPtrT> tmp3;
    3116             :     USE(tmp3);
    3117         112 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
    3118          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 497);
    3119             :     compiler::TNode<IntPtrT> tmp4;
    3120             :     USE(tmp4);
    3121         112 :     tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3122             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
    3123             :   }
    3124             : 
    3125          56 :   if (block3.is_used()) {
    3126             :     compiler::TNode<Context> tmp5;
    3127             :     compiler::TNode<FixedArray> tmp6;
    3128             :     compiler::TNode<JSReceiver> tmp7;
    3129             :     compiler::TNode<IntPtrT> tmp8;
    3130             :     compiler::TNode<IntPtrT> tmp9;
    3131             :     ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
    3132             :     compiler::TNode<BoolT> tmp10;
    3133             :     USE(tmp10);
    3134         224 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
    3135          56 :     ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
    3136             :   }
    3137             : 
    3138          56 :   if (block1.is_used()) {
    3139             :     compiler::TNode<Context> tmp11;
    3140             :     compiler::TNode<FixedArray> tmp12;
    3141             :     compiler::TNode<JSReceiver> tmp13;
    3142             :     compiler::TNode<IntPtrT> tmp14;
    3143             :     compiler::TNode<IntPtrT> tmp15;
    3144             :     ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
    3145          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 498);
    3146             :     compiler::TNode<Object> tmp16;
    3147             :     USE(tmp16);
    3148         112 :     tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
    3149             :     compiler::TNode<BoolT> tmp17;
    3150             :     USE(tmp17);
    3151         112 :     tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp13}));
    3152          56 :     ca_.Branch(tmp17, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15);
    3153             :   }
    3154             : 
    3155          56 :   if (block5.is_used()) {
    3156             :     compiler::TNode<Context> tmp18;
    3157             :     compiler::TNode<FixedArray> tmp19;
    3158             :     compiler::TNode<JSReceiver> tmp20;
    3159             :     compiler::TNode<IntPtrT> tmp21;
    3160             :     compiler::TNode<IntPtrT> tmp22;
    3161             :     ca_.Bind(&block5, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
    3162          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
    3163             :     compiler::TNode<IntPtrT> tmp23;
    3164             :     USE(tmp23);
    3165         112 :     tmp23 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3166             :     compiler::TNode<BoolT> tmp24;
    3167             :     USE(tmp24);
    3168         168 :     tmp24 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp22}, compiler::TNode<IntPtrT>{tmp23}));
    3169          56 :     ca_.Branch(tmp24, &block9, &block8, tmp18, tmp19, tmp20, tmp21, tmp22);
    3170             :   }
    3171             : 
    3172          56 :   if (block9.is_used()) {
    3173             :     compiler::TNode<Context> tmp25;
    3174             :     compiler::TNode<FixedArray> tmp26;
    3175             :     compiler::TNode<JSReceiver> tmp27;
    3176             :     compiler::TNode<IntPtrT> tmp28;
    3177             :     compiler::TNode<IntPtrT> tmp29;
    3178             :     ca_.Bind(&block9, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
    3179             :     compiler::TNode<IntPtrT> tmp30;
    3180             :     USE(tmp30);
    3181         112 :     tmp30 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3182             :     compiler::TNode<BoolT> tmp31;
    3183             :     USE(tmp31);
    3184         168 :     tmp31 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp28}, compiler::TNode<IntPtrT>{tmp30}));
    3185          56 :     ca_.Branch(tmp31, &block7, &block8, tmp25, tmp26, tmp27, tmp28, tmp29);
    3186             :   }
    3187             : 
    3188          56 :   if (block7.is_used()) {
    3189             :     compiler::TNode<Context> tmp32;
    3190             :     compiler::TNode<FixedArray> tmp33;
    3191             :     compiler::TNode<JSReceiver> tmp34;
    3192             :     compiler::TNode<IntPtrT> tmp35;
    3193             :     compiler::TNode<IntPtrT> tmp36;
    3194             :     ca_.Bind(&block7, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
    3195          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 503);
    3196             :     compiler::TNode<IntPtrT> tmp37;
    3197             :     USE(tmp37);
    3198         112 :     tmp37 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3199             :     compiler::TNode<FixedArray> tmp38;
    3200             :     USE(tmp38);
    3201         112 :     tmp38 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp37}, CodeStubAssembler::kNone));
    3202          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 502);
    3203          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 504);
    3204         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp32}, compiler::TNode<FixedArray>{tmp38});
    3205          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
    3206             :     ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35, tmp36);
    3207             :   }
    3208             : 
    3209          56 :   if (block8.is_used()) {
    3210             :     compiler::TNode<Context> tmp39;
    3211             :     compiler::TNode<FixedArray> tmp40;
    3212             :     compiler::TNode<JSReceiver> tmp41;
    3213             :     compiler::TNode<IntPtrT> tmp42;
    3214             :     compiler::TNode<IntPtrT> tmp43;
    3215             :     ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    3216          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 507);
    3217             :     compiler::TNode<Oddball> tmp44;
    3218             :     USE(tmp44);
    3219         112 :     tmp44 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    3220         112 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp40}, compiler::TNode<IntPtrT>{tmp43}, compiler::TNode<HeapObject>{tmp44});
    3221          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
    3222             :     ca_.Goto(&block10, tmp39, tmp40, tmp41, tmp42, tmp43);
    3223             :   }
    3224             : 
    3225          56 :   if (block10.is_used()) {
    3226             :     compiler::TNode<Context> tmp45;
    3227             :     compiler::TNode<FixedArray> tmp46;
    3228             :     compiler::TNode<JSReceiver> tmp47;
    3229             :     compiler::TNode<IntPtrT> tmp48;
    3230             :     compiler::TNode<IntPtrT> tmp49;
    3231             :     ca_.Bind(&block10, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
    3232          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 509);
    3233             :     compiler::TNode<Oddball> tmp50;
    3234             :     USE(tmp50);
    3235         112 :     tmp50 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3236         112 :     CodeStubAssembler(state_).Return(tmp50);
    3237             :   }
    3238             : 
    3239          56 :   if (block6.is_used()) {
    3240             :     compiler::TNode<Context> tmp51;
    3241             :     compiler::TNode<FixedArray> tmp52;
    3242             :     compiler::TNode<JSReceiver> tmp53;
    3243             :     compiler::TNode<IntPtrT> tmp54;
    3244             :     compiler::TNode<IntPtrT> tmp55;
    3245             :     ca_.Bind(&block6, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55);
    3246          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 497);
    3247             :     ca_.Goto(&block4, tmp51, tmp52, tmp53, tmp54, tmp55);
    3248             :   }
    3249             : 
    3250          56 :   if (block4.is_used()) {
    3251             :     compiler::TNode<Context> tmp56;
    3252             :     compiler::TNode<FixedArray> tmp57;
    3253             :     compiler::TNode<JSReceiver> tmp58;
    3254             :     compiler::TNode<IntPtrT> tmp59;
    3255             :     compiler::TNode<IntPtrT> tmp60;
    3256             :     ca_.Bind(&block4, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60);
    3257             :     compiler::TNode<IntPtrT> tmp61;
    3258             :     USE(tmp61);
    3259         112 :     tmp61 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    3260             :     compiler::TNode<IntPtrT> tmp62;
    3261             :     USE(tmp62);
    3262         112 :     tmp62 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp60}, compiler::TNode<IntPtrT>{tmp61}));
    3263             :     ca_.Goto(&block3, tmp56, tmp57, tmp58, tmp59, tmp62);
    3264             :   }
    3265             : 
    3266          56 :   if (block2.is_used()) {
    3267             :     compiler::TNode<Context> tmp63;
    3268             :     compiler::TNode<FixedArray> tmp64;
    3269             :     compiler::TNode<JSReceiver> tmp65;
    3270             :     compiler::TNode<IntPtrT> tmp66;
    3271             :     compiler::TNode<IntPtrT> tmp67;
    3272             :     ca_.Bind(&block2, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
    3273          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 512);
    3274         112 :     CodeStubAssembler(state_).Unreachable();
    3275             :   }
    3276          56 : }
    3277             : 
    3278         448 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPopInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver) {
    3279         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3280             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3281             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3282             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3283             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3284             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3285             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3286             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3287             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3288             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3289             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3290             :     ca_.Goto(&block0, p_context, p_receiver);
    3291             : 
    3292         448 :   if (block0.is_used()) {
    3293             :     compiler::TNode<Context> tmp0;
    3294             :     compiler::TNode<JSReceiver> tmp1;
    3295             :     ca_.Bind(&block0, &tmp0, &tmp1);
    3296         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 517);
    3297             :     compiler::TNode<FixedArray> tmp2;
    3298             :     USE(tmp2);
    3299         448 :     compiler::CodeAssemblerLabel label0(&ca_);
    3300        1344 :     tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
    3301             :     ca_.Goto(&block4, tmp0, tmp1, tmp2);
    3302         448 :     if (label0.is_used()) {
    3303         448 :       ca_.Bind(&label0);
    3304             :       ca_.Goto(&block5, tmp0, tmp1);
    3305             :     }
    3306             :   }
    3307             : 
    3308         448 :   if (block5.is_used()) {
    3309             :     compiler::TNode<Context> tmp3;
    3310             :     compiler::TNode<JSReceiver> tmp4;
    3311             :     ca_.Bind(&block5, &tmp3, &tmp4);
    3312             :     ca_.Goto(&block3, tmp3, tmp4);
    3313             :   }
    3314             : 
    3315         448 :   if (block4.is_used()) {
    3316             :     compiler::TNode<Context> tmp5;
    3317             :     compiler::TNode<JSReceiver> tmp6;
    3318             :     compiler::TNode<FixedArray> tmp7;
    3319             :     ca_.Bind(&block4, &tmp5, &tmp6, &tmp7);
    3320             :     ca_.Goto(&block2, tmp5, tmp6, tmp7);
    3321             :   }
    3322             : 
    3323         448 :   if (block3.is_used()) {
    3324             :     compiler::TNode<Context> tmp8;
    3325             :     compiler::TNode<JSReceiver> tmp9;
    3326             :     ca_.Bind(&block3, &tmp8, &tmp9);
    3327         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 518);
    3328         896 :     CodeStubAssembler(state_).Unreachable();
    3329             :   }
    3330             : 
    3331         448 :   if (block2.is_used()) {
    3332             :     compiler::TNode<Context> tmp10;
    3333             :     compiler::TNode<JSReceiver> tmp11;
    3334             :     compiler::TNode<FixedArray> tmp12;
    3335             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
    3336         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 517);
    3337         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 519);
    3338             :     compiler::TNode<IntPtrT> tmp13;
    3339             :     USE(tmp13);
    3340         896 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp12}));
    3341         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
    3342             :     compiler::TNode<Object> tmp14;
    3343             :     USE(tmp14);
    3344         896 :     tmp14 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, 0));
    3345             :     compiler::TNode<BoolT> tmp15;
    3346             :     USE(tmp15);
    3347         896 :     tmp15 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp14}, compiler::TNode<HeapObject>{tmp11}));
    3348         448 :     ca_.Branch(tmp15, &block8, &block7, tmp10, tmp11, tmp12, tmp13);
    3349             :   }
    3350             : 
    3351         448 :   if (block8.is_used()) {
    3352             :     compiler::TNode<Context> tmp16;
    3353             :     compiler::TNode<JSReceiver> tmp17;
    3354             :     compiler::TNode<FixedArray> tmp18;
    3355             :     compiler::TNode<IntPtrT> tmp19;
    3356             :     ca_.Bind(&block8, &tmp16, &tmp17, &tmp18, &tmp19);
    3357             :     compiler::TNode<IntPtrT> tmp20;
    3358             :     USE(tmp20);
    3359        1344 :     tmp20 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3360             :     compiler::TNode<BoolT> tmp21;
    3361             :     USE(tmp21);
    3362        1344 :     tmp21 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp19}, compiler::TNode<IntPtrT>{tmp20}));
    3363         448 :     ca_.Branch(tmp21, &block6, &block7, tmp16, tmp17, tmp18, tmp19);
    3364             :   }
    3365             : 
    3366         448 :   if (block6.is_used()) {
    3367             :     compiler::TNode<Context> tmp22;
    3368             :     compiler::TNode<JSReceiver> tmp23;
    3369             :     compiler::TNode<FixedArray> tmp24;
    3370             :     compiler::TNode<IntPtrT> tmp25;
    3371             :     ca_.Bind(&block6, &tmp22, &tmp23, &tmp24, &tmp25);
    3372         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 524);
    3373             :     compiler::TNode<Oddball> tmp26;
    3374             :     USE(tmp26);
    3375        1344 :     tmp26 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    3376             :     compiler::TNode<IntPtrT> tmp27;
    3377             :     USE(tmp27);
    3378        1344 :     tmp27 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3379         896 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, compiler::TNode<IntPtrT>{tmp27}, compiler::TNode<Object>{tmp26}, SKIP_WRITE_BARRIER);
    3380         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
    3381             :     ca_.Goto(&block9, tmp22, tmp23, tmp24, tmp25);
    3382             :   }
    3383             : 
    3384         448 :   if (block7.is_used()) {
    3385             :     compiler::TNode<Context> tmp28;
    3386             :     compiler::TNode<JSReceiver> tmp29;
    3387             :     compiler::TNode<FixedArray> tmp30;
    3388             :     compiler::TNode<IntPtrT> tmp31;
    3389             :     ca_.Bind(&block7, &tmp28, &tmp29, &tmp30, &tmp31);
    3390         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 527);
    3391             :     compiler::TNode<Object> tmp32;
    3392         896 :     tmp32 = CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPop, tmp28, tmp30, tmp29);
    3393             :     USE(tmp32);
    3394         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
    3395             :     ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31);
    3396             :   }
    3397             : 
    3398         448 :   if (block9.is_used()) {
    3399             :     compiler::TNode<Context> tmp33;
    3400             :     compiler::TNode<JSReceiver> tmp34;
    3401             :     compiler::TNode<FixedArray> tmp35;
    3402             :     compiler::TNode<IntPtrT> tmp36;
    3403             :     ca_.Bind(&block9, &tmp33, &tmp34, &tmp35, &tmp36);
    3404         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 516);
    3405             :     ca_.Goto(&block1, tmp33, tmp34);
    3406             :   }
    3407             : 
    3408         448 :   if (block1.is_used()) {
    3409             :     compiler::TNode<Context> tmp37;
    3410             :     compiler::TNode<JSReceiver> tmp38;
    3411             :     ca_.Bind(&block1, &tmp37, &tmp38);
    3412             :     ca_.Goto(&block10, tmp37, tmp38);
    3413             :   }
    3414             : 
    3415             :     compiler::TNode<Context> tmp39;
    3416             :     compiler::TNode<JSReceiver> tmp40;
    3417             :     ca_.Bind(&block10, &tmp39, &tmp40);
    3418         448 : }
    3419             : 
    3420         224 : TF_BUILTIN(ArrayPrototypeJoin, CodeStubAssembler) {
    3421          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3422             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3423             :   USE(parameter0);
    3424             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3425          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
    3426          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
    3427          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
    3428             :   CodeStubArguments arguments(this, torque_arguments);
    3429          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
    3430             : USE(parameter1);
    3431             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3432             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3433             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3434             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3435             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3436             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
    3437             : 
    3438          56 :   if (block0.is_used()) {
    3439             :     compiler::TNode<Context> tmp0;
    3440             :     compiler::TNode<Object> tmp1;
    3441             :     compiler::TNode<RawPtrT> tmp2;
    3442             :     compiler::TNode<RawPtrT> tmp3;
    3443             :     compiler::TNode<IntPtrT> tmp4;
    3444             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    3445          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 561);
    3446             :     compiler::TNode<IntPtrT> tmp5;
    3447             :     USE(tmp5);
    3448         112 :     tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3449             :     compiler::TNode<Object> tmp6;
    3450             :     USE(tmp6);
    3451         112 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
    3452          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 564);
    3453             :     compiler::TNode<JSReceiver> tmp7;
    3454             :     USE(tmp7);
    3455         112 :     tmp7 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    3456          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 567);
    3457             :     compiler::TNode<Number> tmp8;
    3458             :     USE(tmp8);
    3459         112 :     tmp8 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp7}));
    3460          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 571);
    3461             :     compiler::TNode<Number> tmp9;
    3462             :     USE(tmp9);
    3463         224 :     tmp9 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
    3464          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    3465          56 :     compiler::CodeAssemblerLabel label1(&ca_);
    3466         112 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp8}, compiler::TNode<Number>{tmp9}, &label0, &label1);
    3467          56 :     if (label0.is_used()) {
    3468          56 :       ca_.Bind(&label0);
    3469             :       ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp7, tmp8, tmp8);
    3470             :     }
    3471          56 :     if (label1.is_used()) {
    3472          56 :       ca_.Bind(&label1);
    3473             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp7, tmp8, tmp8);
    3474             :     }
    3475             :   }
    3476             : 
    3477          56 :   if (block3.is_used()) {
    3478             :     compiler::TNode<Context> tmp10;
    3479             :     compiler::TNode<Object> tmp11;
    3480             :     compiler::TNode<RawPtrT> tmp12;
    3481             :     compiler::TNode<RawPtrT> tmp13;
    3482             :     compiler::TNode<IntPtrT> tmp14;
    3483             :     compiler::TNode<Object> tmp15;
    3484             :     compiler::TNode<JSReceiver> tmp16;
    3485             :     compiler::TNode<Number> tmp17;
    3486             :     compiler::TNode<Number> tmp18;
    3487             :     ca_.Bind(&block3, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
    3488             :     ca_.Goto(&block1, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
    3489             :   }
    3490             : 
    3491          56 :   if (block4.is_used()) {
    3492             :     compiler::TNode<Context> tmp19;
    3493             :     compiler::TNode<Object> tmp20;
    3494             :     compiler::TNode<RawPtrT> tmp21;
    3495             :     compiler::TNode<RawPtrT> tmp22;
    3496             :     compiler::TNode<IntPtrT> tmp23;
    3497             :     compiler::TNode<Object> tmp24;
    3498             :     compiler::TNode<JSReceiver> tmp25;
    3499             :     compiler::TNode<Number> tmp26;
    3500             :     compiler::TNode<Number> tmp27;
    3501             :     ca_.Bind(&block4, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
    3502             :     ca_.Goto(&block2, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26);
    3503             :   }
    3504             : 
    3505          56 :   if (block1.is_used()) {
    3506             :     compiler::TNode<Context> tmp28;
    3507             :     compiler::TNode<Object> tmp29;
    3508             :     compiler::TNode<RawPtrT> tmp30;
    3509             :     compiler::TNode<RawPtrT> tmp31;
    3510             :     compiler::TNode<IntPtrT> tmp32;
    3511             :     compiler::TNode<Object> tmp33;
    3512             :     compiler::TNode<JSReceiver> tmp34;
    3513             :     compiler::TNode<Number> tmp35;
    3514             :     ca_.Bind(&block1, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
    3515         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp28}, MessageTemplate::kInvalidArrayLength);
    3516             :   }
    3517             : 
    3518          56 :   if (block2.is_used()) {
    3519             :     compiler::TNode<Context> tmp36;
    3520             :     compiler::TNode<Object> tmp37;
    3521             :     compiler::TNode<RawPtrT> tmp38;
    3522             :     compiler::TNode<RawPtrT> tmp39;
    3523             :     compiler::TNode<IntPtrT> tmp40;
    3524             :     compiler::TNode<Object> tmp41;
    3525             :     compiler::TNode<JSReceiver> tmp42;
    3526             :     compiler::TNode<Number> tmp43;
    3527             :     ca_.Bind(&block2, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    3528          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 574);
    3529             :     compiler::TNode<Oddball> tmp44;
    3530             :     USE(tmp44);
    3531         112 :     tmp44 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3532             :     compiler::TNode<Oddball> tmp45;
    3533             :     USE(tmp45);
    3534         112 :     tmp45 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3535          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 573);
    3536             :     compiler::TNode<Object> tmp46;
    3537             :     USE(tmp46);
    3538         112 :     tmp46 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin7JSArray(compiler::TNode<Context>{tmp36}, false, compiler::TNode<JSReceiver>{tmp42}, compiler::TNode<Number>{tmp43}, compiler::TNode<Object>{tmp41}, compiler::TNode<Object>{tmp44}, compiler::TNode<Object>{tmp45}));
    3539          56 :     arguments.PopAndReturn(tmp46);
    3540             :   }
    3541          56 : }
    3542             : 
    3543         224 : TF_BUILTIN(ArrayPrototypeToLocaleString, CodeStubAssembler) {
    3544          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3545             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3546             :   USE(parameter0);
    3547             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3548          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
    3549          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
    3550          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
    3551             :   CodeStubArguments arguments(this, torque_arguments);
    3552          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
    3553             : USE(parameter1);
    3554             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3555             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3556             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3557             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3558             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3559             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
    3560             : 
    3561          56 :   if (block0.is_used()) {
    3562             :     compiler::TNode<Context> tmp0;
    3563             :     compiler::TNode<Object> tmp1;
    3564             :     compiler::TNode<RawPtrT> tmp2;
    3565             :     compiler::TNode<RawPtrT> tmp3;
    3566             :     compiler::TNode<IntPtrT> tmp4;
    3567             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    3568          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 580);
    3569             :     compiler::TNode<IntPtrT> tmp5;
    3570             :     USE(tmp5);
    3571         112 :     tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3572             :     compiler::TNode<Object> tmp6;
    3573             :     USE(tmp6);
    3574         112 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
    3575          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 581);
    3576             :     compiler::TNode<IntPtrT> tmp7;
    3577             :     USE(tmp7);
    3578         112 :     tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    3579             :     compiler::TNode<Object> tmp8;
    3580             :     USE(tmp8);
    3581         112 :     tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp7}));
    3582          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 584);
    3583             :     compiler::TNode<JSReceiver> tmp9;
    3584             :     USE(tmp9);
    3585         112 :     tmp9 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    3586          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 587);
    3587             :     compiler::TNode<Number> tmp10;
    3588             :     USE(tmp10);
    3589         112 :     tmp10 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp9}));
    3590          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 591);
    3591             :     compiler::TNode<Number> tmp11;
    3592             :     USE(tmp11);
    3593         224 :     tmp11 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
    3594          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    3595          56 :     compiler::CodeAssemblerLabel label1(&ca_);
    3596         112 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp10}, compiler::TNode<Number>{tmp11}, &label0, &label1);
    3597          56 :     if (label0.is_used()) {
    3598          56 :       ca_.Bind(&label0);
    3599             :       ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp8, tmp9, tmp10, tmp10);
    3600             :     }
    3601          56 :     if (label1.is_used()) {
    3602          56 :       ca_.Bind(&label1);
    3603             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp8, tmp9, tmp10, tmp10);
    3604             :     }
    3605             :   }
    3606             : 
    3607          56 :   if (block3.is_used()) {
    3608             :     compiler::TNode<Context> tmp12;
    3609             :     compiler::TNode<Object> tmp13;
    3610             :     compiler::TNode<RawPtrT> tmp14;
    3611             :     compiler::TNode<RawPtrT> tmp15;
    3612             :     compiler::TNode<IntPtrT> tmp16;
    3613             :     compiler::TNode<Object> tmp17;
    3614             :     compiler::TNode<Object> tmp18;
    3615             :     compiler::TNode<JSReceiver> tmp19;
    3616             :     compiler::TNode<Number> tmp20;
    3617             :     compiler::TNode<Number> tmp21;
    3618             :     ca_.Bind(&block3, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
    3619             :     ca_.Goto(&block1, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
    3620             :   }
    3621             : 
    3622          56 :   if (block4.is_used()) {
    3623             :     compiler::TNode<Context> tmp22;
    3624             :     compiler::TNode<Object> tmp23;
    3625             :     compiler::TNode<RawPtrT> tmp24;
    3626             :     compiler::TNode<RawPtrT> tmp25;
    3627             :     compiler::TNode<IntPtrT> tmp26;
    3628             :     compiler::TNode<Object> tmp27;
    3629             :     compiler::TNode<Object> tmp28;
    3630             :     compiler::TNode<JSReceiver> tmp29;
    3631             :     compiler::TNode<Number> tmp30;
    3632             :     compiler::TNode<Number> tmp31;
    3633             :     ca_.Bind(&block4, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
    3634             :     ca_.Goto(&block2, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30);
    3635             :   }
    3636             : 
    3637          56 :   if (block1.is_used()) {
    3638             :     compiler::TNode<Context> tmp32;
    3639             :     compiler::TNode<Object> tmp33;
    3640             :     compiler::TNode<RawPtrT> tmp34;
    3641             :     compiler::TNode<RawPtrT> tmp35;
    3642             :     compiler::TNode<IntPtrT> tmp36;
    3643             :     compiler::TNode<Object> tmp37;
    3644             :     compiler::TNode<Object> tmp38;
    3645             :     compiler::TNode<JSReceiver> tmp39;
    3646             :     compiler::TNode<Number> tmp40;
    3647             :     ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40);
    3648         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp32}, MessageTemplate::kInvalidArrayLength);
    3649             :   }
    3650             : 
    3651          56 :   if (block2.is_used()) {
    3652             :     compiler::TNode<Context> tmp41;
    3653             :     compiler::TNode<Object> tmp42;
    3654             :     compiler::TNode<RawPtrT> tmp43;
    3655             :     compiler::TNode<RawPtrT> tmp44;
    3656             :     compiler::TNode<IntPtrT> tmp45;
    3657             :     compiler::TNode<Object> tmp46;
    3658             :     compiler::TNode<Object> tmp47;
    3659             :     compiler::TNode<JSReceiver> tmp48;
    3660             :     compiler::TNode<Number> tmp49;
    3661             :     ca_.Bind(&block2, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
    3662          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 594);
    3663          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 593);
    3664             :     compiler::TNode<Object> tmp50;
    3665             :     USE(tmp50);
    3666         112 :     tmp50 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
    3667             :     compiler::TNode<Object> tmp51;
    3668             :     USE(tmp51);
    3669         112 :     tmp51 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin7JSArray(compiler::TNode<Context>{tmp41}, true, compiler::TNode<JSReceiver>{tmp48}, compiler::TNode<Number>{tmp49}, compiler::TNode<Object>{tmp50}, compiler::TNode<Object>{tmp46}, compiler::TNode<Object>{tmp47}));
    3670          56 :     arguments.PopAndReturn(tmp51);
    3671             :   }
    3672          56 : }
    3673             : 
    3674         224 : TF_BUILTIN(ArrayPrototypeToString, CodeStubAssembler) {
    3675          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3676             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3677             :   USE(parameter0);
    3678             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3679          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
    3680          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
    3681          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
    3682             :   CodeStubArguments arguments(this, torque_arguments);
    3683          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
    3684             : USE(parameter1);
    3685             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3686             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3687             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3688             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3689             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
    3690             : 
    3691          56 :   if (block0.is_used()) {
    3692             :     compiler::TNode<Context> tmp0;
    3693             :     compiler::TNode<Object> tmp1;
    3694             :     compiler::TNode<RawPtrT> tmp2;
    3695             :     compiler::TNode<RawPtrT> tmp3;
    3696             :     compiler::TNode<IntPtrT> tmp4;
    3697             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    3698          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 601);
    3699             :     compiler::TNode<JSReceiver> tmp5;
    3700             :     USE(tmp5);
    3701         112 :     tmp5 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    3702          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 604);
    3703             :     compiler::TNode<Object> tmp6;
    3704             :     USE(tmp6);
    3705         112 :     tmp6 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("join"));
    3706             :     compiler::TNode<Object> tmp7;
    3707             :     USE(tmp7);
    3708         112 :     tmp7 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}, compiler::TNode<Object>{tmp6}));
    3709          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 608);
    3710             :     compiler::TNode<JSReceiver> tmp8;
    3711             :     USE(tmp8);
    3712          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    3713         112 :     tmp8 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp7}, &label0);
    3714             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp7, tmp8);
    3715          56 :     if (label0.is_used()) {
    3716          56 :       ca_.Bind(&label0);
    3717             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp7);
    3718             :     }
    3719             :   }
    3720             : 
    3721          56 :   if (block4.is_used()) {
    3722             :     compiler::TNode<Context> tmp9;
    3723             :     compiler::TNode<Object> tmp10;
    3724             :     compiler::TNode<RawPtrT> tmp11;
    3725             :     compiler::TNode<RawPtrT> tmp12;
    3726             :     compiler::TNode<IntPtrT> tmp13;
    3727             :     compiler::TNode<JSReceiver> tmp14;
    3728             :     compiler::TNode<Object> tmp15;
    3729             :     compiler::TNode<Object> tmp16;
    3730             :     ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
    3731             :     ca_.Goto(&block2, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15);
    3732             :   }
    3733             : 
    3734          56 :   if (block3.is_used()) {
    3735             :     compiler::TNode<Context> tmp17;
    3736             :     compiler::TNode<Object> tmp18;
    3737             :     compiler::TNode<RawPtrT> tmp19;
    3738             :     compiler::TNode<RawPtrT> tmp20;
    3739             :     compiler::TNode<IntPtrT> tmp21;
    3740             :     compiler::TNode<JSReceiver> tmp22;
    3741             :     compiler::TNode<Object> tmp23;
    3742             :     compiler::TNode<Object> tmp24;
    3743             :     compiler::TNode<JSReceiver> tmp25;
    3744             :     ca_.Bind(&block3, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
    3745          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 611);
    3746             :     compiler::TNode<Object> tmp26;
    3747             :     USE(tmp26);
    3748         168 :     tmp26 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp17}, compiler::TNode<JSReceiver>{tmp25}, compiler::TNode<Object>{tmp22}));
    3749          56 :     arguments.PopAndReturn(tmp26);
    3750             :   }
    3751             : 
    3752          56 :   if (block2.is_used()) {
    3753             :     compiler::TNode<Context> tmp27;
    3754             :     compiler::TNode<Object> tmp28;
    3755             :     compiler::TNode<RawPtrT> tmp29;
    3756             :     compiler::TNode<RawPtrT> tmp30;
    3757             :     compiler::TNode<IntPtrT> tmp31;
    3758             :     compiler::TNode<JSReceiver> tmp32;
    3759             :     compiler::TNode<Object> tmp33;
    3760             :     ca_.Bind(&block2, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
    3761          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 614);
    3762             :     compiler::TNode<Object> tmp34;
    3763         112 :     tmp34 = CodeStubAssembler(state_).CallBuiltin(Builtins::kObjectToString, tmp27, tmp32);
    3764             :     USE(tmp34);
    3765          56 :     arguments.PopAndReturn(tmp34);
    3766             :   }
    3767          56 : }
    3768             : 
    3769         224 : TF_BUILTIN(TypedArrayPrototypeJoin, CodeStubAssembler) {
    3770          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3771             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3772             :   USE(parameter0);
    3773             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3774          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
    3775          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
    3776          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
    3777             :   CodeStubArguments arguments(this, torque_arguments);
    3778          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
    3779             : USE(parameter1);
    3780             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3781             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
    3782             : 
    3783          56 :   if (block0.is_used()) {
    3784             :     compiler::TNode<Context> tmp0;
    3785             :     compiler::TNode<Object> tmp1;
    3786             :     compiler::TNode<RawPtrT> tmp2;
    3787             :     compiler::TNode<RawPtrT> tmp3;
    3788             :     compiler::TNode<IntPtrT> tmp4;
    3789             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    3790          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 621);
    3791             :     compiler::TNode<IntPtrT> tmp5;
    3792             :     USE(tmp5);
    3793         112 :     tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3794             :     compiler::TNode<Object> tmp6;
    3795             :     USE(tmp6);
    3796         112 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
    3797          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 626);
    3798          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 625);
    3799             :     compiler::TNode<JSTypedArray> tmp7;
    3800             :     USE(tmp7);
    3801         112 :     tmp7 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.join"));
    3802          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 627);
    3803          56 :     compiler::TNode<IntPtrT> tmp8 = ca_.IntPtrConstant(JSTypedArray::kLengthOffset);
    3804             :     USE(tmp8);
    3805         112 :     compiler::TNode<Smi>tmp9 = CodeStubAssembler(state_).LoadReference<Smi>(CodeStubAssembler::Reference{tmp7, tmp8});
    3806          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 630);
    3807             :     compiler::TNode<Oddball> tmp10;
    3808             :     USE(tmp10);
    3809         112 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3810             :     compiler::TNode<Oddball> tmp11;
    3811             :     USE(tmp11);
    3812         112 :     tmp11 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3813          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 629);
    3814             :     compiler::TNode<Object> tmp12;
    3815             :     USE(tmp12);
    3816         112 :     tmp12 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp0}, false, compiler::TNode<JSReceiver>{tmp7}, compiler::TNode<Number>{tmp9}, compiler::TNode<Object>{tmp6}, compiler::TNode<Object>{tmp10}, compiler::TNode<Object>{tmp11}));
    3817          56 :     arguments.PopAndReturn(tmp12);
    3818             :   }
    3819          56 : }
    3820             : 
    3821         224 : TF_BUILTIN(TypedArrayPrototypeToLocaleString, CodeStubAssembler) {
    3822          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3823             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3824             :   USE(parameter0);
    3825             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3826          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
    3827          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
    3828          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
    3829             :   CodeStubArguments arguments(this, torque_arguments);
    3830          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
    3831             : USE(parameter1);
    3832             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3833             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
    3834             : 
    3835          56 :   if (block0.is_used()) {
    3836             :     compiler::TNode<Context> tmp0;
    3837             :     compiler::TNode<Object> tmp1;
    3838             :     compiler::TNode<RawPtrT> tmp2;
    3839             :     compiler::TNode<RawPtrT> tmp3;
    3840             :     compiler::TNode<IntPtrT> tmp4;
    3841             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    3842          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 636);
    3843             :     compiler::TNode<IntPtrT> tmp5;
    3844             :     USE(tmp5);
    3845         112 :     tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3846             :     compiler::TNode<Object> tmp6;
    3847             :     USE(tmp6);
    3848         112 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
    3849          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 637);
    3850             :     compiler::TNode<IntPtrT> tmp7;
    3851             :     USE(tmp7);
    3852         112 :     tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    3853             :     compiler::TNode<Object> tmp8;
    3854             :     USE(tmp8);
    3855         112 :     tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp7}));
    3856          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 642);
    3857          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 641);
    3858             :     compiler::TNode<JSTypedArray> tmp9;
    3859             :     USE(tmp9);
    3860         112 :     tmp9 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.toLocaleString"));
    3861          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 643);
    3862          56 :     compiler::TNode<IntPtrT> tmp10 = ca_.IntPtrConstant(JSTypedArray::kLengthOffset);
    3863             :     USE(tmp10);
    3864         112 :     compiler::TNode<Smi>tmp11 = CodeStubAssembler(state_).LoadReference<Smi>(CodeStubAssembler::Reference{tmp9, tmp10});
    3865          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 646);
    3866          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 645);
    3867             :     compiler::TNode<Object> tmp12;
    3868             :     USE(tmp12);
    3869         112 :     tmp12 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
    3870             :     compiler::TNode<Object> tmp13;
    3871             :     USE(tmp13);
    3872         112 :     tmp13 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp0}, true, compiler::TNode<JSReceiver>{tmp9}, compiler::TNode<Number>{tmp11}, compiler::TNode<Object>{tmp12}, compiler::TNode<Object>{tmp6}, compiler::TNode<Object>{tmp8}));
    3873          56 :     arguments.PopAndReturn(tmp13);
    3874             :   }
    3875          56 : }
    3876             : 
    3877         224 : TF_BUILTIN(LoadJoinElement25ATGenericElementsAccessor, CodeStubAssembler) {
    3878          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3879             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3880             :   USE(parameter0);
    3881             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    3882             :   USE(parameter1);
    3883             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    3884             :   USE(parameter2);
    3885             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3886             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    3887             : 
    3888          56 :   if (block0.is_used()) {
    3889             :     compiler::TNode<Context> tmp0;
    3890             :     compiler::TNode<JSReceiver> tmp1;
    3891             :     compiler::TNode<Number> tmp2;
    3892             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    3893          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 16);
    3894             :     compiler::TNode<Object> tmp3;
    3895             :     USE(tmp3);
    3896         112 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}));
    3897         112 :     CodeStubAssembler(state_).Return(tmp3);
    3898             :   }
    3899          56 : }
    3900             : 
    3901         112 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoinImpl7JSArray(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lengthNumber, bool p_useToLocaleString, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options, compiler::TNode<BuiltinPtr> p_initialLoadFn) {
    3902         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3903             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3904             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3905             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3906             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3907             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3908             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3909             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3910             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3911             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3912             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3913             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3914             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3915             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3916             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3917             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3918             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3919             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3920             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3921             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, Number> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3922             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3923             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3924             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3925             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3926             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3927             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3928             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3929             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3930             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3931             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block33(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3932             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3933             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block35(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3934             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3935             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3936             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3937             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3938             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block40(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3939             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3940             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block39(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3941             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block41(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3942             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3943             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block43(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3944             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block44(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3945             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3946             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3947             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3948             :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
    3949             : 
    3950         112 :   if (block0.is_used()) {
    3951             :     compiler::TNode<Context> tmp0;
    3952             :     compiler::TNode<JSReceiver> tmp1;
    3953             :     compiler::TNode<String> tmp2;
    3954             :     compiler::TNode<Number> tmp3;
    3955             :     compiler::TNode<Object> tmp4;
    3956             :     compiler::TNode<Object> tmp5;
    3957             :     compiler::TNode<BuiltinPtr> tmp6;
    3958             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
    3959         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
    3960         112 :     compiler::TNode<IntPtrT> tmp7 = ca_.IntPtrConstant(HeapObject::kMapOffset);
    3961             :     USE(tmp7);
    3962         224 :     compiler::TNode<Map>tmp8 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp7});
    3963         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
    3964             :     compiler::TNode<UintPtrT> tmp9;
    3965             :     USE(tmp9);
    3966         336 :     tmp9 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number>{tmp3}));
    3967         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
    3968             :     compiler::TNode<IntPtrT> tmp10;
    3969             :     USE(tmp10);
    3970         336 :     tmp10 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
    3971         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 269);
    3972             :     compiler::TNode<IntPtrT> tmp11;
    3973             :     USE(tmp11);
    3974         336 :     tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3975         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 270);
    3976         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
    3977             :     compiler::TNode<FixedArray> tmp12;
    3978             :     USE(tmp12);
    3979             :     compiler::TNode<IntPtrT> tmp13;
    3980             :     USE(tmp13);
    3981             :     compiler::TNode<IntPtrT> tmp14;
    3982             :     USE(tmp14);
    3983             :     compiler::TNode<BoolT> tmp15;
    3984             :     USE(tmp15);
    3985         448 :     std::tie(tmp12, tmp13, tmp14, tmp15) = ArrayJoinBuiltinsFromDSLAssembler(state_).NewBuffer(compiler::TNode<UintPtrT>{tmp9}, compiler::TNode<String>{tmp2}).Flatten();
    3986         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
    3987             :     compiler::TNode<UintPtrT> tmp16;
    3988             :     USE(tmp16);
    3989         336 :     tmp16 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    3990         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
    3991             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp8, tmp9, tmp10, tmp11, tmp6, tmp12, tmp13, tmp14, tmp15, tmp16);
    3992             :   }
    3993             : 
    3994         112 :   if (block4.is_used()) {
    3995             :     compiler::TNode<Context> tmp17;
    3996             :     compiler::TNode<JSReceiver> tmp18;
    3997             :     compiler::TNode<String> tmp19;
    3998             :     compiler::TNode<Number> tmp20;
    3999             :     compiler::TNode<Object> tmp21;
    4000             :     compiler::TNode<Object> tmp22;
    4001             :     compiler::TNode<BuiltinPtr> tmp23;
    4002             :     compiler::TNode<Map> tmp24;
    4003             :     compiler::TNode<UintPtrT> tmp25;
    4004             :     compiler::TNode<IntPtrT> tmp26;
    4005             :     compiler::TNode<IntPtrT> tmp27;
    4006             :     compiler::TNode<BuiltinPtr> tmp28;
    4007             :     compiler::TNode<FixedArray> tmp29;
    4008             :     compiler::TNode<IntPtrT> tmp30;
    4009             :     compiler::TNode<IntPtrT> tmp31;
    4010             :     compiler::TNode<BoolT> tmp32;
    4011             :     compiler::TNode<UintPtrT> tmp33;
    4012             :     ca_.Bind(&block4, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
    4013             :     compiler::TNode<BoolT> tmp34;
    4014             :     USE(tmp34);
    4015         448 :     tmp34 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp33}, compiler::TNode<UintPtrT>{tmp25}));
    4016         112 :     ca_.Branch(tmp34, &block2, &block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33);
    4017             :   }
    4018             : 
    4019         112 :   if (block2.is_used()) {
    4020             :     compiler::TNode<Context> tmp35;
    4021             :     compiler::TNode<JSReceiver> tmp36;
    4022             :     compiler::TNode<String> tmp37;
    4023             :     compiler::TNode<Number> tmp38;
    4024             :     compiler::TNode<Object> tmp39;
    4025             :     compiler::TNode<Object> tmp40;
    4026             :     compiler::TNode<BuiltinPtr> tmp41;
    4027             :     compiler::TNode<Map> tmp42;
    4028             :     compiler::TNode<UintPtrT> tmp43;
    4029             :     compiler::TNode<IntPtrT> tmp44;
    4030             :     compiler::TNode<IntPtrT> tmp45;
    4031             :     compiler::TNode<BuiltinPtr> tmp46;
    4032             :     compiler::TNode<FixedArray> tmp47;
    4033             :     compiler::TNode<IntPtrT> tmp48;
    4034             :     compiler::TNode<IntPtrT> tmp49;
    4035             :     compiler::TNode<BoolT> tmp50;
    4036             :     compiler::TNode<UintPtrT> tmp51;
    4037             :     ca_.Bind(&block2, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    4038         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 279);
    4039         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    4040         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    4041         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    4042         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).CannotUseSameArrayAccessor7JSArray(compiler::TNode<Context>{tmp35}, compiler::TNode<BuiltinPtr>{tmp46}, compiler::TNode<JSReceiver>{tmp36}, compiler::TNode<Map>{tmp42}, compiler::TNode<Number>{tmp38}, &label0, &label1);
    4043         112 :     if (label0.is_used()) {
    4044         112 :       ca_.Bind(&label0);
    4045             :       ca_.Goto(&block7, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
    4046             :     }
    4047         112 :     if (label1.is_used()) {
    4048         112 :       ca_.Bind(&label1);
    4049             :       ca_.Goto(&block8, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
    4050             :     }
    4051             :   }
    4052             : 
    4053         112 :   if (block7.is_used()) {
    4054             :     compiler::TNode<Context> tmp52;
    4055             :     compiler::TNode<JSReceiver> tmp53;
    4056             :     compiler::TNode<String> tmp54;
    4057             :     compiler::TNode<Number> tmp55;
    4058             :     compiler::TNode<Object> tmp56;
    4059             :     compiler::TNode<Object> tmp57;
    4060             :     compiler::TNode<BuiltinPtr> tmp58;
    4061             :     compiler::TNode<Map> tmp59;
    4062             :     compiler::TNode<UintPtrT> tmp60;
    4063             :     compiler::TNode<IntPtrT> tmp61;
    4064             :     compiler::TNode<IntPtrT> tmp62;
    4065             :     compiler::TNode<BuiltinPtr> tmp63;
    4066             :     compiler::TNode<FixedArray> tmp64;
    4067             :     compiler::TNode<IntPtrT> tmp65;
    4068             :     compiler::TNode<IntPtrT> tmp66;
    4069             :     compiler::TNode<BoolT> tmp67;
    4070             :     compiler::TNode<UintPtrT> tmp68;
    4071             :     compiler::TNode<BuiltinPtr> tmp69;
    4072             :     compiler::TNode<JSReceiver> tmp70;
    4073             :     compiler::TNode<Map> tmp71;
    4074             :     compiler::TNode<Number> tmp72;
    4075             :     ca_.Bind(&block7, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72);
    4076             :     ca_.Goto(&block5, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68);
    4077             :   }
    4078             : 
    4079         112 :   if (block8.is_used()) {
    4080             :     compiler::TNode<Context> tmp73;
    4081             :     compiler::TNode<JSReceiver> tmp74;
    4082             :     compiler::TNode<String> tmp75;
    4083             :     compiler::TNode<Number> tmp76;
    4084             :     compiler::TNode<Object> tmp77;
    4085             :     compiler::TNode<Object> tmp78;
    4086             :     compiler::TNode<BuiltinPtr> tmp79;
    4087             :     compiler::TNode<Map> tmp80;
    4088             :     compiler::TNode<UintPtrT> tmp81;
    4089             :     compiler::TNode<IntPtrT> tmp82;
    4090             :     compiler::TNode<IntPtrT> tmp83;
    4091             :     compiler::TNode<BuiltinPtr> tmp84;
    4092             :     compiler::TNode<FixedArray> tmp85;
    4093             :     compiler::TNode<IntPtrT> tmp86;
    4094             :     compiler::TNode<IntPtrT> tmp87;
    4095             :     compiler::TNode<BoolT> tmp88;
    4096             :     compiler::TNode<UintPtrT> tmp89;
    4097             :     compiler::TNode<BuiltinPtr> tmp90;
    4098             :     compiler::TNode<JSReceiver> tmp91;
    4099             :     compiler::TNode<Map> tmp92;
    4100             :     compiler::TNode<Number> tmp93;
    4101             :     ca_.Bind(&block8, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93);
    4102             :     ca_.Goto(&block6, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89);
    4103             :   }
    4104             : 
    4105         112 :   if (block5.is_used()) {
    4106             :     compiler::TNode<Context> tmp94;
    4107             :     compiler::TNode<JSReceiver> tmp95;
    4108             :     compiler::TNode<String> tmp96;
    4109             :     compiler::TNode<Number> tmp97;
    4110             :     compiler::TNode<Object> tmp98;
    4111             :     compiler::TNode<Object> tmp99;
    4112             :     compiler::TNode<BuiltinPtr> tmp100;
    4113             :     compiler::TNode<Map> tmp101;
    4114             :     compiler::TNode<UintPtrT> tmp102;
    4115             :     compiler::TNode<IntPtrT> tmp103;
    4116             :     compiler::TNode<IntPtrT> tmp104;
    4117             :     compiler::TNode<BuiltinPtr> tmp105;
    4118             :     compiler::TNode<FixedArray> tmp106;
    4119             :     compiler::TNode<IntPtrT> tmp107;
    4120             :     compiler::TNode<IntPtrT> tmp108;
    4121             :     compiler::TNode<BoolT> tmp109;
    4122             :     compiler::TNode<UintPtrT> tmp110;
    4123             :     ca_.Bind(&block5, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110);
    4124         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
    4125         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    4126             :     ca_.Goto(&block6, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)), tmp106, tmp107, tmp108, tmp109, tmp110);
    4127             :   }
    4128             : 
    4129         112 :   if (block6.is_used()) {
    4130             :     compiler::TNode<Context> tmp111;
    4131             :     compiler::TNode<JSReceiver> tmp112;
    4132             :     compiler::TNode<String> tmp113;
    4133             :     compiler::TNode<Number> tmp114;
    4134             :     compiler::TNode<Object> tmp115;
    4135             :     compiler::TNode<Object> tmp116;
    4136             :     compiler::TNode<BuiltinPtr> tmp117;
    4137             :     compiler::TNode<Map> tmp118;
    4138             :     compiler::TNode<UintPtrT> tmp119;
    4139             :     compiler::TNode<IntPtrT> tmp120;
    4140             :     compiler::TNode<IntPtrT> tmp121;
    4141             :     compiler::TNode<BuiltinPtr> tmp122;
    4142             :     compiler::TNode<FixedArray> tmp123;
    4143             :     compiler::TNode<IntPtrT> tmp124;
    4144             :     compiler::TNode<IntPtrT> tmp125;
    4145             :     compiler::TNode<BoolT> tmp126;
    4146             :     compiler::TNode<UintPtrT> tmp127;
    4147             :     ca_.Bind(&block6, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127);
    4148         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
    4149             :     compiler::TNode<UintPtrT> tmp128;
    4150             :     USE(tmp128);
    4151         336 :     tmp128 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    4152             :     compiler::TNode<BoolT> tmp129;
    4153             :     USE(tmp129);
    4154         336 :     tmp129 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp127}, compiler::TNode<UintPtrT>{tmp128}));
    4155         112 :     ca_.Branch(tmp129, &block9, &block10, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127);
    4156             :   }
    4157             : 
    4158         112 :   if (block9.is_used()) {
    4159             :     compiler::TNode<Context> tmp130;
    4160             :     compiler::TNode<JSReceiver> tmp131;
    4161             :     compiler::TNode<String> tmp132;
    4162             :     compiler::TNode<Number> tmp133;
    4163             :     compiler::TNode<Object> tmp134;
    4164             :     compiler::TNode<Object> tmp135;
    4165             :     compiler::TNode<BuiltinPtr> tmp136;
    4166             :     compiler::TNode<Map> tmp137;
    4167             :     compiler::TNode<UintPtrT> tmp138;
    4168             :     compiler::TNode<IntPtrT> tmp139;
    4169             :     compiler::TNode<IntPtrT> tmp140;
    4170             :     compiler::TNode<BuiltinPtr> tmp141;
    4171             :     compiler::TNode<FixedArray> tmp142;
    4172             :     compiler::TNode<IntPtrT> tmp143;
    4173             :     compiler::TNode<IntPtrT> tmp144;
    4174             :     compiler::TNode<BoolT> tmp145;
    4175             :     compiler::TNode<UintPtrT> tmp146;
    4176             :     ca_.Bind(&block9, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
    4177         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 286);
    4178             :     compiler::TNode<IntPtrT> tmp147;
    4179             :     USE(tmp147);
    4180         336 :     tmp147 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    4181             :     compiler::TNode<IntPtrT> tmp148;
    4182             :     USE(tmp148);
    4183         224 :     tmp148 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp140}, compiler::TNode<IntPtrT>{tmp147}));
    4184         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
    4185             :     ca_.Goto(&block10, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp148, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146);
    4186             :   }
    4187             : 
    4188         112 :   if (block10.is_used()) {
    4189             :     compiler::TNode<Context> tmp149;
    4190             :     compiler::TNode<JSReceiver> tmp150;
    4191             :     compiler::TNode<String> tmp151;
    4192             :     compiler::TNode<Number> tmp152;
    4193             :     compiler::TNode<Object> tmp153;
    4194             :     compiler::TNode<Object> tmp154;
    4195             :     compiler::TNode<BuiltinPtr> tmp155;
    4196             :     compiler::TNode<Map> tmp156;
    4197             :     compiler::TNode<UintPtrT> tmp157;
    4198             :     compiler::TNode<IntPtrT> tmp158;
    4199             :     compiler::TNode<IntPtrT> tmp159;
    4200             :     compiler::TNode<BuiltinPtr> tmp160;
    4201             :     compiler::TNode<FixedArray> tmp161;
    4202             :     compiler::TNode<IntPtrT> tmp162;
    4203             :     compiler::TNode<IntPtrT> tmp163;
    4204             :     compiler::TNode<BoolT> tmp164;
    4205             :     compiler::TNode<UintPtrT> tmp165;
    4206             :     ca_.Bind(&block10, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
    4207         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 290);
    4208             :     compiler::TNode<UintPtrT> tmp166;
    4209             :     USE(tmp166);
    4210         336 :     tmp166 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
    4211             :     compiler::TNode<UintPtrT> tmp167;
    4212             :     USE(tmp167);
    4213         224 :     tmp167 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp165}, compiler::TNode<UintPtrT>{tmp166}));
    4214             :     compiler::TNode<Number> tmp168;
    4215             :     USE(tmp168);
    4216         336 :     tmp168 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert20UT5ATSmi10HeapNumber9ATuintptr(compiler::TNode<UintPtrT>{tmp165}));
    4217         560 :     compiler::TNode<Object> tmp169 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp160, tmp149, tmp150, tmp168); 
    4218             :     USE(tmp169);
    4219         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
    4220         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    4221         112 :     if ((p_useToLocaleString)) {
    4222             :       ca_.Goto(&block11, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
    4223             :     } else {
    4224             :       ca_.Goto(&block12, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
    4225             :     }
    4226             :   }
    4227             : 
    4228         112 :   if (block11.is_used()) {
    4229             :     compiler::TNode<Context> tmp170;
    4230             :     compiler::TNode<JSReceiver> tmp171;
    4231             :     compiler::TNode<String> tmp172;
    4232             :     compiler::TNode<Number> tmp173;
    4233             :     compiler::TNode<Object> tmp174;
    4234             :     compiler::TNode<Object> tmp175;
    4235             :     compiler::TNode<BuiltinPtr> tmp176;
    4236             :     compiler::TNode<Map> tmp177;
    4237             :     compiler::TNode<UintPtrT> tmp178;
    4238             :     compiler::TNode<IntPtrT> tmp179;
    4239             :     compiler::TNode<IntPtrT> tmp180;
    4240             :     compiler::TNode<BuiltinPtr> tmp181;
    4241             :     compiler::TNode<FixedArray> tmp182;
    4242             :     compiler::TNode<IntPtrT> tmp183;
    4243             :     compiler::TNode<IntPtrT> tmp184;
    4244             :     compiler::TNode<BoolT> tmp185;
    4245             :     compiler::TNode<UintPtrT> tmp186;
    4246             :     compiler::TNode<Object> tmp187;
    4247             :     compiler::TNode<String> tmp188;
    4248             :     ca_.Bind(&block11, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188);
    4249          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
    4250             :     compiler::TNode<String> tmp189;
    4251         112 :     tmp189 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp170, tmp187, tmp174, tmp175));
    4252             :     USE(tmp189);
    4253          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
    4254             :     compiler::TNode<String> tmp190;
    4255             :     USE(tmp190);
    4256         168 :     tmp190 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    4257             :     compiler::TNode<BoolT> tmp191;
    4258             :     USE(tmp191);
    4259         112 :     tmp191 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp189}, compiler::TNode<HeapObject>{tmp190}));
    4260          56 :     ca_.Branch(tmp191, &block14, &block15, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp189);
    4261             :   }
    4262             : 
    4263         112 :   if (block14.is_used()) {
    4264             :     compiler::TNode<Context> tmp192;
    4265             :     compiler::TNode<JSReceiver> tmp193;
    4266             :     compiler::TNode<String> tmp194;
    4267             :     compiler::TNode<Number> tmp195;
    4268             :     compiler::TNode<Object> tmp196;
    4269             :     compiler::TNode<Object> tmp197;
    4270             :     compiler::TNode<BuiltinPtr> tmp198;
    4271             :     compiler::TNode<Map> tmp199;
    4272             :     compiler::TNode<UintPtrT> tmp200;
    4273             :     compiler::TNode<IntPtrT> tmp201;
    4274             :     compiler::TNode<IntPtrT> tmp202;
    4275             :     compiler::TNode<BuiltinPtr> tmp203;
    4276             :     compiler::TNode<FixedArray> tmp204;
    4277             :     compiler::TNode<IntPtrT> tmp205;
    4278             :     compiler::TNode<IntPtrT> tmp206;
    4279             :     compiler::TNode<BoolT> tmp207;
    4280             :     compiler::TNode<UintPtrT> tmp208;
    4281             :     compiler::TNode<Object> tmp209;
    4282             :     compiler::TNode<String> tmp210;
    4283             :     ca_.Bind(&block14, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210);
    4284             :     ca_.Goto(&block4, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208);
    4285             :   }
    4286             : 
    4287         112 :   if (block15.is_used()) {
    4288             :     compiler::TNode<Context> tmp211;
    4289             :     compiler::TNode<JSReceiver> tmp212;
    4290             :     compiler::TNode<String> tmp213;
    4291             :     compiler::TNode<Number> tmp214;
    4292             :     compiler::TNode<Object> tmp215;
    4293             :     compiler::TNode<Object> tmp216;
    4294             :     compiler::TNode<BuiltinPtr> tmp217;
    4295             :     compiler::TNode<Map> tmp218;
    4296             :     compiler::TNode<UintPtrT> tmp219;
    4297             :     compiler::TNode<IntPtrT> tmp220;
    4298             :     compiler::TNode<IntPtrT> tmp221;
    4299             :     compiler::TNode<BuiltinPtr> tmp222;
    4300             :     compiler::TNode<FixedArray> tmp223;
    4301             :     compiler::TNode<IntPtrT> tmp224;
    4302             :     compiler::TNode<IntPtrT> tmp225;
    4303             :     compiler::TNode<BoolT> tmp226;
    4304             :     compiler::TNode<UintPtrT> tmp227;
    4305             :     compiler::TNode<Object> tmp228;
    4306             :     compiler::TNode<String> tmp229;
    4307             :     ca_.Bind(&block15, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229);
    4308          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    4309             :     ca_.Goto(&block13, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229);
    4310             :   }
    4311             : 
    4312         112 :   if (block12.is_used()) {
    4313             :     compiler::TNode<Context> tmp230;
    4314             :     compiler::TNode<JSReceiver> tmp231;
    4315             :     compiler::TNode<String> tmp232;
    4316             :     compiler::TNode<Number> tmp233;
    4317             :     compiler::TNode<Object> tmp234;
    4318             :     compiler::TNode<Object> tmp235;
    4319             :     compiler::TNode<BuiltinPtr> tmp236;
    4320             :     compiler::TNode<Map> tmp237;
    4321             :     compiler::TNode<UintPtrT> tmp238;
    4322             :     compiler::TNode<IntPtrT> tmp239;
    4323             :     compiler::TNode<IntPtrT> tmp240;
    4324             :     compiler::TNode<BuiltinPtr> tmp241;
    4325             :     compiler::TNode<FixedArray> tmp242;
    4326             :     compiler::TNode<IntPtrT> tmp243;
    4327             :     compiler::TNode<IntPtrT> tmp244;
    4328             :     compiler::TNode<BoolT> tmp245;
    4329             :     compiler::TNode<UintPtrT> tmp246;
    4330             :     compiler::TNode<Object> tmp247;
    4331             :     compiler::TNode<String> tmp248;
    4332             :     ca_.Bind(&block12, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248);
    4333          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    4334          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    4335             :     compiler::TNode<String> tmp249;
    4336             :     USE(tmp249);
    4337          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    4338         168 :     tmp249 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp230}, compiler::TNode<Object>{tmp247}, &label0);
    4339             :     ca_.Goto(&block18, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247, tmp249);
    4340          56 :     if (label0.is_used()) {
    4341          56 :       ca_.Bind(&label0);
    4342             :       ca_.Goto(&block19, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247);
    4343             :     }
    4344             :   }
    4345             : 
    4346         112 :   if (block19.is_used()) {
    4347             :     compiler::TNode<Context> tmp250;
    4348             :     compiler::TNode<JSReceiver> tmp251;
    4349             :     compiler::TNode<String> tmp252;
    4350             :     compiler::TNode<Number> tmp253;
    4351             :     compiler::TNode<Object> tmp254;
    4352             :     compiler::TNode<Object> tmp255;
    4353             :     compiler::TNode<BuiltinPtr> tmp256;
    4354             :     compiler::TNode<Map> tmp257;
    4355             :     compiler::TNode<UintPtrT> tmp258;
    4356             :     compiler::TNode<IntPtrT> tmp259;
    4357             :     compiler::TNode<IntPtrT> tmp260;
    4358             :     compiler::TNode<BuiltinPtr> tmp261;
    4359             :     compiler::TNode<FixedArray> tmp262;
    4360             :     compiler::TNode<IntPtrT> tmp263;
    4361             :     compiler::TNode<IntPtrT> tmp264;
    4362             :     compiler::TNode<BoolT> tmp265;
    4363             :     compiler::TNode<UintPtrT> tmp266;
    4364             :     compiler::TNode<Object> tmp267;
    4365             :     compiler::TNode<String> tmp268;
    4366             :     compiler::TNode<Object> tmp269;
    4367             :     compiler::TNode<Object> tmp270;
    4368             :     ca_.Bind(&block19, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270);
    4369             :     ca_.Goto(&block17, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269);
    4370             :   }
    4371             : 
    4372         112 :   if (block18.is_used()) {
    4373             :     compiler::TNode<Context> tmp271;
    4374             :     compiler::TNode<JSReceiver> tmp272;
    4375             :     compiler::TNode<String> tmp273;
    4376             :     compiler::TNode<Number> tmp274;
    4377             :     compiler::TNode<Object> tmp275;
    4378             :     compiler::TNode<Object> tmp276;
    4379             :     compiler::TNode<BuiltinPtr> tmp277;
    4380             :     compiler::TNode<Map> tmp278;
    4381             :     compiler::TNode<UintPtrT> tmp279;
    4382             :     compiler::TNode<IntPtrT> tmp280;
    4383             :     compiler::TNode<IntPtrT> tmp281;
    4384             :     compiler::TNode<BuiltinPtr> tmp282;
    4385             :     compiler::TNode<FixedArray> tmp283;
    4386             :     compiler::TNode<IntPtrT> tmp284;
    4387             :     compiler::TNode<IntPtrT> tmp285;
    4388             :     compiler::TNode<BoolT> tmp286;
    4389             :     compiler::TNode<UintPtrT> tmp287;
    4390             :     compiler::TNode<Object> tmp288;
    4391             :     compiler::TNode<String> tmp289;
    4392             :     compiler::TNode<Object> tmp290;
    4393             :     compiler::TNode<Object> tmp291;
    4394             :     compiler::TNode<String> tmp292;
    4395             :     ca_.Bind(&block18, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292);
    4396          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
    4397             :     compiler::TNode<String> tmp293;
    4398             :     USE(tmp293);
    4399         168 :     tmp293 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    4400             :     compiler::TNode<BoolT> tmp294;
    4401             :     USE(tmp294);
    4402         112 :     tmp294 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp292}, compiler::TNode<HeapObject>{tmp293}));
    4403          56 :     ca_.Branch(tmp294, &block20, &block21, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp292);
    4404             :   }
    4405             : 
    4406         112 :   if (block20.is_used()) {
    4407             :     compiler::TNode<Context> tmp295;
    4408             :     compiler::TNode<JSReceiver> tmp296;
    4409             :     compiler::TNode<String> tmp297;
    4410             :     compiler::TNode<Number> tmp298;
    4411             :     compiler::TNode<Object> tmp299;
    4412             :     compiler::TNode<Object> tmp300;
    4413             :     compiler::TNode<BuiltinPtr> tmp301;
    4414             :     compiler::TNode<Map> tmp302;
    4415             :     compiler::TNode<UintPtrT> tmp303;
    4416             :     compiler::TNode<IntPtrT> tmp304;
    4417             :     compiler::TNode<IntPtrT> tmp305;
    4418             :     compiler::TNode<BuiltinPtr> tmp306;
    4419             :     compiler::TNode<FixedArray> tmp307;
    4420             :     compiler::TNode<IntPtrT> tmp308;
    4421             :     compiler::TNode<IntPtrT> tmp309;
    4422             :     compiler::TNode<BoolT> tmp310;
    4423             :     compiler::TNode<UintPtrT> tmp311;
    4424             :     compiler::TNode<Object> tmp312;
    4425             :     compiler::TNode<String> tmp313;
    4426             :     compiler::TNode<Object> tmp314;
    4427             :     compiler::TNode<String> tmp315;
    4428             :     ca_.Bind(&block20, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315);
    4429             :     ca_.Goto(&block4, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311);
    4430             :   }
    4431             : 
    4432         112 :   if (block21.is_used()) {
    4433             :     compiler::TNode<Context> tmp316;
    4434             :     compiler::TNode<JSReceiver> tmp317;
    4435             :     compiler::TNode<String> tmp318;
    4436             :     compiler::TNode<Number> tmp319;
    4437             :     compiler::TNode<Object> tmp320;
    4438             :     compiler::TNode<Object> tmp321;
    4439             :     compiler::TNode<BuiltinPtr> tmp322;
    4440             :     compiler::TNode<Map> tmp323;
    4441             :     compiler::TNode<UintPtrT> tmp324;
    4442             :     compiler::TNode<IntPtrT> tmp325;
    4443             :     compiler::TNode<IntPtrT> tmp326;
    4444             :     compiler::TNode<BuiltinPtr> tmp327;
    4445             :     compiler::TNode<FixedArray> tmp328;
    4446             :     compiler::TNode<IntPtrT> tmp329;
    4447             :     compiler::TNode<IntPtrT> tmp330;
    4448             :     compiler::TNode<BoolT> tmp331;
    4449             :     compiler::TNode<UintPtrT> tmp332;
    4450             :     compiler::TNode<Object> tmp333;
    4451             :     compiler::TNode<String> tmp334;
    4452             :     compiler::TNode<Object> tmp335;
    4453             :     compiler::TNode<String> tmp336;
    4454             :     ca_.Bind(&block21, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
    4455          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
    4456          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    4457             :     ca_.Goto(&block16, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp336, tmp335);
    4458             :   }
    4459             : 
    4460         112 :   if (block17.is_used()) {
    4461             :     compiler::TNode<Context> tmp337;
    4462             :     compiler::TNode<JSReceiver> tmp338;
    4463             :     compiler::TNode<String> tmp339;
    4464             :     compiler::TNode<Number> tmp340;
    4465             :     compiler::TNode<Object> tmp341;
    4466             :     compiler::TNode<Object> tmp342;
    4467             :     compiler::TNode<BuiltinPtr> tmp343;
    4468             :     compiler::TNode<Map> tmp344;
    4469             :     compiler::TNode<UintPtrT> tmp345;
    4470             :     compiler::TNode<IntPtrT> tmp346;
    4471             :     compiler::TNode<IntPtrT> tmp347;
    4472             :     compiler::TNode<BuiltinPtr> tmp348;
    4473             :     compiler::TNode<FixedArray> tmp349;
    4474             :     compiler::TNode<IntPtrT> tmp350;
    4475             :     compiler::TNode<IntPtrT> tmp351;
    4476             :     compiler::TNode<BoolT> tmp352;
    4477             :     compiler::TNode<UintPtrT> tmp353;
    4478             :     compiler::TNode<Object> tmp354;
    4479             :     compiler::TNode<String> tmp355;
    4480             :     compiler::TNode<Object> tmp356;
    4481             :     ca_.Bind(&block17, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355, &tmp356);
    4482          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    4483             :     compiler::TNode<Number> tmp357;
    4484             :     USE(tmp357);
    4485          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    4486         168 :     tmp357 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp356)}, &label0);
    4487             :     ca_.Goto(&block24, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, ca_.UncheckedCast<Object>(tmp356), tmp357);
    4488          56 :     if (label0.is_used()) {
    4489          56 :       ca_.Bind(&label0);
    4490             :       ca_.Goto(&block25, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, ca_.UncheckedCast<Object>(tmp356));
    4491             :     }
    4492             :   }
    4493             : 
    4494         112 :   if (block25.is_used()) {
    4495             :     compiler::TNode<Context> tmp358;
    4496             :     compiler::TNode<JSReceiver> tmp359;
    4497             :     compiler::TNode<String> tmp360;
    4498             :     compiler::TNode<Number> tmp361;
    4499             :     compiler::TNode<Object> tmp362;
    4500             :     compiler::TNode<Object> tmp363;
    4501             :     compiler::TNode<BuiltinPtr> tmp364;
    4502             :     compiler::TNode<Map> tmp365;
    4503             :     compiler::TNode<UintPtrT> tmp366;
    4504             :     compiler::TNode<IntPtrT> tmp367;
    4505             :     compiler::TNode<IntPtrT> tmp368;
    4506             :     compiler::TNode<BuiltinPtr> tmp369;
    4507             :     compiler::TNode<FixedArray> tmp370;
    4508             :     compiler::TNode<IntPtrT> tmp371;
    4509             :     compiler::TNode<IntPtrT> tmp372;
    4510             :     compiler::TNode<BoolT> tmp373;
    4511             :     compiler::TNode<UintPtrT> tmp374;
    4512             :     compiler::TNode<Object> tmp375;
    4513             :     compiler::TNode<String> tmp376;
    4514             :     compiler::TNode<Object> tmp377;
    4515             :     compiler::TNode<Object> tmp378;
    4516             :     ca_.Bind(&block25, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377, &tmp378);
    4517             :     ca_.Goto(&block23, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377);
    4518             :   }
    4519             : 
    4520         112 :   if (block24.is_used()) {
    4521             :     compiler::TNode<Context> tmp379;
    4522             :     compiler::TNode<JSReceiver> tmp380;
    4523             :     compiler::TNode<String> tmp381;
    4524             :     compiler::TNode<Number> tmp382;
    4525             :     compiler::TNode<Object> tmp383;
    4526             :     compiler::TNode<Object> tmp384;
    4527             :     compiler::TNode<BuiltinPtr> tmp385;
    4528             :     compiler::TNode<Map> tmp386;
    4529             :     compiler::TNode<UintPtrT> tmp387;
    4530             :     compiler::TNode<IntPtrT> tmp388;
    4531             :     compiler::TNode<IntPtrT> tmp389;
    4532             :     compiler::TNode<BuiltinPtr> tmp390;
    4533             :     compiler::TNode<FixedArray> tmp391;
    4534             :     compiler::TNode<IntPtrT> tmp392;
    4535             :     compiler::TNode<IntPtrT> tmp393;
    4536             :     compiler::TNode<BoolT> tmp394;
    4537             :     compiler::TNode<UintPtrT> tmp395;
    4538             :     compiler::TNode<Object> tmp396;
    4539             :     compiler::TNode<String> tmp397;
    4540             :     compiler::TNode<Object> tmp398;
    4541             :     compiler::TNode<Object> tmp399;
    4542             :     compiler::TNode<Number> tmp400;
    4543             :     ca_.Bind(&block24, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397, &tmp398, &tmp399, &tmp400);
    4544          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
    4545             :     compiler::TNode<String> tmp401;
    4546             :     USE(tmp401);
    4547         112 :     tmp401 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp400}));
    4548          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    4549             :     ca_.Goto(&block22, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp396, tmp401, tmp398);
    4550             :   }
    4551             : 
    4552         112 :   if (block23.is_used()) {
    4553             :     compiler::TNode<Context> tmp402;
    4554             :     compiler::TNode<JSReceiver> tmp403;
    4555             :     compiler::TNode<String> tmp404;
    4556             :     compiler::TNode<Number> tmp405;
    4557             :     compiler::TNode<Object> tmp406;
    4558             :     compiler::TNode<Object> tmp407;
    4559             :     compiler::TNode<BuiltinPtr> tmp408;
    4560             :     compiler::TNode<Map> tmp409;
    4561             :     compiler::TNode<UintPtrT> tmp410;
    4562             :     compiler::TNode<IntPtrT> tmp411;
    4563             :     compiler::TNode<IntPtrT> tmp412;
    4564             :     compiler::TNode<BuiltinPtr> tmp413;
    4565             :     compiler::TNode<FixedArray> tmp414;
    4566             :     compiler::TNode<IntPtrT> tmp415;
    4567             :     compiler::TNode<IntPtrT> tmp416;
    4568             :     compiler::TNode<BoolT> tmp417;
    4569             :     compiler::TNode<UintPtrT> tmp418;
    4570             :     compiler::TNode<Object> tmp419;
    4571             :     compiler::TNode<String> tmp420;
    4572             :     compiler::TNode<Object> tmp421;
    4573             :     ca_.Bind(&block23, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420, &tmp421);
    4574          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 307);
    4575          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 308);
    4576             :     compiler::TNode<BoolT> tmp422;
    4577             :     USE(tmp422);
    4578         112 :     tmp422 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp421)}));
    4579          56 :     ca_.Branch(tmp422, &block26, &block27, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, tmp421, ca_.UncheckedCast<HeapObject>(tmp421));
    4580             :   }
    4581             : 
    4582         112 :   if (block26.is_used()) {
    4583             :     compiler::TNode<Context> tmp423;
    4584             :     compiler::TNode<JSReceiver> tmp424;
    4585             :     compiler::TNode<String> tmp425;
    4586             :     compiler::TNode<Number> tmp426;
    4587             :     compiler::TNode<Object> tmp427;
    4588             :     compiler::TNode<Object> tmp428;
    4589             :     compiler::TNode<BuiltinPtr> tmp429;
    4590             :     compiler::TNode<Map> tmp430;
    4591             :     compiler::TNode<UintPtrT> tmp431;
    4592             :     compiler::TNode<IntPtrT> tmp432;
    4593             :     compiler::TNode<IntPtrT> tmp433;
    4594             :     compiler::TNode<BuiltinPtr> tmp434;
    4595             :     compiler::TNode<FixedArray> tmp435;
    4596             :     compiler::TNode<IntPtrT> tmp436;
    4597             :     compiler::TNode<IntPtrT> tmp437;
    4598             :     compiler::TNode<BoolT> tmp438;
    4599             :     compiler::TNode<UintPtrT> tmp439;
    4600             :     compiler::TNode<Object> tmp440;
    4601             :     compiler::TNode<String> tmp441;
    4602             :     compiler::TNode<Object> tmp442;
    4603             :     compiler::TNode<HeapObject> tmp443;
    4604             :     ca_.Bind(&block26, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442, &tmp443);
    4605             :     ca_.Goto(&block4, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp439);
    4606             :   }
    4607             : 
    4608         112 :   if (block27.is_used()) {
    4609             :     compiler::TNode<Context> tmp444;
    4610             :     compiler::TNode<JSReceiver> tmp445;
    4611             :     compiler::TNode<String> tmp446;
    4612             :     compiler::TNode<Number> tmp447;
    4613             :     compiler::TNode<Object> tmp448;
    4614             :     compiler::TNode<Object> tmp449;
    4615             :     compiler::TNode<BuiltinPtr> tmp450;
    4616             :     compiler::TNode<Map> tmp451;
    4617             :     compiler::TNode<UintPtrT> tmp452;
    4618             :     compiler::TNode<IntPtrT> tmp453;
    4619             :     compiler::TNode<IntPtrT> tmp454;
    4620             :     compiler::TNode<BuiltinPtr> tmp455;
    4621             :     compiler::TNode<FixedArray> tmp456;
    4622             :     compiler::TNode<IntPtrT> tmp457;
    4623             :     compiler::TNode<IntPtrT> tmp458;
    4624             :     compiler::TNode<BoolT> tmp459;
    4625             :     compiler::TNode<UintPtrT> tmp460;
    4626             :     compiler::TNode<Object> tmp461;
    4627             :     compiler::TNode<String> tmp462;
    4628             :     compiler::TNode<Object> tmp463;
    4629             :     compiler::TNode<HeapObject> tmp464;
    4630             :     ca_.Bind(&block27, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463, &tmp464);
    4631          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 309);
    4632             :     compiler::TNode<String> tmp465;
    4633         112 :     tmp465 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp444, tmp464));
    4634             :     USE(tmp465);
    4635          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    4636             :     ca_.Goto(&block22, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, tmp465, tmp463);
    4637             :   }
    4638             : 
    4639         112 :   if (block22.is_used()) {
    4640             :     compiler::TNode<Context> tmp466;
    4641             :     compiler::TNode<JSReceiver> tmp467;
    4642             :     compiler::TNode<String> tmp468;
    4643             :     compiler::TNode<Number> tmp469;
    4644             :     compiler::TNode<Object> tmp470;
    4645             :     compiler::TNode<Object> tmp471;
    4646             :     compiler::TNode<BuiltinPtr> tmp472;
    4647             :     compiler::TNode<Map> tmp473;
    4648             :     compiler::TNode<UintPtrT> tmp474;
    4649             :     compiler::TNode<IntPtrT> tmp475;
    4650             :     compiler::TNode<IntPtrT> tmp476;
    4651             :     compiler::TNode<BuiltinPtr> tmp477;
    4652             :     compiler::TNode<FixedArray> tmp478;
    4653             :     compiler::TNode<IntPtrT> tmp479;
    4654             :     compiler::TNode<IntPtrT> tmp480;
    4655             :     compiler::TNode<BoolT> tmp481;
    4656             :     compiler::TNode<UintPtrT> tmp482;
    4657             :     compiler::TNode<Object> tmp483;
    4658             :     compiler::TNode<String> tmp484;
    4659             :     compiler::TNode<Object> tmp485;
    4660             :     ca_.Bind(&block22, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483, &tmp484, &tmp485);
    4661          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    4662             :     ca_.Goto(&block16, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484, tmp485);
    4663             :   }
    4664             : 
    4665         112 :   if (block16.is_used()) {
    4666             :     compiler::TNode<Context> tmp486;
    4667             :     compiler::TNode<JSReceiver> tmp487;
    4668             :     compiler::TNode<String> tmp488;
    4669             :     compiler::TNode<Number> tmp489;
    4670             :     compiler::TNode<Object> tmp490;
    4671             :     compiler::TNode<Object> tmp491;
    4672             :     compiler::TNode<BuiltinPtr> tmp492;
    4673             :     compiler::TNode<Map> tmp493;
    4674             :     compiler::TNode<UintPtrT> tmp494;
    4675             :     compiler::TNode<IntPtrT> tmp495;
    4676             :     compiler::TNode<IntPtrT> tmp496;
    4677             :     compiler::TNode<BuiltinPtr> tmp497;
    4678             :     compiler::TNode<FixedArray> tmp498;
    4679             :     compiler::TNode<IntPtrT> tmp499;
    4680             :     compiler::TNode<IntPtrT> tmp500;
    4681             :     compiler::TNode<BoolT> tmp501;
    4682             :     compiler::TNode<UintPtrT> tmp502;
    4683             :     compiler::TNode<Object> tmp503;
    4684             :     compiler::TNode<String> tmp504;
    4685             :     compiler::TNode<Object> tmp505;
    4686             :     ca_.Bind(&block16, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504, &tmp505);
    4687          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    4688          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    4689             :     ca_.Goto(&block13, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503, tmp504);
    4690             :   }
    4691             : 
    4692         112 :   if (block13.is_used()) {
    4693             :     compiler::TNode<Context> tmp506;
    4694             :     compiler::TNode<JSReceiver> tmp507;
    4695             :     compiler::TNode<String> tmp508;
    4696             :     compiler::TNode<Number> tmp509;
    4697             :     compiler::TNode<Object> tmp510;
    4698             :     compiler::TNode<Object> tmp511;
    4699             :     compiler::TNode<BuiltinPtr> tmp512;
    4700             :     compiler::TNode<Map> tmp513;
    4701             :     compiler::TNode<UintPtrT> tmp514;
    4702             :     compiler::TNode<IntPtrT> tmp515;
    4703             :     compiler::TNode<IntPtrT> tmp516;
    4704             :     compiler::TNode<BuiltinPtr> tmp517;
    4705             :     compiler::TNode<FixedArray> tmp518;
    4706             :     compiler::TNode<IntPtrT> tmp519;
    4707             :     compiler::TNode<IntPtrT> tmp520;
    4708             :     compiler::TNode<BoolT> tmp521;
    4709             :     compiler::TNode<UintPtrT> tmp522;
    4710             :     compiler::TNode<Object> tmp523;
    4711             :     compiler::TNode<String> tmp524;
    4712             :     ca_.Bind(&block13, &tmp506, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523, &tmp524);
    4713         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
    4714         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
    4715             :     compiler::TNode<IntPtrT> tmp525;
    4716             :     USE(tmp525);
    4717         336 :     tmp525 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    4718             :     compiler::TNode<BoolT> tmp526;
    4719             :     USE(tmp526);
    4720         336 :     tmp526 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp519}, compiler::TNode<IntPtrT>{tmp525}));
    4721             :     compiler::TNode<IntPtrT> tmp527;
    4722             :     USE(tmp527);
    4723         336 :     tmp527 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    4724             :     compiler::TNode<BoolT> tmp528;
    4725             :     USE(tmp528);
    4726         336 :     tmp528 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp527}));
    4727             :     compiler::TNode<BoolT> tmp529;
    4728             :     USE(tmp529);
    4729         224 :     tmp529 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp526}, compiler::TNode<BoolT>{tmp528}));
    4730         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
    4731         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
    4732             :     compiler::TNode<IntPtrT> tmp530;
    4733             :     USE(tmp530);
    4734         336 :     tmp530 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    4735             :     compiler::TNode<BoolT> tmp531;
    4736             :     USE(tmp531);
    4737         336 :     tmp531 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp530}));
    4738         112 :     ca_.Branch(tmp531, &block30, &block32, tmp506, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp522, tmp523, tmp524, tmp524, tmp516, tmp515, tmp506, tmp524, tmp516, tmp515, tmp529, tmp516, tmp515, tmp529, tmp506, tmp516, tmp515, tmp529);
    4739             :   }
    4740             : 
    4741         112 :   if (block32.is_used()) {
    4742             :     compiler::TNode<Context> tmp532;
    4743             :     compiler::TNode<JSReceiver> tmp533;
    4744             :     compiler::TNode<String> tmp534;
    4745             :     compiler::TNode<Number> tmp535;
    4746             :     compiler::TNode<Object> tmp536;
    4747             :     compiler::TNode<Object> tmp537;
    4748             :     compiler::TNode<BuiltinPtr> tmp538;
    4749             :     compiler::TNode<Map> tmp539;
    4750             :     compiler::TNode<UintPtrT> tmp540;
    4751             :     compiler::TNode<IntPtrT> tmp541;
    4752             :     compiler::TNode<IntPtrT> tmp542;
    4753             :     compiler::TNode<BuiltinPtr> tmp543;
    4754             :     compiler::TNode<FixedArray> tmp544;
    4755             :     compiler::TNode<IntPtrT> tmp545;
    4756             :     compiler::TNode<IntPtrT> tmp546;
    4757             :     compiler::TNode<BoolT> tmp547;
    4758             :     compiler::TNode<UintPtrT> tmp548;
    4759             :     compiler::TNode<Object> tmp549;
    4760             :     compiler::TNode<String> tmp550;
    4761             :     compiler::TNode<String> tmp551;
    4762             :     compiler::TNode<IntPtrT> tmp552;
    4763             :     compiler::TNode<IntPtrT> tmp553;
    4764             :     compiler::TNode<Context> tmp554;
    4765             :     compiler::TNode<String> tmp555;
    4766             :     compiler::TNode<IntPtrT> tmp556;
    4767             :     compiler::TNode<IntPtrT> tmp557;
    4768             :     compiler::TNode<BoolT> tmp558;
    4769             :     compiler::TNode<IntPtrT> tmp559;
    4770             :     compiler::TNode<IntPtrT> tmp560;
    4771             :     compiler::TNode<BoolT> tmp561;
    4772             :     compiler::TNode<Context> tmp562;
    4773             :     compiler::TNode<IntPtrT> tmp563;
    4774             :     compiler::TNode<IntPtrT> tmp564;
    4775             :     compiler::TNode<BoolT> tmp565;
    4776             :     ca_.Bind(&block32, &tmp532, &tmp533, &tmp534, &tmp535, &tmp536, &tmp537, &tmp538, &tmp539, &tmp540, &tmp541, &tmp542, &tmp543, &tmp544, &tmp545, &tmp546, &tmp547, &tmp548, &tmp549, &tmp550, &tmp551, &tmp552, &tmp553, &tmp554, &tmp555, &tmp556, &tmp557, &tmp558, &tmp559, &tmp560, &tmp561, &tmp562, &tmp563, &tmp564, &tmp565);
    4777             :     compiler::TNode<IntPtrT> tmp566;
    4778             :     USE(tmp566);
    4779         336 :     tmp566 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    4780             :     compiler::TNode<BoolT> tmp567;
    4781             :     USE(tmp567);
    4782         336 :     tmp567 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp564}, compiler::TNode<IntPtrT>{tmp566}));
    4783         112 :     ca_.Branch(tmp567, &block30, &block31, tmp532, tmp533, tmp534, tmp535, tmp536, tmp537, tmp538, tmp539, tmp540, tmp541, tmp542, tmp543, tmp544, tmp545, tmp546, tmp547, tmp548, tmp549, tmp550, tmp551, tmp552, tmp553, tmp554, tmp555, tmp556, tmp557, tmp558, tmp559, tmp560, tmp561, tmp562, tmp563, tmp564, tmp565);
    4784             :   }
    4785             : 
    4786         112 :   if (block30.is_used()) {
    4787             :     compiler::TNode<Context> tmp568;
    4788             :     compiler::TNode<JSReceiver> tmp569;
    4789             :     compiler::TNode<String> tmp570;
    4790             :     compiler::TNode<Number> tmp571;
    4791             :     compiler::TNode<Object> tmp572;
    4792             :     compiler::TNode<Object> tmp573;
    4793             :     compiler::TNode<BuiltinPtr> tmp574;
    4794             :     compiler::TNode<Map> tmp575;
    4795             :     compiler::TNode<UintPtrT> tmp576;
    4796             :     compiler::TNode<IntPtrT> tmp577;
    4797             :     compiler::TNode<IntPtrT> tmp578;
    4798             :     compiler::TNode<BuiltinPtr> tmp579;
    4799             :     compiler::TNode<FixedArray> tmp580;
    4800             :     compiler::TNode<IntPtrT> tmp581;
    4801             :     compiler::TNode<IntPtrT> tmp582;
    4802             :     compiler::TNode<BoolT> tmp583;
    4803             :     compiler::TNode<UintPtrT> tmp584;
    4804             :     compiler::TNode<Object> tmp585;
    4805             :     compiler::TNode<String> tmp586;
    4806             :     compiler::TNode<String> tmp587;
    4807             :     compiler::TNode<IntPtrT> tmp588;
    4808             :     compiler::TNode<IntPtrT> tmp589;
    4809             :     compiler::TNode<Context> tmp590;
    4810             :     compiler::TNode<String> tmp591;
    4811             :     compiler::TNode<IntPtrT> tmp592;
    4812             :     compiler::TNode<IntPtrT> tmp593;
    4813             :     compiler::TNode<BoolT> tmp594;
    4814             :     compiler::TNode<IntPtrT> tmp595;
    4815             :     compiler::TNode<IntPtrT> tmp596;
    4816             :     compiler::TNode<BoolT> tmp597;
    4817             :     compiler::TNode<Context> tmp598;
    4818             :     compiler::TNode<IntPtrT> tmp599;
    4819             :     compiler::TNode<IntPtrT> tmp600;
    4820             :     compiler::TNode<BoolT> tmp601;
    4821             :     ca_.Bind(&block30, &tmp568, &tmp569, &tmp570, &tmp571, &tmp572, &tmp573, &tmp574, &tmp575, &tmp576, &tmp577, &tmp578, &tmp579, &tmp580, &tmp581, &tmp582, &tmp583, &tmp584, &tmp585, &tmp586, &tmp587, &tmp588, &tmp589, &tmp590, &tmp591, &tmp592, &tmp593, &tmp594, &tmp595, &tmp596, &tmp597, &tmp598, &tmp599, &tmp600, &tmp601);
    4822             :     ca_.Goto(&block29, tmp568, tmp569, tmp570, tmp571, tmp572, tmp573, tmp574, tmp575, tmp576, tmp577, tmp578, tmp579, tmp580, tmp581, tmp582, tmp583, tmp584, tmp585, tmp586, tmp587, tmp588, tmp589, tmp590, tmp591, tmp592, tmp593, tmp594, tmp595, tmp596, tmp597, tmp598, tmp599, tmp600, tmp601);
    4823             :   }
    4824             : 
    4825         112 :   if (block31.is_used()) {
    4826             :     compiler::TNode<Context> tmp602;
    4827             :     compiler::TNode<JSReceiver> tmp603;
    4828             :     compiler::TNode<String> tmp604;
    4829             :     compiler::TNode<Number> tmp605;
    4830             :     compiler::TNode<Object> tmp606;
    4831             :     compiler::TNode<Object> tmp607;
    4832             :     compiler::TNode<BuiltinPtr> tmp608;
    4833             :     compiler::TNode<Map> tmp609;
    4834             :     compiler::TNode<UintPtrT> tmp610;
    4835             :     compiler::TNode<IntPtrT> tmp611;
    4836             :     compiler::TNode<IntPtrT> tmp612;
    4837             :     compiler::TNode<BuiltinPtr> tmp613;
    4838             :     compiler::TNode<FixedArray> tmp614;
    4839             :     compiler::TNode<IntPtrT> tmp615;
    4840             :     compiler::TNode<IntPtrT> tmp616;
    4841             :     compiler::TNode<BoolT> tmp617;
    4842             :     compiler::TNode<UintPtrT> tmp618;
    4843             :     compiler::TNode<Object> tmp619;
    4844             :     compiler::TNode<String> tmp620;
    4845             :     compiler::TNode<String> tmp621;
    4846             :     compiler::TNode<IntPtrT> tmp622;
    4847             :     compiler::TNode<IntPtrT> tmp623;
    4848             :     compiler::TNode<Context> tmp624;
    4849             :     compiler::TNode<String> tmp625;
    4850             :     compiler::TNode<IntPtrT> tmp626;
    4851             :     compiler::TNode<IntPtrT> tmp627;
    4852             :     compiler::TNode<BoolT> tmp628;
    4853             :     compiler::TNode<IntPtrT> tmp629;
    4854             :     compiler::TNode<IntPtrT> tmp630;
    4855             :     compiler::TNode<BoolT> tmp631;
    4856             :     compiler::TNode<Context> tmp632;
    4857             :     compiler::TNode<IntPtrT> tmp633;
    4858             :     compiler::TNode<IntPtrT> tmp634;
    4859             :     compiler::TNode<BoolT> tmp635;
    4860             :     ca_.Bind(&block31, &tmp602, &tmp603, &tmp604, &tmp605, &tmp606, &tmp607, &tmp608, &tmp609, &tmp610, &tmp611, &tmp612, &tmp613, &tmp614, &tmp615, &tmp616, &tmp617, &tmp618, &tmp619, &tmp620, &tmp621, &tmp622, &tmp623, &tmp624, &tmp625, &tmp626, &tmp627, &tmp628, &tmp629, &tmp630, &tmp631, &tmp632, &tmp633, &tmp634, &tmp635);
    4861         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    4862         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    4863             :     compiler::TNode<IntPtrT> tmp636;
    4864             :     USE(tmp636);
    4865         224 :     tmp636 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp634}, compiler::TNode<IntPtrT>{tmp633}));
    4866         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
    4867             :     compiler::TNode<IntPtrT> tmp637;
    4868             :     USE(tmp637);
    4869         224 :     tmp637 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp636}, compiler::TNode<IntPtrT>{tmp634}));
    4870             :     compiler::TNode<BoolT> tmp638;
    4871             :     USE(tmp638);
    4872         336 :     tmp638 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp637}, compiler::TNode<IntPtrT>{tmp633}));
    4873         112 :     ca_.Branch(tmp638, &block33, &block34, tmp602, tmp603, tmp604, tmp605, tmp606, tmp607, tmp608, tmp609, tmp610, tmp611, tmp612, tmp613, tmp614, tmp615, tmp616, tmp617, tmp618, tmp619, tmp620, tmp621, tmp622, tmp623, tmp624, tmp625, tmp626, tmp627, tmp628, tmp629, tmp630, tmp631, tmp632, tmp633, tmp634, tmp635, tmp633, tmp636);
    4874             :   }
    4875             : 
    4876         112 :   if (block33.is_used()) {
    4877             :     compiler::TNode<Context> tmp639;
    4878             :     compiler::TNode<JSReceiver> tmp640;
    4879             :     compiler::TNode<String> tmp641;
    4880             :     compiler::TNode<Number> tmp642;
    4881             :     compiler::TNode<Object> tmp643;
    4882             :     compiler::TNode<Object> tmp644;
    4883             :     compiler::TNode<BuiltinPtr> tmp645;
    4884             :     compiler::TNode<Map> tmp646;
    4885             :     compiler::TNode<UintPtrT> tmp647;
    4886             :     compiler::TNode<IntPtrT> tmp648;
    4887             :     compiler::TNode<IntPtrT> tmp649;
    4888             :     compiler::TNode<BuiltinPtr> tmp650;
    4889             :     compiler::TNode<FixedArray> tmp651;
    4890             :     compiler::TNode<IntPtrT> tmp652;
    4891             :     compiler::TNode<IntPtrT> tmp653;
    4892             :     compiler::TNode<BoolT> tmp654;
    4893             :     compiler::TNode<UintPtrT> tmp655;
    4894             :     compiler::TNode<Object> tmp656;
    4895             :     compiler::TNode<String> tmp657;
    4896             :     compiler::TNode<String> tmp658;
    4897             :     compiler::TNode<IntPtrT> tmp659;
    4898             :     compiler::TNode<IntPtrT> tmp660;
    4899             :     compiler::TNode<Context> tmp661;
    4900             :     compiler::TNode<String> tmp662;
    4901             :     compiler::TNode<IntPtrT> tmp663;
    4902             :     compiler::TNode<IntPtrT> tmp664;
    4903             :     compiler::TNode<BoolT> tmp665;
    4904             :     compiler::TNode<IntPtrT> tmp666;
    4905             :     compiler::TNode<IntPtrT> tmp667;
    4906             :     compiler::TNode<BoolT> tmp668;
    4907             :     compiler::TNode<Context> tmp669;
    4908             :     compiler::TNode<IntPtrT> tmp670;
    4909             :     compiler::TNode<IntPtrT> tmp671;
    4910             :     compiler::TNode<BoolT> tmp672;
    4911             :     compiler::TNode<IntPtrT> tmp673;
    4912             :     compiler::TNode<IntPtrT> tmp674;
    4913             :     ca_.Bind(&block33, &tmp639, &tmp640, &tmp641, &tmp642, &tmp643, &tmp644, &tmp645, &tmp646, &tmp647, &tmp648, &tmp649, &tmp650, &tmp651, &tmp652, &tmp653, &tmp654, &tmp655, &tmp656, &tmp657, &tmp658, &tmp659, &tmp660, &tmp661, &tmp662, &tmp663, &tmp664, &tmp665, &tmp666, &tmp667, &tmp668, &tmp669, &tmp670, &tmp671, &tmp672, &tmp673, &tmp674);
    4914         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
    4915         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp669);
    4916         224 :     CodeStubAssembler(state_).Unreachable();
    4917             :   }
    4918             : 
    4919         112 :   if (block34.is_used()) {
    4920             :     compiler::TNode<Context> tmp676;
    4921             :     compiler::TNode<JSReceiver> tmp677;
    4922             :     compiler::TNode<String> tmp678;
    4923             :     compiler::TNode<Number> tmp679;
    4924             :     compiler::TNode<Object> tmp680;
    4925             :     compiler::TNode<Object> tmp681;
    4926             :     compiler::TNode<BuiltinPtr> tmp682;
    4927             :     compiler::TNode<Map> tmp683;
    4928             :     compiler::TNode<UintPtrT> tmp684;
    4929             :     compiler::TNode<IntPtrT> tmp685;
    4930             :     compiler::TNode<IntPtrT> tmp686;
    4931             :     compiler::TNode<BuiltinPtr> tmp687;
    4932             :     compiler::TNode<FixedArray> tmp688;
    4933             :     compiler::TNode<IntPtrT> tmp689;
    4934             :     compiler::TNode<IntPtrT> tmp690;
    4935             :     compiler::TNode<BoolT> tmp691;
    4936             :     compiler::TNode<UintPtrT> tmp692;
    4937             :     compiler::TNode<Object> tmp693;
    4938             :     compiler::TNode<String> tmp694;
    4939             :     compiler::TNode<String> tmp695;
    4940             :     compiler::TNode<IntPtrT> tmp696;
    4941             :     compiler::TNode<IntPtrT> tmp697;
    4942             :     compiler::TNode<Context> tmp698;
    4943             :     compiler::TNode<String> tmp699;
    4944             :     compiler::TNode<IntPtrT> tmp700;
    4945             :     compiler::TNode<IntPtrT> tmp701;
    4946             :     compiler::TNode<BoolT> tmp702;
    4947             :     compiler::TNode<IntPtrT> tmp703;
    4948             :     compiler::TNode<IntPtrT> tmp704;
    4949             :     compiler::TNode<BoolT> tmp705;
    4950             :     compiler::TNode<Context> tmp706;
    4951             :     compiler::TNode<IntPtrT> tmp707;
    4952             :     compiler::TNode<IntPtrT> tmp708;
    4953             :     compiler::TNode<BoolT> tmp709;
    4954             :     compiler::TNode<IntPtrT> tmp710;
    4955             :     compiler::TNode<IntPtrT> tmp711;
    4956             :     ca_.Bind(&block34, &tmp676, &tmp677, &tmp678, &tmp679, &tmp680, &tmp681, &tmp682, &tmp683, &tmp684, &tmp685, &tmp686, &tmp687, &tmp688, &tmp689, &tmp690, &tmp691, &tmp692, &tmp693, &tmp694, &tmp695, &tmp696, &tmp697, &tmp698, &tmp699, &tmp700, &tmp701, &tmp702, &tmp703, &tmp704, &tmp705, &tmp706, &tmp707, &tmp708, &tmp709, &tmp710, &tmp711);
    4957         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    4958             :     compiler::TNode<IntPtrT> tmp712;
    4959             :     USE(tmp712);
    4960         336 :     tmp712 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp706}, compiler::TNode<IntPtrT>{tmp690}, compiler::TNode<IntPtrT>{tmp711}));
    4961         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    4962         112 :     ca_.Branch(tmp709, &block35, &block36, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp686, tmp687, tmp688, tmp689, tmp712, tmp691, tmp692, tmp693, tmp694, tmp695, tmp696, tmp697, tmp698, tmp699, tmp700, tmp701, tmp702, tmp703, tmp704, tmp705, tmp706, tmp707, tmp708, tmp709, tmp710, tmp711);
    4963             :   }
    4964             : 
    4965         112 :   if (block35.is_used()) {
    4966             :     compiler::TNode<Context> tmp713;
    4967             :     compiler::TNode<JSReceiver> tmp714;
    4968             :     compiler::TNode<String> tmp715;
    4969             :     compiler::TNode<Number> tmp716;
    4970             :     compiler::TNode<Object> tmp717;
    4971             :     compiler::TNode<Object> tmp718;
    4972             :     compiler::TNode<BuiltinPtr> tmp719;
    4973             :     compiler::TNode<Map> tmp720;
    4974             :     compiler::TNode<UintPtrT> tmp721;
    4975             :     compiler::TNode<IntPtrT> tmp722;
    4976             :     compiler::TNode<IntPtrT> tmp723;
    4977             :     compiler::TNode<BuiltinPtr> tmp724;
    4978             :     compiler::TNode<FixedArray> tmp725;
    4979             :     compiler::TNode<IntPtrT> tmp726;
    4980             :     compiler::TNode<IntPtrT> tmp727;
    4981             :     compiler::TNode<BoolT> tmp728;
    4982             :     compiler::TNode<UintPtrT> tmp729;
    4983             :     compiler::TNode<Object> tmp730;
    4984             :     compiler::TNode<String> tmp731;
    4985             :     compiler::TNode<String> tmp732;
    4986             :     compiler::TNode<IntPtrT> tmp733;
    4987             :     compiler::TNode<IntPtrT> tmp734;
    4988             :     compiler::TNode<Context> tmp735;
    4989             :     compiler::TNode<String> tmp736;
    4990             :     compiler::TNode<IntPtrT> tmp737;
    4991             :     compiler::TNode<IntPtrT> tmp738;
    4992             :     compiler::TNode<BoolT> tmp739;
    4993             :     compiler::TNode<IntPtrT> tmp740;
    4994             :     compiler::TNode<IntPtrT> tmp741;
    4995             :     compiler::TNode<BoolT> tmp742;
    4996             :     compiler::TNode<Context> tmp743;
    4997             :     compiler::TNode<IntPtrT> tmp744;
    4998             :     compiler::TNode<IntPtrT> tmp745;
    4999             :     compiler::TNode<BoolT> tmp746;
    5000             :     compiler::TNode<IntPtrT> tmp747;
    5001             :     compiler::TNode<IntPtrT> tmp748;
    5002             :     ca_.Bind(&block35, &tmp713, &tmp714, &tmp715, &tmp716, &tmp717, &tmp718, &tmp719, &tmp720, &tmp721, &tmp722, &tmp723, &tmp724, &tmp725, &tmp726, &tmp727, &tmp728, &tmp729, &tmp730, &tmp731, &tmp732, &tmp733, &tmp734, &tmp735, &tmp736, &tmp737, &tmp738, &tmp739, &tmp740, &tmp741, &tmp742, &tmp743, &tmp744, &tmp745, &tmp746, &tmp747, &tmp748);
    5003         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    5004             :     compiler::TNode<IntPtrT> tmp749;
    5005             :     USE(tmp749);
    5006         336 :     tmp749 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    5007             :     compiler::TNode<IntPtrT> tmp750;
    5008             :     USE(tmp750);
    5009         224 :     tmp750 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<IntPtrT>{tmp749}));
    5010             :     compiler::TNode<Smi> tmp751;
    5011             :     USE(tmp751);
    5012         336 :     tmp751 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp747}));
    5013         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    5014             :     compiler::TNode<FixedArray> tmp752;
    5015             :     USE(tmp752);
    5016         336 :     tmp752 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp725}, compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<Smi>{tmp751}));
    5017         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    5018             :     ca_.Goto(&block36, tmp713, tmp714, tmp715, tmp716, tmp717, tmp718, tmp719, tmp720, tmp721, tmp722, tmp723, tmp724, tmp752, tmp750, tmp727, tmp728, tmp729, tmp730, tmp731, tmp732, tmp733, tmp734, tmp735, tmp736, tmp737, tmp738, tmp739, tmp740, tmp741, tmp742, tmp743, tmp744, tmp745, tmp746, tmp747, tmp748);
    5019             :   }
    5020             : 
    5021         112 :   if (block36.is_used()) {
    5022             :     compiler::TNode<Context> tmp753;
    5023             :     compiler::TNode<JSReceiver> tmp754;
    5024             :     compiler::TNode<String> tmp755;
    5025             :     compiler::TNode<Number> tmp756;
    5026             :     compiler::TNode<Object> tmp757;
    5027             :     compiler::TNode<Object> tmp758;
    5028             :     compiler::TNode<BuiltinPtr> tmp759;
    5029             :     compiler::TNode<Map> tmp760;
    5030             :     compiler::TNode<UintPtrT> tmp761;
    5031             :     compiler::TNode<IntPtrT> tmp762;
    5032             :     compiler::TNode<IntPtrT> tmp763;
    5033             :     compiler::TNode<BuiltinPtr> tmp764;
    5034             :     compiler::TNode<FixedArray> tmp765;
    5035             :     compiler::TNode<IntPtrT> tmp766;
    5036             :     compiler::TNode<IntPtrT> tmp767;
    5037             :     compiler::TNode<BoolT> tmp768;
    5038             :     compiler::TNode<UintPtrT> tmp769;
    5039             :     compiler::TNode<Object> tmp770;
    5040             :     compiler::TNode<String> tmp771;
    5041             :     compiler::TNode<String> tmp772;
    5042             :     compiler::TNode<IntPtrT> tmp773;
    5043             :     compiler::TNode<IntPtrT> tmp774;
    5044             :     compiler::TNode<Context> tmp775;
    5045             :     compiler::TNode<String> tmp776;
    5046             :     compiler::TNode<IntPtrT> tmp777;
    5047             :     compiler::TNode<IntPtrT> tmp778;
    5048             :     compiler::TNode<BoolT> tmp779;
    5049             :     compiler::TNode<IntPtrT> tmp780;
    5050             :     compiler::TNode<IntPtrT> tmp781;
    5051             :     compiler::TNode<BoolT> tmp782;
    5052             :     compiler::TNode<Context> tmp783;
    5053             :     compiler::TNode<IntPtrT> tmp784;
    5054             :     compiler::TNode<IntPtrT> tmp785;
    5055             :     compiler::TNode<BoolT> tmp786;
    5056             :     compiler::TNode<IntPtrT> tmp787;
    5057             :     compiler::TNode<IntPtrT> tmp788;
    5058             :     ca_.Bind(&block36, &tmp753, &tmp754, &tmp755, &tmp756, &tmp757, &tmp758, &tmp759, &tmp760, &tmp761, &tmp762, &tmp763, &tmp764, &tmp765, &tmp766, &tmp767, &tmp768, &tmp769, &tmp770, &tmp771, &tmp772, &tmp773, &tmp774, &tmp775, &tmp776, &tmp777, &tmp778, &tmp779, &tmp780, &tmp781, &tmp782, &tmp783, &tmp784, &tmp785, &tmp786, &tmp787, &tmp788);
    5059         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    5060         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
    5061             :     ca_.Goto(&block29, tmp753, tmp754, tmp755, tmp756, tmp757, tmp758, tmp759, tmp760, tmp761, tmp762, tmp763, tmp764, tmp765, tmp766, tmp767, tmp768, tmp769, tmp770, tmp771, tmp772, tmp773, tmp774, tmp775, tmp776, tmp777, tmp778, tmp779, tmp780, tmp781, tmp782, tmp783, tmp784, tmp785, tmp786);
    5062             :   }
    5063             : 
    5064         112 :   if (block29.is_used()) {
    5065             :     compiler::TNode<Context> tmp789;
    5066             :     compiler::TNode<JSReceiver> tmp790;
    5067             :     compiler::TNode<String> tmp791;
    5068             :     compiler::TNode<Number> tmp792;
    5069             :     compiler::TNode<Object> tmp793;
    5070             :     compiler::TNode<Object> tmp794;
    5071             :     compiler::TNode<BuiltinPtr> tmp795;
    5072             :     compiler::TNode<Map> tmp796;
    5073             :     compiler::TNode<UintPtrT> tmp797;
    5074             :     compiler::TNode<IntPtrT> tmp798;
    5075             :     compiler::TNode<IntPtrT> tmp799;
    5076             :     compiler::TNode<BuiltinPtr> tmp800;
    5077             :     compiler::TNode<FixedArray> tmp801;
    5078             :     compiler::TNode<IntPtrT> tmp802;
    5079             :     compiler::TNode<IntPtrT> tmp803;
    5080             :     compiler::TNode<BoolT> tmp804;
    5081             :     compiler::TNode<UintPtrT> tmp805;
    5082             :     compiler::TNode<Object> tmp806;
    5083             :     compiler::TNode<String> tmp807;
    5084             :     compiler::TNode<String> tmp808;
    5085             :     compiler::TNode<IntPtrT> tmp809;
    5086             :     compiler::TNode<IntPtrT> tmp810;
    5087             :     compiler::TNode<Context> tmp811;
    5088             :     compiler::TNode<String> tmp812;
    5089             :     compiler::TNode<IntPtrT> tmp813;
    5090             :     compiler::TNode<IntPtrT> tmp814;
    5091             :     compiler::TNode<BoolT> tmp815;
    5092             :     compiler::TNode<IntPtrT> tmp816;
    5093             :     compiler::TNode<IntPtrT> tmp817;
    5094             :     compiler::TNode<BoolT> tmp818;
    5095             :     compiler::TNode<Context> tmp819;
    5096             :     compiler::TNode<IntPtrT> tmp820;
    5097             :     compiler::TNode<IntPtrT> tmp821;
    5098             :     compiler::TNode<BoolT> tmp822;
    5099             :     ca_.Bind(&block29, &tmp789, &tmp790, &tmp791, &tmp792, &tmp793, &tmp794, &tmp795, &tmp796, &tmp797, &tmp798, &tmp799, &tmp800, &tmp801, &tmp802, &tmp803, &tmp804, &tmp805, &tmp806, &tmp807, &tmp808, &tmp809, &tmp810, &tmp811, &tmp812, &tmp813, &tmp814, &tmp815, &tmp816, &tmp817, &tmp818, &tmp819, &tmp820, &tmp821, &tmp822);
    5100         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
    5101             :     compiler::TNode<IntPtrT> tmp823;
    5102             :     USE(tmp823);
    5103         336 :     tmp823 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp812}));
    5104             :     compiler::TNode<IntPtrT> tmp824;
    5105             :     USE(tmp824);
    5106         336 :     tmp824 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp811}, compiler::TNode<IntPtrT>{tmp803}, compiler::TNode<IntPtrT>{tmp823}));
    5107         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
    5108         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 164);
    5109             :     compiler::TNode<IntPtrT> tmp825;
    5110             :     USE(tmp825);
    5111         336 :     tmp825 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    5112             :     compiler::TNode<IntPtrT> tmp826;
    5113             :     USE(tmp826);
    5114         224 :     tmp826 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<IntPtrT>{tmp825}));
    5115             :     compiler::TNode<FixedArray> tmp827;
    5116             :     USE(tmp827);
    5117         336 :     tmp827 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray6String(compiler::TNode<FixedArray>{tmp801}, compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<String>{tmp812}));
    5118         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
    5119         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 166);
    5120             :     compiler::TNode<Int32T> tmp828;
    5121             :     USE(tmp828);
    5122         224 :     tmp828 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp812}));
    5123             :     compiler::TNode<BoolT> tmp829;
    5124             :     USE(tmp829);
    5125         224 :     tmp829 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp828}));
    5126             :     compiler::TNode<BoolT> tmp830;
    5127             :     USE(tmp830);
    5128         336 :     tmp830 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp829}, compiler::TNode<BoolT>{tmp804}));
    5129         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 165);
    5130         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
    5131         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
    5132             :     ca_.Goto(&block28, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp795, tmp796, tmp797, tmp798, tmp799, tmp800, tmp827, tmp826, tmp824, tmp830, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813, tmp814);
    5133             :   }
    5134             : 
    5135         112 :   if (block28.is_used()) {
    5136             :     compiler::TNode<Context> tmp831;
    5137             :     compiler::TNode<JSReceiver> tmp832;
    5138             :     compiler::TNode<String> tmp833;
    5139             :     compiler::TNode<Number> tmp834;
    5140             :     compiler::TNode<Object> tmp835;
    5141             :     compiler::TNode<Object> tmp836;
    5142             :     compiler::TNode<BuiltinPtr> tmp837;
    5143             :     compiler::TNode<Map> tmp838;
    5144             :     compiler::TNode<UintPtrT> tmp839;
    5145             :     compiler::TNode<IntPtrT> tmp840;
    5146             :     compiler::TNode<IntPtrT> tmp841;
    5147             :     compiler::TNode<BuiltinPtr> tmp842;
    5148             :     compiler::TNode<FixedArray> tmp843;
    5149             :     compiler::TNode<IntPtrT> tmp844;
    5150             :     compiler::TNode<IntPtrT> tmp845;
    5151             :     compiler::TNode<BoolT> tmp846;
    5152             :     compiler::TNode<UintPtrT> tmp847;
    5153             :     compiler::TNode<Object> tmp848;
    5154             :     compiler::TNode<String> tmp849;
    5155             :     compiler::TNode<String> tmp850;
    5156             :     compiler::TNode<IntPtrT> tmp851;
    5157             :     compiler::TNode<IntPtrT> tmp852;
    5158             :     compiler::TNode<Context> tmp853;
    5159             :     compiler::TNode<String> tmp854;
    5160             :     compiler::TNode<IntPtrT> tmp855;
    5161             :     compiler::TNode<IntPtrT> tmp856;
    5162             :     ca_.Bind(&block28, &tmp831, &tmp832, &tmp833, &tmp834, &tmp835, &tmp836, &tmp837, &tmp838, &tmp839, &tmp840, &tmp841, &tmp842, &tmp843, &tmp844, &tmp845, &tmp846, &tmp847, &tmp848, &tmp849, &tmp850, &tmp851, &tmp852, &tmp853, &tmp854, &tmp855, &tmp856);
    5163         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 316);
    5164             :     compiler::TNode<IntPtrT> tmp857;
    5165             :     USE(tmp857);
    5166         336 :     tmp857 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5167         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
    5168             :     ca_.Goto(&block4, tmp831, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp840, tmp857, tmp842, tmp843, tmp844, tmp845, tmp846, tmp847);
    5169             :   }
    5170             : 
    5171         112 :   if (block3.is_used()) {
    5172             :     compiler::TNode<Context> tmp858;
    5173             :     compiler::TNode<JSReceiver> tmp859;
    5174             :     compiler::TNode<String> tmp860;
    5175             :     compiler::TNode<Number> tmp861;
    5176             :     compiler::TNode<Object> tmp862;
    5177             :     compiler::TNode<Object> tmp863;
    5178             :     compiler::TNode<BuiltinPtr> tmp864;
    5179             :     compiler::TNode<Map> tmp865;
    5180             :     compiler::TNode<UintPtrT> tmp866;
    5181             :     compiler::TNode<IntPtrT> tmp867;
    5182             :     compiler::TNode<IntPtrT> tmp868;
    5183             :     compiler::TNode<BuiltinPtr> tmp869;
    5184             :     compiler::TNode<FixedArray> tmp870;
    5185             :     compiler::TNode<IntPtrT> tmp871;
    5186             :     compiler::TNode<IntPtrT> tmp872;
    5187             :     compiler::TNode<BoolT> tmp873;
    5188             :     compiler::TNode<UintPtrT> tmp874;
    5189             :     ca_.Bind(&block3, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873, &tmp874);
    5190         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    5191             :     compiler::TNode<BoolT> tmp875;
    5192             :     USE(tmp875);
    5193         336 :     tmp875 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
    5194         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
    5195             :     compiler::TNode<IntPtrT> tmp876;
    5196             :     USE(tmp876);
    5197         336 :     tmp876 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5198             :     compiler::TNode<BoolT> tmp877;
    5199             :     USE(tmp877);
    5200         336 :     tmp877 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp868}, compiler::TNode<IntPtrT>{tmp876}));
    5201         112 :     ca_.Branch(tmp877, &block38, &block40, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp874, tmp868, tmp867, tmp858, tmp868, tmp867, tmp875);
    5202             :   }
    5203             : 
    5204         112 :   if (block40.is_used()) {
    5205             :     compiler::TNode<Context> tmp878;
    5206             :     compiler::TNode<JSReceiver> tmp879;
    5207             :     compiler::TNode<String> tmp880;
    5208             :     compiler::TNode<Number> tmp881;
    5209             :     compiler::TNode<Object> tmp882;
    5210             :     compiler::TNode<Object> tmp883;
    5211             :     compiler::TNode<BuiltinPtr> tmp884;
    5212             :     compiler::TNode<Map> tmp885;
    5213             :     compiler::TNode<UintPtrT> tmp886;
    5214             :     compiler::TNode<IntPtrT> tmp887;
    5215             :     compiler::TNode<IntPtrT> tmp888;
    5216             :     compiler::TNode<BuiltinPtr> tmp889;
    5217             :     compiler::TNode<FixedArray> tmp890;
    5218             :     compiler::TNode<IntPtrT> tmp891;
    5219             :     compiler::TNode<IntPtrT> tmp892;
    5220             :     compiler::TNode<BoolT> tmp893;
    5221             :     compiler::TNode<UintPtrT> tmp894;
    5222             :     compiler::TNode<IntPtrT> tmp895;
    5223             :     compiler::TNode<IntPtrT> tmp896;
    5224             :     compiler::TNode<Context> tmp897;
    5225             :     compiler::TNode<IntPtrT> tmp898;
    5226             :     compiler::TNode<IntPtrT> tmp899;
    5227             :     compiler::TNode<BoolT> tmp900;
    5228             :     ca_.Bind(&block40, &tmp878, &tmp879, &tmp880, &tmp881, &tmp882, &tmp883, &tmp884, &tmp885, &tmp886, &tmp887, &tmp888, &tmp889, &tmp890, &tmp891, &tmp892, &tmp893, &tmp894, &tmp895, &tmp896, &tmp897, &tmp898, &tmp899, &tmp900);
    5229             :     compiler::TNode<IntPtrT> tmp901;
    5230             :     USE(tmp901);
    5231         336 :     tmp901 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5232             :     compiler::TNode<BoolT> tmp902;
    5233             :     USE(tmp902);
    5234         336 :     tmp902 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp899}, compiler::TNode<IntPtrT>{tmp901}));
    5235         112 :     ca_.Branch(tmp902, &block38, &block39, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889, tmp890, tmp891, tmp892, tmp893, tmp894, tmp895, tmp896, tmp897, tmp898, tmp899, tmp900);
    5236             :   }
    5237             : 
    5238         112 :   if (block38.is_used()) {
    5239             :     compiler::TNode<Context> tmp903;
    5240             :     compiler::TNode<JSReceiver> tmp904;
    5241             :     compiler::TNode<String> tmp905;
    5242             :     compiler::TNode<Number> tmp906;
    5243             :     compiler::TNode<Object> tmp907;
    5244             :     compiler::TNode<Object> tmp908;
    5245             :     compiler::TNode<BuiltinPtr> tmp909;
    5246             :     compiler::TNode<Map> tmp910;
    5247             :     compiler::TNode<UintPtrT> tmp911;
    5248             :     compiler::TNode<IntPtrT> tmp912;
    5249             :     compiler::TNode<IntPtrT> tmp913;
    5250             :     compiler::TNode<BuiltinPtr> tmp914;
    5251             :     compiler::TNode<FixedArray> tmp915;
    5252             :     compiler::TNode<IntPtrT> tmp916;
    5253             :     compiler::TNode<IntPtrT> tmp917;
    5254             :     compiler::TNode<BoolT> tmp918;
    5255             :     compiler::TNode<UintPtrT> tmp919;
    5256             :     compiler::TNode<IntPtrT> tmp920;
    5257             :     compiler::TNode<IntPtrT> tmp921;
    5258             :     compiler::TNode<Context> tmp922;
    5259             :     compiler::TNode<IntPtrT> tmp923;
    5260             :     compiler::TNode<IntPtrT> tmp924;
    5261             :     compiler::TNode<BoolT> tmp925;
    5262             :     ca_.Bind(&block38, &tmp903, &tmp904, &tmp905, &tmp906, &tmp907, &tmp908, &tmp909, &tmp910, &tmp911, &tmp912, &tmp913, &tmp914, &tmp915, &tmp916, &tmp917, &tmp918, &tmp919, &tmp920, &tmp921, &tmp922, &tmp923, &tmp924, &tmp925);
    5263             :     ca_.Goto(&block37, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919, tmp920, tmp921, tmp922, tmp923, tmp924, tmp925);
    5264             :   }
    5265             : 
    5266         112 :   if (block39.is_used()) {
    5267             :     compiler::TNode<Context> tmp926;
    5268             :     compiler::TNode<JSReceiver> tmp927;
    5269             :     compiler::TNode<String> tmp928;
    5270             :     compiler::TNode<Number> tmp929;
    5271             :     compiler::TNode<Object> tmp930;
    5272             :     compiler::TNode<Object> tmp931;
    5273             :     compiler::TNode<BuiltinPtr> tmp932;
    5274             :     compiler::TNode<Map> tmp933;
    5275             :     compiler::TNode<UintPtrT> tmp934;
    5276             :     compiler::TNode<IntPtrT> tmp935;
    5277             :     compiler::TNode<IntPtrT> tmp936;
    5278             :     compiler::TNode<BuiltinPtr> tmp937;
    5279             :     compiler::TNode<FixedArray> tmp938;
    5280             :     compiler::TNode<IntPtrT> tmp939;
    5281             :     compiler::TNode<IntPtrT> tmp940;
    5282             :     compiler::TNode<BoolT> tmp941;
    5283             :     compiler::TNode<UintPtrT> tmp942;
    5284             :     compiler::TNode<IntPtrT> tmp943;
    5285             :     compiler::TNode<IntPtrT> tmp944;
    5286             :     compiler::TNode<Context> tmp945;
    5287             :     compiler::TNode<IntPtrT> tmp946;
    5288             :     compiler::TNode<IntPtrT> tmp947;
    5289             :     compiler::TNode<BoolT> tmp948;
    5290             :     ca_.Bind(&block39, &tmp926, &tmp927, &tmp928, &tmp929, &tmp930, &tmp931, &tmp932, &tmp933, &tmp934, &tmp935, &tmp936, &tmp937, &tmp938, &tmp939, &tmp940, &tmp941, &tmp942, &tmp943, &tmp944, &tmp945, &tmp946, &tmp947, &tmp948);
    5291         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    5292         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    5293             :     compiler::TNode<IntPtrT> tmp949;
    5294             :     USE(tmp949);
    5295         224 :     tmp949 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp947}, compiler::TNode<IntPtrT>{tmp946}));
    5296         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
    5297             :     compiler::TNode<IntPtrT> tmp950;
    5298             :     USE(tmp950);
    5299         224 :     tmp950 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp949}, compiler::TNode<IntPtrT>{tmp947}));
    5300             :     compiler::TNode<BoolT> tmp951;
    5301             :     USE(tmp951);
    5302         336 :     tmp951 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp950}, compiler::TNode<IntPtrT>{tmp946}));
    5303         112 :     ca_.Branch(tmp951, &block41, &block42, tmp926, tmp927, tmp928, tmp929, tmp930, tmp931, tmp932, tmp933, tmp934, tmp935, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp946, tmp947, tmp948, tmp946, tmp949);
    5304             :   }
    5305             : 
    5306         112 :   if (block41.is_used()) {
    5307             :     compiler::TNode<Context> tmp952;
    5308             :     compiler::TNode<JSReceiver> tmp953;
    5309             :     compiler::TNode<String> tmp954;
    5310             :     compiler::TNode<Number> tmp955;
    5311             :     compiler::TNode<Object> tmp956;
    5312             :     compiler::TNode<Object> tmp957;
    5313             :     compiler::TNode<BuiltinPtr> tmp958;
    5314             :     compiler::TNode<Map> tmp959;
    5315             :     compiler::TNode<UintPtrT> tmp960;
    5316             :     compiler::TNode<IntPtrT> tmp961;
    5317             :     compiler::TNode<IntPtrT> tmp962;
    5318             :     compiler::TNode<BuiltinPtr> tmp963;
    5319             :     compiler::TNode<FixedArray> tmp964;
    5320             :     compiler::TNode<IntPtrT> tmp965;
    5321             :     compiler::TNode<IntPtrT> tmp966;
    5322             :     compiler::TNode<BoolT> tmp967;
    5323             :     compiler::TNode<UintPtrT> tmp968;
    5324             :     compiler::TNode<IntPtrT> tmp969;
    5325             :     compiler::TNode<IntPtrT> tmp970;
    5326             :     compiler::TNode<Context> tmp971;
    5327             :     compiler::TNode<IntPtrT> tmp972;
    5328             :     compiler::TNode<IntPtrT> tmp973;
    5329             :     compiler::TNode<BoolT> tmp974;
    5330             :     compiler::TNode<IntPtrT> tmp975;
    5331             :     compiler::TNode<IntPtrT> tmp976;
    5332             :     ca_.Bind(&block41, &tmp952, &tmp953, &tmp954, &tmp955, &tmp956, &tmp957, &tmp958, &tmp959, &tmp960, &tmp961, &tmp962, &tmp963, &tmp964, &tmp965, &tmp966, &tmp967, &tmp968, &tmp969, &tmp970, &tmp971, &tmp972, &tmp973, &tmp974, &tmp975, &tmp976);
    5333         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
    5334         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp971);
    5335         224 :     CodeStubAssembler(state_).Unreachable();
    5336             :   }
    5337             : 
    5338         112 :   if (block42.is_used()) {
    5339             :     compiler::TNode<Context> tmp978;
    5340             :     compiler::TNode<JSReceiver> tmp979;
    5341             :     compiler::TNode<String> tmp980;
    5342             :     compiler::TNode<Number> tmp981;
    5343             :     compiler::TNode<Object> tmp982;
    5344             :     compiler::TNode<Object> tmp983;
    5345             :     compiler::TNode<BuiltinPtr> tmp984;
    5346             :     compiler::TNode<Map> tmp985;
    5347             :     compiler::TNode<UintPtrT> tmp986;
    5348             :     compiler::TNode<IntPtrT> tmp987;
    5349             :     compiler::TNode<IntPtrT> tmp988;
    5350             :     compiler::TNode<BuiltinPtr> tmp989;
    5351             :     compiler::TNode<FixedArray> tmp990;
    5352             :     compiler::TNode<IntPtrT> tmp991;
    5353             :     compiler::TNode<IntPtrT> tmp992;
    5354             :     compiler::TNode<BoolT> tmp993;
    5355             :     compiler::TNode<UintPtrT> tmp994;
    5356             :     compiler::TNode<IntPtrT> tmp995;
    5357             :     compiler::TNode<IntPtrT> tmp996;
    5358             :     compiler::TNode<Context> tmp997;
    5359             :     compiler::TNode<IntPtrT> tmp998;
    5360             :     compiler::TNode<IntPtrT> tmp999;
    5361             :     compiler::TNode<BoolT> tmp1000;
    5362             :     compiler::TNode<IntPtrT> tmp1001;
    5363             :     compiler::TNode<IntPtrT> tmp1002;
    5364             :     ca_.Bind(&block42, &tmp978, &tmp979, &tmp980, &tmp981, &tmp982, &tmp983, &tmp984, &tmp985, &tmp986, &tmp987, &tmp988, &tmp989, &tmp990, &tmp991, &tmp992, &tmp993, &tmp994, &tmp995, &tmp996, &tmp997, &tmp998, &tmp999, &tmp1000, &tmp1001, &tmp1002);
    5365         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    5366             :     compiler::TNode<IntPtrT> tmp1003;
    5367             :     USE(tmp1003);
    5368         336 :     tmp1003 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp997}, compiler::TNode<IntPtrT>{tmp992}, compiler::TNode<IntPtrT>{tmp1002}));
    5369         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    5370         112 :     ca_.Branch(tmp1000, &block43, &block44, tmp978, tmp979, tmp980, tmp981, tmp982, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989, tmp990, tmp991, tmp1003, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001, tmp1002);
    5371             :   }
    5372             : 
    5373         112 :   if (block43.is_used()) {
    5374             :     compiler::TNode<Context> tmp1004;
    5375             :     compiler::TNode<JSReceiver> tmp1005;
    5376             :     compiler::TNode<String> tmp1006;
    5377             :     compiler::TNode<Number> tmp1007;
    5378             :     compiler::TNode<Object> tmp1008;
    5379             :     compiler::TNode<Object> tmp1009;
    5380             :     compiler::TNode<BuiltinPtr> tmp1010;
    5381             :     compiler::TNode<Map> tmp1011;
    5382             :     compiler::TNode<UintPtrT> tmp1012;
    5383             :     compiler::TNode<IntPtrT> tmp1013;
    5384             :     compiler::TNode<IntPtrT> tmp1014;
    5385             :     compiler::TNode<BuiltinPtr> tmp1015;
    5386             :     compiler::TNode<FixedArray> tmp1016;
    5387             :     compiler::TNode<IntPtrT> tmp1017;
    5388             :     compiler::TNode<IntPtrT> tmp1018;
    5389             :     compiler::TNode<BoolT> tmp1019;
    5390             :     compiler::TNode<UintPtrT> tmp1020;
    5391             :     compiler::TNode<IntPtrT> tmp1021;
    5392             :     compiler::TNode<IntPtrT> tmp1022;
    5393             :     compiler::TNode<Context> tmp1023;
    5394             :     compiler::TNode<IntPtrT> tmp1024;
    5395             :     compiler::TNode<IntPtrT> tmp1025;
    5396             :     compiler::TNode<BoolT> tmp1026;
    5397             :     compiler::TNode<IntPtrT> tmp1027;
    5398             :     compiler::TNode<IntPtrT> tmp1028;
    5399             :     ca_.Bind(&block43, &tmp1004, &tmp1005, &tmp1006, &tmp1007, &tmp1008, &tmp1009, &tmp1010, &tmp1011, &tmp1012, &tmp1013, &tmp1014, &tmp1015, &tmp1016, &tmp1017, &tmp1018, &tmp1019, &tmp1020, &tmp1021, &tmp1022, &tmp1023, &tmp1024, &tmp1025, &tmp1026, &tmp1027, &tmp1028);
    5400         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    5401             :     compiler::TNode<IntPtrT> tmp1029;
    5402             :     USE(tmp1029);
    5403         336 :     tmp1029 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    5404             :     compiler::TNode<IntPtrT> tmp1030;
    5405             :     USE(tmp1030);
    5406         224 :     tmp1030 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<IntPtrT>{tmp1029}));
    5407             :     compiler::TNode<Smi> tmp1031;
    5408             :     USE(tmp1031);
    5409         336 :     tmp1031 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1027}));
    5410         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    5411             :     compiler::TNode<FixedArray> tmp1032;
    5412             :     USE(tmp1032);
    5413         336 :     tmp1032 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1016}, compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<Smi>{tmp1031}));
    5414         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    5415             :     ca_.Goto(&block44, tmp1004, tmp1005, tmp1006, tmp1007, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1015, tmp1032, tmp1030, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027, tmp1028);
    5416             :   }
    5417             : 
    5418         112 :   if (block44.is_used()) {
    5419             :     compiler::TNode<Context> tmp1033;
    5420             :     compiler::TNode<JSReceiver> tmp1034;
    5421             :     compiler::TNode<String> tmp1035;
    5422             :     compiler::TNode<Number> tmp1036;
    5423             :     compiler::TNode<Object> tmp1037;
    5424             :     compiler::TNode<Object> tmp1038;
    5425             :     compiler::TNode<BuiltinPtr> tmp1039;
    5426             :     compiler::TNode<Map> tmp1040;
    5427             :     compiler::TNode<UintPtrT> tmp1041;
    5428             :     compiler::TNode<IntPtrT> tmp1042;
    5429             :     compiler::TNode<IntPtrT> tmp1043;
    5430             :     compiler::TNode<BuiltinPtr> tmp1044;
    5431             :     compiler::TNode<FixedArray> tmp1045;
    5432             :     compiler::TNode<IntPtrT> tmp1046;
    5433             :     compiler::TNode<IntPtrT> tmp1047;
    5434             :     compiler::TNode<BoolT> tmp1048;
    5435             :     compiler::TNode<UintPtrT> tmp1049;
    5436             :     compiler::TNode<IntPtrT> tmp1050;
    5437             :     compiler::TNode<IntPtrT> tmp1051;
    5438             :     compiler::TNode<Context> tmp1052;
    5439             :     compiler::TNode<IntPtrT> tmp1053;
    5440             :     compiler::TNode<IntPtrT> tmp1054;
    5441             :     compiler::TNode<BoolT> tmp1055;
    5442             :     compiler::TNode<IntPtrT> tmp1056;
    5443             :     compiler::TNode<IntPtrT> tmp1057;
    5444             :     ca_.Bind(&block44, &tmp1033, &tmp1034, &tmp1035, &tmp1036, &tmp1037, &tmp1038, &tmp1039, &tmp1040, &tmp1041, &tmp1042, &tmp1043, &tmp1044, &tmp1045, &tmp1046, &tmp1047, &tmp1048, &tmp1049, &tmp1050, &tmp1051, &tmp1052, &tmp1053, &tmp1054, &tmp1055, &tmp1056, &tmp1057);
    5445         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    5446         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    5447             :     ca_.Goto(&block37, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1054, tmp1055);
    5448             :   }
    5449             : 
    5450         112 :   if (block37.is_used()) {
    5451             :     compiler::TNode<Context> tmp1058;
    5452             :     compiler::TNode<JSReceiver> tmp1059;
    5453             :     compiler::TNode<String> tmp1060;
    5454             :     compiler::TNode<Number> tmp1061;
    5455             :     compiler::TNode<Object> tmp1062;
    5456             :     compiler::TNode<Object> tmp1063;
    5457             :     compiler::TNode<BuiltinPtr> tmp1064;
    5458             :     compiler::TNode<Map> tmp1065;
    5459             :     compiler::TNode<UintPtrT> tmp1066;
    5460             :     compiler::TNode<IntPtrT> tmp1067;
    5461             :     compiler::TNode<IntPtrT> tmp1068;
    5462             :     compiler::TNode<BuiltinPtr> tmp1069;
    5463             :     compiler::TNode<FixedArray> tmp1070;
    5464             :     compiler::TNode<IntPtrT> tmp1071;
    5465             :     compiler::TNode<IntPtrT> tmp1072;
    5466             :     compiler::TNode<BoolT> tmp1073;
    5467             :     compiler::TNode<UintPtrT> tmp1074;
    5468             :     compiler::TNode<IntPtrT> tmp1075;
    5469             :     compiler::TNode<IntPtrT> tmp1076;
    5470             :     compiler::TNode<Context> tmp1077;
    5471             :     compiler::TNode<IntPtrT> tmp1078;
    5472             :     compiler::TNode<IntPtrT> tmp1079;
    5473             :     compiler::TNode<BoolT> tmp1080;
    5474             :     ca_.Bind(&block37, &tmp1058, &tmp1059, &tmp1060, &tmp1061, &tmp1062, &tmp1063, &tmp1064, &tmp1065, &tmp1066, &tmp1067, &tmp1068, &tmp1069, &tmp1070, &tmp1071, &tmp1072, &tmp1073, &tmp1074, &tmp1075, &tmp1076, &tmp1077, &tmp1078, &tmp1079, &tmp1080);
    5475         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
    5476             :     compiler::TNode<String> tmp1081;
    5477             :     USE(tmp1081);
    5478         336 :     tmp1081 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).BufferJoin(compiler::TNode<Context>{tmp1058}, ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp1070}, compiler::TNode<IntPtrT>{tmp1071}, compiler::TNode<IntPtrT>{tmp1072}, compiler::TNode<BoolT>{tmp1073}}, compiler::TNode<String>{tmp1060}));
    5479             :     ca_.Goto(&block1, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1064, tmp1081);
    5480             :   }
    5481             : 
    5482         112 :   if (block1.is_used()) {
    5483             :     compiler::TNode<Context> tmp1082;
    5484             :     compiler::TNode<JSReceiver> tmp1083;
    5485             :     compiler::TNode<String> tmp1084;
    5486             :     compiler::TNode<Number> tmp1085;
    5487             :     compiler::TNode<Object> tmp1086;
    5488             :     compiler::TNode<Object> tmp1087;
    5489             :     compiler::TNode<BuiltinPtr> tmp1088;
    5490             :     compiler::TNode<String> tmp1089;
    5491             :     ca_.Bind(&block1, &tmp1082, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088, &tmp1089);
    5492         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 262);
    5493             :     ca_.Goto(&block45, tmp1082, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088, tmp1089);
    5494             :   }
    5495             : 
    5496             :     compiler::TNode<Context> tmp1090;
    5497             :     compiler::TNode<JSReceiver> tmp1091;
    5498             :     compiler::TNode<String> tmp1092;
    5499             :     compiler::TNode<Number> tmp1093;
    5500             :     compiler::TNode<Object> tmp1094;
    5501             :     compiler::TNode<Object> tmp1095;
    5502             :     compiler::TNode<BuiltinPtr> tmp1096;
    5503             :     compiler::TNode<String> tmp1097;
    5504             :     ca_.Bind(&block45, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096, &tmp1097);
    5505         224 :   return compiler::TNode<String>{tmp1097};
    5506             : }
    5507             : 
    5508         224 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt32Array, CodeStubAssembler) {
    5509          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5510             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5511             :   USE(parameter0);
    5512             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5513             :   USE(parameter1);
    5514             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5515             :   USE(parameter2);
    5516             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5517             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5518             : 
    5519          56 :   if (block0.is_used()) {
    5520             :     compiler::TNode<Context> tmp0;
    5521             :     compiler::TNode<JSReceiver> tmp1;
    5522             :     compiler::TNode<Number> tmp2;
    5523             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5524          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5525             :     compiler::TNode<JSTypedArray> tmp3;
    5526             :     USE(tmp3);
    5527         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5528          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5529             :     compiler::TNode<RawPtrT> tmp4;
    5530             :     USE(tmp4);
    5531         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5532             :     compiler::TNode<Smi> tmp5;
    5533             :     USE(tmp5);
    5534         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5535          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5536             :     compiler::TNode<Object> tmp6;
    5537             :     USE(tmp6);
    5538         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt32Array()), CodeStubAssembler::SMI_PARAMETERS));
    5539         112 :     CodeStubAssembler(state_).Return(tmp6);
    5540             :   }
    5541          56 : }
    5542             : 
    5543         224 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat32Array, CodeStubAssembler) {
    5544          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5545             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5546             :   USE(parameter0);
    5547             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5548             :   USE(parameter1);
    5549             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5550             :   USE(parameter2);
    5551             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5552             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5553             : 
    5554          56 :   if (block0.is_used()) {
    5555             :     compiler::TNode<Context> tmp0;
    5556             :     compiler::TNode<JSReceiver> tmp1;
    5557             :     compiler::TNode<Number> tmp2;
    5558             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5559          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5560             :     compiler::TNode<JSTypedArray> tmp3;
    5561             :     USE(tmp3);
    5562         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5563          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5564             :     compiler::TNode<RawPtrT> tmp4;
    5565             :     USE(tmp4);
    5566         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5567             :     compiler::TNode<Smi> tmp5;
    5568             :     USE(tmp5);
    5569         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5570          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5571             :     compiler::TNode<Object> tmp6;
    5572             :     USE(tmp6);
    5573         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat32Array()), CodeStubAssembler::SMI_PARAMETERS));
    5574         112 :     CodeStubAssembler(state_).Return(tmp6);
    5575             :   }
    5576          56 : }
    5577             : 
    5578         224 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat64Array, CodeStubAssembler) {
    5579          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5580             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5581             :   USE(parameter0);
    5582             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5583             :   USE(parameter1);
    5584             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5585             :   USE(parameter2);
    5586             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5587             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5588             : 
    5589          56 :   if (block0.is_used()) {
    5590             :     compiler::TNode<Context> tmp0;
    5591             :     compiler::TNode<JSReceiver> tmp1;
    5592             :     compiler::TNode<Number> tmp2;
    5593             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5594          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5595             :     compiler::TNode<JSTypedArray> tmp3;
    5596             :     USE(tmp3);
    5597         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5598          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5599             :     compiler::TNode<RawPtrT> tmp4;
    5600             :     USE(tmp4);
    5601         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5602             :     compiler::TNode<Smi> tmp5;
    5603             :     USE(tmp5);
    5604         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5605          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5606             :     compiler::TNode<Object> tmp6;
    5607             :     USE(tmp6);
    5608         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat64Array()), CodeStubAssembler::SMI_PARAMETERS));
    5609         112 :     CodeStubAssembler(state_).Return(tmp6);
    5610             :   }
    5611          56 : }
    5612             : 
    5613         224 : TF_BUILTIN(LoadJoinTypedElement24ATFixedUint8ClampedArray, CodeStubAssembler) {
    5614          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5615             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5616             :   USE(parameter0);
    5617             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5618             :   USE(parameter1);
    5619             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5620             :   USE(parameter2);
    5621             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5622             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5623             : 
    5624          56 :   if (block0.is_used()) {
    5625             :     compiler::TNode<Context> tmp0;
    5626             :     compiler::TNode<JSReceiver> tmp1;
    5627             :     compiler::TNode<Number> tmp2;
    5628             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5629          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5630             :     compiler::TNode<JSTypedArray> tmp3;
    5631             :     USE(tmp3);
    5632         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5633          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5634             :     compiler::TNode<RawPtrT> tmp4;
    5635             :     USE(tmp4);
    5636         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5637             :     compiler::TNode<Smi> tmp5;
    5638             :     USE(tmp5);
    5639         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5640          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5641             :     compiler::TNode<Object> tmp6;
    5642             :     USE(tmp6);
    5643         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType24ATFixedUint8ClampedArray()), CodeStubAssembler::SMI_PARAMETERS));
    5644         112 :     CodeStubAssembler(state_).Return(tmp6);
    5645             :   }
    5646          56 : }
    5647             : 
    5648         224 : TF_BUILTIN(LoadJoinTypedElement21ATFixedBigUint64Array, CodeStubAssembler) {
    5649          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5650             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5651             :   USE(parameter0);
    5652             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5653             :   USE(parameter1);
    5654             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5655             :   USE(parameter2);
    5656             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5657             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5658             : 
    5659          56 :   if (block0.is_used()) {
    5660             :     compiler::TNode<Context> tmp0;
    5661             :     compiler::TNode<JSReceiver> tmp1;
    5662             :     compiler::TNode<Number> tmp2;
    5663             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5664          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5665             :     compiler::TNode<JSTypedArray> tmp3;
    5666             :     USE(tmp3);
    5667         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5668          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5669             :     compiler::TNode<RawPtrT> tmp4;
    5670             :     USE(tmp4);
    5671         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5672             :     compiler::TNode<Smi> tmp5;
    5673             :     USE(tmp5);
    5674         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5675          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5676             :     compiler::TNode<Object> tmp6;
    5677             :     USE(tmp6);
    5678         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType21ATFixedBigUint64Array()), CodeStubAssembler::SMI_PARAMETERS));
    5679         112 :     CodeStubAssembler(state_).Return(tmp6);
    5680             :   }
    5681          56 : }
    5682             : 
    5683         224 : TF_BUILTIN(LoadJoinTypedElement20ATFixedBigInt64Array, CodeStubAssembler) {
    5684          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5685             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5686             :   USE(parameter0);
    5687             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5688             :   USE(parameter1);
    5689             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5690             :   USE(parameter2);
    5691             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5692             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5693             : 
    5694          56 :   if (block0.is_used()) {
    5695             :     compiler::TNode<Context> tmp0;
    5696             :     compiler::TNode<JSReceiver> tmp1;
    5697             :     compiler::TNode<Number> tmp2;
    5698             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5699          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5700             :     compiler::TNode<JSTypedArray> tmp3;
    5701             :     USE(tmp3);
    5702         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5703          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5704             :     compiler::TNode<RawPtrT> tmp4;
    5705             :     USE(tmp4);
    5706         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5707             :     compiler::TNode<Smi> tmp5;
    5708             :     USE(tmp5);
    5709         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5710          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5711             :     compiler::TNode<Object> tmp6;
    5712             :     USE(tmp6);
    5713         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType20ATFixedBigInt64Array()), CodeStubAssembler::SMI_PARAMETERS));
    5714         112 :     CodeStubAssembler(state_).Return(tmp6);
    5715             :   }
    5716          56 : }
    5717             : 
    5718         224 : TF_BUILTIN(LoadJoinTypedElement17ATFixedUint8Array, CodeStubAssembler) {
    5719          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5720             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5721             :   USE(parameter0);
    5722             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5723             :   USE(parameter1);
    5724             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5725             :   USE(parameter2);
    5726             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5727             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5728             : 
    5729          56 :   if (block0.is_used()) {
    5730             :     compiler::TNode<Context> tmp0;
    5731             :     compiler::TNode<JSReceiver> tmp1;
    5732             :     compiler::TNode<Number> tmp2;
    5733             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5734          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5735             :     compiler::TNode<JSTypedArray> tmp3;
    5736             :     USE(tmp3);
    5737         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5738          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5739             :     compiler::TNode<RawPtrT> tmp4;
    5740             :     USE(tmp4);
    5741         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5742             :     compiler::TNode<Smi> tmp5;
    5743             :     USE(tmp5);
    5744         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5745          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5746             :     compiler::TNode<Object> tmp6;
    5747             :     USE(tmp6);
    5748         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedUint8Array()), CodeStubAssembler::SMI_PARAMETERS));
    5749         112 :     CodeStubAssembler(state_).Return(tmp6);
    5750             :   }
    5751          56 : }
    5752             : 
    5753         224 : TF_BUILTIN(LoadJoinTypedElement16ATFixedInt8Array, CodeStubAssembler) {
    5754          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5755             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5756             :   USE(parameter0);
    5757             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5758             :   USE(parameter1);
    5759             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5760             :   USE(parameter2);
    5761             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5762             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5763             : 
    5764          56 :   if (block0.is_used()) {
    5765             :     compiler::TNode<Context> tmp0;
    5766             :     compiler::TNode<JSReceiver> tmp1;
    5767             :     compiler::TNode<Number> tmp2;
    5768             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5769          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5770             :     compiler::TNode<JSTypedArray> tmp3;
    5771             :     USE(tmp3);
    5772         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5773          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5774             :     compiler::TNode<RawPtrT> tmp4;
    5775             :     USE(tmp4);
    5776         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5777             :     compiler::TNode<Smi> tmp5;
    5778             :     USE(tmp5);
    5779         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5780          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5781             :     compiler::TNode<Object> tmp6;
    5782             :     USE(tmp6);
    5783         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType16ATFixedInt8Array()), CodeStubAssembler::SMI_PARAMETERS));
    5784         112 :     CodeStubAssembler(state_).Return(tmp6);
    5785             :   }
    5786          56 : }
    5787             : 
    5788         224 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint16Array, CodeStubAssembler) {
    5789          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5790             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5791             :   USE(parameter0);
    5792             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5793             :   USE(parameter1);
    5794             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5795             :   USE(parameter2);
    5796             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5797             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5798             : 
    5799          56 :   if (block0.is_used()) {
    5800             :     compiler::TNode<Context> tmp0;
    5801             :     compiler::TNode<JSReceiver> tmp1;
    5802             :     compiler::TNode<Number> tmp2;
    5803             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5804          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5805             :     compiler::TNode<JSTypedArray> tmp3;
    5806             :     USE(tmp3);
    5807         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5808          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5809             :     compiler::TNode<RawPtrT> tmp4;
    5810             :     USE(tmp4);
    5811         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5812             :     compiler::TNode<Smi> tmp5;
    5813             :     USE(tmp5);
    5814         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5815          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5816             :     compiler::TNode<Object> tmp6;
    5817             :     USE(tmp6);
    5818         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint16Array()), CodeStubAssembler::SMI_PARAMETERS));
    5819         112 :     CodeStubAssembler(state_).Return(tmp6);
    5820             :   }
    5821          56 : }
    5822             : 
    5823         224 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt16Array, CodeStubAssembler) {
    5824          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5825             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5826             :   USE(parameter0);
    5827             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5828             :   USE(parameter1);
    5829             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5830             :   USE(parameter2);
    5831             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5832             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5833             : 
    5834          56 :   if (block0.is_used()) {
    5835             :     compiler::TNode<Context> tmp0;
    5836             :     compiler::TNode<JSReceiver> tmp1;
    5837             :     compiler::TNode<Number> tmp2;
    5838             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5839          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5840             :     compiler::TNode<JSTypedArray> tmp3;
    5841             :     USE(tmp3);
    5842         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5843          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5844             :     compiler::TNode<RawPtrT> tmp4;
    5845             :     USE(tmp4);
    5846         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5847             :     compiler::TNode<Smi> tmp5;
    5848             :     USE(tmp5);
    5849         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5850          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5851             :     compiler::TNode<Object> tmp6;
    5852             :     USE(tmp6);
    5853         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt16Array()), CodeStubAssembler::SMI_PARAMETERS));
    5854         112 :     CodeStubAssembler(state_).Return(tmp6);
    5855             :   }
    5856          56 : }
    5857             : 
    5858         224 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint32Array, CodeStubAssembler) {
    5859          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5860             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5861             :   USE(parameter0);
    5862             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5863             :   USE(parameter1);
    5864             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5865             :   USE(parameter2);
    5866             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5867             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5868             : 
    5869          56 :   if (block0.is_used()) {
    5870             :     compiler::TNode<Context> tmp0;
    5871             :     compiler::TNode<JSReceiver> tmp1;
    5872             :     compiler::TNode<Number> tmp2;
    5873             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5874          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5875             :     compiler::TNode<JSTypedArray> tmp3;
    5876             :     USE(tmp3);
    5877         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5878          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5879             :     compiler::TNode<RawPtrT> tmp4;
    5880             :     USE(tmp4);
    5881         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5882             :     compiler::TNode<Smi> tmp5;
    5883             :     USE(tmp5);
    5884         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5885          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5886             :     compiler::TNode<Object> tmp6;
    5887             :     USE(tmp6);
    5888         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint32Array()), CodeStubAssembler::SMI_PARAMETERS));
    5889         112 :     CodeStubAssembler(state_).Return(tmp6);
    5890             :   }
    5891          56 : }
    5892             : 
    5893         112 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoinImpl12JSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lengthNumber, bool p_useToLocaleString, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options, compiler::TNode<BuiltinPtr> p_initialLoadFn) {
    5894         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5895             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5896             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5897             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5898             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5899             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5900             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5901             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5902             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5903             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5904             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5905             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5906             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5907             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5908             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5909             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5910             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5911             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5912             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5913             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, Number> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5914             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5915             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5916             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5917             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5918             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5919             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5920             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5921             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5922             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5923             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block33(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5924             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5925             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block35(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5926             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5927             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5928             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5929             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5930             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block40(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5931             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5932             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block39(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5933             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block41(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5934             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5935             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block43(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5936             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block44(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5937             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5938             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5939             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5940             :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
    5941             : 
    5942         112 :   if (block0.is_used()) {
    5943             :     compiler::TNode<Context> tmp0;
    5944             :     compiler::TNode<JSReceiver> tmp1;
    5945             :     compiler::TNode<String> tmp2;
    5946             :     compiler::TNode<Number> tmp3;
    5947             :     compiler::TNode<Object> tmp4;
    5948             :     compiler::TNode<Object> tmp5;
    5949             :     compiler::TNode<BuiltinPtr> tmp6;
    5950             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
    5951         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
    5952         112 :     compiler::TNode<IntPtrT> tmp7 = ca_.IntPtrConstant(HeapObject::kMapOffset);
    5953             :     USE(tmp7);
    5954         224 :     compiler::TNode<Map>tmp8 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp7});
    5955         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
    5956             :     compiler::TNode<UintPtrT> tmp9;
    5957             :     USE(tmp9);
    5958         336 :     tmp9 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number>{tmp3}));
    5959         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
    5960             :     compiler::TNode<IntPtrT> tmp10;
    5961             :     USE(tmp10);
    5962         336 :     tmp10 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
    5963         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 269);
    5964             :     compiler::TNode<IntPtrT> tmp11;
    5965             :     USE(tmp11);
    5966         336 :     tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5967         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 270);
    5968         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
    5969             :     compiler::TNode<FixedArray> tmp12;
    5970             :     USE(tmp12);
    5971             :     compiler::TNode<IntPtrT> tmp13;
    5972             :     USE(tmp13);
    5973             :     compiler::TNode<IntPtrT> tmp14;
    5974             :     USE(tmp14);
    5975             :     compiler::TNode<BoolT> tmp15;
    5976             :     USE(tmp15);
    5977         448 :     std::tie(tmp12, tmp13, tmp14, tmp15) = ArrayJoinBuiltinsFromDSLAssembler(state_).NewBuffer(compiler::TNode<UintPtrT>{tmp9}, compiler::TNode<String>{tmp2}).Flatten();
    5978         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
    5979             :     compiler::TNode<UintPtrT> tmp16;
    5980             :     USE(tmp16);
    5981         336 :     tmp16 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    5982         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
    5983             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp8, tmp9, tmp10, tmp11, tmp6, tmp12, tmp13, tmp14, tmp15, tmp16);
    5984             :   }
    5985             : 
    5986         112 :   if (block4.is_used()) {
    5987             :     compiler::TNode<Context> tmp17;
    5988             :     compiler::TNode<JSReceiver> tmp18;
    5989             :     compiler::TNode<String> tmp19;
    5990             :     compiler::TNode<Number> tmp20;
    5991             :     compiler::TNode<Object> tmp21;
    5992             :     compiler::TNode<Object> tmp22;
    5993             :     compiler::TNode<BuiltinPtr> tmp23;
    5994             :     compiler::TNode<Map> tmp24;
    5995             :     compiler::TNode<UintPtrT> tmp25;
    5996             :     compiler::TNode<IntPtrT> tmp26;
    5997             :     compiler::TNode<IntPtrT> tmp27;
    5998             :     compiler::TNode<BuiltinPtr> tmp28;
    5999             :     compiler::TNode<FixedArray> tmp29;
    6000             :     compiler::TNode<IntPtrT> tmp30;
    6001             :     compiler::TNode<IntPtrT> tmp31;
    6002             :     compiler::TNode<BoolT> tmp32;
    6003             :     compiler::TNode<UintPtrT> tmp33;
    6004             :     ca_.Bind(&block4, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
    6005             :     compiler::TNode<BoolT> tmp34;
    6006             :     USE(tmp34);
    6007         448 :     tmp34 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp33}, compiler::TNode<UintPtrT>{tmp25}));
    6008         112 :     ca_.Branch(tmp34, &block2, &block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33);
    6009             :   }
    6010             : 
    6011         112 :   if (block2.is_used()) {
    6012             :     compiler::TNode<Context> tmp35;
    6013             :     compiler::TNode<JSReceiver> tmp36;
    6014             :     compiler::TNode<String> tmp37;
    6015             :     compiler::TNode<Number> tmp38;
    6016             :     compiler::TNode<Object> tmp39;
    6017             :     compiler::TNode<Object> tmp40;
    6018             :     compiler::TNode<BuiltinPtr> tmp41;
    6019             :     compiler::TNode<Map> tmp42;
    6020             :     compiler::TNode<UintPtrT> tmp43;
    6021             :     compiler::TNode<IntPtrT> tmp44;
    6022             :     compiler::TNode<IntPtrT> tmp45;
    6023             :     compiler::TNode<BuiltinPtr> tmp46;
    6024             :     compiler::TNode<FixedArray> tmp47;
    6025             :     compiler::TNode<IntPtrT> tmp48;
    6026             :     compiler::TNode<IntPtrT> tmp49;
    6027             :     compiler::TNode<BoolT> tmp50;
    6028             :     compiler::TNode<UintPtrT> tmp51;
    6029             :     ca_.Bind(&block2, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    6030         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 279);
    6031         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    6032         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    6033         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    6034         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).CannotUseSameArrayAccessor12JSTypedArray(compiler::TNode<Context>{tmp35}, compiler::TNode<BuiltinPtr>{tmp46}, compiler::TNode<JSReceiver>{tmp36}, compiler::TNode<Map>{tmp42}, compiler::TNode<Number>{tmp38}, &label0, &label1);
    6035         112 :     if (label0.is_used()) {
    6036         112 :       ca_.Bind(&label0);
    6037             :       ca_.Goto(&block7, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
    6038             :     }
    6039         112 :     if (label1.is_used()) {
    6040         112 :       ca_.Bind(&label1);
    6041             :       ca_.Goto(&block8, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
    6042             :     }
    6043             :   }
    6044             : 
    6045         112 :   if (block7.is_used()) {
    6046             :     compiler::TNode<Context> tmp52;
    6047             :     compiler::TNode<JSReceiver> tmp53;
    6048             :     compiler::TNode<String> tmp54;
    6049             :     compiler::TNode<Number> tmp55;
    6050             :     compiler::TNode<Object> tmp56;
    6051             :     compiler::TNode<Object> tmp57;
    6052             :     compiler::TNode<BuiltinPtr> tmp58;
    6053             :     compiler::TNode<Map> tmp59;
    6054             :     compiler::TNode<UintPtrT> tmp60;
    6055             :     compiler::TNode<IntPtrT> tmp61;
    6056             :     compiler::TNode<IntPtrT> tmp62;
    6057             :     compiler::TNode<BuiltinPtr> tmp63;
    6058             :     compiler::TNode<FixedArray> tmp64;
    6059             :     compiler::TNode<IntPtrT> tmp65;
    6060             :     compiler::TNode<IntPtrT> tmp66;
    6061             :     compiler::TNode<BoolT> tmp67;
    6062             :     compiler::TNode<UintPtrT> tmp68;
    6063             :     compiler::TNode<BuiltinPtr> tmp69;
    6064             :     compiler::TNode<JSReceiver> tmp70;
    6065             :     compiler::TNode<Map> tmp71;
    6066             :     compiler::TNode<Number> tmp72;
    6067             :     ca_.Bind(&block7, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72);
    6068             :     ca_.Goto(&block5, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68);
    6069             :   }
    6070             : 
    6071         112 :   if (block8.is_used()) {
    6072             :     compiler::TNode<Context> tmp73;
    6073             :     compiler::TNode<JSReceiver> tmp74;
    6074             :     compiler::TNode<String> tmp75;
    6075             :     compiler::TNode<Number> tmp76;
    6076             :     compiler::TNode<Object> tmp77;
    6077             :     compiler::TNode<Object> tmp78;
    6078             :     compiler::TNode<BuiltinPtr> tmp79;
    6079             :     compiler::TNode<Map> tmp80;
    6080             :     compiler::TNode<UintPtrT> tmp81;
    6081             :     compiler::TNode<IntPtrT> tmp82;
    6082             :     compiler::TNode<IntPtrT> tmp83;
    6083             :     compiler::TNode<BuiltinPtr> tmp84;
    6084             :     compiler::TNode<FixedArray> tmp85;
    6085             :     compiler::TNode<IntPtrT> tmp86;
    6086             :     compiler::TNode<IntPtrT> tmp87;
    6087             :     compiler::TNode<BoolT> tmp88;
    6088             :     compiler::TNode<UintPtrT> tmp89;
    6089             :     compiler::TNode<BuiltinPtr> tmp90;
    6090             :     compiler::TNode<JSReceiver> tmp91;
    6091             :     compiler::TNode<Map> tmp92;
    6092             :     compiler::TNode<Number> tmp93;
    6093             :     ca_.Bind(&block8, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93);
    6094             :     ca_.Goto(&block6, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89);
    6095             :   }
    6096             : 
    6097         112 :   if (block5.is_used()) {
    6098             :     compiler::TNode<Context> tmp94;
    6099             :     compiler::TNode<JSReceiver> tmp95;
    6100             :     compiler::TNode<String> tmp96;
    6101             :     compiler::TNode<Number> tmp97;
    6102             :     compiler::TNode<Object> tmp98;
    6103             :     compiler::TNode<Object> tmp99;
    6104             :     compiler::TNode<BuiltinPtr> tmp100;
    6105             :     compiler::TNode<Map> tmp101;
    6106             :     compiler::TNode<UintPtrT> tmp102;
    6107             :     compiler::TNode<IntPtrT> tmp103;
    6108             :     compiler::TNode<IntPtrT> tmp104;
    6109             :     compiler::TNode<BuiltinPtr> tmp105;
    6110             :     compiler::TNode<FixedArray> tmp106;
    6111             :     compiler::TNode<IntPtrT> tmp107;
    6112             :     compiler::TNode<IntPtrT> tmp108;
    6113             :     compiler::TNode<BoolT> tmp109;
    6114             :     compiler::TNode<UintPtrT> tmp110;
    6115             :     ca_.Bind(&block5, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110);
    6116         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
    6117         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    6118             :     ca_.Goto(&block6, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)), tmp106, tmp107, tmp108, tmp109, tmp110);
    6119             :   }
    6120             : 
    6121         112 :   if (block6.is_used()) {
    6122             :     compiler::TNode<Context> tmp111;
    6123             :     compiler::TNode<JSReceiver> tmp112;
    6124             :     compiler::TNode<String> tmp113;
    6125             :     compiler::TNode<Number> tmp114;
    6126             :     compiler::TNode<Object> tmp115;
    6127             :     compiler::TNode<Object> tmp116;
    6128             :     compiler::TNode<BuiltinPtr> tmp117;
    6129             :     compiler::TNode<Map> tmp118;
    6130             :     compiler::TNode<UintPtrT> tmp119;
    6131             :     compiler::TNode<IntPtrT> tmp120;
    6132             :     compiler::TNode<IntPtrT> tmp121;
    6133             :     compiler::TNode<BuiltinPtr> tmp122;
    6134             :     compiler::TNode<FixedArray> tmp123;
    6135             :     compiler::TNode<IntPtrT> tmp124;
    6136             :     compiler::TNode<IntPtrT> tmp125;
    6137             :     compiler::TNode<BoolT> tmp126;
    6138             :     compiler::TNode<UintPtrT> tmp127;
    6139             :     ca_.Bind(&block6, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127);
    6140         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
    6141             :     compiler::TNode<UintPtrT> tmp128;
    6142             :     USE(tmp128);
    6143         336 :     tmp128 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    6144             :     compiler::TNode<BoolT> tmp129;
    6145             :     USE(tmp129);
    6146         336 :     tmp129 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp127}, compiler::TNode<UintPtrT>{tmp128}));
    6147         112 :     ca_.Branch(tmp129, &block9, &block10, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127);
    6148             :   }
    6149             : 
    6150         112 :   if (block9.is_used()) {
    6151             :     compiler::TNode<Context> tmp130;
    6152             :     compiler::TNode<JSReceiver> tmp131;
    6153             :     compiler::TNode<String> tmp132;
    6154             :     compiler::TNode<Number> tmp133;
    6155             :     compiler::TNode<Object> tmp134;
    6156             :     compiler::TNode<Object> tmp135;
    6157             :     compiler::TNode<BuiltinPtr> tmp136;
    6158             :     compiler::TNode<Map> tmp137;
    6159             :     compiler::TNode<UintPtrT> tmp138;
    6160             :     compiler::TNode<IntPtrT> tmp139;
    6161             :     compiler::TNode<IntPtrT> tmp140;
    6162             :     compiler::TNode<BuiltinPtr> tmp141;
    6163             :     compiler::TNode<FixedArray> tmp142;
    6164             :     compiler::TNode<IntPtrT> tmp143;
    6165             :     compiler::TNode<IntPtrT> tmp144;
    6166             :     compiler::TNode<BoolT> tmp145;
    6167             :     compiler::TNode<UintPtrT> tmp146;
    6168             :     ca_.Bind(&block9, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
    6169         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 286);
    6170             :     compiler::TNode<IntPtrT> tmp147;
    6171             :     USE(tmp147);
    6172         336 :     tmp147 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    6173             :     compiler::TNode<IntPtrT> tmp148;
    6174             :     USE(tmp148);
    6175         224 :     tmp148 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp140}, compiler::TNode<IntPtrT>{tmp147}));
    6176         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
    6177             :     ca_.Goto(&block10, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp148, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146);
    6178             :   }
    6179             : 
    6180         112 :   if (block10.is_used()) {
    6181             :     compiler::TNode<Context> tmp149;
    6182             :     compiler::TNode<JSReceiver> tmp150;
    6183             :     compiler::TNode<String> tmp151;
    6184             :     compiler::TNode<Number> tmp152;
    6185             :     compiler::TNode<Object> tmp153;
    6186             :     compiler::TNode<Object> tmp154;
    6187             :     compiler::TNode<BuiltinPtr> tmp155;
    6188             :     compiler::TNode<Map> tmp156;
    6189             :     compiler::TNode<UintPtrT> tmp157;
    6190             :     compiler::TNode<IntPtrT> tmp158;
    6191             :     compiler::TNode<IntPtrT> tmp159;
    6192             :     compiler::TNode<BuiltinPtr> tmp160;
    6193             :     compiler::TNode<FixedArray> tmp161;
    6194             :     compiler::TNode<IntPtrT> tmp162;
    6195             :     compiler::TNode<IntPtrT> tmp163;
    6196             :     compiler::TNode<BoolT> tmp164;
    6197             :     compiler::TNode<UintPtrT> tmp165;
    6198             :     ca_.Bind(&block10, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
    6199         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 290);
    6200             :     compiler::TNode<UintPtrT> tmp166;
    6201             :     USE(tmp166);
    6202         336 :     tmp166 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
    6203             :     compiler::TNode<UintPtrT> tmp167;
    6204             :     USE(tmp167);
    6205         224 :     tmp167 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp165}, compiler::TNode<UintPtrT>{tmp166}));
    6206             :     compiler::TNode<Number> tmp168;
    6207             :     USE(tmp168);
    6208         336 :     tmp168 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert20UT5ATSmi10HeapNumber9ATuintptr(compiler::TNode<UintPtrT>{tmp165}));
    6209         560 :     compiler::TNode<Object> tmp169 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp160, tmp149, tmp150, tmp168); 
    6210             :     USE(tmp169);
    6211         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
    6212         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    6213         112 :     if ((p_useToLocaleString)) {
    6214             :       ca_.Goto(&block11, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
    6215             :     } else {
    6216             :       ca_.Goto(&block12, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
    6217             :     }
    6218             :   }
    6219             : 
    6220         112 :   if (block11.is_used()) {
    6221             :     compiler::TNode<Context> tmp170;
    6222             :     compiler::TNode<JSReceiver> tmp171;
    6223             :     compiler::TNode<String> tmp172;
    6224             :     compiler::TNode<Number> tmp173;
    6225             :     compiler::TNode<Object> tmp174;
    6226             :     compiler::TNode<Object> tmp175;
    6227             :     compiler::TNode<BuiltinPtr> tmp176;
    6228             :     compiler::TNode<Map> tmp177;
    6229             :     compiler::TNode<UintPtrT> tmp178;
    6230             :     compiler::TNode<IntPtrT> tmp179;
    6231             :     compiler::TNode<IntPtrT> tmp180;
    6232             :     compiler::TNode<BuiltinPtr> tmp181;
    6233             :     compiler::TNode<FixedArray> tmp182;
    6234             :     compiler::TNode<IntPtrT> tmp183;
    6235             :     compiler::TNode<IntPtrT> tmp184;
    6236             :     compiler::TNode<BoolT> tmp185;
    6237             :     compiler::TNode<UintPtrT> tmp186;
    6238             :     compiler::TNode<Object> tmp187;
    6239             :     compiler::TNode<String> tmp188;
    6240             :     ca_.Bind(&block11, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188);
    6241          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
    6242             :     compiler::TNode<String> tmp189;
    6243         112 :     tmp189 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp170, tmp187, tmp174, tmp175));
    6244             :     USE(tmp189);
    6245          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
    6246             :     compiler::TNode<String> tmp190;
    6247             :     USE(tmp190);
    6248         168 :     tmp190 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    6249             :     compiler::TNode<BoolT> tmp191;
    6250             :     USE(tmp191);
    6251         112 :     tmp191 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp189}, compiler::TNode<HeapObject>{tmp190}));
    6252          56 :     ca_.Branch(tmp191, &block14, &block15, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp189);
    6253             :   }
    6254             : 
    6255         112 :   if (block14.is_used()) {
    6256             :     compiler::TNode<Context> tmp192;
    6257             :     compiler::TNode<JSReceiver> tmp193;
    6258             :     compiler::TNode<String> tmp194;
    6259             :     compiler::TNode<Number> tmp195;
    6260             :     compiler::TNode<Object> tmp196;
    6261             :     compiler::TNode<Object> tmp197;
    6262             :     compiler::TNode<BuiltinPtr> tmp198;
    6263             :     compiler::TNode<Map> tmp199;
    6264             :     compiler::TNode<UintPtrT> tmp200;
    6265             :     compiler::TNode<IntPtrT> tmp201;
    6266             :     compiler::TNode<IntPtrT> tmp202;
    6267             :     compiler::TNode<BuiltinPtr> tmp203;
    6268             :     compiler::TNode<FixedArray> tmp204;
    6269             :     compiler::TNode<IntPtrT> tmp205;
    6270             :     compiler::TNode<IntPtrT> tmp206;
    6271             :     compiler::TNode<BoolT> tmp207;
    6272             :     compiler::TNode<UintPtrT> tmp208;
    6273             :     compiler::TNode<Object> tmp209;
    6274             :     compiler::TNode<String> tmp210;
    6275             :     ca_.Bind(&block14, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210);
    6276             :     ca_.Goto(&block4, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208);
    6277             :   }
    6278             : 
    6279         112 :   if (block15.is_used()) {
    6280             :     compiler::TNode<Context> tmp211;
    6281             :     compiler::TNode<JSReceiver> tmp212;
    6282             :     compiler::TNode<String> tmp213;
    6283             :     compiler::TNode<Number> tmp214;
    6284             :     compiler::TNode<Object> tmp215;
    6285             :     compiler::TNode<Object> tmp216;
    6286             :     compiler::TNode<BuiltinPtr> tmp217;
    6287             :     compiler::TNode<Map> tmp218;
    6288             :     compiler::TNode<UintPtrT> tmp219;
    6289             :     compiler::TNode<IntPtrT> tmp220;
    6290             :     compiler::TNode<IntPtrT> tmp221;
    6291             :     compiler::TNode<BuiltinPtr> tmp222;
    6292             :     compiler::TNode<FixedArray> tmp223;
    6293             :     compiler::TNode<IntPtrT> tmp224;
    6294             :     compiler::TNode<IntPtrT> tmp225;
    6295             :     compiler::TNode<BoolT> tmp226;
    6296             :     compiler::TNode<UintPtrT> tmp227;
    6297             :     compiler::TNode<Object> tmp228;
    6298             :     compiler::TNode<String> tmp229;
    6299             :     ca_.Bind(&block15, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229);
    6300          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    6301             :     ca_.Goto(&block13, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229);
    6302             :   }
    6303             : 
    6304         112 :   if (block12.is_used()) {
    6305             :     compiler::TNode<Context> tmp230;
    6306             :     compiler::TNode<JSReceiver> tmp231;
    6307             :     compiler::TNode<String> tmp232;
    6308             :     compiler::TNode<Number> tmp233;
    6309             :     compiler::TNode<Object> tmp234;
    6310             :     compiler::TNode<Object> tmp235;
    6311             :     compiler::TNode<BuiltinPtr> tmp236;
    6312             :     compiler::TNode<Map> tmp237;
    6313             :     compiler::TNode<UintPtrT> tmp238;
    6314             :     compiler::TNode<IntPtrT> tmp239;
    6315             :     compiler::TNode<IntPtrT> tmp240;
    6316             :     compiler::TNode<BuiltinPtr> tmp241;
    6317             :     compiler::TNode<FixedArray> tmp242;
    6318             :     compiler::TNode<IntPtrT> tmp243;
    6319             :     compiler::TNode<IntPtrT> tmp244;
    6320             :     compiler::TNode<BoolT> tmp245;
    6321             :     compiler::TNode<UintPtrT> tmp246;
    6322             :     compiler::TNode<Object> tmp247;
    6323             :     compiler::TNode<String> tmp248;
    6324             :     ca_.Bind(&block12, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248);
    6325          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    6326          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    6327             :     compiler::TNode<String> tmp249;
    6328             :     USE(tmp249);
    6329          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    6330         168 :     tmp249 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp230}, compiler::TNode<Object>{tmp247}, &label0);
    6331             :     ca_.Goto(&block18, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247, tmp249);
    6332          56 :     if (label0.is_used()) {
    6333          56 :       ca_.Bind(&label0);
    6334             :       ca_.Goto(&block19, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247);
    6335             :     }
    6336             :   }
    6337             : 
    6338         112 :   if (block19.is_used()) {
    6339             :     compiler::TNode<Context> tmp250;
    6340             :     compiler::TNode<JSReceiver> tmp251;
    6341             :     compiler::TNode<String> tmp252;
    6342             :     compiler::TNode<Number> tmp253;
    6343             :     compiler::TNode<Object> tmp254;
    6344             :     compiler::TNode<Object> tmp255;
    6345             :     compiler::TNode<BuiltinPtr> tmp256;
    6346             :     compiler::TNode<Map> tmp257;
    6347             :     compiler::TNode<UintPtrT> tmp258;
    6348             :     compiler::TNode<IntPtrT> tmp259;
    6349             :     compiler::TNode<IntPtrT> tmp260;
    6350             :     compiler::TNode<BuiltinPtr> tmp261;
    6351             :     compiler::TNode<FixedArray> tmp262;
    6352             :     compiler::TNode<IntPtrT> tmp263;
    6353             :     compiler::TNode<IntPtrT> tmp264;
    6354             :     compiler::TNode<BoolT> tmp265;
    6355             :     compiler::TNode<UintPtrT> tmp266;
    6356             :     compiler::TNode<Object> tmp267;
    6357             :     compiler::TNode<String> tmp268;
    6358             :     compiler::TNode<Object> tmp269;
    6359             :     compiler::TNode<Object> tmp270;
    6360             :     ca_.Bind(&block19, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270);
    6361             :     ca_.Goto(&block17, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269);
    6362             :   }
    6363             : 
    6364         112 :   if (block18.is_used()) {
    6365             :     compiler::TNode<Context> tmp271;
    6366             :     compiler::TNode<JSReceiver> tmp272;
    6367             :     compiler::TNode<String> tmp273;
    6368             :     compiler::TNode<Number> tmp274;
    6369             :     compiler::TNode<Object> tmp275;
    6370             :     compiler::TNode<Object> tmp276;
    6371             :     compiler::TNode<BuiltinPtr> tmp277;
    6372             :     compiler::TNode<Map> tmp278;
    6373             :     compiler::TNode<UintPtrT> tmp279;
    6374             :     compiler::TNode<IntPtrT> tmp280;
    6375             :     compiler::TNode<IntPtrT> tmp281;
    6376             :     compiler::TNode<BuiltinPtr> tmp282;
    6377             :     compiler::TNode<FixedArray> tmp283;
    6378             :     compiler::TNode<IntPtrT> tmp284;
    6379             :     compiler::TNode<IntPtrT> tmp285;
    6380             :     compiler::TNode<BoolT> tmp286;
    6381             :     compiler::TNode<UintPtrT> tmp287;
    6382             :     compiler::TNode<Object> tmp288;
    6383             :     compiler::TNode<String> tmp289;
    6384             :     compiler::TNode<Object> tmp290;
    6385             :     compiler::TNode<Object> tmp291;
    6386             :     compiler::TNode<String> tmp292;
    6387             :     ca_.Bind(&block18, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292);
    6388          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
    6389             :     compiler::TNode<String> tmp293;
    6390             :     USE(tmp293);
    6391         168 :     tmp293 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    6392             :     compiler::TNode<BoolT> tmp294;
    6393             :     USE(tmp294);
    6394         112 :     tmp294 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp292}, compiler::TNode<HeapObject>{tmp293}));
    6395          56 :     ca_.Branch(tmp294, &block20, &block21, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp292);
    6396             :   }
    6397             : 
    6398         112 :   if (block20.is_used()) {
    6399             :     compiler::TNode<Context> tmp295;
    6400             :     compiler::TNode<JSReceiver> tmp296;
    6401             :     compiler::TNode<String> tmp297;
    6402             :     compiler::TNode<Number> tmp298;
    6403             :     compiler::TNode<Object> tmp299;
    6404             :     compiler::TNode<Object> tmp300;
    6405             :     compiler::TNode<BuiltinPtr> tmp301;
    6406             :     compiler::TNode<Map> tmp302;
    6407             :     compiler::TNode<UintPtrT> tmp303;
    6408             :     compiler::TNode<IntPtrT> tmp304;
    6409             :     compiler::TNode<IntPtrT> tmp305;
    6410             :     compiler::TNode<BuiltinPtr> tmp306;
    6411             :     compiler::TNode<FixedArray> tmp307;
    6412             :     compiler::TNode<IntPtrT> tmp308;
    6413             :     compiler::TNode<IntPtrT> tmp309;
    6414             :     compiler::TNode<BoolT> tmp310;
    6415             :     compiler::TNode<UintPtrT> tmp311;
    6416             :     compiler::TNode<Object> tmp312;
    6417             :     compiler::TNode<String> tmp313;
    6418             :     compiler::TNode<Object> tmp314;
    6419             :     compiler::TNode<String> tmp315;
    6420             :     ca_.Bind(&block20, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315);
    6421             :     ca_.Goto(&block4, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311);
    6422             :   }
    6423             : 
    6424         112 :   if (block21.is_used()) {
    6425             :     compiler::TNode<Context> tmp316;
    6426             :     compiler::TNode<JSReceiver> tmp317;
    6427             :     compiler::TNode<String> tmp318;
    6428             :     compiler::TNode<Number> tmp319;
    6429             :     compiler::TNode<Object> tmp320;
    6430             :     compiler::TNode<Object> tmp321;
    6431             :     compiler::TNode<BuiltinPtr> tmp322;
    6432             :     compiler::TNode<Map> tmp323;
    6433             :     compiler::TNode<UintPtrT> tmp324;
    6434             :     compiler::TNode<IntPtrT> tmp325;
    6435             :     compiler::TNode<IntPtrT> tmp326;
    6436             :     compiler::TNode<BuiltinPtr> tmp327;
    6437             :     compiler::TNode<FixedArray> tmp328;
    6438             :     compiler::TNode<IntPtrT> tmp329;
    6439             :     compiler::TNode<IntPtrT> tmp330;
    6440             :     compiler::TNode<BoolT> tmp331;
    6441             :     compiler::TNode<UintPtrT> tmp332;
    6442             :     compiler::TNode<Object> tmp333;
    6443             :     compiler::TNode<String> tmp334;
    6444             :     compiler::TNode<Object> tmp335;
    6445             :     compiler::TNode<String> tmp336;
    6446             :     ca_.Bind(&block21, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
    6447          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
    6448          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    6449             :     ca_.Goto(&block16, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp336, tmp335);
    6450             :   }
    6451             : 
    6452         112 :   if (block17.is_used()) {
    6453             :     compiler::TNode<Context> tmp337;
    6454             :     compiler::TNode<JSReceiver> tmp338;
    6455             :     compiler::TNode<String> tmp339;
    6456             :     compiler::TNode<Number> tmp340;
    6457             :     compiler::TNode<Object> tmp341;
    6458             :     compiler::TNode<Object> tmp342;
    6459             :     compiler::TNode<BuiltinPtr> tmp343;
    6460             :     compiler::TNode<Map> tmp344;
    6461             :     compiler::TNode<UintPtrT> tmp345;
    6462             :     compiler::TNode<IntPtrT> tmp346;
    6463             :     compiler::TNode<IntPtrT> tmp347;
    6464             :     compiler::TNode<BuiltinPtr> tmp348;
    6465             :     compiler::TNode<FixedArray> tmp349;
    6466             :     compiler::TNode<IntPtrT> tmp350;
    6467             :     compiler::TNode<IntPtrT> tmp351;
    6468             :     compiler::TNode<BoolT> tmp352;
    6469             :     compiler::TNode<UintPtrT> tmp353;
    6470             :     compiler::TNode<Object> tmp354;
    6471             :     compiler::TNode<String> tmp355;
    6472             :     compiler::TNode<Object> tmp356;
    6473             :     ca_.Bind(&block17, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355, &tmp356);
    6474          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    6475             :     compiler::TNode<Number> tmp357;
    6476             :     USE(tmp357);
    6477          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    6478         168 :     tmp357 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp356)}, &label0);
    6479             :     ca_.Goto(&block24, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, ca_.UncheckedCast<Object>(tmp356), tmp357);
    6480          56 :     if (label0.is_used()) {
    6481          56 :       ca_.Bind(&label0);
    6482             :       ca_.Goto(&block25, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, ca_.UncheckedCast<Object>(tmp356));
    6483             :     }
    6484             :   }
    6485             : 
    6486         112 :   if (block25.is_used()) {
    6487             :     compiler::TNode<Context> tmp358;
    6488             :     compiler::TNode<JSReceiver> tmp359;
    6489             :     compiler::TNode<String> tmp360;
    6490             :     compiler::TNode<Number> tmp361;
    6491             :     compiler::TNode<Object> tmp362;
    6492             :     compiler::TNode<Object> tmp363;
    6493             :     compiler::TNode<BuiltinPtr> tmp364;
    6494             :     compiler::TNode<Map> tmp365;
    6495             :     compiler::TNode<UintPtrT> tmp366;
    6496             :     compiler::TNode<IntPtrT> tmp367;
    6497             :     compiler::TNode<IntPtrT> tmp368;
    6498             :     compiler::TNode<BuiltinPtr> tmp369;
    6499             :     compiler::TNode<FixedArray> tmp370;
    6500             :     compiler::TNode<IntPtrT> tmp371;
    6501             :     compiler::TNode<IntPtrT> tmp372;
    6502             :     compiler::TNode<BoolT> tmp373;
    6503             :     compiler::TNode<UintPtrT> tmp374;
    6504             :     compiler::TNode<Object> tmp375;
    6505             :     compiler::TNode<String> tmp376;
    6506             :     compiler::TNode<Object> tmp377;
    6507             :     compiler::TNode<Object> tmp378;
    6508             :     ca_.Bind(&block25, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377, &tmp378);
    6509             :     ca_.Goto(&block23, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377);
    6510             :   }
    6511             : 
    6512         112 :   if (block24.is_used()) {
    6513             :     compiler::TNode<Context> tmp379;
    6514             :     compiler::TNode<JSReceiver> tmp380;
    6515             :     compiler::TNode<String> tmp381;
    6516             :     compiler::TNode<Number> tmp382;
    6517             :     compiler::TNode<Object> tmp383;
    6518             :     compiler::TNode<Object> tmp384;
    6519             :     compiler::TNode<BuiltinPtr> tmp385;
    6520             :     compiler::TNode<Map> tmp386;
    6521             :     compiler::TNode<UintPtrT> tmp387;
    6522             :     compiler::TNode<IntPtrT> tmp388;
    6523             :     compiler::TNode<IntPtrT> tmp389;
    6524             :     compiler::TNode<BuiltinPtr> tmp390;
    6525             :     compiler::TNode<FixedArray> tmp391;
    6526             :     compiler::TNode<IntPtrT> tmp392;
    6527             :     compiler::TNode<IntPtrT> tmp393;
    6528             :     compiler::TNode<BoolT> tmp394;
    6529             :     compiler::TNode<UintPtrT> tmp395;
    6530             :     compiler::TNode<Object> tmp396;
    6531             :     compiler::TNode<String> tmp397;
    6532             :     compiler::TNode<Object> tmp398;
    6533             :     compiler::TNode<Object> tmp399;
    6534             :     compiler::TNode<Number> tmp400;
    6535             :     ca_.Bind(&block24, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397, &tmp398, &tmp399, &tmp400);
    6536          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
    6537             :     compiler::TNode<String> tmp401;
    6538             :     USE(tmp401);
    6539         112 :     tmp401 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp400}));
    6540          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    6541             :     ca_.Goto(&block22, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp396, tmp401, tmp398);
    6542             :   }
    6543             : 
    6544         112 :   if (block23.is_used()) {
    6545             :     compiler::TNode<Context> tmp402;
    6546             :     compiler::TNode<JSReceiver> tmp403;
    6547             :     compiler::TNode<String> tmp404;
    6548             :     compiler::TNode<Number> tmp405;
    6549             :     compiler::TNode<Object> tmp406;
    6550             :     compiler::TNode<Object> tmp407;
    6551             :     compiler::TNode<BuiltinPtr> tmp408;
    6552             :     compiler::TNode<Map> tmp409;
    6553             :     compiler::TNode<UintPtrT> tmp410;
    6554             :     compiler::TNode<IntPtrT> tmp411;
    6555             :     compiler::TNode<IntPtrT> tmp412;
    6556             :     compiler::TNode<BuiltinPtr> tmp413;
    6557             :     compiler::TNode<FixedArray> tmp414;
    6558             :     compiler::TNode<IntPtrT> tmp415;
    6559             :     compiler::TNode<IntPtrT> tmp416;
    6560             :     compiler::TNode<BoolT> tmp417;
    6561             :     compiler::TNode<UintPtrT> tmp418;
    6562             :     compiler::TNode<Object> tmp419;
    6563             :     compiler::TNode<String> tmp420;
    6564             :     compiler::TNode<Object> tmp421;
    6565             :     ca_.Bind(&block23, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420, &tmp421);
    6566          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 307);
    6567          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 308);
    6568             :     compiler::TNode<BoolT> tmp422;
    6569             :     USE(tmp422);
    6570         112 :     tmp422 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp421)}));
    6571          56 :     ca_.Branch(tmp422, &block26, &block27, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, tmp421, ca_.UncheckedCast<HeapObject>(tmp421));
    6572             :   }
    6573             : 
    6574         112 :   if (block26.is_used()) {
    6575             :     compiler::TNode<Context> tmp423;
    6576             :     compiler::TNode<JSReceiver> tmp424;
    6577             :     compiler::TNode<String> tmp425;
    6578             :     compiler::TNode<Number> tmp426;
    6579             :     compiler::TNode<Object> tmp427;
    6580             :     compiler::TNode<Object> tmp428;
    6581             :     compiler::TNode<BuiltinPtr> tmp429;
    6582             :     compiler::TNode<Map> tmp430;
    6583             :     compiler::TNode<UintPtrT> tmp431;
    6584             :     compiler::TNode<IntPtrT> tmp432;
    6585             :     compiler::TNode<IntPtrT> tmp433;
    6586             :     compiler::TNode<BuiltinPtr> tmp434;
    6587             :     compiler::TNode<FixedArray> tmp435;
    6588             :     compiler::TNode<IntPtrT> tmp436;
    6589             :     compiler::TNode<IntPtrT> tmp437;
    6590             :     compiler::TNode<BoolT> tmp438;
    6591             :     compiler::TNode<UintPtrT> tmp439;
    6592             :     compiler::TNode<Object> tmp440;
    6593             :     compiler::TNode<String> tmp441;
    6594             :     compiler::TNode<Object> tmp442;
    6595             :     compiler::TNode<HeapObject> tmp443;
    6596             :     ca_.Bind(&block26, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442, &tmp443);
    6597             :     ca_.Goto(&block4, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp439);
    6598             :   }
    6599             : 
    6600         112 :   if (block27.is_used()) {
    6601             :     compiler::TNode<Context> tmp444;
    6602             :     compiler::TNode<JSReceiver> tmp445;
    6603             :     compiler::TNode<String> tmp446;
    6604             :     compiler::TNode<Number> tmp447;
    6605             :     compiler::TNode<Object> tmp448;
    6606             :     compiler::TNode<Object> tmp449;
    6607             :     compiler::TNode<BuiltinPtr> tmp450;
    6608             :     compiler::TNode<Map> tmp451;
    6609             :     compiler::TNode<UintPtrT> tmp452;
    6610             :     compiler::TNode<IntPtrT> tmp453;
    6611             :     compiler::TNode<IntPtrT> tmp454;
    6612             :     compiler::TNode<BuiltinPtr> tmp455;
    6613             :     compiler::TNode<FixedArray> tmp456;
    6614             :     compiler::TNode<IntPtrT> tmp457;
    6615             :     compiler::TNode<IntPtrT> tmp458;
    6616             :     compiler::TNode<BoolT> tmp459;
    6617             :     compiler::TNode<UintPtrT> tmp460;
    6618             :     compiler::TNode<Object> tmp461;
    6619             :     compiler::TNode<String> tmp462;
    6620             :     compiler::TNode<Object> tmp463;
    6621             :     compiler::TNode<HeapObject> tmp464;
    6622             :     ca_.Bind(&block27, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463, &tmp464);
    6623          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 309);
    6624             :     compiler::TNode<String> tmp465;
    6625         112 :     tmp465 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp444, tmp464));
    6626             :     USE(tmp465);
    6627          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    6628             :     ca_.Goto(&block22, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, tmp465, tmp463);
    6629             :   }
    6630             : 
    6631         112 :   if (block22.is_used()) {
    6632             :     compiler::TNode<Context> tmp466;
    6633             :     compiler::TNode<JSReceiver> tmp467;
    6634             :     compiler::TNode<String> tmp468;
    6635             :     compiler::TNode<Number> tmp469;
    6636             :     compiler::TNode<Object> tmp470;
    6637             :     compiler::TNode<Object> tmp471;
    6638             :     compiler::TNode<BuiltinPtr> tmp472;
    6639             :     compiler::TNode<Map> tmp473;
    6640             :     compiler::TNode<UintPtrT> tmp474;
    6641             :     compiler::TNode<IntPtrT> tmp475;
    6642             :     compiler::TNode<IntPtrT> tmp476;
    6643             :     compiler::TNode<BuiltinPtr> tmp477;
    6644             :     compiler::TNode<FixedArray> tmp478;
    6645             :     compiler::TNode<IntPtrT> tmp479;
    6646             :     compiler::TNode<IntPtrT> tmp480;
    6647             :     compiler::TNode<BoolT> tmp481;
    6648             :     compiler::TNode<UintPtrT> tmp482;
    6649             :     compiler::TNode<Object> tmp483;
    6650             :     compiler::TNode<String> tmp484;
    6651             :     compiler::TNode<Object> tmp485;
    6652             :     ca_.Bind(&block22, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483, &tmp484, &tmp485);
    6653          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    6654             :     ca_.Goto(&block16, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484, tmp485);
    6655             :   }
    6656             : 
    6657         112 :   if (block16.is_used()) {
    6658             :     compiler::TNode<Context> tmp486;
    6659             :     compiler::TNode<JSReceiver> tmp487;
    6660             :     compiler::TNode<String> tmp488;
    6661             :     compiler::TNode<Number> tmp489;
    6662             :     compiler::TNode<Object> tmp490;
    6663             :     compiler::TNode<Object> tmp491;
    6664             :     compiler::TNode<BuiltinPtr> tmp492;
    6665             :     compiler::TNode<Map> tmp493;
    6666             :     compiler::TNode<UintPtrT> tmp494;
    6667             :     compiler::TNode<IntPtrT> tmp495;
    6668             :     compiler::TNode<IntPtrT> tmp496;
    6669             :     compiler::TNode<BuiltinPtr> tmp497;
    6670             :     compiler::TNode<FixedArray> tmp498;
    6671             :     compiler::TNode<IntPtrT> tmp499;
    6672             :     compiler::TNode<IntPtrT> tmp500;
    6673             :     compiler::TNode<BoolT> tmp501;
    6674             :     compiler::TNode<UintPtrT> tmp502;
    6675             :     compiler::TNode<Object> tmp503;
    6676             :     compiler::TNode<String> tmp504;
    6677             :     compiler::TNode<Object> tmp505;
    6678             :     ca_.Bind(&block16, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504, &tmp505);
    6679          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    6680          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    6681             :     ca_.Goto(&block13, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503, tmp504);
    6682             :   }
    6683             : 
    6684         112 :   if (block13.is_used()) {
    6685             :     compiler::TNode<Context> tmp506;
    6686             :     compiler::TNode<JSReceiver> tmp507;
    6687             :     compiler::TNode<String> tmp508;
    6688             :     compiler::TNode<Number> tmp509;
    6689             :     compiler::TNode<Object> tmp510;
    6690             :     compiler::TNode<Object> tmp511;
    6691             :     compiler::TNode<BuiltinPtr> tmp512;
    6692             :     compiler::TNode<Map> tmp513;
    6693             :     compiler::TNode<UintPtrT> tmp514;
    6694             :     compiler::TNode<IntPtrT> tmp515;
    6695             :     compiler::TNode<IntPtrT> tmp516;
    6696             :     compiler::TNode<BuiltinPtr> tmp517;
    6697             :     compiler::TNode<FixedArray> tmp518;
    6698             :     compiler::TNode<IntPtrT> tmp519;
    6699             :     compiler::TNode<IntPtrT> tmp520;
    6700             :     compiler::TNode<BoolT> tmp521;
    6701             :     compiler::TNode<UintPtrT> tmp522;
    6702             :     compiler::TNode<Object> tmp523;
    6703             :     compiler::TNode<String> tmp524;
    6704             :     ca_.Bind(&block13, &tmp506, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523, &tmp524);
    6705         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
    6706         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
    6707             :     compiler::TNode<IntPtrT> tmp525;
    6708             :     USE(tmp525);
    6709         336 :     tmp525 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6710             :     compiler::TNode<BoolT> tmp526;
    6711             :     USE(tmp526);
    6712         336 :     tmp526 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp519}, compiler::TNode<IntPtrT>{tmp525}));
    6713             :     compiler::TNode<IntPtrT> tmp527;
    6714             :     USE(tmp527);
    6715         336 :     tmp527 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    6716             :     compiler::TNode<BoolT> tmp528;
    6717             :     USE(tmp528);
    6718         336 :     tmp528 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp527}));
    6719             :     compiler::TNode<BoolT> tmp529;
    6720             :     USE(tmp529);
    6721         224 :     tmp529 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp526}, compiler::TNode<BoolT>{tmp528}));
    6722         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
    6723         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
    6724             :     compiler::TNode<IntPtrT> tmp530;
    6725             :     USE(tmp530);
    6726         336 :     tmp530 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6727             :     compiler::TNode<BoolT> tmp531;
    6728             :     USE(tmp531);
    6729         336 :     tmp531 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp530}));
    6730         112 :     ca_.Branch(tmp531, &block30, &block32, tmp506, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp522, tmp523, tmp524, tmp524, tmp516, tmp515, tmp506, tmp524, tmp516, tmp515, tmp529, tmp516, tmp515, tmp529, tmp506, tmp516, tmp515, tmp529);
    6731             :   }
    6732             : 
    6733         112 :   if (block32.is_used()) {
    6734             :     compiler::TNode<Context> tmp532;
    6735             :     compiler::TNode<JSReceiver> tmp533;
    6736             :     compiler::TNode<String> tmp534;
    6737             :     compiler::TNode<Number> tmp535;
    6738             :     compiler::TNode<Object> tmp536;
    6739             :     compiler::TNode<Object> tmp537;
    6740             :     compiler::TNode<BuiltinPtr> tmp538;
    6741             :     compiler::TNode<Map> tmp539;
    6742             :     compiler::TNode<UintPtrT> tmp540;
    6743             :     compiler::TNode<IntPtrT> tmp541;
    6744             :     compiler::TNode<IntPtrT> tmp542;
    6745             :     compiler::TNode<BuiltinPtr> tmp543;
    6746             :     compiler::TNode<FixedArray> tmp544;
    6747             :     compiler::TNode<IntPtrT> tmp545;
    6748             :     compiler::TNode<IntPtrT> tmp546;
    6749             :     compiler::TNode<BoolT> tmp547;
    6750             :     compiler::TNode<UintPtrT> tmp548;
    6751             :     compiler::TNode<Object> tmp549;
    6752             :     compiler::TNode<String> tmp550;
    6753             :     compiler::TNode<String> tmp551;
    6754             :     compiler::TNode<IntPtrT> tmp552;
    6755             :     compiler::TNode<IntPtrT> tmp553;
    6756             :     compiler::TNode<Context> tmp554;
    6757             :     compiler::TNode<String> tmp555;
    6758             :     compiler::TNode<IntPtrT> tmp556;
    6759             :     compiler::TNode<IntPtrT> tmp557;
    6760             :     compiler::TNode<BoolT> tmp558;
    6761             :     compiler::TNode<IntPtrT> tmp559;
    6762             :     compiler::TNode<IntPtrT> tmp560;
    6763             :     compiler::TNode<BoolT> tmp561;
    6764             :     compiler::TNode<Context> tmp562;
    6765             :     compiler::TNode<IntPtrT> tmp563;
    6766             :     compiler::TNode<IntPtrT> tmp564;
    6767             :     compiler::TNode<BoolT> tmp565;
    6768             :     ca_.Bind(&block32, &tmp532, &tmp533, &tmp534, &tmp535, &tmp536, &tmp537, &tmp538, &tmp539, &tmp540, &tmp541, &tmp542, &tmp543, &tmp544, &tmp545, &tmp546, &tmp547, &tmp548, &tmp549, &tmp550, &tmp551, &tmp552, &tmp553, &tmp554, &tmp555, &tmp556, &tmp557, &tmp558, &tmp559, &tmp560, &tmp561, &tmp562, &tmp563, &tmp564, &tmp565);
    6769             :     compiler::TNode<IntPtrT> tmp566;
    6770             :     USE(tmp566);
    6771         336 :     tmp566 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6772             :     compiler::TNode<BoolT> tmp567;
    6773             :     USE(tmp567);
    6774         336 :     tmp567 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp564}, compiler::TNode<IntPtrT>{tmp566}));
    6775         112 :     ca_.Branch(tmp567, &block30, &block31, tmp532, tmp533, tmp534, tmp535, tmp536, tmp537, tmp538, tmp539, tmp540, tmp541, tmp542, tmp543, tmp544, tmp545, tmp546, tmp547, tmp548, tmp549, tmp550, tmp551, tmp552, tmp553, tmp554, tmp555, tmp556, tmp557, tmp558, tmp559, tmp560, tmp561, tmp562, tmp563, tmp564, tmp565);
    6776             :   }
    6777             : 
    6778         112 :   if (block30.is_used()) {
    6779             :     compiler::TNode<Context> tmp568;
    6780             :     compiler::TNode<JSReceiver> tmp569;
    6781             :     compiler::TNode<String> tmp570;
    6782             :     compiler::TNode<Number> tmp571;
    6783             :     compiler::TNode<Object> tmp572;
    6784             :     compiler::TNode<Object> tmp573;
    6785             :     compiler::TNode<BuiltinPtr> tmp574;
    6786             :     compiler::TNode<Map> tmp575;
    6787             :     compiler::TNode<UintPtrT> tmp576;
    6788             :     compiler::TNode<IntPtrT> tmp577;
    6789             :     compiler::TNode<IntPtrT> tmp578;
    6790             :     compiler::TNode<BuiltinPtr> tmp579;
    6791             :     compiler::TNode<FixedArray> tmp580;
    6792             :     compiler::TNode<IntPtrT> tmp581;
    6793             :     compiler::TNode<IntPtrT> tmp582;
    6794             :     compiler::TNode<BoolT> tmp583;
    6795             :     compiler::TNode<UintPtrT> tmp584;
    6796             :     compiler::TNode<Object> tmp585;
    6797             :     compiler::TNode<String> tmp586;
    6798             :     compiler::TNode<String> tmp587;
    6799             :     compiler::TNode<IntPtrT> tmp588;
    6800             :     compiler::TNode<IntPtrT> tmp589;
    6801             :     compiler::TNode<Context> tmp590;
    6802             :     compiler::TNode<String> tmp591;
    6803             :     compiler::TNode<IntPtrT> tmp592;
    6804             :     compiler::TNode<IntPtrT> tmp593;
    6805             :     compiler::TNode<BoolT> tmp594;
    6806             :     compiler::TNode<IntPtrT> tmp595;
    6807             :     compiler::TNode<IntPtrT> tmp596;
    6808             :     compiler::TNode<BoolT> tmp597;
    6809             :     compiler::TNode<Context> tmp598;
    6810             :     compiler::TNode<IntPtrT> tmp599;
    6811             :     compiler::TNode<IntPtrT> tmp600;
    6812             :     compiler::TNode<BoolT> tmp601;
    6813             :     ca_.Bind(&block30, &tmp568, &tmp569, &tmp570, &tmp571, &tmp572, &tmp573, &tmp574, &tmp575, &tmp576, &tmp577, &tmp578, &tmp579, &tmp580, &tmp581, &tmp582, &tmp583, &tmp584, &tmp585, &tmp586, &tmp587, &tmp588, &tmp589, &tmp590, &tmp591, &tmp592, &tmp593, &tmp594, &tmp595, &tmp596, &tmp597, &tmp598, &tmp599, &tmp600, &tmp601);
    6814             :     ca_.Goto(&block29, tmp568, tmp569, tmp570, tmp571, tmp572, tmp573, tmp574, tmp575, tmp576, tmp577, tmp578, tmp579, tmp580, tmp581, tmp582, tmp583, tmp584, tmp585, tmp586, tmp587, tmp588, tmp589, tmp590, tmp591, tmp592, tmp593, tmp594, tmp595, tmp596, tmp597, tmp598, tmp599, tmp600, tmp601);
    6815             :   }
    6816             : 
    6817         112 :   if (block31.is_used()) {
    6818             :     compiler::TNode<Context> tmp602;
    6819             :     compiler::TNode<JSReceiver> tmp603;
    6820             :     compiler::TNode<String> tmp604;
    6821             :     compiler::TNode<Number> tmp605;
    6822             :     compiler::TNode<Object> tmp606;
    6823             :     compiler::TNode<Object> tmp607;
    6824             :     compiler::TNode<BuiltinPtr> tmp608;
    6825             :     compiler::TNode<Map> tmp609;
    6826             :     compiler::TNode<UintPtrT> tmp610;
    6827             :     compiler::TNode<IntPtrT> tmp611;
    6828             :     compiler::TNode<IntPtrT> tmp612;
    6829             :     compiler::TNode<BuiltinPtr> tmp613;
    6830             :     compiler::TNode<FixedArray> tmp614;
    6831             :     compiler::TNode<IntPtrT> tmp615;
    6832             :     compiler::TNode<IntPtrT> tmp616;
    6833             :     compiler::TNode<BoolT> tmp617;
    6834             :     compiler::TNode<UintPtrT> tmp618;
    6835             :     compiler::TNode<Object> tmp619;
    6836             :     compiler::TNode<String> tmp620;
    6837             :     compiler::TNode<String> tmp621;
    6838             :     compiler::TNode<IntPtrT> tmp622;
    6839             :     compiler::TNode<IntPtrT> tmp623;
    6840             :     compiler::TNode<Context> tmp624;
    6841             :     compiler::TNode<String> tmp625;
    6842             :     compiler::TNode<IntPtrT> tmp626;
    6843             :     compiler::TNode<IntPtrT> tmp627;
    6844             :     compiler::TNode<BoolT> tmp628;
    6845             :     compiler::TNode<IntPtrT> tmp629;
    6846             :     compiler::TNode<IntPtrT> tmp630;
    6847             :     compiler::TNode<BoolT> tmp631;
    6848             :     compiler::TNode<Context> tmp632;
    6849             :     compiler::TNode<IntPtrT> tmp633;
    6850             :     compiler::TNode<IntPtrT> tmp634;
    6851             :     compiler::TNode<BoolT> tmp635;
    6852             :     ca_.Bind(&block31, &tmp602, &tmp603, &tmp604, &tmp605, &tmp606, &tmp607, &tmp608, &tmp609, &tmp610, &tmp611, &tmp612, &tmp613, &tmp614, &tmp615, &tmp616, &tmp617, &tmp618, &tmp619, &tmp620, &tmp621, &tmp622, &tmp623, &tmp624, &tmp625, &tmp626, &tmp627, &tmp628, &tmp629, &tmp630, &tmp631, &tmp632, &tmp633, &tmp634, &tmp635);
    6853         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    6854         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    6855             :     compiler::TNode<IntPtrT> tmp636;
    6856             :     USE(tmp636);
    6857         224 :     tmp636 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp634}, compiler::TNode<IntPtrT>{tmp633}));
    6858         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
    6859             :     compiler::TNode<IntPtrT> tmp637;
    6860             :     USE(tmp637);
    6861         224 :     tmp637 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp636}, compiler::TNode<IntPtrT>{tmp634}));
    6862             :     compiler::TNode<BoolT> tmp638;
    6863             :     USE(tmp638);
    6864         336 :     tmp638 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp637}, compiler::TNode<IntPtrT>{tmp633}));
    6865         112 :     ca_.Branch(tmp638, &block33, &block34, tmp602, tmp603, tmp604, tmp605, tmp606, tmp607, tmp608, tmp609, tmp610, tmp611, tmp612, tmp613, tmp614, tmp615, tmp616, tmp617, tmp618, tmp619, tmp620, tmp621, tmp622, tmp623, tmp624, tmp625, tmp626, tmp627, tmp628, tmp629, tmp630, tmp631, tmp632, tmp633, tmp634, tmp635, tmp633, tmp636);
    6866             :   }
    6867             : 
    6868         112 :   if (block33.is_used()) {
    6869             :     compiler::TNode<Context> tmp639;
    6870             :     compiler::TNode<JSReceiver> tmp640;
    6871             :     compiler::TNode<String> tmp641;
    6872             :     compiler::TNode<Number> tmp642;
    6873             :     compiler::TNode<Object> tmp643;
    6874             :     compiler::TNode<Object> tmp644;
    6875             :     compiler::TNode<BuiltinPtr> tmp645;
    6876             :     compiler::TNode<Map> tmp646;
    6877             :     compiler::TNode<UintPtrT> tmp647;
    6878             :     compiler::TNode<IntPtrT> tmp648;
    6879             :     compiler::TNode<IntPtrT> tmp649;
    6880             :     compiler::TNode<BuiltinPtr> tmp650;
    6881             :     compiler::TNode<FixedArray> tmp651;
    6882             :     compiler::TNode<IntPtrT> tmp652;
    6883             :     compiler::TNode<IntPtrT> tmp653;
    6884             :     compiler::TNode<BoolT> tmp654;
    6885             :     compiler::TNode<UintPtrT> tmp655;
    6886             :     compiler::TNode<Object> tmp656;
    6887             :     compiler::TNode<String> tmp657;
    6888             :     compiler::TNode<String> tmp658;
    6889             :     compiler::TNode<IntPtrT> tmp659;
    6890             :     compiler::TNode<IntPtrT> tmp660;
    6891             :     compiler::TNode<Context> tmp661;
    6892             :     compiler::TNode<String> tmp662;
    6893             :     compiler::TNode<IntPtrT> tmp663;
    6894             :     compiler::TNode<IntPtrT> tmp664;
    6895             :     compiler::TNode<BoolT> tmp665;
    6896             :     compiler::TNode<IntPtrT> tmp666;
    6897             :     compiler::TNode<IntPtrT> tmp667;
    6898             :     compiler::TNode<BoolT> tmp668;
    6899             :     compiler::TNode<Context> tmp669;
    6900             :     compiler::TNode<IntPtrT> tmp670;
    6901             :     compiler::TNode<IntPtrT> tmp671;
    6902             :     compiler::TNode<BoolT> tmp672;
    6903             :     compiler::TNode<IntPtrT> tmp673;
    6904             :     compiler::TNode<IntPtrT> tmp674;
    6905             :     ca_.Bind(&block33, &tmp639, &tmp640, &tmp641, &tmp642, &tmp643, &tmp644, &tmp645, &tmp646, &tmp647, &tmp648, &tmp649, &tmp650, &tmp651, &tmp652, &tmp653, &tmp654, &tmp655, &tmp656, &tmp657, &tmp658, &tmp659, &tmp660, &tmp661, &tmp662, &tmp663, &tmp664, &tmp665, &tmp666, &tmp667, &tmp668, &tmp669, &tmp670, &tmp671, &tmp672, &tmp673, &tmp674);
    6906         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
    6907         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp669);
    6908         224 :     CodeStubAssembler(state_).Unreachable();
    6909             :   }
    6910             : 
    6911         112 :   if (block34.is_used()) {
    6912             :     compiler::TNode<Context> tmp676;
    6913             :     compiler::TNode<JSReceiver> tmp677;
    6914             :     compiler::TNode<String> tmp678;
    6915             :     compiler::TNode<Number> tmp679;
    6916             :     compiler::TNode<Object> tmp680;
    6917             :     compiler::TNode<Object> tmp681;
    6918             :     compiler::TNode<BuiltinPtr> tmp682;
    6919             :     compiler::TNode<Map> tmp683;
    6920             :     compiler::TNode<UintPtrT> tmp684;
    6921             :     compiler::TNode<IntPtrT> tmp685;
    6922             :     compiler::TNode<IntPtrT> tmp686;
    6923             :     compiler::TNode<BuiltinPtr> tmp687;
    6924             :     compiler::TNode<FixedArray> tmp688;
    6925             :     compiler::TNode<IntPtrT> tmp689;
    6926             :     compiler::TNode<IntPtrT> tmp690;
    6927             :     compiler::TNode<BoolT> tmp691;
    6928             :     compiler::TNode<UintPtrT> tmp692;
    6929             :     compiler::TNode<Object> tmp693;
    6930             :     compiler::TNode<String> tmp694;
    6931             :     compiler::TNode<String> tmp695;
    6932             :     compiler::TNode<IntPtrT> tmp696;
    6933             :     compiler::TNode<IntPtrT> tmp697;
    6934             :     compiler::TNode<Context> tmp698;
    6935             :     compiler::TNode<String> tmp699;
    6936             :     compiler::TNode<IntPtrT> tmp700;
    6937             :     compiler::TNode<IntPtrT> tmp701;
    6938             :     compiler::TNode<BoolT> tmp702;
    6939             :     compiler::TNode<IntPtrT> tmp703;
    6940             :     compiler::TNode<IntPtrT> tmp704;
    6941             :     compiler::TNode<BoolT> tmp705;
    6942             :     compiler::TNode<Context> tmp706;
    6943             :     compiler::TNode<IntPtrT> tmp707;
    6944             :     compiler::TNode<IntPtrT> tmp708;
    6945             :     compiler::TNode<BoolT> tmp709;
    6946             :     compiler::TNode<IntPtrT> tmp710;
    6947             :     compiler::TNode<IntPtrT> tmp711;
    6948             :     ca_.Bind(&block34, &tmp676, &tmp677, &tmp678, &tmp679, &tmp680, &tmp681, &tmp682, &tmp683, &tmp684, &tmp685, &tmp686, &tmp687, &tmp688, &tmp689, &tmp690, &tmp691, &tmp692, &tmp693, &tmp694, &tmp695, &tmp696, &tmp697, &tmp698, &tmp699, &tmp700, &tmp701, &tmp702, &tmp703, &tmp704, &tmp705, &tmp706, &tmp707, &tmp708, &tmp709, &tmp710, &tmp711);
    6949         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    6950             :     compiler::TNode<IntPtrT> tmp712;
    6951             :     USE(tmp712);
    6952         336 :     tmp712 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp706}, compiler::TNode<IntPtrT>{tmp690}, compiler::TNode<IntPtrT>{tmp711}));
    6953         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    6954         112 :     ca_.Branch(tmp709, &block35, &block36, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp686, tmp687, tmp688, tmp689, tmp712, tmp691, tmp692, tmp693, tmp694, tmp695, tmp696, tmp697, tmp698, tmp699, tmp700, tmp701, tmp702, tmp703, tmp704, tmp705, tmp706, tmp707, tmp708, tmp709, tmp710, tmp711);
    6955             :   }
    6956             : 
    6957         112 :   if (block35.is_used()) {
    6958             :     compiler::TNode<Context> tmp713;
    6959             :     compiler::TNode<JSReceiver> tmp714;
    6960             :     compiler::TNode<String> tmp715;
    6961             :     compiler::TNode<Number> tmp716;
    6962             :     compiler::TNode<Object> tmp717;
    6963             :     compiler::TNode<Object> tmp718;
    6964             :     compiler::TNode<BuiltinPtr> tmp719;
    6965             :     compiler::TNode<Map> tmp720;
    6966             :     compiler::TNode<UintPtrT> tmp721;
    6967             :     compiler::TNode<IntPtrT> tmp722;
    6968             :     compiler::TNode<IntPtrT> tmp723;
    6969             :     compiler::TNode<BuiltinPtr> tmp724;
    6970             :     compiler::TNode<FixedArray> tmp725;
    6971             :     compiler::TNode<IntPtrT> tmp726;
    6972             :     compiler::TNode<IntPtrT> tmp727;
    6973             :     compiler::TNode<BoolT> tmp728;
    6974             :     compiler::TNode<UintPtrT> tmp729;
    6975             :     compiler::TNode<Object> tmp730;
    6976             :     compiler::TNode<String> tmp731;
    6977             :     compiler::TNode<String> tmp732;
    6978             :     compiler::TNode<IntPtrT> tmp733;
    6979             :     compiler::TNode<IntPtrT> tmp734;
    6980             :     compiler::TNode<Context> tmp735;
    6981             :     compiler::TNode<String> tmp736;
    6982             :     compiler::TNode<IntPtrT> tmp737;
    6983             :     compiler::TNode<IntPtrT> tmp738;
    6984             :     compiler::TNode<BoolT> tmp739;
    6985             :     compiler::TNode<IntPtrT> tmp740;
    6986             :     compiler::TNode<IntPtrT> tmp741;
    6987             :     compiler::TNode<BoolT> tmp742;
    6988             :     compiler::TNode<Context> tmp743;
    6989             :     compiler::TNode<IntPtrT> tmp744;
    6990             :     compiler::TNode<IntPtrT> tmp745;
    6991             :     compiler::TNode<BoolT> tmp746;
    6992             :     compiler::TNode<IntPtrT> tmp747;
    6993             :     compiler::TNode<IntPtrT> tmp748;
    6994             :     ca_.Bind(&block35, &tmp713, &tmp714, &tmp715, &tmp716, &tmp717, &tmp718, &tmp719, &tmp720, &tmp721, &tmp722, &tmp723, &tmp724, &tmp725, &tmp726, &tmp727, &tmp728, &tmp729, &tmp730, &tmp731, &tmp732, &tmp733, &tmp734, &tmp735, &tmp736, &tmp737, &tmp738, &tmp739, &tmp740, &tmp741, &tmp742, &tmp743, &tmp744, &tmp745, &tmp746, &tmp747, &tmp748);
    6995         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    6996             :     compiler::TNode<IntPtrT> tmp749;
    6997             :     USE(tmp749);
    6998         336 :     tmp749 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    6999             :     compiler::TNode<IntPtrT> tmp750;
    7000             :     USE(tmp750);
    7001         224 :     tmp750 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<IntPtrT>{tmp749}));
    7002             :     compiler::TNode<Smi> tmp751;
    7003             :     USE(tmp751);
    7004         336 :     tmp751 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp747}));
    7005         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    7006             :     compiler::TNode<FixedArray> tmp752;
    7007             :     USE(tmp752);
    7008         336 :     tmp752 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp725}, compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<Smi>{tmp751}));
    7009         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    7010             :     ca_.Goto(&block36, tmp713, tmp714, tmp715, tmp716, tmp717, tmp718, tmp719, tmp720, tmp721, tmp722, tmp723, tmp724, tmp752, tmp750, tmp727, tmp728, tmp729, tmp730, tmp731, tmp732, tmp733, tmp734, tmp735, tmp736, tmp737, tmp738, tmp739, tmp740, tmp741, tmp742, tmp743, tmp744, tmp745, tmp746, tmp747, tmp748);
    7011             :   }
    7012             : 
    7013         112 :   if (block36.is_used()) {
    7014             :     compiler::TNode<Context> tmp753;
    7015             :     compiler::TNode<JSReceiver> tmp754;
    7016             :     compiler::TNode<String> tmp755;
    7017             :     compiler::TNode<Number> tmp756;
    7018             :     compiler::TNode<Object> tmp757;
    7019             :     compiler::TNode<Object> tmp758;
    7020             :     compiler::TNode<BuiltinPtr> tmp759;
    7021             :     compiler::TNode<Map> tmp760;
    7022             :     compiler::TNode<UintPtrT> tmp761;
    7023             :     compiler::TNode<IntPtrT> tmp762;
    7024             :     compiler::TNode<IntPtrT> tmp763;
    7025             :     compiler::TNode<BuiltinPtr> tmp764;
    7026             :     compiler::TNode<FixedArray> tmp765;
    7027             :     compiler::TNode<IntPtrT> tmp766;
    7028             :     compiler::TNode<IntPtrT> tmp767;
    7029             :     compiler::TNode<BoolT> tmp768;
    7030             :     compiler::TNode<UintPtrT> tmp769;
    7031             :     compiler::TNode<Object> tmp770;
    7032             :     compiler::TNode<String> tmp771;
    7033             :     compiler::TNode<String> tmp772;
    7034             :     compiler::TNode<IntPtrT> tmp773;
    7035             :     compiler::TNode<IntPtrT> tmp774;
    7036             :     compiler::TNode<Context> tmp775;
    7037             :     compiler::TNode<String> tmp776;
    7038             :     compiler::TNode<IntPtrT> tmp777;
    7039             :     compiler::TNode<IntPtrT> tmp778;
    7040             :     compiler::TNode<BoolT> tmp779;
    7041             :     compiler::TNode<IntPtrT> tmp780;
    7042             :     compiler::TNode<IntPtrT> tmp781;
    7043             :     compiler::TNode<BoolT> tmp782;
    7044             :     compiler::TNode<Context> tmp783;
    7045             :     compiler::TNode<IntPtrT> tmp784;
    7046             :     compiler::TNode<IntPtrT> tmp785;
    7047             :     compiler::TNode<BoolT> tmp786;
    7048             :     compiler::TNode<IntPtrT> tmp787;
    7049             :     compiler::TNode<IntPtrT> tmp788;
    7050             :     ca_.Bind(&block36, &tmp753, &tmp754, &tmp755, &tmp756, &tmp757, &tmp758, &tmp759, &tmp760, &tmp761, &tmp762, &tmp763, &tmp764, &tmp765, &tmp766, &tmp767, &tmp768, &tmp769, &tmp770, &tmp771, &tmp772, &tmp773, &tmp774, &tmp775, &tmp776, &tmp777, &tmp778, &tmp779, &tmp780, &tmp781, &tmp782, &tmp783, &tmp784, &tmp785, &tmp786, &tmp787, &tmp788);
    7051         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    7052         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
    7053             :     ca_.Goto(&block29, tmp753, tmp754, tmp755, tmp756, tmp757, tmp758, tmp759, tmp760, tmp761, tmp762, tmp763, tmp764, tmp765, tmp766, tmp767, tmp768, tmp769, tmp770, tmp771, tmp772, tmp773, tmp774, tmp775, tmp776, tmp777, tmp778, tmp779, tmp780, tmp781, tmp782, tmp783, tmp784, tmp785, tmp786);
    7054             :   }
    7055             : 
    7056         112 :   if (block29.is_used()) {
    7057             :     compiler::TNode<Context> tmp789;
    7058             :     compiler::TNode<JSReceiver> tmp790;
    7059             :     compiler::TNode<String> tmp791;
    7060             :     compiler::TNode<Number> tmp792;
    7061             :     compiler::TNode<Object> tmp793;
    7062             :     compiler::TNode<Object> tmp794;
    7063             :     compiler::TNode<BuiltinPtr> tmp795;
    7064             :     compiler::TNode<Map> tmp796;
    7065             :     compiler::TNode<UintPtrT> tmp797;
    7066             :     compiler::TNode<IntPtrT> tmp798;
    7067             :     compiler::TNode<IntPtrT> tmp799;
    7068             :     compiler::TNode<BuiltinPtr> tmp800;
    7069             :     compiler::TNode<FixedArray> tmp801;
    7070             :     compiler::TNode<IntPtrT> tmp802;
    7071             :     compiler::TNode<IntPtrT> tmp803;
    7072             :     compiler::TNode<BoolT> tmp804;
    7073             :     compiler::TNode<UintPtrT> tmp805;
    7074             :     compiler::TNode<Object> tmp806;
    7075             :     compiler::TNode<String> tmp807;
    7076             :     compiler::TNode<String> tmp808;
    7077             :     compiler::TNode<IntPtrT> tmp809;
    7078             :     compiler::TNode<IntPtrT> tmp810;
    7079             :     compiler::TNode<Context> tmp811;
    7080             :     compiler::TNode<String> tmp812;
    7081             :     compiler::TNode<IntPtrT> tmp813;
    7082             :     compiler::TNode<IntPtrT> tmp814;
    7083             :     compiler::TNode<BoolT> tmp815;
    7084             :     compiler::TNode<IntPtrT> tmp816;
    7085             :     compiler::TNode<IntPtrT> tmp817;
    7086             :     compiler::TNode<BoolT> tmp818;
    7087             :     compiler::TNode<Context> tmp819;
    7088             :     compiler::TNode<IntPtrT> tmp820;
    7089             :     compiler::TNode<IntPtrT> tmp821;
    7090             :     compiler::TNode<BoolT> tmp822;
    7091             :     ca_.Bind(&block29, &tmp789, &tmp790, &tmp791, &tmp792, &tmp793, &tmp794, &tmp795, &tmp796, &tmp797, &tmp798, &tmp799, &tmp800, &tmp801, &tmp802, &tmp803, &tmp804, &tmp805, &tmp806, &tmp807, &tmp808, &tmp809, &tmp810, &tmp811, &tmp812, &tmp813, &tmp814, &tmp815, &tmp816, &tmp817, &tmp818, &tmp819, &tmp820, &tmp821, &tmp822);
    7092         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
    7093             :     compiler::TNode<IntPtrT> tmp823;
    7094             :     USE(tmp823);
    7095         336 :     tmp823 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp812}));
    7096             :     compiler::TNode<IntPtrT> tmp824;
    7097             :     USE(tmp824);
    7098         336 :     tmp824 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp811}, compiler::TNode<IntPtrT>{tmp803}, compiler::TNode<IntPtrT>{tmp823}));
    7099         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
    7100         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 164);
    7101             :     compiler::TNode<IntPtrT> tmp825;
    7102             :     USE(tmp825);
    7103         336 :     tmp825 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    7104             :     compiler::TNode<IntPtrT> tmp826;
    7105             :     USE(tmp826);
    7106         224 :     tmp826 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<IntPtrT>{tmp825}));
    7107             :     compiler::TNode<FixedArray> tmp827;
    7108             :     USE(tmp827);
    7109         336 :     tmp827 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray6String(compiler::TNode<FixedArray>{tmp801}, compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<String>{tmp812}));
    7110         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
    7111         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 166);
    7112             :     compiler::TNode<Int32T> tmp828;
    7113             :     USE(tmp828);
    7114         224 :     tmp828 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp812}));
    7115             :     compiler::TNode<BoolT> tmp829;
    7116             :     USE(tmp829);
    7117         224 :     tmp829 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp828}));
    7118             :     compiler::TNode<BoolT> tmp830;
    7119             :     USE(tmp830);
    7120         336 :     tmp830 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp829}, compiler::TNode<BoolT>{tmp804}));
    7121         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 165);
    7122         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
    7123         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
    7124             :     ca_.Goto(&block28, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp795, tmp796, tmp797, tmp798, tmp799, tmp800, tmp827, tmp826, tmp824, tmp830, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813, tmp814);
    7125             :   }
    7126             : 
    7127         112 :   if (block28.is_used()) {
    7128             :     compiler::TNode<Context> tmp831;
    7129             :     compiler::TNode<JSReceiver> tmp832;
    7130             :     compiler::TNode<String> tmp833;
    7131             :     compiler::TNode<Number> tmp834;
    7132             :     compiler::TNode<Object> tmp835;
    7133             :     compiler::TNode<Object> tmp836;
    7134             :     compiler::TNode<BuiltinPtr> tmp837;
    7135             :     compiler::TNode<Map> tmp838;
    7136             :     compiler::TNode<UintPtrT> tmp839;
    7137             :     compiler::TNode<IntPtrT> tmp840;
    7138             :     compiler::TNode<IntPtrT> tmp841;
    7139             :     compiler::TNode<BuiltinPtr> tmp842;
    7140             :     compiler::TNode<FixedArray> tmp843;
    7141             :     compiler::TNode<IntPtrT> tmp844;
    7142             :     compiler::TNode<IntPtrT> tmp845;
    7143             :     compiler::TNode<BoolT> tmp846;
    7144             :     compiler::TNode<UintPtrT> tmp847;
    7145             :     compiler::TNode<Object> tmp848;
    7146             :     compiler::TNode<String> tmp849;
    7147             :     compiler::TNode<String> tmp850;
    7148             :     compiler::TNode<IntPtrT> tmp851;
    7149             :     compiler::TNode<IntPtrT> tmp852;
    7150             :     compiler::TNode<Context> tmp853;
    7151             :     compiler::TNode<String> tmp854;
    7152             :     compiler::TNode<IntPtrT> tmp855;
    7153             :     compiler::TNode<IntPtrT> tmp856;
    7154             :     ca_.Bind(&block28, &tmp831, &tmp832, &tmp833, &tmp834, &tmp835, &tmp836, &tmp837, &tmp838, &tmp839, &tmp840, &tmp841, &tmp842, &tmp843, &tmp844, &tmp845, &tmp846, &tmp847, &tmp848, &tmp849, &tmp850, &tmp851, &tmp852, &tmp853, &tmp854, &tmp855, &tmp856);
    7155         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 316);
    7156             :     compiler::TNode<IntPtrT> tmp857;
    7157             :     USE(tmp857);
    7158         336 :     tmp857 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7159         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
    7160             :     ca_.Goto(&block4, tmp831, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp840, tmp857, tmp842, tmp843, tmp844, tmp845, tmp846, tmp847);
    7161             :   }
    7162             : 
    7163         112 :   if (block3.is_used()) {
    7164             :     compiler::TNode<Context> tmp858;
    7165             :     compiler::TNode<JSReceiver> tmp859;
    7166             :     compiler::TNode<String> tmp860;
    7167             :     compiler::TNode<Number> tmp861;
    7168             :     compiler::TNode<Object> tmp862;
    7169             :     compiler::TNode<Object> tmp863;
    7170             :     compiler::TNode<BuiltinPtr> tmp864;
    7171             :     compiler::TNode<Map> tmp865;
    7172             :     compiler::TNode<UintPtrT> tmp866;
    7173             :     compiler::TNode<IntPtrT> tmp867;
    7174             :     compiler::TNode<IntPtrT> tmp868;
    7175             :     compiler::TNode<BuiltinPtr> tmp869;
    7176             :     compiler::TNode<FixedArray> tmp870;
    7177             :     compiler::TNode<IntPtrT> tmp871;
    7178             :     compiler::TNode<IntPtrT> tmp872;
    7179             :     compiler::TNode<BoolT> tmp873;
    7180             :     compiler::TNode<UintPtrT> tmp874;
    7181             :     ca_.Bind(&block3, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873, &tmp874);
    7182         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    7183             :     compiler::TNode<BoolT> tmp875;
    7184             :     USE(tmp875);
    7185         336 :     tmp875 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
    7186         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
    7187             :     compiler::TNode<IntPtrT> tmp876;
    7188             :     USE(tmp876);
    7189         336 :     tmp876 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7190             :     compiler::TNode<BoolT> tmp877;
    7191             :     USE(tmp877);
    7192         336 :     tmp877 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp868}, compiler::TNode<IntPtrT>{tmp876}));
    7193         112 :     ca_.Branch(tmp877, &block38, &block40, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp874, tmp868, tmp867, tmp858, tmp868, tmp867, tmp875);
    7194             :   }
    7195             : 
    7196         112 :   if (block40.is_used()) {
    7197             :     compiler::TNode<Context> tmp878;
    7198             :     compiler::TNode<JSReceiver> tmp879;
    7199             :     compiler::TNode<String> tmp880;
    7200             :     compiler::TNode<Number> tmp881;
    7201             :     compiler::TNode<Object> tmp882;
    7202             :     compiler::TNode<Object> tmp883;
    7203             :     compiler::TNode<BuiltinPtr> tmp884;
    7204             :     compiler::TNode<Map> tmp885;
    7205             :     compiler::TNode<UintPtrT> tmp886;
    7206             :     compiler::TNode<IntPtrT> tmp887;
    7207             :     compiler::TNode<IntPtrT> tmp888;
    7208             :     compiler::TNode<BuiltinPtr> tmp889;
    7209             :     compiler::TNode<FixedArray> tmp890;
    7210             :     compiler::TNode<IntPtrT> tmp891;
    7211             :     compiler::TNode<IntPtrT> tmp892;
    7212             :     compiler::TNode<BoolT> tmp893;
    7213             :     compiler::TNode<UintPtrT> tmp894;
    7214             :     compiler::TNode<IntPtrT> tmp895;
    7215             :     compiler::TNode<IntPtrT> tmp896;
    7216             :     compiler::TNode<Context> tmp897;
    7217             :     compiler::TNode<IntPtrT> tmp898;
    7218             :     compiler::TNode<IntPtrT> tmp899;
    7219             :     compiler::TNode<BoolT> tmp900;
    7220             :     ca_.Bind(&block40, &tmp878, &tmp879, &tmp880, &tmp881, &tmp882, &tmp883, &tmp884, &tmp885, &tmp886, &tmp887, &tmp888, &tmp889, &tmp890, &tmp891, &tmp892, &tmp893, &tmp894, &tmp895, &tmp896, &tmp897, &tmp898, &tmp899, &tmp900);
    7221             :     compiler::TNode<IntPtrT> tmp901;
    7222             :     USE(tmp901);
    7223         336 :     tmp901 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7224             :     compiler::TNode<BoolT> tmp902;
    7225             :     USE(tmp902);
    7226         336 :     tmp902 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp899}, compiler::TNode<IntPtrT>{tmp901}));
    7227         112 :     ca_.Branch(tmp902, &block38, &block39, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889, tmp890, tmp891, tmp892, tmp893, tmp894, tmp895, tmp896, tmp897, tmp898, tmp899, tmp900);
    7228             :   }
    7229             : 
    7230         112 :   if (block38.is_used()) {
    7231             :     compiler::TNode<Context> tmp903;
    7232             :     compiler::TNode<JSReceiver> tmp904;
    7233             :     compiler::TNode<String> tmp905;
    7234             :     compiler::TNode<Number> tmp906;
    7235             :     compiler::TNode<Object> tmp907;
    7236             :     compiler::TNode<Object> tmp908;
    7237             :     compiler::TNode<BuiltinPtr> tmp909;
    7238             :     compiler::TNode<Map> tmp910;
    7239             :     compiler::TNode<UintPtrT> tmp911;
    7240             :     compiler::TNode<IntPtrT> tmp912;
    7241             :     compiler::TNode<IntPtrT> tmp913;
    7242             :     compiler::TNode<BuiltinPtr> tmp914;
    7243             :     compiler::TNode<FixedArray> tmp915;
    7244             :     compiler::TNode<IntPtrT> tmp916;
    7245             :     compiler::TNode<IntPtrT> tmp917;
    7246             :     compiler::TNode<BoolT> tmp918;
    7247             :     compiler::TNode<UintPtrT> tmp919;
    7248             :     compiler::TNode<IntPtrT> tmp920;
    7249             :     compiler::TNode<IntPtrT> tmp921;
    7250             :     compiler::TNode<Context> tmp922;
    7251             :     compiler::TNode<IntPtrT> tmp923;
    7252             :     compiler::TNode<IntPtrT> tmp924;
    7253             :     compiler::TNode<BoolT> tmp925;
    7254             :     ca_.Bind(&block38, &tmp903, &tmp904, &tmp905, &tmp906, &tmp907, &tmp908, &tmp909, &tmp910, &tmp911, &tmp912, &tmp913, &tmp914, &tmp915, &tmp916, &tmp917, &tmp918, &tmp919, &tmp920, &tmp921, &tmp922, &tmp923, &tmp924, &tmp925);
    7255             :     ca_.Goto(&block37, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919, tmp920, tmp921, tmp922, tmp923, tmp924, tmp925);
    7256             :   }
    7257             : 
    7258         112 :   if (block39.is_used()) {
    7259             :     compiler::TNode<Context> tmp926;
    7260             :     compiler::TNode<JSReceiver> tmp927;
    7261             :     compiler::TNode<String> tmp928;
    7262             :     compiler::TNode<Number> tmp929;
    7263             :     compiler::TNode<Object> tmp930;
    7264             :     compiler::TNode<Object> tmp931;
    7265             :     compiler::TNode<BuiltinPtr> tmp932;
    7266             :     compiler::TNode<Map> tmp933;
    7267             :     compiler::TNode<UintPtrT> tmp934;
    7268             :     compiler::TNode<IntPtrT> tmp935;
    7269             :     compiler::TNode<IntPtrT> tmp936;
    7270             :     compiler::TNode<BuiltinPtr> tmp937;
    7271             :     compiler::TNode<FixedArray> tmp938;
    7272             :     compiler::TNode<IntPtrT> tmp939;
    7273             :     compiler::TNode<IntPtrT> tmp940;
    7274             :     compiler::TNode<BoolT> tmp941;
    7275             :     compiler::TNode<UintPtrT> tmp942;
    7276             :     compiler::TNode<IntPtrT> tmp943;
    7277             :     compiler::TNode<IntPtrT> tmp944;
    7278             :     compiler::TNode<Context> tmp945;
    7279             :     compiler::TNode<IntPtrT> tmp946;
    7280             :     compiler::TNode<IntPtrT> tmp947;
    7281             :     compiler::TNode<BoolT> tmp948;
    7282             :     ca_.Bind(&block39, &tmp926, &tmp927, &tmp928, &tmp929, &tmp930, &tmp931, &tmp932, &tmp933, &tmp934, &tmp935, &tmp936, &tmp937, &tmp938, &tmp939, &tmp940, &tmp941, &tmp942, &tmp943, &tmp944, &tmp945, &tmp946, &tmp947, &tmp948);
    7283         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    7284         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    7285             :     compiler::TNode<IntPtrT> tmp949;
    7286             :     USE(tmp949);
    7287         224 :     tmp949 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp947}, compiler::TNode<IntPtrT>{tmp946}));
    7288         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
    7289             :     compiler::TNode<IntPtrT> tmp950;
    7290             :     USE(tmp950);
    7291         224 :     tmp950 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp949}, compiler::TNode<IntPtrT>{tmp947}));
    7292             :     compiler::TNode<BoolT> tmp951;
    7293             :     USE(tmp951);
    7294         336 :     tmp951 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp950}, compiler::TNode<IntPtrT>{tmp946}));
    7295         112 :     ca_.Branch(tmp951, &block41, &block42, tmp926, tmp927, tmp928, tmp929, tmp930, tmp931, tmp932, tmp933, tmp934, tmp935, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp946, tmp947, tmp948, tmp946, tmp949);
    7296             :   }
    7297             : 
    7298         112 :   if (block41.is_used()) {
    7299             :     compiler::TNode<Context> tmp952;
    7300             :     compiler::TNode<JSReceiver> tmp953;
    7301             :     compiler::TNode<String> tmp954;
    7302             :     compiler::TNode<Number> tmp955;
    7303             :     compiler::TNode<Object> tmp956;
    7304             :     compiler::TNode<Object> tmp957;
    7305             :     compiler::TNode<BuiltinPtr> tmp958;
    7306             :     compiler::TNode<Map> tmp959;
    7307             :     compiler::TNode<UintPtrT> tmp960;
    7308             :     compiler::TNode<IntPtrT> tmp961;
    7309             :     compiler::TNode<IntPtrT> tmp962;
    7310             :     compiler::TNode<BuiltinPtr> tmp963;
    7311             :     compiler::TNode<FixedArray> tmp964;
    7312             :     compiler::TNode<IntPtrT> tmp965;
    7313             :     compiler::TNode<IntPtrT> tmp966;
    7314             :     compiler::TNode<BoolT> tmp967;
    7315             :     compiler::TNode<UintPtrT> tmp968;
    7316             :     compiler::TNode<IntPtrT> tmp969;
    7317             :     compiler::TNode<IntPtrT> tmp970;
    7318             :     compiler::TNode<Context> tmp971;
    7319             :     compiler::TNode<IntPtrT> tmp972;
    7320             :     compiler::TNode<IntPtrT> tmp973;
    7321             :     compiler::TNode<BoolT> tmp974;
    7322             :     compiler::TNode<IntPtrT> tmp975;
    7323             :     compiler::TNode<IntPtrT> tmp976;
    7324             :     ca_.Bind(&block41, &tmp952, &tmp953, &tmp954, &tmp955, &tmp956, &tmp957, &tmp958, &tmp959, &tmp960, &tmp961, &tmp962, &tmp963, &tmp964, &tmp965, &tmp966, &tmp967, &tmp968, &tmp969, &tmp970, &tmp971, &tmp972, &tmp973, &tmp974, &tmp975, &tmp976);
    7325         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
    7326         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp971);
    7327         224 :     CodeStubAssembler(state_).Unreachable();
    7328             :   }
    7329             : 
    7330         112 :   if (block42.is_used()) {
    7331             :     compiler::TNode<Context> tmp978;
    7332             :     compiler::TNode<JSReceiver> tmp979;
    7333             :     compiler::TNode<String> tmp980;
    7334             :     compiler::TNode<Number> tmp981;
    7335             :     compiler::TNode<Object> tmp982;
    7336             :     compiler::TNode<Object> tmp983;
    7337             :     compiler::TNode<BuiltinPtr> tmp984;
    7338             :     compiler::TNode<Map> tmp985;
    7339             :     compiler::TNode<UintPtrT> tmp986;
    7340             :     compiler::TNode<IntPtrT> tmp987;
    7341             :     compiler::TNode<IntPtrT> tmp988;
    7342             :     compiler::TNode<BuiltinPtr> tmp989;
    7343             :     compiler::TNode<FixedArray> tmp990;
    7344             :     compiler::TNode<IntPtrT> tmp991;
    7345             :     compiler::TNode<IntPtrT> tmp992;
    7346             :     compiler::TNode<BoolT> tmp993;
    7347             :     compiler::TNode<UintPtrT> tmp994;
    7348             :     compiler::TNode<IntPtrT> tmp995;
    7349             :     compiler::TNode<IntPtrT> tmp996;
    7350             :     compiler::TNode<Context> tmp997;
    7351             :     compiler::TNode<IntPtrT> tmp998;
    7352             :     compiler::TNode<IntPtrT> tmp999;
    7353             :     compiler::TNode<BoolT> tmp1000;
    7354             :     compiler::TNode<IntPtrT> tmp1001;
    7355             :     compiler::TNode<IntPtrT> tmp1002;
    7356             :     ca_.Bind(&block42, &tmp978, &tmp979, &tmp980, &tmp981, &tmp982, &tmp983, &tmp984, &tmp985, &tmp986, &tmp987, &tmp988, &tmp989, &tmp990, &tmp991, &tmp992, &tmp993, &tmp994, &tmp995, &tmp996, &tmp997, &tmp998, &tmp999, &tmp1000, &tmp1001, &tmp1002);
    7357         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    7358             :     compiler::TNode<IntPtrT> tmp1003;
    7359             :     USE(tmp1003);
    7360         336 :     tmp1003 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp997}, compiler::TNode<IntPtrT>{tmp992}, compiler::TNode<IntPtrT>{tmp1002}));
    7361         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    7362         112 :     ca_.Branch(tmp1000, &block43, &block44, tmp978, tmp979, tmp980, tmp981, tmp982, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989, tmp990, tmp991, tmp1003, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001, tmp1002);
    7363             :   }
    7364             : 
    7365         112 :   if (block43.is_used()) {
    7366             :     compiler::TNode<Context> tmp1004;
    7367             :     compiler::TNode<JSReceiver> tmp1005;
    7368             :     compiler::TNode<String> tmp1006;
    7369             :     compiler::TNode<Number> tmp1007;
    7370             :     compiler::TNode<Object> tmp1008;
    7371             :     compiler::TNode<Object> tmp1009;
    7372             :     compiler::TNode<BuiltinPtr> tmp1010;
    7373             :     compiler::TNode<Map> tmp1011;
    7374             :     compiler::TNode<UintPtrT> tmp1012;
    7375             :     compiler::TNode<IntPtrT> tmp1013;
    7376             :     compiler::TNode<IntPtrT> tmp1014;
    7377             :     compiler::TNode<BuiltinPtr> tmp1015;
    7378             :     compiler::TNode<FixedArray> tmp1016;
    7379             :     compiler::TNode<IntPtrT> tmp1017;
    7380             :     compiler::TNode<IntPtrT> tmp1018;
    7381             :     compiler::TNode<BoolT> tmp1019;
    7382             :     compiler::TNode<UintPtrT> tmp1020;
    7383             :     compiler::TNode<IntPtrT> tmp1021;
    7384             :     compiler::TNode<IntPtrT> tmp1022;
    7385             :     compiler::TNode<Context> tmp1023;
    7386             :     compiler::TNode<IntPtrT> tmp1024;
    7387             :     compiler::TNode<IntPtrT> tmp1025;
    7388             :     compiler::TNode<BoolT> tmp1026;
    7389             :     compiler::TNode<IntPtrT> tmp1027;
    7390             :     compiler::TNode<IntPtrT> tmp1028;
    7391             :     ca_.Bind(&block43, &tmp1004, &tmp1005, &tmp1006, &tmp1007, &tmp1008, &tmp1009, &tmp1010, &tmp1011, &tmp1012, &tmp1013, &tmp1014, &tmp1015, &tmp1016, &tmp1017, &tmp1018, &tmp1019, &tmp1020, &tmp1021, &tmp1022, &tmp1023, &tmp1024, &tmp1025, &tmp1026, &tmp1027, &tmp1028);
    7392         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    7393             :     compiler::TNode<IntPtrT> tmp1029;
    7394             :     USE(tmp1029);
    7395         336 :     tmp1029 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    7396             :     compiler::TNode<IntPtrT> tmp1030;
    7397             :     USE(tmp1030);
    7398         224 :     tmp1030 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<IntPtrT>{tmp1029}));
    7399             :     compiler::TNode<Smi> tmp1031;
    7400             :     USE(tmp1031);
    7401         336 :     tmp1031 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1027}));
    7402         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    7403             :     compiler::TNode<FixedArray> tmp1032;
    7404             :     USE(tmp1032);
    7405         336 :     tmp1032 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1016}, compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<Smi>{tmp1031}));
    7406         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    7407             :     ca_.Goto(&block44, tmp1004, tmp1005, tmp1006, tmp1007, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1015, tmp1032, tmp1030, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027, tmp1028);
    7408             :   }
    7409             : 
    7410         112 :   if (block44.is_used()) {
    7411             :     compiler::TNode<Context> tmp1033;
    7412             :     compiler::TNode<JSReceiver> tmp1034;
    7413             :     compiler::TNode<String> tmp1035;
    7414             :     compiler::TNode<Number> tmp1036;
    7415             :     compiler::TNode<Object> tmp1037;
    7416             :     compiler::TNode<Object> tmp1038;
    7417             :     compiler::TNode<BuiltinPtr> tmp1039;
    7418             :     compiler::TNode<Map> tmp1040;
    7419             :     compiler::TNode<UintPtrT> tmp1041;
    7420             :     compiler::TNode<IntPtrT> tmp1042;
    7421             :     compiler::TNode<IntPtrT> tmp1043;
    7422             :     compiler::TNode<BuiltinPtr> tmp1044;
    7423             :     compiler::TNode<FixedArray> tmp1045;
    7424             :     compiler::TNode<IntPtrT> tmp1046;
    7425             :     compiler::TNode<IntPtrT> tmp1047;
    7426             :     compiler::TNode<BoolT> tmp1048;
    7427             :     compiler::TNode<UintPtrT> tmp1049;
    7428             :     compiler::TNode<IntPtrT> tmp1050;
    7429             :     compiler::TNode<IntPtrT> tmp1051;
    7430             :     compiler::TNode<Context> tmp1052;
    7431             :     compiler::TNode<IntPtrT> tmp1053;
    7432             :     compiler::TNode<IntPtrT> tmp1054;
    7433             :     compiler::TNode<BoolT> tmp1055;
    7434             :     compiler::TNode<IntPtrT> tmp1056;
    7435             :     compiler::TNode<IntPtrT> tmp1057;
    7436             :     ca_.Bind(&block44, &tmp1033, &tmp1034, &tmp1035, &tmp1036, &tmp1037, &tmp1038, &tmp1039, &tmp1040, &tmp1041, &tmp1042, &tmp1043, &tmp1044, &tmp1045, &tmp1046, &tmp1047, &tmp1048, &tmp1049, &tmp1050, &tmp1051, &tmp1052, &tmp1053, &tmp1054, &tmp1055, &tmp1056, &tmp1057);
    7437         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    7438         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    7439             :     ca_.Goto(&block37, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1054, tmp1055);
    7440             :   }
    7441             : 
    7442         112 :   if (block37.is_used()) {
    7443             :     compiler::TNode<Context> tmp1058;
    7444             :     compiler::TNode<JSReceiver> tmp1059;
    7445             :     compiler::TNode<String> tmp1060;
    7446             :     compiler::TNode<Number> tmp1061;
    7447             :     compiler::TNode<Object> tmp1062;
    7448             :     compiler::TNode<Object> tmp1063;
    7449             :     compiler::TNode<BuiltinPtr> tmp1064;
    7450             :     compiler::TNode<Map> tmp1065;
    7451             :     compiler::TNode<UintPtrT> tmp1066;
    7452             :     compiler::TNode<IntPtrT> tmp1067;
    7453             :     compiler::TNode<IntPtrT> tmp1068;
    7454             :     compiler::TNode<BuiltinPtr> tmp1069;
    7455             :     compiler::TNode<FixedArray> tmp1070;
    7456             :     compiler::TNode<IntPtrT> tmp1071;
    7457             :     compiler::TNode<IntPtrT> tmp1072;
    7458             :     compiler::TNode<BoolT> tmp1073;
    7459             :     compiler::TNode<UintPtrT> tmp1074;
    7460             :     compiler::TNode<IntPtrT> tmp1075;
    7461             :     compiler::TNode<IntPtrT> tmp1076;
    7462             :     compiler::TNode<Context> tmp1077;
    7463             :     compiler::TNode<IntPtrT> tmp1078;
    7464             :     compiler::TNode<IntPtrT> tmp1079;
    7465             :     compiler::TNode<BoolT> tmp1080;
    7466             :     ca_.Bind(&block37, &tmp1058, &tmp1059, &tmp1060, &tmp1061, &tmp1062, &tmp1063, &tmp1064, &tmp1065, &tmp1066, &tmp1067, &tmp1068, &tmp1069, &tmp1070, &tmp1071, &tmp1072, &tmp1073, &tmp1074, &tmp1075, &tmp1076, &tmp1077, &tmp1078, &tmp1079, &tmp1080);
    7467         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
    7468             :     compiler::TNode<String> tmp1081;
    7469             :     USE(tmp1081);
    7470         336 :     tmp1081 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).BufferJoin(compiler::TNode<Context>{tmp1058}, ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp1070}, compiler::TNode<IntPtrT>{tmp1071}, compiler::TNode<IntPtrT>{tmp1072}, compiler::TNode<BoolT>{tmp1073}}, compiler::TNode<String>{tmp1060}));
    7471             :     ca_.Goto(&block1, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1064, tmp1081);
    7472             :   }
    7473             : 
    7474         112 :   if (block1.is_used()) {
    7475             :     compiler::TNode<Context> tmp1082;
    7476             :     compiler::TNode<JSReceiver> tmp1083;
    7477             :     compiler::TNode<String> tmp1084;
    7478             :     compiler::TNode<Number> tmp1085;
    7479             :     compiler::TNode<Object> tmp1086;
    7480             :     compiler::TNode<Object> tmp1087;
    7481             :     compiler::TNode<BuiltinPtr> tmp1088;
    7482             :     compiler::TNode<String> tmp1089;
    7483             :     ca_.Bind(&block1, &tmp1082, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088, &tmp1089);
    7484         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 262);
    7485             :     ca_.Goto(&block45, tmp1082, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088, tmp1089);
    7486             :   }
    7487             : 
    7488             :     compiler::TNode<Context> tmp1090;
    7489             :     compiler::TNode<JSReceiver> tmp1091;
    7490             :     compiler::TNode<String> tmp1092;
    7491             :     compiler::TNode<Number> tmp1093;
    7492             :     compiler::TNode<Object> tmp1094;
    7493             :     compiler::TNode<Object> tmp1095;
    7494             :     compiler::TNode<BuiltinPtr> tmp1096;
    7495             :     compiler::TNode<String> tmp1097;
    7496             :     ca_.Bind(&block45, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096, &tmp1097);
    7497         224 :   return compiler::TNode<String>{tmp1097};
    7498             : }
    7499             : 
    7500          56 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<JSReceiver> p_element) {
    7501          56 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7502             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7503             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7504             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7505             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7506             :     ca_.Goto(&block0, p_fixedArray, p_index, p_element);
    7507             : 
    7508          56 :   if (block0.is_used()) {
    7509             :     compiler::TNode<FixedArray> tmp0;
    7510             :     compiler::TNode<IntPtrT> tmp1;
    7511             :     compiler::TNode<JSReceiver> tmp2;
    7512             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    7513          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
    7514             :     compiler::TNode<IntPtrT> tmp3;
    7515             :     USE(tmp3);
    7516         112 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
    7517          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
    7518             :     compiler::TNode<BoolT> tmp4;
    7519             :     USE(tmp4);
    7520         168 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
    7521          56 :     ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
    7522             :   }
    7523             : 
    7524          56 :   if (block2.is_used()) {
    7525             :     compiler::TNode<FixedArray> tmp5;
    7526             :     compiler::TNode<IntPtrT> tmp6;
    7527             :     compiler::TNode<JSReceiver> tmp7;
    7528             :     compiler::TNode<IntPtrT> tmp8;
    7529             :     ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
    7530          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
    7531         112 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
    7532          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
    7533             :     ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
    7534             :   }
    7535             : 
    7536          56 :   if (block3.is_used()) {
    7537             :     compiler::TNode<FixedArray> tmp9;
    7538             :     compiler::TNode<IntPtrT> tmp10;
    7539             :     compiler::TNode<JSReceiver> tmp11;
    7540             :     compiler::TNode<IntPtrT> tmp12;
    7541             :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
    7542          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
    7543             :     compiler::TNode<IntPtrT> tmp13;
    7544             :     USE(tmp13);
    7545         112 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
    7546          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
    7547             :     compiler::TNode<IntPtrT> tmp14;
    7548             :     USE(tmp14);
    7549         168 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7550             :     compiler::TNode<FixedArray> tmp15;
    7551             :     USE(tmp15);
    7552         112 :     tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArray>{tmp9}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp12}, compiler::TNode<IntPtrT>{tmp13}, CodeStubAssembler::ExtractFixedArrayFlag::kFixedArrays));
    7553          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
    7554          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
    7555         112 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
    7556          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
    7557             :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
    7558             :   }
    7559             : 
    7560          56 :   if (block1.is_used()) {
    7561             :     compiler::TNode<FixedArray> tmp16;
    7562             :     compiler::TNode<IntPtrT> tmp17;
    7563             :     compiler::TNode<JSReceiver> tmp18;
    7564             :     compiler::TNode<FixedArray> tmp19;
    7565             :     ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
    7566          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
    7567             :     ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
    7568             :   }
    7569             : 
    7570             :     compiler::TNode<FixedArray> tmp20;
    7571             :     compiler::TNode<IntPtrT> tmp21;
    7572             :     compiler::TNode<JSReceiver> tmp22;
    7573             :     compiler::TNode<FixedArray> tmp23;
    7574             :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
    7575         112 :   return compiler::TNode<FixedArray>{tmp23};
    7576             : }
    7577             : 
    7578         112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::CycleProtectedArrayJoin7JSArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_len, compiler::TNode<Object> p_sepObj, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
    7579         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7580             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7581             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7582             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7583             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7584             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7585             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7586             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7587             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7588             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7589             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7590             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7591             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7592             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7593             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7594             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7595             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7596             :     ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
    7597             : 
    7598         112 :   if (block0.is_used()) {
    7599             :     compiler::TNode<Context> tmp0;
    7600             :     compiler::TNode<JSReceiver> tmp1;
    7601             :     compiler::TNode<Number> tmp2;
    7602             :     compiler::TNode<Object> tmp3;
    7603             :     compiler::TNode<Object> tmp4;
    7604             :     compiler::TNode<Object> tmp5;
    7605             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    7606         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 539);
    7607             :     compiler::TNode<Oddball> tmp6;
    7608             :     USE(tmp6);
    7609         336 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    7610             :     compiler::TNode<BoolT> tmp7;
    7611             :     USE(tmp7);
    7612         224 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
    7613         112 :     ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
    7614             :   }
    7615             : 
    7616         112 :   if (block2.is_used()) {
    7617             :     compiler::TNode<Context> tmp8;
    7618             :     compiler::TNode<JSReceiver> tmp9;
    7619             :     compiler::TNode<Number> tmp10;
    7620             :     compiler::TNode<Object> tmp11;
    7621             :     compiler::TNode<Object> tmp12;
    7622             :     compiler::TNode<Object> tmp13;
    7623             :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    7624             :     ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
    7625             :   }
    7626             : 
    7627         112 :   if (block3.is_used()) {
    7628             :     compiler::TNode<Context> tmp14;
    7629             :     compiler::TNode<JSReceiver> tmp15;
    7630             :     compiler::TNode<Number> tmp16;
    7631             :     compiler::TNode<Object> tmp17;
    7632             :     compiler::TNode<Object> tmp18;
    7633             :     compiler::TNode<Object> tmp19;
    7634             :     ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
    7635             :     compiler::TNode<String> tmp20;
    7636             :     USE(tmp20);
    7637         448 :     tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
    7638             :     ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
    7639             :   }
    7640             : 
    7641         112 :   if (block5.is_used()) {
    7642             :     compiler::TNode<Context> tmp21;
    7643             :     compiler::TNode<JSReceiver> tmp22;
    7644             :     compiler::TNode<Number> tmp23;
    7645             :     compiler::TNode<Object> tmp24;
    7646             :     compiler::TNode<Object> tmp25;
    7647             :     compiler::TNode<Object> tmp26;
    7648             :     ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
    7649             :     compiler::TNode<String> tmp27;
    7650             :     USE(tmp27);
    7651         336 :     tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6String18ATconstexpr_string(","));
    7652             :     ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
    7653             :   }
    7654             : 
    7655         112 :   if (block4.is_used()) {
    7656             :     compiler::TNode<Context> tmp28;
    7657             :     compiler::TNode<JSReceiver> tmp29;
    7658             :     compiler::TNode<Number> tmp30;
    7659             :     compiler::TNode<Object> tmp31;
    7660             :     compiler::TNode<Object> tmp32;
    7661             :     compiler::TNode<Object> tmp33;
    7662             :     compiler::TNode<String> tmp34;
    7663             :     ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
    7664         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 538);
    7665         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
    7666             :     compiler::TNode<Number> tmp35;
    7667             :     USE(tmp35);
    7668         336 :     tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
    7669         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    7670         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    7671         224 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
    7672         112 :     if (label0.is_used()) {
    7673         112 :       ca_.Bind(&label0);
    7674             :       ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7675             :     }
    7676         112 :     if (label1.is_used()) {
    7677         112 :       ca_.Bind(&label1);
    7678             :       ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7679             :     }
    7680             :   }
    7681             : 
    7682         112 :   if (block9.is_used()) {
    7683             :     compiler::TNode<Context> tmp36;
    7684             :     compiler::TNode<JSReceiver> tmp37;
    7685             :     compiler::TNode<Number> tmp38;
    7686             :     compiler::TNode<Object> tmp39;
    7687             :     compiler::TNode<Object> tmp40;
    7688             :     compiler::TNode<Object> tmp41;
    7689             :     compiler::TNode<String> tmp42;
    7690             :     compiler::TNode<Number> tmp43;
    7691             :     ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    7692             :     ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
    7693             :   }
    7694             : 
    7695         112 :   if (block10.is_used()) {
    7696             :     compiler::TNode<Context> tmp44;
    7697             :     compiler::TNode<JSReceiver> tmp45;
    7698             :     compiler::TNode<Number> tmp46;
    7699             :     compiler::TNode<Object> tmp47;
    7700             :     compiler::TNode<Object> tmp48;
    7701             :     compiler::TNode<Object> tmp49;
    7702             :     compiler::TNode<String> tmp50;
    7703             :     compiler::TNode<Number> tmp51;
    7704             :     ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    7705             :     ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
    7706             :   }
    7707             : 
    7708         112 :   if (block8.is_used()) {
    7709             :     compiler::TNode<Context> tmp52;
    7710             :     compiler::TNode<JSReceiver> tmp53;
    7711             :     compiler::TNode<Number> tmp54;
    7712             :     compiler::TNode<Object> tmp55;
    7713             :     compiler::TNode<Object> tmp56;
    7714             :     compiler::TNode<Object> tmp57;
    7715             :     compiler::TNode<String> tmp58;
    7716             :     ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
    7717         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    7718         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    7719         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
    7720         112 :     if (label0.is_used()) {
    7721         112 :       ca_.Bind(&label0);
    7722             :       ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    7723             :     }
    7724         112 :     if (label1.is_used()) {
    7725         112 :       ca_.Bind(&label1);
    7726             :       ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    7727             :     }
    7728             :   }
    7729             : 
    7730         112 :   if (block11.is_used()) {
    7731             :     compiler::TNode<Context> tmp59;
    7732             :     compiler::TNode<JSReceiver> tmp60;
    7733             :     compiler::TNode<Number> tmp61;
    7734             :     compiler::TNode<Object> tmp62;
    7735             :     compiler::TNode<Object> tmp63;
    7736             :     compiler::TNode<Object> tmp64;
    7737             :     compiler::TNode<String> tmp65;
    7738             :     compiler::TNode<JSReceiver> tmp66;
    7739             :     ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
    7740             :     ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
    7741             :   }
    7742             : 
    7743         112 :   if (block12.is_used()) {
    7744             :     compiler::TNode<Context> tmp67;
    7745             :     compiler::TNode<JSReceiver> tmp68;
    7746             :     compiler::TNode<Number> tmp69;
    7747             :     compiler::TNode<Object> tmp70;
    7748             :     compiler::TNode<Object> tmp71;
    7749             :     compiler::TNode<Object> tmp72;
    7750             :     compiler::TNode<String> tmp73;
    7751             :     compiler::TNode<JSReceiver> tmp74;
    7752             :     ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
    7753             :     ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
    7754             :   }
    7755             : 
    7756         112 :   if (block6.is_used()) {
    7757             :     compiler::TNode<Context> tmp75;
    7758             :     compiler::TNode<JSReceiver> tmp76;
    7759             :     compiler::TNode<Number> tmp77;
    7760             :     compiler::TNode<Object> tmp78;
    7761             :     compiler::TNode<Object> tmp79;
    7762             :     compiler::TNode<Object> tmp80;
    7763             :     compiler::TNode<String> tmp81;
    7764             :     ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
    7765         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
    7766             :     compiler::TNode<Object> tmp82;
    7767             :     USE(tmp82);
    7768             :     compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7769         224 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
    7770         336 :     tmp82 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoin7JSArray(compiler::TNode<Context>{tmp75}, p_useToLocaleString, compiler::TNode<JSReceiver>{tmp76}, compiler::TNode<String>{tmp81}, compiler::TNode<Number>{tmp77}, compiler::TNode<Object>{tmp79}, compiler::TNode<Object>{tmp80}));
    7771             :     }
    7772         112 :     if (catch83_label.is_used()) {
    7773         112 :       compiler::CodeAssemblerLabel catch83_skip(&ca_);
    7774         112 :       ca_.Goto(&catch83_skip);
    7775             :       compiler::TNode<Object> catch83_exception_object;
    7776             :       ca_.Bind(&catch83_label, &catch83_exception_object);
    7777             :       ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
    7778         112 :       ca_.Bind(&catch83_skip);
    7779             :     }
    7780         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
    7781         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    7782             :     compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7783         224 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
    7784         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
    7785             :     }
    7786         112 :     if (catch84_label.is_used()) {
    7787         112 :       compiler::CodeAssemblerLabel catch84_skip(&ca_);
    7788         112 :       ca_.Goto(&catch84_skip);
    7789             :       compiler::TNode<Object> catch84_exception_object;
    7790             :       ca_.Bind(&catch84_label, &catch84_exception_object);
    7791             :       ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
    7792         112 :       ca_.Bind(&catch84_skip);
    7793             :     }
    7794         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
    7795             :     ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
    7796             :   }
    7797             : 
    7798         112 :   if (block16.is_used()) {
    7799             :     compiler::TNode<Context> tmp85;
    7800             :     compiler::TNode<JSReceiver> tmp86;
    7801             :     compiler::TNode<Number> tmp87;
    7802             :     compiler::TNode<Object> tmp88;
    7803             :     compiler::TNode<Object> tmp89;
    7804             :     compiler::TNode<Object> tmp90;
    7805             :     compiler::TNode<String> tmp91;
    7806             :     compiler::TNode<JSReceiver> tmp92;
    7807             :     compiler::TNode<String> tmp93;
    7808             :     compiler::TNode<Number> tmp94;
    7809             :     compiler::TNode<Object> tmp95;
    7810             :     compiler::TNode<Object> tmp96;
    7811             :     compiler::TNode<Object> tmp97;
    7812             :     ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
    7813         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
    7814             :     ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
    7815             :   }
    7816             : 
    7817         112 :   if (block17.is_used()) {
    7818             :     compiler::TNode<Context> tmp98;
    7819             :     compiler::TNode<JSReceiver> tmp99;
    7820             :     compiler::TNode<Number> tmp100;
    7821             :     compiler::TNode<Object> tmp101;
    7822             :     compiler::TNode<Object> tmp102;
    7823             :     compiler::TNode<Object> tmp103;
    7824             :     compiler::TNode<String> tmp104;
    7825             :     compiler::TNode<Object> tmp105;
    7826             :     compiler::TNode<JSReceiver> tmp106;
    7827             :     compiler::TNode<Object> tmp107;
    7828             :     ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
    7829         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    7830             :     ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
    7831             :   }
    7832             : 
    7833         112 :   if (block15.is_used()) {
    7834             :     compiler::TNode<Context> tmp108;
    7835             :     compiler::TNode<JSReceiver> tmp109;
    7836             :     compiler::TNode<Number> tmp110;
    7837             :     compiler::TNode<Object> tmp111;
    7838             :     compiler::TNode<Object> tmp112;
    7839             :     compiler::TNode<Object> tmp113;
    7840             :     compiler::TNode<String> tmp114;
    7841             :     compiler::TNode<Object> tmp115;
    7842             :     ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
    7843         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 550);
    7844         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
    7845         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
    7846         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
    7847         224 :     CodeStubAssembler(state_).Unreachable();
    7848             :   }
    7849             : 
    7850         112 :   if (block7.is_used()) {
    7851             :     compiler::TNode<Context> tmp117;
    7852             :     compiler::TNode<JSReceiver> tmp118;
    7853             :     compiler::TNode<Number> tmp119;
    7854             :     compiler::TNode<Object> tmp120;
    7855             :     compiler::TNode<Object> tmp121;
    7856             :     compiler::TNode<Object> tmp122;
    7857             :     compiler::TNode<String> tmp123;
    7858             :     ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
    7859         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 554);
    7860             :     compiler::TNode<String> tmp124;
    7861             :     USE(tmp124);
    7862         336 :     tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    7863             :     ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
    7864             :   }
    7865             : 
    7866         112 :   if (block1.is_used()) {
    7867             :     compiler::TNode<Context> tmp125;
    7868             :     compiler::TNode<JSReceiver> tmp126;
    7869             :     compiler::TNode<Number> tmp127;
    7870             :     compiler::TNode<Object> tmp128;
    7871             :     compiler::TNode<Object> tmp129;
    7872             :     compiler::TNode<Object> tmp130;
    7873             :     compiler::TNode<Object> tmp131;
    7874             :     ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
    7875         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 532);
    7876             :     ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
    7877             :   }
    7878             : 
    7879             :     compiler::TNode<Context> tmp132;
    7880             :     compiler::TNode<JSReceiver> tmp133;
    7881             :     compiler::TNode<Number> tmp134;
    7882             :     compiler::TNode<Object> tmp135;
    7883             :     compiler::TNode<Object> tmp136;
    7884             :     compiler::TNode<Object> tmp137;
    7885             :     compiler::TNode<Object> tmp138;
    7886             :     ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    7887         224 :   return compiler::TNode<Object>{tmp138};
    7888             : }
    7889             : 
    7890         112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_len, compiler::TNode<Object> p_sepObj, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
    7891         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7892             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7893             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7894             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7895             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7896             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7897             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7898             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7899             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7900             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7901             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7902             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7903             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7904             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7905             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7906             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7907             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7908             :     ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
    7909             : 
    7910         112 :   if (block0.is_used()) {
    7911             :     compiler::TNode<Context> tmp0;
    7912             :     compiler::TNode<JSReceiver> tmp1;
    7913             :     compiler::TNode<Number> tmp2;
    7914             :     compiler::TNode<Object> tmp3;
    7915             :     compiler::TNode<Object> tmp4;
    7916             :     compiler::TNode<Object> tmp5;
    7917             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    7918         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 539);
    7919             :     compiler::TNode<Oddball> tmp6;
    7920             :     USE(tmp6);
    7921         336 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    7922             :     compiler::TNode<BoolT> tmp7;
    7923             :     USE(tmp7);
    7924         224 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
    7925         112 :     ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
    7926             :   }
    7927             : 
    7928         112 :   if (block2.is_used()) {
    7929             :     compiler::TNode<Context> tmp8;
    7930             :     compiler::TNode<JSReceiver> tmp9;
    7931             :     compiler::TNode<Number> tmp10;
    7932             :     compiler::TNode<Object> tmp11;
    7933             :     compiler::TNode<Object> tmp12;
    7934             :     compiler::TNode<Object> tmp13;
    7935             :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    7936             :     ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
    7937             :   }
    7938             : 
    7939         112 :   if (block3.is_used()) {
    7940             :     compiler::TNode<Context> tmp14;
    7941             :     compiler::TNode<JSReceiver> tmp15;
    7942             :     compiler::TNode<Number> tmp16;
    7943             :     compiler::TNode<Object> tmp17;
    7944             :     compiler::TNode<Object> tmp18;
    7945             :     compiler::TNode<Object> tmp19;
    7946             :     ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
    7947             :     compiler::TNode<String> tmp20;
    7948             :     USE(tmp20);
    7949         448 :     tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
    7950             :     ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
    7951             :   }
    7952             : 
    7953         112 :   if (block5.is_used()) {
    7954             :     compiler::TNode<Context> tmp21;
    7955             :     compiler::TNode<JSReceiver> tmp22;
    7956             :     compiler::TNode<Number> tmp23;
    7957             :     compiler::TNode<Object> tmp24;
    7958             :     compiler::TNode<Object> tmp25;
    7959             :     compiler::TNode<Object> tmp26;
    7960             :     ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
    7961             :     compiler::TNode<String> tmp27;
    7962             :     USE(tmp27);
    7963         336 :     tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6String18ATconstexpr_string(","));
    7964             :     ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
    7965             :   }
    7966             : 
    7967         112 :   if (block4.is_used()) {
    7968             :     compiler::TNode<Context> tmp28;
    7969             :     compiler::TNode<JSReceiver> tmp29;
    7970             :     compiler::TNode<Number> tmp30;
    7971             :     compiler::TNode<Object> tmp31;
    7972             :     compiler::TNode<Object> tmp32;
    7973             :     compiler::TNode<Object> tmp33;
    7974             :     compiler::TNode<String> tmp34;
    7975             :     ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
    7976         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 538);
    7977         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
    7978             :     compiler::TNode<Number> tmp35;
    7979             :     USE(tmp35);
    7980         336 :     tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
    7981         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    7982         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    7983         224 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
    7984         112 :     if (label0.is_used()) {
    7985         112 :       ca_.Bind(&label0);
    7986             :       ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7987             :     }
    7988         112 :     if (label1.is_used()) {
    7989         112 :       ca_.Bind(&label1);
    7990             :       ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7991             :     }
    7992             :   }
    7993             : 
    7994         112 :   if (block9.is_used()) {
    7995             :     compiler::TNode<Context> tmp36;
    7996             :     compiler::TNode<JSReceiver> tmp37;
    7997             :     compiler::TNode<Number> tmp38;
    7998             :     compiler::TNode<Object> tmp39;
    7999             :     compiler::TNode<Object> tmp40;
    8000             :     compiler::TNode<Object> tmp41;
    8001             :     compiler::TNode<String> tmp42;
    8002             :     compiler::TNode<Number> tmp43;
    8003             :     ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    8004             :     ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
    8005             :   }
    8006             : 
    8007         112 :   if (block10.is_used()) {
    8008             :     compiler::TNode<Context> tmp44;
    8009             :     compiler::TNode<JSReceiver> tmp45;
    8010             :     compiler::TNode<Number> tmp46;
    8011             :     compiler::TNode<Object> tmp47;
    8012             :     compiler::TNode<Object> tmp48;
    8013             :     compiler::TNode<Object> tmp49;
    8014             :     compiler::TNode<String> tmp50;
    8015             :     compiler::TNode<Number> tmp51;
    8016             :     ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    8017             :     ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
    8018             :   }
    8019             : 
    8020         112 :   if (block8.is_used()) {
    8021             :     compiler::TNode<Context> tmp52;
    8022             :     compiler::TNode<JSReceiver> tmp53;
    8023             :     compiler::TNode<Number> tmp54;
    8024             :     compiler::TNode<Object> tmp55;
    8025             :     compiler::TNode<Object> tmp56;
    8026             :     compiler::TNode<Object> tmp57;
    8027             :     compiler::TNode<String> tmp58;
    8028             :     ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
    8029         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    8030         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    8031         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
    8032         112 :     if (label0.is_used()) {
    8033         112 :       ca_.Bind(&label0);
    8034             :       ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    8035             :     }
    8036         112 :     if (label1.is_used()) {
    8037         112 :       ca_.Bind(&label1);
    8038             :       ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    8039             :     }
    8040             :   }
    8041             : 
    8042         112 :   if (block11.is_used()) {
    8043             :     compiler::TNode<Context> tmp59;
    8044             :     compiler::TNode<JSReceiver> tmp60;
    8045             :     compiler::TNode<Number> tmp61;
    8046             :     compiler::TNode<Object> tmp62;
    8047             :     compiler::TNode<Object> tmp63;
    8048             :     compiler::TNode<Object> tmp64;
    8049             :     compiler::TNode<String> tmp65;
    8050             :     compiler::TNode<JSReceiver> tmp66;
    8051             :     ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
    8052             :     ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
    8053             :   }
    8054             : 
    8055         112 :   if (block12.is_used()) {
    8056             :     compiler::TNode<Context> tmp67;
    8057             :     compiler::TNode<JSReceiver> tmp68;
    8058             :     compiler::TNode<Number> tmp69;
    8059             :     compiler::TNode<Object> tmp70;
    8060             :     compiler::TNode<Object> tmp71;
    8061             :     compiler::TNode<Object> tmp72;
    8062             :     compiler::TNode<String> tmp73;
    8063             :     compiler::TNode<JSReceiver> tmp74;
    8064             :     ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
    8065             :     ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
    8066             :   }
    8067             : 
    8068         112 :   if (block6.is_used()) {
    8069             :     compiler::TNode<Context> tmp75;
    8070             :     compiler::TNode<JSReceiver> tmp76;
    8071             :     compiler::TNode<Number> tmp77;
    8072             :     compiler::TNode<Object> tmp78;
    8073             :     compiler::TNode<Object> tmp79;
    8074             :     compiler::TNode<Object> tmp80;
    8075             :     compiler::TNode<String> tmp81;
    8076             :     ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
    8077         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
    8078             :     compiler::TNode<Object> tmp82;
    8079             :     USE(tmp82);
    8080             :     compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8081         224 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
    8082         336 :     tmp82 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp75}, p_useToLocaleString, compiler::TNode<JSReceiver>{tmp76}, compiler::TNode<String>{tmp81}, compiler::TNode<Number>{tmp77}, compiler::TNode<Object>{tmp79}, compiler::TNode<Object>{tmp80}));
    8083             :     }
    8084         112 :     if (catch83_label.is_used()) {
    8085         112 :       compiler::CodeAssemblerLabel catch83_skip(&ca_);
    8086         112 :       ca_.Goto(&catch83_skip);
    8087             :       compiler::TNode<Object> catch83_exception_object;
    8088             :       ca_.Bind(&catch83_label, &catch83_exception_object);
    8089             :       ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
    8090         112 :       ca_.Bind(&catch83_skip);
    8091             :     }
    8092         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
    8093         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    8094             :     compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8095         224 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
    8096         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
    8097             :     }
    8098         112 :     if (catch84_label.is_used()) {
    8099         112 :       compiler::CodeAssemblerLabel catch84_skip(&ca_);
    8100         112 :       ca_.Goto(&catch84_skip);
    8101             :       compiler::TNode<Object> catch84_exception_object;
    8102             :       ca_.Bind(&catch84_label, &catch84_exception_object);
    8103             :       ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
    8104         112 :       ca_.Bind(&catch84_skip);
    8105             :     }
    8106         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
    8107             :     ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
    8108             :   }
    8109             : 
    8110         112 :   if (block16.is_used()) {
    8111             :     compiler::TNode<Context> tmp85;
    8112             :     compiler::TNode<JSReceiver> tmp86;
    8113             :     compiler::TNode<Number> tmp87;
    8114             :     compiler::TNode<Object> tmp88;
    8115             :     compiler::TNode<Object> tmp89;
    8116             :     compiler::TNode<Object> tmp90;
    8117             :     compiler::TNode<String> tmp91;
    8118             :     compiler::TNode<JSReceiver> tmp92;
    8119             :     compiler::TNode<String> tmp93;
    8120             :     compiler::TNode<Number> tmp94;
    8121             :     compiler::TNode<Object> tmp95;
    8122             :     compiler::TNode<Object> tmp96;
    8123             :     compiler::TNode<Object> tmp97;
    8124             :     ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
    8125         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
    8126             :     ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
    8127             :   }
    8128             : 
    8129         112 :   if (block17.is_used()) {
    8130             :     compiler::TNode<Context> tmp98;
    8131             :     compiler::TNode<JSReceiver> tmp99;
    8132             :     compiler::TNode<Number> tmp100;
    8133             :     compiler::TNode<Object> tmp101;
    8134             :     compiler::TNode<Object> tmp102;
    8135             :     compiler::TNode<Object> tmp103;
    8136             :     compiler::TNode<String> tmp104;
    8137             :     compiler::TNode<Object> tmp105;
    8138             :     compiler::TNode<JSReceiver> tmp106;
    8139             :     compiler::TNode<Object> tmp107;
    8140             :     ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
    8141         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    8142             :     ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
    8143             :   }
    8144             : 
    8145         112 :   if (block15.is_used()) {
    8146             :     compiler::TNode<Context> tmp108;
    8147             :     compiler::TNode<JSReceiver> tmp109;
    8148             :     compiler::TNode<Number> tmp110;
    8149             :     compiler::TNode<Object> tmp111;
    8150             :     compiler::TNode<Object> tmp112;
    8151             :     compiler::TNode<Object> tmp113;
    8152             :     compiler::TNode<String> tmp114;
    8153             :     compiler::TNode<Object> tmp115;
    8154             :     ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
    8155         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 550);
    8156         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
    8157         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
    8158         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
    8159         224 :     CodeStubAssembler(state_).Unreachable();
    8160             :   }
    8161             : 
    8162         112 :   if (block7.is_used()) {
    8163             :     compiler::TNode<Context> tmp117;
    8164             :     compiler::TNode<JSReceiver> tmp118;
    8165             :     compiler::TNode<Number> tmp119;
    8166             :     compiler::TNode<Object> tmp120;
    8167             :     compiler::TNode<Object> tmp121;
    8168             :     compiler::TNode<Object> tmp122;
    8169             :     compiler::TNode<String> tmp123;
    8170             :     ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
    8171         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 554);
    8172             :     compiler::TNode<String> tmp124;
    8173             :     USE(tmp124);
    8174         336 :     tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    8175             :     ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
    8176             :   }
    8177             : 
    8178         112 :   if (block1.is_used()) {
    8179             :     compiler::TNode<Context> tmp125;
    8180             :     compiler::TNode<JSReceiver> tmp126;
    8181             :     compiler::TNode<Number> tmp127;
    8182             :     compiler::TNode<Object> tmp128;
    8183             :     compiler::TNode<Object> tmp129;
    8184             :     compiler::TNode<Object> tmp130;
    8185             :     compiler::TNode<Object> tmp131;
    8186             :     ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
    8187         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 532);
    8188             :     ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
    8189             :   }
    8190             : 
    8191             :     compiler::TNode<Context> tmp132;
    8192             :     compiler::TNode<JSReceiver> tmp133;
    8193             :     compiler::TNode<Number> tmp134;
    8194             :     compiler::TNode<Object> tmp135;
    8195             :     compiler::TNode<Object> tmp136;
    8196             :     compiler::TNode<Object> tmp137;
    8197             :     compiler::TNode<Object> tmp138;
    8198             :     ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    8199         224 :   return compiler::TNode<Object>{tmp138};
    8200             : }
    8201             : 
    8202         448 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<Smi> p_element) {
    8203         448 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8204             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8205             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8206             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8207             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8208             :     ca_.Goto(&block0, p_fixedArray, p_index, p_element);
    8209             : 
    8210         448 :   if (block0.is_used()) {
    8211             :     compiler::TNode<FixedArray> tmp0;
    8212             :     compiler::TNode<IntPtrT> tmp1;
    8213             :     compiler::TNode<Smi> tmp2;
    8214             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    8215         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
    8216             :     compiler::TNode<IntPtrT> tmp3;
    8217             :     USE(tmp3);
    8218         896 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
    8219         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
    8220             :     compiler::TNode<BoolT> tmp4;
    8221             :     USE(tmp4);
    8222        1344 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
    8223         448 :     ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
    8224             :   }
    8225             : 
    8226         448 :   if (block2.is_used()) {
    8227             :     compiler::TNode<FixedArray> tmp5;
    8228             :     compiler::TNode<IntPtrT> tmp6;
    8229             :     compiler::TNode<Smi> tmp7;
    8230             :     compiler::TNode<IntPtrT> tmp8;
    8231             :     ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
    8232         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
    8233         896 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<Smi>{tmp7});
    8234         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
    8235             :     ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
    8236             :   }
    8237             : 
    8238         448 :   if (block3.is_used()) {
    8239             :     compiler::TNode<FixedArray> tmp9;
    8240             :     compiler::TNode<IntPtrT> tmp10;
    8241             :     compiler::TNode<Smi> tmp11;
    8242             :     compiler::TNode<IntPtrT> tmp12;
    8243             :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
    8244         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
    8245             :     compiler::TNode<IntPtrT> tmp13;
    8246             :     USE(tmp13);
    8247         896 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
    8248         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
    8249             :     compiler::TNode<IntPtrT> tmp14;
    8250             :     USE(tmp14);
    8251        1344 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    8252             :     compiler::TNode<FixedArray> tmp15;
    8253             :     USE(tmp15);
    8254         896 :     tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArray>{tmp9}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp12}, compiler::TNode<IntPtrT>{tmp13}, CodeStubAssembler::ExtractFixedArrayFlag::kFixedArrays));
    8255         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
    8256         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
    8257         896 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<Smi>{tmp11});
    8258         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
    8259             :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
    8260             :   }
    8261             : 
    8262         448 :   if (block1.is_used()) {
    8263             :     compiler::TNode<FixedArray> tmp16;
    8264             :     compiler::TNode<IntPtrT> tmp17;
    8265             :     compiler::TNode<Smi> tmp18;
    8266             :     compiler::TNode<FixedArray> tmp19;
    8267             :     ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
    8268         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
    8269             :     ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
    8270             :   }
    8271             : 
    8272             :     compiler::TNode<FixedArray> tmp20;
    8273             :     compiler::TNode<IntPtrT> tmp21;
    8274             :     compiler::TNode<Smi> tmp22;
    8275             :     compiler::TNode<FixedArray> tmp23;
    8276             :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
    8277         896 :   return compiler::TNode<FixedArray>{tmp23};
    8278             : }
    8279             : 
    8280         224 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray6String(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<String> p_element) {
    8281         224 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8282             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8283             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8284             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8285             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8286             :     ca_.Goto(&block0, p_fixedArray, p_index, p_element);
    8287             : 
    8288         224 :   if (block0.is_used()) {
    8289             :     compiler::TNode<FixedArray> tmp0;
    8290             :     compiler::TNode<IntPtrT> tmp1;
    8291             :     compiler::TNode<String> tmp2;
    8292             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    8293         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
    8294             :     compiler::TNode<IntPtrT> tmp3;
    8295             :     USE(tmp3);
    8296         448 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
    8297         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
    8298             :     compiler::TNode<BoolT> tmp4;
    8299             :     USE(tmp4);
    8300         672 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
    8301         224 :     ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
    8302             :   }
    8303             : 
    8304         224 :   if (block2.is_used()) {
    8305             :     compiler::TNode<FixedArray> tmp5;
    8306             :     compiler::TNode<IntPtrT> tmp6;
    8307             :     compiler::TNode<String> tmp7;
    8308             :     compiler::TNode<IntPtrT> tmp8;
    8309             :     ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
    8310         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
    8311         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
    8312         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
    8313             :     ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
    8314             :   }
    8315             : 
    8316         224 :   if (block3.is_used()) {
    8317             :     compiler::TNode<FixedArray> tmp9;
    8318             :     compiler::TNode<IntPtrT> tmp10;
    8319             :     compiler::TNode<String> tmp11;
    8320             :     compiler::TNode<IntPtrT> tmp12;
    8321             :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
    8322         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
    8323             :     compiler::TNode<IntPtrT> tmp13;
    8324             :     USE(tmp13);
    8325         448 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
    8326         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
    8327             :     compiler::TNode<IntPtrT> tmp14;
    8328             :     USE(tmp14);
    8329         672 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    8330             :     compiler::TNode<FixedArray> tmp15;
    8331             :     USE(tmp15);
    8332         448 :     tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArray>{tmp9}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp12}, compiler::TNode<IntPtrT>{tmp13}, CodeStubAssembler::ExtractFixedArrayFlag::kFixedArrays));
    8333         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
    8334         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
    8335         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
    8336         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
    8337             :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
    8338             :   }
    8339             : 
    8340         224 :   if (block1.is_used()) {
    8341             :     compiler::TNode<FixedArray> tmp16;
    8342             :     compiler::TNode<IntPtrT> tmp17;
    8343             :     compiler::TNode<String> tmp18;
    8344             :     compiler::TNode<FixedArray> tmp19;
    8345             :     ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
    8346         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
    8347             :     ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
    8348             :   }
    8349             : 
    8350             :     compiler::TNode<FixedArray> tmp20;
    8351             :     compiler::TNode<IntPtrT> tmp21;
    8352             :     compiler::TNode<String> tmp22;
    8353             :     compiler::TNode<FixedArray> tmp23;
    8354             :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
    8355         448 :   return compiler::TNode<FixedArray>{tmp23};
    8356             : }
    8357             : 
    8358             : }  // namespace internal
    8359       59480 : }  // namespace v8
    8360             : 

Generated by: LCOV version 1.10