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-17 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-regexp-gen.h"
      23             : #include "src/builtins/builtins-regexp-gen.h"
      24             : #include "src/builtins/builtins-regexp-gen.h"
      25             : #include "src/builtins/builtins-typed-array-gen.h"
      26             : #include "src/builtins/builtins-constructor-gen.h"
      27             : #include "src/builtins/builtins-typed-array-gen.h"
      28             : #include "src/builtins/builtins-typed-array-gen.h"
      29             : #include "src/builtins/builtins-typed-array-gen.h"
      30             : #include "src/builtins/builtins-typed-array-gen.h"
      31             : #include "src/builtins/builtins-typed-array-gen.h"
      32             : #include "src/builtins/builtins-typed-array-gen.h"
      33             : #include "src/builtins/builtins-typed-array-gen.h"
      34             : #include "src/builtins/builtins-typed-array-gen.h"
      35             : #include "torque-generated/builtins-base-from-dsl-gen.h"
      36             : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
      37             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      38             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      39             : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
      40             : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
      41             : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
      42             : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
      43             : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
      44             : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
      45             : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
      46             : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
      47             : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
      48             : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
      49             : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
      50             : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
      51             : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
      52             : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
      53             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      54             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      55             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      56             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      57             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      58             : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
      59             : #include "torque-generated/builtins-regexp-from-dsl-gen.h"
      60             : #include "torque-generated/builtins-regexp-replace-from-dsl-gen.h"
      61             : #include "torque-generated/builtins-string-from-dsl-gen.h"
      62             : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
      63             : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
      64             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      65             : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
      66             : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
      67             : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
      68             : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
      69             : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
      70             : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
      71             : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
      72             : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
      73             : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
      74             : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
      75             : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
      76             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      77             : 
      78             : namespace v8 {
      79             : namespace internal {
      80             : 
      81         224 : TF_BUILTIN(LoadJoinElement20ATDictionaryElements, CodeStubAssembler) {
      82          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
      83             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
      84             :   USE(parameter0);
      85             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
      86             :   USE(parameter1);
      87             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
      88             :   USE(parameter2);
      89             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      90             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      91             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      92             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      93             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
      94             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      95             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
      96             : 
      97          56 :   if (block0.is_used()) {
      98             :     compiler::TNode<Context> tmp0;
      99             :     compiler::TNode<JSReceiver> tmp1;
     100             :     compiler::TNode<Number> tmp2;
     101             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     102          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 21);
     103             :     compiler::TNode<JSArray> tmp3;
     104             :     USE(tmp3);
     105         112 :     tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     106          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 22);
     107          56 :     compiler::TNode<IntPtrT> tmp4 = ca_.IntPtrConstant(JSObject::kElementsOffset);
     108             :     USE(tmp4);
     109         112 :     compiler::TNode<FixedArrayBase>tmp5 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp3, tmp4});
     110             :     compiler::TNode<NumberDictionary> tmp6;
     111             :     USE(tmp6);
     112         112 :     tmp6 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
     113          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 24);
     114             :     compiler::TNode<UintPtrT> tmp7;
     115             :     USE(tmp7);
     116         112 :     tmp7 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number>{tmp2}));
     117             :     compiler::TNode<IntPtrT> tmp8;
     118             :     USE(tmp8);
     119         112 :     tmp8 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp7}));
     120             :     compiler::TNode<Object> tmp9;
     121             :     USE(tmp9);
     122          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     123          56 :     compiler::CodeAssemblerLabel label1(&ca_);
     124         112 :     tmp9 = CodeStubAssembler(state_).BasicLoadNumberDictionaryElement(compiler::TNode<NumberDictionary>{tmp6}, compiler::TNode<IntPtrT>{tmp8}, &label0, &label1);
     125             :     ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp8, tmp9);
     126          56 :     if (label0.is_used()) {
     127          56 :       ca_.Bind(&label0);
     128             :       ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp8);
     129             :     }
     130          56 :     if (label1.is_used()) {
     131          56 :       ca_.Bind(&label1);
     132             :       ca_.Goto(&block7, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp8);
     133             :     }
     134             :   }
     135             : 
     136          56 :   if (block6.is_used()) {
     137             :     compiler::TNode<Context> tmp10;
     138             :     compiler::TNode<JSReceiver> tmp11;
     139             :     compiler::TNode<Number> tmp12;
     140             :     compiler::TNode<JSArray> tmp13;
     141             :     compiler::TNode<NumberDictionary> tmp14;
     142             :     compiler::TNode<NumberDictionary> tmp15;
     143             :     compiler::TNode<IntPtrT> tmp16;
     144             :     ca_.Bind(&block6, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
     145             :     ca_.Goto(&block4, tmp10, tmp11, tmp12, tmp13, tmp14);
     146             :   }
     147             : 
     148          56 :   if (block7.is_used()) {
     149             :     compiler::TNode<Context> tmp17;
     150             :     compiler::TNode<JSReceiver> tmp18;
     151             :     compiler::TNode<Number> tmp19;
     152             :     compiler::TNode<JSArray> tmp20;
     153             :     compiler::TNode<NumberDictionary> tmp21;
     154             :     compiler::TNode<NumberDictionary> tmp22;
     155             :     compiler::TNode<IntPtrT> tmp23;
     156             :     ca_.Bind(&block7, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
     157             :     ca_.Goto(&block2, tmp17, tmp18, tmp19, tmp20, tmp21);
     158             :   }
     159             : 
     160          56 :   if (block5.is_used()) {
     161             :     compiler::TNode<Context> tmp24;
     162             :     compiler::TNode<JSReceiver> tmp25;
     163             :     compiler::TNode<Number> tmp26;
     164             :     compiler::TNode<JSArray> tmp27;
     165             :     compiler::TNode<NumberDictionary> tmp28;
     166             :     compiler::TNode<NumberDictionary> tmp29;
     167             :     compiler::TNode<IntPtrT> tmp30;
     168             :     compiler::TNode<Object> tmp31;
     169             :     ca_.Bind(&block5, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
     170         112 :     CodeStubAssembler(state_).Return(tmp31);
     171             :   }
     172             : 
     173          56 :   if (block4.is_used()) {
     174             :     compiler::TNode<Context> tmp32;
     175             :     compiler::TNode<JSReceiver> tmp33;
     176             :     compiler::TNode<Number> tmp34;
     177             :     compiler::TNode<JSArray> tmp35;
     178             :     compiler::TNode<NumberDictionary> tmp36;
     179             :     ca_.Bind(&block4, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
     180          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 28);
     181             :     compiler::TNode<Object> tmp37;
     182             :     USE(tmp37);
     183         112 :     tmp37 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp32}, compiler::TNode<Object>{tmp33}, compiler::TNode<Object>{tmp34}));
     184         112 :     CodeStubAssembler(state_).Return(tmp37);
     185             :   }
     186             : 
     187          56 :   if (block2.is_used()) {
     188             :     compiler::TNode<Context> tmp38;
     189             :     compiler::TNode<JSReceiver> tmp39;
     190             :     compiler::TNode<Number> tmp40;
     191             :     compiler::TNode<JSArray> tmp41;
     192             :     compiler::TNode<NumberDictionary> tmp42;
     193             :     ca_.Bind(&block2, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42);
     194          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 31);
     195             :     compiler::TNode<String> tmp43;
     196             :     USE(tmp43);
     197         112 :     tmp43 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     198         112 :     CodeStubAssembler(state_).Return(tmp43);
     199             :   }
     200          56 : }
     201             : 
     202         224 : TF_BUILTIN(LoadJoinElement25ATFastSmiOrObjectElements, CodeStubAssembler) {
     203          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     204             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     205             :   USE(parameter0);
     206             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
     207             :   USE(parameter1);
     208             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
     209             :   USE(parameter2);
     210             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     211             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     212             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     213             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     214             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     215             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
     216             : 
     217          56 :   if (block0.is_used()) {
     218             :     compiler::TNode<Context> tmp0;
     219             :     compiler::TNode<JSReceiver> tmp1;
     220             :     compiler::TNode<Number> tmp2;
     221             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     222          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 37);
     223             :     compiler::TNode<JSArray> tmp3;
     224             :     USE(tmp3);
     225         112 :     tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     226          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 38);
     227          56 :     compiler::TNode<IntPtrT> tmp4 = ca_.IntPtrConstant(JSObject::kElementsOffset);
     228             :     USE(tmp4);
     229         112 :     compiler::TNode<FixedArrayBase>tmp5 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp3, tmp4});
     230             :     compiler::TNode<FixedArray> tmp6;
     231             :     USE(tmp6);
     232         112 :     tmp6 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
     233          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 39);
     234             :     compiler::TNode<Smi> tmp7;
     235             :     USE(tmp7);
     236         112 :     tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     237             :     compiler::TNode<Object> tmp8;
     238             :     USE(tmp8);
     239         112 :     tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp6}, compiler::TNode<Smi>{tmp7}));
     240          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 40);
     241             :     compiler::TNode<Oddball> tmp9;
     242             :     USE(tmp9);
     243         112 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).Hole();
     244             :     compiler::TNode<BoolT> tmp10;
     245             :     USE(tmp10);
     246         112 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp8}, compiler::TNode<HeapObject>{tmp9}));
     247          56 :     ca_.Branch(tmp10, &block1, &block2, tmp0, tmp1, tmp2, tmp3, tmp6, tmp8);
     248             :   }
     249             : 
     250          56 :   if (block1.is_used()) {
     251             :     compiler::TNode<Context> tmp11;
     252             :     compiler::TNode<JSReceiver> tmp12;
     253             :     compiler::TNode<Number> tmp13;
     254             :     compiler::TNode<JSArray> tmp14;
     255             :     compiler::TNode<FixedArray> tmp15;
     256             :     compiler::TNode<Object> tmp16;
     257             :     ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
     258             :     compiler::TNode<String> tmp17;
     259             :     USE(tmp17);
     260         112 :     tmp17 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     261             :     ca_.Goto(&block4, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
     262             :   }
     263             : 
     264          56 :   if (block2.is_used()) {
     265             :     compiler::TNode<Context> tmp18;
     266             :     compiler::TNode<JSReceiver> tmp19;
     267             :     compiler::TNode<Number> tmp20;
     268             :     compiler::TNode<JSArray> tmp21;
     269             :     compiler::TNode<FixedArray> tmp22;
     270             :     compiler::TNode<Object> tmp23;
     271             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
     272             :     ca_.Goto(&block3, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp23);
     273             :   }
     274             : 
     275          56 :   if (block4.is_used()) {
     276             :     compiler::TNode<Context> tmp24;
     277             :     compiler::TNode<JSReceiver> tmp25;
     278             :     compiler::TNode<Number> tmp26;
     279             :     compiler::TNode<JSArray> tmp27;
     280             :     compiler::TNode<FixedArray> tmp28;
     281             :     compiler::TNode<Object> tmp29;
     282             :     compiler::TNode<String> tmp30;
     283             :     ca_.Bind(&block4, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
     284             :     ca_.Goto(&block3, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30);
     285             :   }
     286             : 
     287          56 :   if (block3.is_used()) {
     288             :     compiler::TNode<Context> tmp31;
     289             :     compiler::TNode<JSReceiver> tmp32;
     290             :     compiler::TNode<Number> tmp33;
     291             :     compiler::TNode<JSArray> tmp34;
     292             :     compiler::TNode<FixedArray> tmp35;
     293             :     compiler::TNode<Object> tmp36;
     294             :     compiler::TNode<Object> tmp37;
     295             :     ca_.Bind(&block3, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
     296         112 :     CodeStubAssembler(state_).Return(tmp37);
     297             :   }
     298          56 : }
     299             : 
     300         224 : TF_BUILTIN(LoadJoinElement20ATFastDoubleElements, CodeStubAssembler) {
     301          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     302             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     303             :   USE(parameter0);
     304             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
     305             :   USE(parameter1);
     306             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
     307             :   USE(parameter2);
     308             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     309             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     310             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi, Float64T> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     311             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     312             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     313             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
     314             : 
     315          56 :   if (block0.is_used()) {
     316             :     compiler::TNode<Context> tmp0;
     317             :     compiler::TNode<JSReceiver> tmp1;
     318             :     compiler::TNode<Number> tmp2;
     319             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     320          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 45);
     321             :     compiler::TNode<JSArray> tmp3;
     322             :     USE(tmp3);
     323         112 :     tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     324          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 47);
     325          56 :     compiler::TNode<IntPtrT> tmp4 = ca_.IntPtrConstant(JSObject::kElementsOffset);
     326             :     USE(tmp4);
     327         112 :     compiler::TNode<FixedArrayBase>tmp5 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp3, tmp4});
     328             :     compiler::TNode<FixedDoubleArray> tmp6;
     329             :     USE(tmp6);
     330         112 :     tmp6 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
     331          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 46);
     332          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
     333             :     compiler::TNode<Smi> tmp7;
     334             :     USE(tmp7);
     335         112 :     tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     336          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
     337             :     compiler::TNode<Float64T> tmp8;
     338             :     USE(tmp8);
     339          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     340         112 :     tmp8 = CodeStubAssembler(state_).LoadDoubleWithHoleCheck(compiler::TNode<FixedDoubleArray>{tmp6}, compiler::TNode<Smi>{tmp7}, &label0);
     341             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp7, tmp8);
     342          56 :     if (label0.is_used()) {
     343          56 :       ca_.Bind(&label0);
     344             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp6, tmp6, tmp7);
     345             :     }
     346             :   }
     347             : 
     348          56 :   if (block4.is_used()) {
     349             :     compiler::TNode<Context> tmp9;
     350             :     compiler::TNode<JSReceiver> tmp10;
     351             :     compiler::TNode<Number> tmp11;
     352             :     compiler::TNode<JSArray> tmp12;
     353             :     compiler::TNode<FixedDoubleArray> tmp13;
     354             :     compiler::TNode<FixedDoubleArray> tmp14;
     355             :     compiler::TNode<Smi> tmp15;
     356             :     ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     357             :     ca_.Goto(&block2, tmp9, tmp10, tmp11, tmp12, tmp13);
     358             :   }
     359             : 
     360          56 :   if (block3.is_used()) {
     361             :     compiler::TNode<Context> tmp16;
     362             :     compiler::TNode<JSReceiver> tmp17;
     363             :     compiler::TNode<Number> tmp18;
     364             :     compiler::TNode<JSArray> tmp19;
     365             :     compiler::TNode<FixedDoubleArray> tmp20;
     366             :     compiler::TNode<FixedDoubleArray> tmp21;
     367             :     compiler::TNode<Smi> tmp22;
     368             :     compiler::TNode<Float64T> tmp23;
     369             :     ca_.Bind(&block3, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
     370             :     ca_.Goto(&block1, tmp16, tmp17, tmp18, tmp19, tmp20, tmp23);
     371             :   }
     372             : 
     373          56 :   if (block2.is_used()) {
     374             :     compiler::TNode<Context> tmp24;
     375             :     compiler::TNode<JSReceiver> tmp25;
     376             :     compiler::TNode<Number> tmp26;
     377             :     compiler::TNode<JSArray> tmp27;
     378             :     compiler::TNode<FixedDoubleArray> tmp28;
     379             :     ca_.Bind(&block2, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
     380          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
     381             :     compiler::TNode<String> tmp29;
     382             :     USE(tmp29);
     383         112 :     tmp29 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     384         112 :     CodeStubAssembler(state_).Return(tmp29);
     385             :   }
     386             : 
     387          56 :   if (block1.is_used()) {
     388             :     compiler::TNode<Context> tmp30;
     389             :     compiler::TNode<JSReceiver> tmp31;
     390             :     compiler::TNode<Number> tmp32;
     391             :     compiler::TNode<JSArray> tmp33;
     392             :     compiler::TNode<FixedDoubleArray> tmp34;
     393             :     compiler::TNode<Float64T> tmp35;
     394             :     ca_.Bind(&block1, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
     395          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
     396          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 50);
     397             :     compiler::TNode<HeapNumber> tmp36;
     398             :     USE(tmp36);
     399         168 :     tmp36 = ca_.UncheckedCast<HeapNumber>(CodeStubAssembler(state_).AllocateHeapNumberWithValue(compiler::TNode<Float64T>{tmp35}));
     400         112 :     CodeStubAssembler(state_).Return(tmp36);
     401             :   }
     402          56 : }
     403             : 
     404         224 : TF_BUILTIN(ConvertToLocaleString, CodeStubAssembler) {
     405          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     406             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     407             :   USE(parameter0);
     408             :   compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kElement));
     409             :   USE(parameter1);
     410             :   compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kLocales));
     411             :   USE(parameter2);
     412             :   compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kOptions));
     413             :   USE(parameter3);
     414             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     415             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     416             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     417             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     418             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     419             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     420             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     421             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     422             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     423             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     424             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     425             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     426             :     ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3);
     427             : 
     428          56 :   if (block0.is_used()) {
     429             :     compiler::TNode<Context> tmp0;
     430             :     compiler::TNode<Object> tmp1;
     431             :     compiler::TNode<Object> tmp2;
     432             :     compiler::TNode<Object> tmp3;
     433             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
     434          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 65);
     435             :     compiler::TNode<BoolT> tmp4;
     436             :     USE(tmp4);
     437         168 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp1}));
     438          56 :     ca_.Branch(tmp4, &block1, &block2, tmp0, tmp1, tmp2, tmp3);
     439             :   }
     440             : 
     441          56 :   if (block1.is_used()) {
     442             :     compiler::TNode<Context> tmp5;
     443             :     compiler::TNode<Object> tmp6;
     444             :     compiler::TNode<Object> tmp7;
     445             :     compiler::TNode<Object> tmp8;
     446             :     ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
     447             :     compiler::TNode<String> tmp9;
     448             :     USE(tmp9);
     449         112 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     450         112 :     CodeStubAssembler(state_).Return(tmp9);
     451             :   }
     452             : 
     453          56 :   if (block2.is_used()) {
     454             :     compiler::TNode<Context> tmp10;
     455             :     compiler::TNode<Object> tmp11;
     456             :     compiler::TNode<Object> tmp12;
     457             :     compiler::TNode<Object> tmp13;
     458             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13);
     459          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 67);
     460             :     compiler::TNode<Object> tmp14;
     461             :     USE(tmp14);
     462         112 :     tmp14 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("toLocaleString"));
     463             :     compiler::TNode<Object> tmp15;
     464             :     USE(tmp15);
     465         112 :     tmp15 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp11}, compiler::TNode<Object>{tmp14}));
     466          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 69);
     467             :     compiler::TNode<JSReceiver> tmp16;
     468             :     USE(tmp16);
     469          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     470         112 :     tmp16 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp15}, &label0);
     471             :     ca_.Goto(&block5, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15, tmp16);
     472          56 :     if (label0.is_used()) {
     473          56 :       ca_.Bind(&label0);
     474             :       ca_.Goto(&block6, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15);
     475             :     }
     476             :   }
     477             : 
     478          56 :   if (block6.is_used()) {
     479             :     compiler::TNode<Context> tmp17;
     480             :     compiler::TNode<Object> tmp18;
     481             :     compiler::TNode<Object> tmp19;
     482             :     compiler::TNode<Object> tmp20;
     483             :     compiler::TNode<Object> tmp21;
     484             :     compiler::TNode<Object> tmp22;
     485             :     ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
     486             :     ca_.Goto(&block4, tmp17, tmp18, tmp19, tmp20, tmp21);
     487             :   }
     488             : 
     489          56 :   if (block5.is_used()) {
     490             :     compiler::TNode<Context> tmp23;
     491             :     compiler::TNode<Object> tmp24;
     492             :     compiler::TNode<Object> tmp25;
     493             :     compiler::TNode<Object> tmp26;
     494             :     compiler::TNode<Object> tmp27;
     495             :     compiler::TNode<Object> tmp28;
     496             :     compiler::TNode<JSReceiver> tmp29;
     497             :     ca_.Bind(&block5, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
     498          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 70);
     499          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
     500             :     compiler::TNode<BoolT> tmp30;
     501             :     USE(tmp30);
     502         168 :     tmp30 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp25}));
     503          56 :     ca_.Branch(tmp30, &block7, &block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp29, ca_.Uninitialized<Object>());
     504             :   }
     505             : 
     506          56 :   if (block7.is_used()) {
     507             :     compiler::TNode<Context> tmp31;
     508             :     compiler::TNode<Object> tmp32;
     509             :     compiler::TNode<Object> tmp33;
     510             :     compiler::TNode<Object> tmp34;
     511             :     compiler::TNode<Object> tmp35;
     512             :     compiler::TNode<JSReceiver> tmp36;
     513             :     compiler::TNode<Object> tmp37;
     514             :     ca_.Bind(&block7, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
     515          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 72);
     516             :     compiler::TNode<Object> tmp38;
     517             :     USE(tmp38);
     518         168 :     tmp38 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp31}, compiler::TNode<JSReceiver>{tmp36}, compiler::TNode<Object>{tmp32}));
     519          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
     520             :     ca_.Goto(&block9, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp38);
     521             :   }
     522             : 
     523          56 :   if (block8.is_used()) {
     524             :     compiler::TNode<Context> tmp39;
     525             :     compiler::TNode<Object> tmp40;
     526             :     compiler::TNode<Object> tmp41;
     527             :     compiler::TNode<Object> tmp42;
     528             :     compiler::TNode<Object> tmp43;
     529             :     compiler::TNode<JSReceiver> tmp44;
     530             :     compiler::TNode<Object> tmp45;
     531             :     ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
     532          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
     533             :     compiler::TNode<BoolT> tmp46;
     534             :     USE(tmp46);
     535         168 :     tmp46 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp42}));
     536          56 :     ca_.Branch(tmp46, &block10, &block11, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45);
     537             :   }
     538             : 
     539          56 :   if (block10.is_used()) {
     540             :     compiler::TNode<Context> tmp47;
     541             :     compiler::TNode<Object> tmp48;
     542             :     compiler::TNode<Object> tmp49;
     543             :     compiler::TNode<Object> tmp50;
     544             :     compiler::TNode<Object> tmp51;
     545             :     compiler::TNode<JSReceiver> tmp52;
     546             :     compiler::TNode<Object> tmp53;
     547             :     ca_.Bind(&block10, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
     548          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 74);
     549             :     compiler::TNode<Object> tmp54;
     550             :     USE(tmp54);
     551         168 :     tmp54 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp47}, compiler::TNode<JSReceiver>{tmp52}, compiler::TNode<Object>{tmp48}, compiler::TNode<Object>{tmp49}));
     552          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
     553             :     ca_.Goto(&block12, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp54);
     554             :   }
     555             : 
     556          56 :   if (block11.is_used()) {
     557             :     compiler::TNode<Context> tmp55;
     558             :     compiler::TNode<Object> tmp56;
     559             :     compiler::TNode<Object> tmp57;
     560             :     compiler::TNode<Object> tmp58;
     561             :     compiler::TNode<Object> tmp59;
     562             :     compiler::TNode<JSReceiver> tmp60;
     563             :     compiler::TNode<Object> tmp61;
     564             :     ca_.Bind(&block11, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61);
     565          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 76);
     566             :     compiler::TNode<Object> tmp62;
     567             :     USE(tmp62);
     568         168 :     tmp62 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp55}, compiler::TNode<JSReceiver>{tmp60}, compiler::TNode<Object>{tmp56}, compiler::TNode<Object>{tmp57}, compiler::TNode<Object>{tmp58}));
     569          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
     570             :     ca_.Goto(&block12, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp62);
     571             :   }
     572             : 
     573          56 :   if (block12.is_used()) {
     574             :     compiler::TNode<Context> tmp63;
     575             :     compiler::TNode<Object> tmp64;
     576             :     compiler::TNode<Object> tmp65;
     577             :     compiler::TNode<Object> tmp66;
     578             :     compiler::TNode<Object> tmp67;
     579             :     compiler::TNode<JSReceiver> tmp68;
     580             :     compiler::TNode<Object> tmp69;
     581             :     ca_.Bind(&block12, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
     582          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
     583             :     ca_.Goto(&block9, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69);
     584             :   }
     585             : 
     586          56 :   if (block9.is_used()) {
     587             :     compiler::TNode<Context> tmp70;
     588             :     compiler::TNode<Object> tmp71;
     589             :     compiler::TNode<Object> tmp72;
     590             :     compiler::TNode<Object> tmp73;
     591             :     compiler::TNode<Object> tmp74;
     592             :     compiler::TNode<JSReceiver> tmp75;
     593             :     compiler::TNode<Object> tmp76;
     594             :     ca_.Bind(&block9, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76);
     595          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 78);
     596             :     compiler::TNode<String> tmp77;
     597             :     USE(tmp77);
     598         224 :     tmp77 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp70}, compiler::TNode<Object>{tmp76}));
     599         112 :     CodeStubAssembler(state_).Return(tmp77);
     600             :   }
     601             : 
     602          56 :   if (block4.is_used()) {
     603             :     compiler::TNode<Context> tmp78;
     604             :     compiler::TNode<Object> tmp79;
     605             :     compiler::TNode<Object> tmp80;
     606             :     compiler::TNode<Object> tmp81;
     607             :     compiler::TNode<Object> tmp82;
     608             :     ca_.Bind(&block4, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82);
     609          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 81);
     610         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp78}, MessageTemplate::kCalledNonCallable, compiler::TNode<Object>{tmp82});
     611             :   }
     612          56 : }
     613             : 
     614         112 : void ArrayJoinBuiltinsFromDSLAssembler::CannotUseSameArrayAccessor7JSArray(compiler::TNode<Context> p_context, compiler::TNode<BuiltinPtr> p_loadFn, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<Map> p_originalMap, compiler::TNode<Number> p_originalLen, compiler::CodeAssemblerLabel* label_Cannot, compiler::CodeAssemblerLabel* label_Can) {
     615         112 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     616             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     617             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     618             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     619             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     620             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     621             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     622             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     623             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     624             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     625             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     626             :     ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_originalMap, p_originalLen);
     627             : 
     628         112 :   if (block0.is_used()) {
     629             :     compiler::TNode<Context> tmp0;
     630             :     compiler::TNode<BuiltinPtr> tmp1;
     631             :     compiler::TNode<JSReceiver> tmp2;
     632             :     compiler::TNode<Map> tmp3;
     633             :     compiler::TNode<Number> tmp4;
     634             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     635         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 96);
     636             :     compiler::TNode<BoolT> tmp5;
     637             :     USE(tmp5);
     638         224 :     tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp1}, compiler::TNode<Smi>{ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor))}));
     639         112 :     ca_.Branch(tmp5, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4);
     640             :   }
     641             : 
     642         112 :   if (block3.is_used()) {
     643             :     compiler::TNode<Context> tmp6;
     644             :     compiler::TNode<BuiltinPtr> tmp7;
     645             :     compiler::TNode<JSReceiver> tmp8;
     646             :     compiler::TNode<Map> tmp9;
     647             :     compiler::TNode<Number> tmp10;
     648             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
     649             :     ca_.Goto(&block2);
     650             :   }
     651             : 
     652         112 :   if (block4.is_used()) {
     653             :     compiler::TNode<Context> tmp11;
     654             :     compiler::TNode<BuiltinPtr> tmp12;
     655             :     compiler::TNode<JSReceiver> tmp13;
     656             :     compiler::TNode<Map> tmp14;
     657             :     compiler::TNode<Number> tmp15;
     658             :     ca_.Bind(&block4, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     659         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 98);
     660             :     compiler::TNode<JSArray> tmp16;
     661             :     USE(tmp16);
     662         336 :     tmp16 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp11}, compiler::TNode<Object>{tmp13}));
     663         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 99);
     664         112 :     compiler::TNode<IntPtrT> tmp17 = ca_.IntPtrConstant(HeapObject::kMapOffset);
     665             :     USE(tmp17);
     666         224 :     compiler::TNode<Map>tmp18 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp16, tmp17});
     667             :     compiler::TNode<BoolT> tmp19;
     668             :     USE(tmp19);
     669         224 :     tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<HeapObject>{tmp14}, compiler::TNode<HeapObject>{tmp18}));
     670         112 :     ca_.Branch(tmp19, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
     671             :   }
     672             : 
     673         112 :   if (block5.is_used()) {
     674             :     compiler::TNode<Context> tmp20;
     675             :     compiler::TNode<BuiltinPtr> tmp21;
     676             :     compiler::TNode<JSReceiver> tmp22;
     677             :     compiler::TNode<Map> tmp23;
     678             :     compiler::TNode<Number> tmp24;
     679             :     compiler::TNode<JSArray> tmp25;
     680             :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
     681             :     ca_.Goto(&block1);
     682             :   }
     683             : 
     684         112 :   if (block6.is_used()) {
     685             :     compiler::TNode<Context> tmp26;
     686             :     compiler::TNode<BuiltinPtr> tmp27;
     687             :     compiler::TNode<JSReceiver> tmp28;
     688             :     compiler::TNode<Map> tmp29;
     689             :     compiler::TNode<Number> tmp30;
     690             :     compiler::TNode<JSArray> tmp31;
     691             :     ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
     692         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 100);
     693         112 :     compiler::TNode<IntPtrT> tmp32 = ca_.IntPtrConstant(JSArray::kLengthOffset);
     694             :     USE(tmp32);
     695         336 :     compiler::TNode<Number>tmp33 = CodeStubAssembler(state_).LoadReference<Number>(CodeStubAssembler::Reference{tmp31, tmp32});
     696             :     compiler::TNode<BoolT> tmp34;
     697             :     USE(tmp34);
     698         336 :     tmp34 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp33}));
     699         112 :     ca_.Branch(tmp34, &block7, &block8, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31);
     700             :   }
     701             : 
     702         112 :   if (block7.is_used()) {
     703             :     compiler::TNode<Context> tmp35;
     704             :     compiler::TNode<BuiltinPtr> tmp36;
     705             :     compiler::TNode<JSReceiver> tmp37;
     706             :     compiler::TNode<Map> tmp38;
     707             :     compiler::TNode<Number> tmp39;
     708             :     compiler::TNode<JSArray> tmp40;
     709             :     ca_.Bind(&block7, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40);
     710             :     ca_.Goto(&block1);
     711             :   }
     712             : 
     713         112 :   if (block8.is_used()) {
     714             :     compiler::TNode<Context> tmp41;
     715             :     compiler::TNode<BuiltinPtr> tmp42;
     716             :     compiler::TNode<JSReceiver> tmp43;
     717             :     compiler::TNode<Map> tmp44;
     718             :     compiler::TNode<Number> tmp45;
     719             :     compiler::TNode<JSArray> tmp46;
     720             :     ca_.Bind(&block8, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46);
     721         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 101);
     722             :     compiler::TNode<BoolT> tmp47;
     723             :     USE(tmp47);
     724         224 :     tmp47 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
     725         112 :     ca_.Branch(tmp47, &block9, &block10, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46);
     726             :   }
     727             : 
     728         112 :   if (block9.is_used()) {
     729             :     compiler::TNode<Context> tmp48;
     730             :     compiler::TNode<BuiltinPtr> tmp49;
     731             :     compiler::TNode<JSReceiver> tmp50;
     732             :     compiler::TNode<Map> tmp51;
     733             :     compiler::TNode<Number> tmp52;
     734             :     compiler::TNode<JSArray> tmp53;
     735             :     ca_.Bind(&block9, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
     736             :     ca_.Goto(&block1);
     737             :   }
     738             : 
     739         112 :   if (block10.is_used()) {
     740             :     compiler::TNode<Context> tmp54;
     741             :     compiler::TNode<BuiltinPtr> tmp55;
     742             :     compiler::TNode<JSReceiver> tmp56;
     743             :     compiler::TNode<Map> tmp57;
     744             :     compiler::TNode<Number> tmp58;
     745             :     compiler::TNode<JSArray> tmp59;
     746             :     ca_.Bind(&block10, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
     747         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 102);
     748             :     ca_.Goto(&block2);
     749             :   }
     750             : 
     751         112 :   if (block1.is_used()) {
     752             :     ca_.Bind(&block1);
     753         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
     754         112 :     ca_.Goto(label_Cannot);
     755             :   }
     756             : 
     757         112 :   if (block2.is_used()) {
     758             :     ca_.Bind(&block2);
     759         112 :     ca_.Goto(label_Can);
     760             :   }
     761         112 : }
     762             : 
     763         112 : void ArrayJoinBuiltinsFromDSLAssembler::CannotUseSameArrayAccessor12JSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<BuiltinPtr> p_loadFn, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<Map> p_initialMap, compiler::TNode<Number> p_initialLen, compiler::CodeAssemblerLabel* label_Cannot, compiler::CodeAssemblerLabel* label_Can) {
     764         112 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     765             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     766             :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     767             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     768             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     769             :     ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_initialMap, p_initialLen);
     770             : 
     771         112 :   if (block0.is_used()) {
     772             :     compiler::TNode<Context> tmp0;
     773             :     compiler::TNode<BuiltinPtr> tmp1;
     774             :     compiler::TNode<JSReceiver> tmp2;
     775             :     compiler::TNode<Map> tmp3;
     776             :     compiler::TNode<Number> tmp4;
     777             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     778         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 109);
     779             :     compiler::TNode<JSTypedArray> tmp5;
     780             :     USE(tmp5);
     781         336 :     tmp5 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     782         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 110);
     783         112 :     compiler::TNode<IntPtrT> tmp6 = ca_.IntPtrConstant(JSArrayBufferView::kBufferOffset);
     784             :     USE(tmp6);
     785         224 :     compiler::TNode<JSArrayBuffer>tmp7 = CodeStubAssembler(state_).LoadReference<JSArrayBuffer>(CodeStubAssembler::Reference{tmp5, tmp6});
     786             :     compiler::TNode<BoolT> tmp8;
     787             :     USE(tmp8);
     788         224 :     tmp8 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsDetachedBuffer(compiler::TNode<JSArrayBuffer>{tmp7}));
     789         112 :     ca_.Branch(tmp8, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
     790             :   }
     791             : 
     792         112 :   if (block3.is_used()) {
     793             :     compiler::TNode<Context> tmp9;
     794             :     compiler::TNode<BuiltinPtr> tmp10;
     795             :     compiler::TNode<JSReceiver> tmp11;
     796             :     compiler::TNode<Map> tmp12;
     797             :     compiler::TNode<Number> tmp13;
     798             :     compiler::TNode<JSTypedArray> tmp14;
     799             :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
     800             :     ca_.Goto(&block1);
     801             :   }
     802             : 
     803         112 :   if (block4.is_used()) {
     804             :     compiler::TNode<Context> tmp15;
     805             :     compiler::TNode<BuiltinPtr> tmp16;
     806             :     compiler::TNode<JSReceiver> tmp17;
     807             :     compiler::TNode<Map> tmp18;
     808             :     compiler::TNode<Number> tmp19;
     809             :     compiler::TNode<JSTypedArray> tmp20;
     810             :     ca_.Bind(&block4, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
     811         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 111);
     812             :     ca_.Goto(&block2);
     813             :   }
     814             : 
     815         112 :   if (block1.is_used()) {
     816             :     ca_.Bind(&block1);
     817         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
     818         112 :     ca_.Goto(label_Cannot);
     819             :   }
     820             : 
     821         112 :   if (block2.is_used()) {
     822             :     ca_.Bind(&block2);
     823         112 :     ca_.Goto(label_Can);
     824             :   }
     825         112 : }
     826             : 
     827         672 : compiler::TNode<IntPtrT> ArrayJoinBuiltinsFromDSLAssembler::AddStringLength(compiler::TNode<Context> p_context, compiler::TNode<IntPtrT> p_lenA, compiler::TNode<IntPtrT> p_lenB) {
     828         672 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     829             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     830             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     831             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     832             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     833             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     834             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     835             :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     836             :     ca_.Goto(&block0, p_context, p_lenA, p_lenB);
     837             : 
     838         672 :   if (block0.is_used()) {
     839             :     compiler::TNode<Context> tmp0;
     840             :     compiler::TNode<IntPtrT> tmp1;
     841             :     compiler::TNode<IntPtrT> tmp2;
     842             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     843         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 120);
     844             :     compiler::TNode<IntPtrT> tmp3;
     845             :     USE(tmp3);
     846         672 :     compiler::CodeAssemblerLabel label0(&ca_);
     847        1344 :     tmp3 = CodeStubAssembler(state_).TryIntPtrAdd(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp2}, &label0);
     848             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp1, tmp2, tmp3);
     849         672 :     if (label0.is_used()) {
     850         672 :       ca_.Bind(&label0);
     851             :       ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp1, tmp2);
     852             :     }
     853             :   }
     854             : 
     855         672 :   if (block5.is_used()) {
     856             :     compiler::TNode<Context> tmp4;
     857             :     compiler::TNode<IntPtrT> tmp5;
     858             :     compiler::TNode<IntPtrT> tmp6;
     859             :     compiler::TNode<IntPtrT> tmp7;
     860             :     compiler::TNode<IntPtrT> tmp8;
     861             :     ca_.Bind(&block5, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
     862             :     ca_.Goto(&block3, tmp4, tmp5, tmp6);
     863             :   }
     864             : 
     865         672 :   if (block4.is_used()) {
     866             :     compiler::TNode<Context> tmp9;
     867             :     compiler::TNode<IntPtrT> tmp10;
     868             :     compiler::TNode<IntPtrT> tmp11;
     869             :     compiler::TNode<IntPtrT> tmp12;
     870             :     compiler::TNode<IntPtrT> tmp13;
     871             :     compiler::TNode<IntPtrT> tmp14;
     872             :     ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
     873         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 121);
     874             :     compiler::TNode<IntPtrT> tmp15;
     875             :     USE(tmp15);
     876        2016 :     tmp15 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(String::kMaxLength));
     877             :     compiler::TNode<BoolT> tmp16;
     878             :     USE(tmp16);
     879        2016 :     tmp16 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp15}));
     880         672 :     ca_.Branch(tmp16, &block6, &block7, tmp9, tmp10, tmp11, tmp14);
     881             :   }
     882             : 
     883         672 :   if (block6.is_used()) {
     884             :     compiler::TNode<Context> tmp17;
     885             :     compiler::TNode<IntPtrT> tmp18;
     886             :     compiler::TNode<IntPtrT> tmp19;
     887             :     compiler::TNode<IntPtrT> tmp20;
     888             :     ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20);
     889             :     ca_.Goto(&block3, tmp17, tmp18, tmp19);
     890             :   }
     891             : 
     892         672 :   if (block7.is_used()) {
     893             :     compiler::TNode<Context> tmp21;
     894             :     compiler::TNode<IntPtrT> tmp22;
     895             :     compiler::TNode<IntPtrT> tmp23;
     896             :     compiler::TNode<IntPtrT> tmp24;
     897             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23, &tmp24);
     898         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 122);
     899             :     ca_.Goto(&block1, tmp21, tmp22, tmp23, tmp24);
     900             :   }
     901             : 
     902         672 :   if (block3.is_used()) {
     903             :     compiler::TNode<Context> tmp25;
     904             :     compiler::TNode<IntPtrT> tmp26;
     905             :     compiler::TNode<IntPtrT> tmp27;
     906             :     ca_.Bind(&block3, &tmp25, &tmp26, &tmp27);
     907         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 125);
     908        1344 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp25);
     909        1344 :     CodeStubAssembler(state_).Unreachable();
     910             :   }
     911             : 
     912         672 :   if (block1.is_used()) {
     913             :     compiler::TNode<Context> tmp29;
     914             :     compiler::TNode<IntPtrT> tmp30;
     915             :     compiler::TNode<IntPtrT> tmp31;
     916             :     compiler::TNode<IntPtrT> tmp32;
     917             :     ca_.Bind(&block1, &tmp29, &tmp30, &tmp31, &tmp32);
     918         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 117);
     919             :     ca_.Goto(&block8, tmp29, tmp30, tmp31, tmp32);
     920             :   }
     921             : 
     922             :     compiler::TNode<Context> tmp33;
     923             :     compiler::TNode<IntPtrT> tmp34;
     924             :     compiler::TNode<IntPtrT> tmp35;
     925             :     compiler::TNode<IntPtrT> tmp36;
     926             :     ca_.Bind(&block8, &tmp33, &tmp34, &tmp35, &tmp36);
     927        1344 :   return compiler::TNode<IntPtrT>{tmp36};
     928             : }
     929             : 
     930         224 : ArrayJoinBuiltinsFromDSLAssembler::Buffer ArrayJoinBuiltinsFromDSLAssembler::NewBuffer(compiler::TNode<UintPtrT> p_len, compiler::TNode<String> p_sep) {
     931         224 :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     932             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     933             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     934             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     935             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     936             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, FixedArray, IntPtrT, IntPtrT, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     937             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, FixedArray, IntPtrT, IntPtrT, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     938             :     ca_.Goto(&block0, p_len, p_sep);
     939             : 
     940         224 :   if (block0.is_used()) {
     941             :     compiler::TNode<UintPtrT> tmp0;
     942             :     compiler::TNode<String> tmp1;
     943             :     ca_.Bind(&block0, &tmp0, &tmp1);
     944         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 217);
     945             :     compiler::TNode<UintPtrT> tmp2;
     946             :     USE(tmp2);
     947         672 :     tmp2 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
     948             :     compiler::TNode<BoolT> tmp3;
     949             :     USE(tmp3);
     950         672 :     tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp0}, compiler::TNode<UintPtrT>{tmp2}));
     951         224 :     ca_.Branch(tmp3, &block2, &block3, tmp0, tmp1);
     952             :   }
     953             : 
     954         224 :   if (block2.is_used()) {
     955             :     compiler::TNode<UintPtrT> tmp4;
     956             :     compiler::TNode<String> tmp5;
     957             :     ca_.Bind(&block2, &tmp4, &tmp5);
     958             :     ca_.Goto(&block5, tmp4, tmp5);
     959             :   }
     960             : 
     961         224 :   if (block3.is_used()) {
     962             :     compiler::TNode<UintPtrT> tmp6;
     963             :     compiler::TNode<String> tmp7;
     964             :     ca_.Bind(&block3, &tmp6, &tmp7);
     965         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 219);
     966             :     compiler::TNode<IntPtrT> tmp8;
     967             :     USE(tmp8);
     968         448 :     tmp8 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp6}));
     969         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 217);
     970             :     ca_.Goto(&block4, tmp6, tmp7, tmp8);
     971             :   }
     972             : 
     973         224 :   if (block5.is_used()) {
     974             :     compiler::TNode<UintPtrT> tmp9;
     975             :     compiler::TNode<String> tmp10;
     976             :     ca_.Bind(&block5, &tmp9, &tmp10);
     977             :     compiler::TNode<IntPtrT> tmp11;
     978             :     USE(tmp11);
     979         672 :     tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
     980             :     ca_.Goto(&block4, tmp9, tmp10, tmp11);
     981             :   }
     982             : 
     983         224 :   if (block4.is_used()) {
     984             :     compiler::TNode<UintPtrT> tmp12;
     985             :     compiler::TNode<String> tmp13;
     986             :     compiler::TNode<IntPtrT> tmp14;
     987             :     ca_.Bind(&block4, &tmp12, &tmp13, &tmp14);
     988         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 222);
     989             :     compiler::TNode<FixedArray> tmp15;
     990             :     USE(tmp15);
     991         448 :     tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateZeroedFixedArray(compiler::TNode<IntPtrT>{tmp14}));
     992         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 225);
     993             :     compiler::TNode<Int32T> tmp16;
     994             :     USE(tmp16);
     995         448 :     tmp16 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp13}));
     996             :     compiler::TNode<BoolT> tmp17;
     997             :     USE(tmp17);
     998         448 :     tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp16}));
     999         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 221);
    1000             :     compiler::TNode<IntPtrT> tmp18;
    1001             :     USE(tmp18);
    1002         672 :     tmp18 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    1003             :     compiler::TNode<IntPtrT> tmp19;
    1004             :     USE(tmp19);
    1005         672 :     tmp19 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    1006             :     ca_.Goto(&block1, tmp12, tmp13, tmp15, tmp18, tmp19, tmp17);
    1007             :   }
    1008             : 
    1009         224 :   if (block1.is_used()) {
    1010             :     compiler::TNode<UintPtrT> tmp20;
    1011             :     compiler::TNode<String> tmp21;
    1012             :     compiler::TNode<FixedArray> tmp22;
    1013             :     compiler::TNode<IntPtrT> tmp23;
    1014             :     compiler::TNode<IntPtrT> tmp24;
    1015             :     compiler::TNode<BoolT> tmp25;
    1016             :     ca_.Bind(&block1, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
    1017         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 216);
    1018             :     ca_.Goto(&block6, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25);
    1019             :   }
    1020             : 
    1021             :     compiler::TNode<UintPtrT> tmp26;
    1022             :     compiler::TNode<String> tmp27;
    1023             :     compiler::TNode<FixedArray> tmp28;
    1024             :     compiler::TNode<IntPtrT> tmp29;
    1025             :     compiler::TNode<IntPtrT> tmp30;
    1026             :     compiler::TNode<BoolT> tmp31;
    1027             :     ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
    1028         448 :   return ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp28}, compiler::TNode<IntPtrT>{tmp29}, compiler::TNode<IntPtrT>{tmp30}, compiler::TNode<BoolT>{tmp31}};
    1029             : }
    1030             : 
    1031         224 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::BufferJoin(compiler::TNode<Context> p_context, ArrayJoinBuiltinsFromDSLAssembler::Buffer p_buffer, compiler::TNode<String> p_sep) {
    1032         224 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1033             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1034             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1035             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1036             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1037             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1038             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1039             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1040             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1041             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1042             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1043             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1044             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1045             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1046             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1047             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1048             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1049             :     ca_.Goto(&block0, p_context, p_buffer.fixedArray, p_buffer.index, p_buffer.totalStringLength, p_buffer.isOneByte, p_sep);
    1050             : 
    1051         224 :   if (block0.is_used()) {
    1052             :     compiler::TNode<Context> tmp0;
    1053             :     compiler::TNode<FixedArray> tmp1;
    1054             :     compiler::TNode<IntPtrT> tmp2;
    1055             :     compiler::TNode<IntPtrT> tmp3;
    1056             :     compiler::TNode<BoolT> tmp4;
    1057             :     compiler::TNode<String> tmp5;
    1058             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    1059         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 232);
    1060             :     compiler::TNode<IntPtrT> tmp6;
    1061             :     USE(tmp6);
    1062         672 :     tmp6 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    1063             :     compiler::TNode<BoolT> tmp7;
    1064             :     USE(tmp7);
    1065         672 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp6}));
    1066         224 :     ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
    1067             :   }
    1068             : 
    1069         224 :   if (block2.is_used()) {
    1070             :     compiler::TNode<Context> tmp8;
    1071             :     compiler::TNode<FixedArray> tmp9;
    1072             :     compiler::TNode<IntPtrT> tmp10;
    1073             :     compiler::TNode<IntPtrT> tmp11;
    1074             :     compiler::TNode<BoolT> tmp12;
    1075             :     compiler::TNode<String> tmp13;
    1076             :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    1077             :     compiler::TNode<String> tmp14;
    1078             :     USE(tmp14);
    1079         672 :     tmp14 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    1080             :     ca_.Goto(&block1, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
    1081             :   }
    1082             : 
    1083         224 :   if (block3.is_used()) {
    1084             :     compiler::TNode<Context> tmp15;
    1085             :     compiler::TNode<FixedArray> tmp16;
    1086             :     compiler::TNode<IntPtrT> tmp17;
    1087             :     compiler::TNode<IntPtrT> tmp18;
    1088             :     compiler::TNode<BoolT> tmp19;
    1089             :     compiler::TNode<String> tmp20;
    1090             :     ca_.Bind(&block3, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
    1091         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 235);
    1092             :     compiler::TNode<IntPtrT> tmp21;
    1093             :     USE(tmp21);
    1094         672 :     tmp21 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    1095             :     compiler::TNode<BoolT> tmp22;
    1096             :     USE(tmp22);
    1097         672 :     tmp22 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp17}, compiler::TNode<IntPtrT>{tmp21}));
    1098         224 :     ca_.Branch(tmp22, &block4, &block5, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
    1099             :   }
    1100             : 
    1101         224 :   if (block4.is_used()) {
    1102             :     compiler::TNode<Context> tmp23;
    1103             :     compiler::TNode<FixedArray> tmp24;
    1104             :     compiler::TNode<IntPtrT> tmp25;
    1105             :     compiler::TNode<IntPtrT> tmp26;
    1106             :     compiler::TNode<BoolT> tmp27;
    1107             :     compiler::TNode<String> tmp28;
    1108             :     ca_.Bind(&block4, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
    1109         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 236);
    1110         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 237);
    1111             :     compiler::TNode<Object> tmp29;
    1112             :     USE(tmp29);
    1113         448 :     tmp29 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, 0));
    1114         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 240);
    1115             :     compiler::TNode<String> tmp30;
    1116             :     USE(tmp30);
    1117         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    1118         672 :     tmp30 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp23}, compiler::TNode<Object>{tmp29}, &label0);
    1119             :     ca_.Goto(&block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29, tmp30);
    1120         224 :     if (label0.is_used()) {
    1121         224 :       ca_.Bind(&label0);
    1122             :       ca_.Goto(&block9, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29);
    1123             :     }
    1124             :   }
    1125             : 
    1126         224 :   if (block9.is_used()) {
    1127             :     compiler::TNode<Context> tmp31;
    1128             :     compiler::TNode<FixedArray> tmp32;
    1129             :     compiler::TNode<IntPtrT> tmp33;
    1130             :     compiler::TNode<IntPtrT> tmp34;
    1131             :     compiler::TNode<BoolT> tmp35;
    1132             :     compiler::TNode<String> tmp36;
    1133             :     compiler::TNode<FixedArray> tmp37;
    1134             :     compiler::TNode<Object> tmp38;
    1135             :     compiler::TNode<Object> tmp39;
    1136             :     ca_.Bind(&block9, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
    1137             :     ca_.Goto(&block7, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38);
    1138             :   }
    1139             : 
    1140         224 :   if (block8.is_used()) {
    1141             :     compiler::TNode<Context> tmp40;
    1142             :     compiler::TNode<FixedArray> tmp41;
    1143             :     compiler::TNode<IntPtrT> tmp42;
    1144             :     compiler::TNode<IntPtrT> tmp43;
    1145             :     compiler::TNode<BoolT> tmp44;
    1146             :     compiler::TNode<String> tmp45;
    1147             :     compiler::TNode<FixedArray> tmp46;
    1148             :     compiler::TNode<Object> tmp47;
    1149             :     compiler::TNode<Object> tmp48;
    1150             :     compiler::TNode<String> tmp49;
    1151             :     ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
    1152         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 241);
    1153             :     ca_.Goto(&block1, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp49);
    1154             :   }
    1155             : 
    1156         224 :   if (block7.is_used()) {
    1157             :     compiler::TNode<Context> tmp50;
    1158             :     compiler::TNode<FixedArray> tmp51;
    1159             :     compiler::TNode<IntPtrT> tmp52;
    1160             :     compiler::TNode<IntPtrT> tmp53;
    1161             :     compiler::TNode<BoolT> tmp54;
    1162             :     compiler::TNode<String> tmp55;
    1163             :     compiler::TNode<FixedArray> tmp56;
    1164             :     compiler::TNode<Object> tmp57;
    1165             :     ca_.Bind(&block7, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
    1166         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 246);
    1167             :     compiler::TNode<Number> tmp58;
    1168             :     USE(tmp58);
    1169         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    1170         672 :     tmp58 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp57)}, &label0);
    1171             :     ca_.Goto(&block12, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57), tmp58);
    1172         224 :     if (label0.is_used()) {
    1173         224 :       ca_.Bind(&label0);
    1174             :       ca_.Goto(&block13, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57));
    1175             :     }
    1176             :   }
    1177             : 
    1178         224 :   if (block13.is_used()) {
    1179             :     compiler::TNode<Context> tmp59;
    1180             :     compiler::TNode<FixedArray> tmp60;
    1181             :     compiler::TNode<IntPtrT> tmp61;
    1182             :     compiler::TNode<IntPtrT> tmp62;
    1183             :     compiler::TNode<BoolT> tmp63;
    1184             :     compiler::TNode<String> tmp64;
    1185             :     compiler::TNode<FixedArray> tmp65;
    1186             :     compiler::TNode<Object> tmp66;
    1187             :     compiler::TNode<Object> tmp67;
    1188             :     ca_.Bind(&block13, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
    1189             :     ca_.Goto(&block11, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66);
    1190             :   }
    1191             : 
    1192         224 :   if (block12.is_used()) {
    1193             :     compiler::TNode<Context> tmp68;
    1194             :     compiler::TNode<FixedArray> tmp69;
    1195             :     compiler::TNode<IntPtrT> tmp70;
    1196             :     compiler::TNode<IntPtrT> tmp71;
    1197             :     compiler::TNode<BoolT> tmp72;
    1198             :     compiler::TNode<String> tmp73;
    1199             :     compiler::TNode<FixedArray> tmp74;
    1200             :     compiler::TNode<Object> tmp75;
    1201             :     compiler::TNode<Object> tmp76;
    1202             :     compiler::TNode<Number> tmp77;
    1203             :     ca_.Bind(&block12, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
    1204         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 247);
    1205             :     compiler::TNode<String> tmp78;
    1206         448 :     tmp78 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp68, tmp73, tmp77));
    1207             :     USE(tmp78);
    1208             :     ca_.Goto(&block1, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp78);
    1209             :   }
    1210             : 
    1211         224 :   if (block11.is_used()) {
    1212             :     compiler::TNode<Context> tmp79;
    1213             :     compiler::TNode<FixedArray> tmp80;
    1214             :     compiler::TNode<IntPtrT> tmp81;
    1215             :     compiler::TNode<IntPtrT> tmp82;
    1216             :     compiler::TNode<BoolT> tmp83;
    1217             :     compiler::TNode<String> tmp84;
    1218             :     compiler::TNode<FixedArray> tmp85;
    1219             :     compiler::TNode<Object> tmp86;
    1220             :     ca_.Bind(&block11, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86);
    1221         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 249);
    1222         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 250);
    1223         448 :     CodeStubAssembler(state_).Unreachable();
    1224             :   }
    1225             : 
    1226         224 :   if (block5.is_used()) {
    1227             :     compiler::TNode<Context> tmp87;
    1228             :     compiler::TNode<FixedArray> tmp88;
    1229             :     compiler::TNode<IntPtrT> tmp89;
    1230             :     compiler::TNode<IntPtrT> tmp90;
    1231             :     compiler::TNode<BoolT> tmp91;
    1232             :     compiler::TNode<String> tmp92;
    1233             :     ca_.Bind(&block5, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
    1234         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 255);
    1235             :     compiler::TNode<UintPtrT> tmp93;
    1236             :     USE(tmp93);
    1237         448 :     tmp93 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).Unsigned(compiler::TNode<IntPtrT>{tmp90}));
    1238             :     compiler::TNode<Uint32T> tmp94;
    1239             :     USE(tmp94);
    1240         672 :     tmp94 = ca_.UncheckedCast<Uint32T>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATuint329ATuintptr(compiler::TNode<UintPtrT>{tmp93}));
    1241         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 256);
    1242         224 :     ca_.Branch(tmp91, &block14, &block15, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp94);
    1243             :   }
    1244             : 
    1245         224 :   if (block14.is_used()) {
    1246             :     compiler::TNode<Context> tmp95;
    1247             :     compiler::TNode<FixedArray> tmp96;
    1248             :     compiler::TNode<IntPtrT> tmp97;
    1249             :     compiler::TNode<IntPtrT> tmp98;
    1250             :     compiler::TNode<BoolT> tmp99;
    1251             :     compiler::TNode<String> tmp100;
    1252             :     compiler::TNode<Uint32T> tmp101;
    1253             :     ca_.Bind(&block14, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101);
    1254             :     compiler::TNode<String> tmp102;
    1255             :     USE(tmp102);
    1256         448 :     tmp102 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqOneByteString(compiler::TNode<Context>{tmp95}, compiler::TNode<Uint32T>{tmp101}));
    1257             :     ca_.Goto(&block17, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102);
    1258             :   }
    1259             : 
    1260         224 :   if (block15.is_used()) {
    1261             :     compiler::TNode<Context> tmp103;
    1262             :     compiler::TNode<FixedArray> tmp104;
    1263             :     compiler::TNode<IntPtrT> tmp105;
    1264             :     compiler::TNode<IntPtrT> tmp106;
    1265             :     compiler::TNode<BoolT> tmp107;
    1266             :     compiler::TNode<String> tmp108;
    1267             :     compiler::TNode<Uint32T> tmp109;
    1268             :     ca_.Bind(&block15, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
    1269         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 257);
    1270             :     compiler::TNode<String> tmp110;
    1271             :     USE(tmp110);
    1272         448 :     tmp110 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqTwoByteString(compiler::TNode<Context>{tmp103}, compiler::TNode<Uint32T>{tmp109}));
    1273         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 256);
    1274             :     ca_.Goto(&block16, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110);
    1275             :   }
    1276             : 
    1277         224 :   if (block17.is_used()) {
    1278             :     compiler::TNode<Context> tmp111;
    1279             :     compiler::TNode<FixedArray> tmp112;
    1280             :     compiler::TNode<IntPtrT> tmp113;
    1281             :     compiler::TNode<IntPtrT> tmp114;
    1282             :     compiler::TNode<BoolT> tmp115;
    1283             :     compiler::TNode<String> tmp116;
    1284             :     compiler::TNode<Uint32T> tmp117;
    1285             :     compiler::TNode<String> tmp118;
    1286             :     ca_.Bind(&block17, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
    1287             :     ca_.Goto(&block16, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
    1288             :   }
    1289             : 
    1290         224 :   if (block16.is_used()) {
    1291             :     compiler::TNode<Context> tmp119;
    1292             :     compiler::TNode<FixedArray> tmp120;
    1293             :     compiler::TNode<IntPtrT> tmp121;
    1294             :     compiler::TNode<IntPtrT> tmp122;
    1295             :     compiler::TNode<BoolT> tmp123;
    1296             :     compiler::TNode<String> tmp124;
    1297             :     compiler::TNode<Uint32T> tmp125;
    1298             :     compiler::TNode<String> tmp126;
    1299             :     ca_.Bind(&block16, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
    1300         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 259);
    1301         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 258);
    1302             :     compiler::TNode<String> tmp127;
    1303             :     USE(tmp127);
    1304         224 :     tmp127 = ca_.UncheckedCast<String>(ArrayBuiltinsAssembler(state_).CallJSArrayArrayJoinConcatToSequentialString(compiler::TNode<FixedArray>{tmp120}, compiler::TNode<IntPtrT>{tmp121}, compiler::TNode<String>{tmp124}, compiler::TNode<String>{tmp126}));
    1305             :     ca_.Goto(&block1, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp127);
    1306             :   }
    1307             : 
    1308         224 :   if (block1.is_used()) {
    1309             :     compiler::TNode<Context> tmp128;
    1310             :     compiler::TNode<FixedArray> tmp129;
    1311             :     compiler::TNode<IntPtrT> tmp130;
    1312             :     compiler::TNode<IntPtrT> tmp131;
    1313             :     compiler::TNode<BoolT> tmp132;
    1314             :     compiler::TNode<String> tmp133;
    1315             :     compiler::TNode<String> tmp134;
    1316             :     ca_.Bind(&block1, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134);
    1317         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 229);
    1318             :     ca_.Goto(&block18, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134);
    1319             :   }
    1320             : 
    1321             :     compiler::TNode<Context> tmp135;
    1322             :     compiler::TNode<FixedArray> tmp136;
    1323             :     compiler::TNode<IntPtrT> tmp137;
    1324             :     compiler::TNode<IntPtrT> tmp138;
    1325             :     compiler::TNode<BoolT> tmp139;
    1326             :     compiler::TNode<String> tmp140;
    1327             :     compiler::TNode<String> tmp141;
    1328             :     ca_.Bind(&block18, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141);
    1329         448 :   return compiler::TNode<String>{tmp141};
    1330             : }
    1331             : 
    1332         112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoin7JSArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lenNumber, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
    1333         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1334             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1335             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver, JSArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1336             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1337             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1338             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1339             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1340             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1341             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1342             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1343             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1344             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1345             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1346             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block18(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    1347             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1348             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1349             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1350             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1351             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number, Smi> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1352             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1353             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1354             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1355             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1356             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1357             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1358             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1359             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1360             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1361             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1362             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1363             :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
    1364             : 
    1365         112 :   if (block0.is_used()) {
    1366             :     compiler::TNode<Context> tmp0;
    1367             :     compiler::TNode<JSReceiver> tmp1;
    1368             :     compiler::TNode<String> tmp2;
    1369             :     compiler::TNode<Number> tmp3;
    1370             :     compiler::TNode<Object> tmp4;
    1371             :     compiler::TNode<Object> tmp5;
    1372             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    1373         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 333);
    1374         112 :     compiler::TNode<IntPtrT> tmp6 = ca_.IntPtrConstant(HeapObject::kMapOffset);
    1375             :     USE(tmp6);
    1376         224 :     compiler::TNode<Map>tmp7 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp6});
    1377         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 334);
    1378             :     compiler::TNode<Int32T> tmp8;
    1379             :     USE(tmp8);
    1380         224 :     tmp8 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp7}));
    1381         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 335);
    1382         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 338);
    1383             :     compiler::TNode<JSArray> tmp9;
    1384             :     USE(tmp9);
    1385         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    1386         336 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).Cast7JSArray(compiler::TNode<HeapObject>{tmp1}, &label0);
    1387             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp8, ca_.Uninitialized<BuiltinPtr>(), tmp1, tmp9);
    1388         112 :     if (label0.is_used()) {
    1389         112 :       ca_.Bind(&label0);
    1390             :       ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp8, ca_.Uninitialized<BuiltinPtr>(), tmp1);
    1391             :     }
    1392             :   }
    1393             : 
    1394         112 :   if (block5.is_used()) {
    1395             :     compiler::TNode<Context> tmp10;
    1396             :     compiler::TNode<JSReceiver> tmp11;
    1397             :     compiler::TNode<String> tmp12;
    1398             :     compiler::TNode<Number> tmp13;
    1399             :     compiler::TNode<Object> tmp14;
    1400             :     compiler::TNode<Object> tmp15;
    1401             :     compiler::TNode<Map> tmp16;
    1402             :     compiler::TNode<Int32T> tmp17;
    1403             :     compiler::TNode<BuiltinPtr> tmp18;
    1404             :     compiler::TNode<JSReceiver> tmp19;
    1405             :     ca_.Bind(&block5, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
    1406             :     ca_.Goto(&block3, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18);
    1407             :   }
    1408             : 
    1409         112 :   if (block4.is_used()) {
    1410             :     compiler::TNode<Context> tmp20;
    1411             :     compiler::TNode<JSReceiver> tmp21;
    1412             :     compiler::TNode<String> tmp22;
    1413             :     compiler::TNode<Number> tmp23;
    1414             :     compiler::TNode<Object> tmp24;
    1415             :     compiler::TNode<Object> tmp25;
    1416             :     compiler::TNode<Map> tmp26;
    1417             :     compiler::TNode<Int32T> tmp27;
    1418             :     compiler::TNode<BuiltinPtr> tmp28;
    1419             :     compiler::TNode<JSReceiver> tmp29;
    1420             :     compiler::TNode<JSArray> tmp30;
    1421             :     ca_.Bind(&block4, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
    1422         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 339);
    1423         112 :     compiler::TNode<IntPtrT> tmp31 = ca_.IntPtrConstant(JSArray::kLengthOffset);
    1424             :     USE(tmp31);
    1425         336 :     compiler::TNode<Number>tmp32 = CodeStubAssembler(state_).LoadReference<Number>(CodeStubAssembler::Reference{tmp30, tmp31});
    1426             :     compiler::TNode<BoolT> tmp33;
    1427             :     USE(tmp33);
    1428         336 :     tmp33 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp32}, compiler::TNode<Number>{tmp23}));
    1429         112 :     ca_.Branch(tmp33, &block6, &block7, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp30);
    1430             :   }
    1431             : 
    1432         112 :   if (block6.is_used()) {
    1433             :     compiler::TNode<Context> tmp34;
    1434             :     compiler::TNode<JSReceiver> tmp35;
    1435             :     compiler::TNode<String> tmp36;
    1436             :     compiler::TNode<Number> tmp37;
    1437             :     compiler::TNode<Object> tmp38;
    1438             :     compiler::TNode<Object> tmp39;
    1439             :     compiler::TNode<Map> tmp40;
    1440             :     compiler::TNode<Int32T> tmp41;
    1441             :     compiler::TNode<BuiltinPtr> tmp42;
    1442             :     compiler::TNode<JSArray> tmp43;
    1443             :     ca_.Bind(&block6, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    1444             :     ca_.Goto(&block3, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
    1445             :   }
    1446             : 
    1447         112 :   if (block7.is_used()) {
    1448             :     compiler::TNode<Context> tmp44;
    1449             :     compiler::TNode<JSReceiver> tmp45;
    1450             :     compiler::TNode<String> tmp46;
    1451             :     compiler::TNode<Number> tmp47;
    1452             :     compiler::TNode<Object> tmp48;
    1453             :     compiler::TNode<Object> tmp49;
    1454             :     compiler::TNode<Map> tmp50;
    1455             :     compiler::TNode<Int32T> tmp51;
    1456             :     compiler::TNode<BuiltinPtr> tmp52;
    1457             :     compiler::TNode<JSArray> tmp53;
    1458             :     ca_.Bind(&block7, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
    1459         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 340);
    1460             :     compiler::TNode<BoolT> tmp54;
    1461             :     USE(tmp54);
    1462         448 :     tmp54 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsPrototypeInitialArrayPrototype(compiler::TNode<Context>{tmp44}, compiler::TNode<Map>{tmp50}));
    1463             :     compiler::TNode<BoolT> tmp55;
    1464             :     USE(tmp55);
    1465         224 :     tmp55 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp54}));
    1466         112 :     ca_.Branch(tmp55, &block8, &block9, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53);
    1467             :   }
    1468             : 
    1469         112 :   if (block8.is_used()) {
    1470             :     compiler::TNode<Context> tmp56;
    1471             :     compiler::TNode<JSReceiver> tmp57;
    1472             :     compiler::TNode<String> tmp58;
    1473             :     compiler::TNode<Number> tmp59;
    1474             :     compiler::TNode<Object> tmp60;
    1475             :     compiler::TNode<Object> tmp61;
    1476             :     compiler::TNode<Map> tmp62;
    1477             :     compiler::TNode<Int32T> tmp63;
    1478             :     compiler::TNode<BuiltinPtr> tmp64;
    1479             :     compiler::TNode<JSArray> tmp65;
    1480             :     ca_.Bind(&block8, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65);
    1481             :     ca_.Goto(&block3, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64);
    1482             :   }
    1483             : 
    1484         112 :   if (block9.is_used()) {
    1485             :     compiler::TNode<Context> tmp66;
    1486             :     compiler::TNode<JSReceiver> tmp67;
    1487             :     compiler::TNode<String> tmp68;
    1488             :     compiler::TNode<Number> tmp69;
    1489             :     compiler::TNode<Object> tmp70;
    1490             :     compiler::TNode<Object> tmp71;
    1491             :     compiler::TNode<Map> tmp72;
    1492             :     compiler::TNode<Int32T> tmp73;
    1493             :     compiler::TNode<BuiltinPtr> tmp74;
    1494             :     compiler::TNode<JSArray> tmp75;
    1495             :     ca_.Bind(&block9, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75);
    1496         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 341);
    1497             :     compiler::TNode<BoolT> tmp76;
    1498             :     USE(tmp76);
    1499         224 :     tmp76 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
    1500         112 :     ca_.Branch(tmp76, &block10, &block11, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75);
    1501             :   }
    1502             : 
    1503         112 :   if (block10.is_used()) {
    1504             :     compiler::TNode<Context> tmp77;
    1505             :     compiler::TNode<JSReceiver> tmp78;
    1506             :     compiler::TNode<String> tmp79;
    1507             :     compiler::TNode<Number> tmp80;
    1508             :     compiler::TNode<Object> tmp81;
    1509             :     compiler::TNode<Object> tmp82;
    1510             :     compiler::TNode<Map> tmp83;
    1511             :     compiler::TNode<Int32T> tmp84;
    1512             :     compiler::TNode<BuiltinPtr> tmp85;
    1513             :     compiler::TNode<JSArray> tmp86;
    1514             :     ca_.Bind(&block10, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86);
    1515             :     ca_.Goto(&block3, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85);
    1516             :   }
    1517             : 
    1518         112 :   if (block11.is_used()) {
    1519             :     compiler::TNode<Context> tmp87;
    1520             :     compiler::TNode<JSReceiver> tmp88;
    1521             :     compiler::TNode<String> tmp89;
    1522             :     compiler::TNode<Number> tmp90;
    1523             :     compiler::TNode<Object> tmp91;
    1524             :     compiler::TNode<Object> tmp92;
    1525             :     compiler::TNode<Map> tmp93;
    1526             :     compiler::TNode<Int32T> tmp94;
    1527             :     compiler::TNode<BuiltinPtr> tmp95;
    1528             :     compiler::TNode<JSArray> tmp96;
    1529             :     ca_.Bind(&block11, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96);
    1530         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
    1531             :     compiler::TNode<BoolT> tmp97;
    1532             :     USE(tmp97);
    1533         224 :     tmp97 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp94}, HOLEY_ELEMENTS));
    1534         112 :     ca_.Branch(tmp97, &block12, &block13, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96);
    1535             :   }
    1536             : 
    1537         112 :   if (block12.is_used()) {
    1538             :     compiler::TNode<Context> tmp98;
    1539             :     compiler::TNode<JSReceiver> tmp99;
    1540             :     compiler::TNode<String> tmp100;
    1541             :     compiler::TNode<Number> tmp101;
    1542             :     compiler::TNode<Object> tmp102;
    1543             :     compiler::TNode<Object> tmp103;
    1544             :     compiler::TNode<Map> tmp104;
    1545             :     compiler::TNode<Int32T> tmp105;
    1546             :     compiler::TNode<BuiltinPtr> tmp106;
    1547             :     compiler::TNode<JSArray> tmp107;
    1548             :     ca_.Bind(&block12, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
    1549         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 344);
    1550         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
    1551             :     ca_.Goto(&block14, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATFastSmiOrObjectElements)), tmp107);
    1552             :   }
    1553             : 
    1554         112 :   if (block13.is_used()) {
    1555             :     compiler::TNode<Context> tmp108;
    1556             :     compiler::TNode<JSReceiver> tmp109;
    1557             :     compiler::TNode<String> tmp110;
    1558             :     compiler::TNode<Number> tmp111;
    1559             :     compiler::TNode<Object> tmp112;
    1560             :     compiler::TNode<Object> tmp113;
    1561             :     compiler::TNode<Map> tmp114;
    1562             :     compiler::TNode<Int32T> tmp115;
    1563             :     compiler::TNode<BuiltinPtr> tmp116;
    1564             :     compiler::TNode<JSArray> tmp117;
    1565             :     ca_.Bind(&block13, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117);
    1566         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
    1567             :     compiler::TNode<BoolT> tmp118;
    1568             :     USE(tmp118);
    1569         224 :     tmp118 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp115}, HOLEY_DOUBLE_ELEMENTS));
    1570         112 :     ca_.Branch(tmp118, &block15, &block16, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117);
    1571             :   }
    1572             : 
    1573         112 :   if (block15.is_used()) {
    1574             :     compiler::TNode<Context> tmp119;
    1575             :     compiler::TNode<JSReceiver> tmp120;
    1576             :     compiler::TNode<String> tmp121;
    1577             :     compiler::TNode<Number> tmp122;
    1578             :     compiler::TNode<Object> tmp123;
    1579             :     compiler::TNode<Object> tmp124;
    1580             :     compiler::TNode<Map> tmp125;
    1581             :     compiler::TNode<Int32T> tmp126;
    1582             :     compiler::TNode<BuiltinPtr> tmp127;
    1583             :     compiler::TNode<JSArray> tmp128;
    1584             :     ca_.Bind(&block15, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128);
    1585         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 346);
    1586         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
    1587             :     ca_.Goto(&block17, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATFastDoubleElements)), tmp128);
    1588             :   }
    1589             : 
    1590         112 :   if (block16.is_used()) {
    1591             :     compiler::TNode<Context> tmp129;
    1592             :     compiler::TNode<JSReceiver> tmp130;
    1593             :     compiler::TNode<String> tmp131;
    1594             :     compiler::TNode<Number> tmp132;
    1595             :     compiler::TNode<Object> tmp133;
    1596             :     compiler::TNode<Object> tmp134;
    1597             :     compiler::TNode<Map> tmp135;
    1598             :     compiler::TNode<Int32T> tmp136;
    1599             :     compiler::TNode<BuiltinPtr> tmp137;
    1600             :     compiler::TNode<JSArray> tmp138;
    1601             :     ca_.Bind(&block16, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    1602         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 347);
    1603             :     compiler::TNode<Int32T> tmp139;
    1604             :     USE(tmp139);
    1605         336 :     tmp139 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(DICTIONARY_ELEMENTS));
    1606             :     compiler::TNode<BoolT> tmp140;
    1607             :     USE(tmp140);
    1608         224 :     tmp140 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp136}, compiler::TNode<Int32T>{tmp139}));
    1609         112 :     ca_.Branch(tmp140, &block18, &block19, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138);
    1610             :   }
    1611             : 
    1612         112 :   if (block18.is_used()) {
    1613             :     compiler::TNode<Context> tmp141;
    1614             :     compiler::TNode<JSReceiver> tmp142;
    1615             :     compiler::TNode<String> tmp143;
    1616             :     compiler::TNode<Number> tmp144;
    1617             :     compiler::TNode<Object> tmp145;
    1618             :     compiler::TNode<Object> tmp146;
    1619             :     compiler::TNode<Map> tmp147;
    1620             :     compiler::TNode<Int32T> tmp148;
    1621             :     compiler::TNode<BuiltinPtr> tmp149;
    1622             :     compiler::TNode<JSArray> tmp150;
    1623             :     ca_.Bind(&block18, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150);
    1624         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 350);
    1625         112 :     compiler::TNode<IntPtrT> tmp151 = ca_.IntPtrConstant(JSObject::kElementsOffset);
    1626             :     USE(tmp151);
    1627         224 :     compiler::TNode<FixedArrayBase>tmp152 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp150, tmp151});
    1628             :     compiler::TNode<NumberDictionary> tmp153;
    1629             :     USE(tmp153);
    1630         336 :     tmp153 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp141}, compiler::TNode<Object>{tmp152}));
    1631         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 349);
    1632         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 351);
    1633             :     compiler::TNode<Smi> tmp154;
    1634             :     USE(tmp154);
    1635         224 :     tmp154 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).GetNumberDictionaryNumberOfElements(compiler::TNode<NumberDictionary>{tmp153}));
    1636         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 352);
    1637             :     compiler::TNode<Smi> tmp155;
    1638             :     USE(tmp155);
    1639         336 :     tmp155 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
    1640             :     compiler::TNode<BoolT> tmp156;
    1641             :     USE(tmp156);
    1642         224 :     tmp156 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp154}, compiler::TNode<Smi>{tmp155}));
    1643         112 :     ca_.Branch(tmp156, &block21, &block22, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp153, tmp154);
    1644             :   }
    1645             : 
    1646         112 :   if (block21.is_used()) {
    1647             :     compiler::TNode<Context> tmp157;
    1648             :     compiler::TNode<JSReceiver> tmp158;
    1649             :     compiler::TNode<String> tmp159;
    1650             :     compiler::TNode<Number> tmp160;
    1651             :     compiler::TNode<Object> tmp161;
    1652             :     compiler::TNode<Object> tmp162;
    1653             :     compiler::TNode<Map> tmp163;
    1654             :     compiler::TNode<Int32T> tmp164;
    1655             :     compiler::TNode<BuiltinPtr> tmp165;
    1656             :     compiler::TNode<JSArray> tmp166;
    1657             :     compiler::TNode<NumberDictionary> tmp167;
    1658             :     compiler::TNode<Smi> tmp168;
    1659             :     ca_.Bind(&block21, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168);
    1660         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 353);
    1661             :     compiler::TNode<String> tmp169;
    1662             :     USE(tmp169);
    1663         336 :     tmp169 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    1664             :     compiler::TNode<BoolT> tmp170;
    1665             :     USE(tmp170);
    1666         224 :     tmp170 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp159}, compiler::TNode<HeapObject>{tmp169}));
    1667         112 :     ca_.Branch(tmp170, &block24, &block25, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168);
    1668             :   }
    1669             : 
    1670         112 :   if (block24.is_used()) {
    1671             :     compiler::TNode<Context> tmp171;
    1672             :     compiler::TNode<JSReceiver> tmp172;
    1673             :     compiler::TNode<String> tmp173;
    1674             :     compiler::TNode<Number> tmp174;
    1675             :     compiler::TNode<Object> tmp175;
    1676             :     compiler::TNode<Object> tmp176;
    1677             :     compiler::TNode<Map> tmp177;
    1678             :     compiler::TNode<Int32T> tmp178;
    1679             :     compiler::TNode<BuiltinPtr> tmp179;
    1680             :     compiler::TNode<JSArray> tmp180;
    1681             :     compiler::TNode<NumberDictionary> tmp181;
    1682             :     compiler::TNode<Smi> tmp182;
    1683             :     ca_.Bind(&block24, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182);
    1684             :     compiler::TNode<String> tmp183;
    1685             :     USE(tmp183);
    1686         336 :     tmp183 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    1687             :     ca_.Goto(&block1, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp183);
    1688             :   }
    1689             : 
    1690         112 :   if (block25.is_used()) {
    1691             :     compiler::TNode<Context> tmp184;
    1692             :     compiler::TNode<JSReceiver> tmp185;
    1693             :     compiler::TNode<String> tmp186;
    1694             :     compiler::TNode<Number> tmp187;
    1695             :     compiler::TNode<Object> tmp188;
    1696             :     compiler::TNode<Object> tmp189;
    1697             :     compiler::TNode<Map> tmp190;
    1698             :     compiler::TNode<Int32T> tmp191;
    1699             :     compiler::TNode<BuiltinPtr> tmp192;
    1700             :     compiler::TNode<JSArray> tmp193;
    1701             :     compiler::TNode<NumberDictionary> tmp194;
    1702             :     compiler::TNode<Smi> tmp195;
    1703             :     ca_.Bind(&block25, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195);
    1704         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 356);
    1705             :     compiler::TNode<Number> tmp196;
    1706             :     USE(tmp196);
    1707         336 :     tmp196 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
    1708             :     compiler::TNode<Number> tmp197;
    1709             :     USE(tmp197);
    1710         336 :     tmp197 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp187}, compiler::TNode<Number>{tmp196}));
    1711             :     compiler::TNode<Smi> tmp198;
    1712             :     USE(tmp198);
    1713         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    1714         336 :     tmp198 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp197}, &label0);
    1715             :     ca_.Goto(&block28, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195, tmp197, tmp198);
    1716         112 :     if (label0.is_used()) {
    1717         112 :       ca_.Bind(&label0);
    1718             :       ca_.Goto(&block29, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195, tmp197);
    1719             :     }
    1720             :   }
    1721             : 
    1722         112 :   if (block29.is_used()) {
    1723             :     compiler::TNode<Context> tmp199;
    1724             :     compiler::TNode<JSReceiver> tmp200;
    1725             :     compiler::TNode<String> tmp201;
    1726             :     compiler::TNode<Number> tmp202;
    1727             :     compiler::TNode<Object> tmp203;
    1728             :     compiler::TNode<Object> tmp204;
    1729             :     compiler::TNode<Map> tmp205;
    1730             :     compiler::TNode<Int32T> tmp206;
    1731             :     compiler::TNode<BuiltinPtr> tmp207;
    1732             :     compiler::TNode<JSArray> tmp208;
    1733             :     compiler::TNode<NumberDictionary> tmp209;
    1734             :     compiler::TNode<Smi> tmp210;
    1735             :     compiler::TNode<Number> tmp211;
    1736             :     ca_.Bind(&block29, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211);
    1737             :     ca_.Goto(&block27, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210);
    1738             :   }
    1739             : 
    1740         112 :   if (block28.is_used()) {
    1741             :     compiler::TNode<Context> tmp212;
    1742             :     compiler::TNode<JSReceiver> tmp213;
    1743             :     compiler::TNode<String> tmp214;
    1744             :     compiler::TNode<Number> tmp215;
    1745             :     compiler::TNode<Object> tmp216;
    1746             :     compiler::TNode<Object> tmp217;
    1747             :     compiler::TNode<Map> tmp218;
    1748             :     compiler::TNode<Int32T> tmp219;
    1749             :     compiler::TNode<BuiltinPtr> tmp220;
    1750             :     compiler::TNode<JSArray> tmp221;
    1751             :     compiler::TNode<NumberDictionary> tmp222;
    1752             :     compiler::TNode<Smi> tmp223;
    1753             :     compiler::TNode<Number> tmp224;
    1754             :     compiler::TNode<Smi> tmp225;
    1755             :     ca_.Bind(&block28, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225);
    1756         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 355);
    1757         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 357);
    1758             :     compiler::TNode<String> tmp226;
    1759         224 :     tmp226 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp212, tmp214, tmp225));
    1760             :     USE(tmp226);
    1761             :     ca_.Goto(&block1, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp226);
    1762             :   }
    1763             : 
    1764         112 :   if (block27.is_used()) {
    1765             :     compiler::TNode<Context> tmp227;
    1766             :     compiler::TNode<JSReceiver> tmp228;
    1767             :     compiler::TNode<String> tmp229;
    1768             :     compiler::TNode<Number> tmp230;
    1769             :     compiler::TNode<Object> tmp231;
    1770             :     compiler::TNode<Object> tmp232;
    1771             :     compiler::TNode<Map> tmp233;
    1772             :     compiler::TNode<Int32T> tmp234;
    1773             :     compiler::TNode<BuiltinPtr> tmp235;
    1774             :     compiler::TNode<JSArray> tmp236;
    1775             :     compiler::TNode<NumberDictionary> tmp237;
    1776             :     compiler::TNode<Smi> tmp238;
    1777             :     ca_.Bind(&block27, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238);
    1778         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 360);
    1779         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp227);
    1780         224 :     CodeStubAssembler(state_).Unreachable();
    1781             :   }
    1782             : 
    1783         112 :   if (block22.is_used()) {
    1784             :     compiler::TNode<Context> tmp240;
    1785             :     compiler::TNode<JSReceiver> tmp241;
    1786             :     compiler::TNode<String> tmp242;
    1787             :     compiler::TNode<Number> tmp243;
    1788             :     compiler::TNode<Object> tmp244;
    1789             :     compiler::TNode<Object> tmp245;
    1790             :     compiler::TNode<Map> tmp246;
    1791             :     compiler::TNode<Int32T> tmp247;
    1792             :     compiler::TNode<BuiltinPtr> tmp248;
    1793             :     compiler::TNode<JSArray> tmp249;
    1794             :     compiler::TNode<NumberDictionary> tmp250;
    1795             :     compiler::TNode<Smi> tmp251;
    1796             :     ca_.Bind(&block22, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251);
    1797         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 363);
    1798         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 352);
    1799             :     ca_.Goto(&block23, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATDictionaryElements)), tmp249, tmp250, tmp251);
    1800             :   }
    1801             : 
    1802         112 :   if (block23.is_used()) {
    1803             :     compiler::TNode<Context> tmp252;
    1804             :     compiler::TNode<JSReceiver> tmp253;
    1805             :     compiler::TNode<String> tmp254;
    1806             :     compiler::TNode<Number> tmp255;
    1807             :     compiler::TNode<Object> tmp256;
    1808             :     compiler::TNode<Object> tmp257;
    1809             :     compiler::TNode<Map> tmp258;
    1810             :     compiler::TNode<Int32T> tmp259;
    1811             :     compiler::TNode<BuiltinPtr> tmp260;
    1812             :     compiler::TNode<JSArray> tmp261;
    1813             :     compiler::TNode<NumberDictionary> tmp262;
    1814             :     compiler::TNode<Smi> tmp263;
    1815             :     ca_.Bind(&block23, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263);
    1816         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 348);
    1817         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 347);
    1818             :     ca_.Goto(&block20, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261);
    1819             :   }
    1820             : 
    1821         112 :   if (block19.is_used()) {
    1822             :     compiler::TNode<Context> tmp264;
    1823             :     compiler::TNode<JSReceiver> tmp265;
    1824             :     compiler::TNode<String> tmp266;
    1825             :     compiler::TNode<Number> tmp267;
    1826             :     compiler::TNode<Object> tmp268;
    1827             :     compiler::TNode<Object> tmp269;
    1828             :     compiler::TNode<Map> tmp270;
    1829             :     compiler::TNode<Int32T> tmp271;
    1830             :     compiler::TNode<BuiltinPtr> tmp272;
    1831             :     compiler::TNode<JSArray> tmp273;
    1832             :     ca_.Bind(&block19, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272, &tmp273);
    1833         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 367);
    1834             :     ca_.Goto(&block3, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, tmp272);
    1835             :   }
    1836             : 
    1837         112 :   if (block20.is_used()) {
    1838             :     compiler::TNode<Context> tmp274;
    1839             :     compiler::TNode<JSReceiver> tmp275;
    1840             :     compiler::TNode<String> tmp276;
    1841             :     compiler::TNode<Number> tmp277;
    1842             :     compiler::TNode<Object> tmp278;
    1843             :     compiler::TNode<Object> tmp279;
    1844             :     compiler::TNode<Map> tmp280;
    1845             :     compiler::TNode<Int32T> tmp281;
    1846             :     compiler::TNode<BuiltinPtr> tmp282;
    1847             :     compiler::TNode<JSArray> tmp283;
    1848             :     ca_.Bind(&block20, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283);
    1849         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
    1850             :     ca_.Goto(&block17, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283);
    1851             :   }
    1852             : 
    1853         112 :   if (block17.is_used()) {
    1854             :     compiler::TNode<Context> tmp284;
    1855             :     compiler::TNode<JSReceiver> tmp285;
    1856             :     compiler::TNode<String> tmp286;
    1857             :     compiler::TNode<Number> tmp287;
    1858             :     compiler::TNode<Object> tmp288;
    1859             :     compiler::TNode<Object> tmp289;
    1860             :     compiler::TNode<Map> tmp290;
    1861             :     compiler::TNode<Int32T> tmp291;
    1862             :     compiler::TNode<BuiltinPtr> tmp292;
    1863             :     compiler::TNode<JSArray> tmp293;
    1864             :     ca_.Bind(&block17, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292, &tmp293);
    1865         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
    1866             :     ca_.Goto(&block14, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, tmp292, tmp293);
    1867             :   }
    1868             : 
    1869         112 :   if (block14.is_used()) {
    1870             :     compiler::TNode<Context> tmp294;
    1871             :     compiler::TNode<JSReceiver> tmp295;
    1872             :     compiler::TNode<String> tmp296;
    1873             :     compiler::TNode<Number> tmp297;
    1874             :     compiler::TNode<Object> tmp298;
    1875             :     compiler::TNode<Object> tmp299;
    1876             :     compiler::TNode<Map> tmp300;
    1877             :     compiler::TNode<Int32T> tmp301;
    1878             :     compiler::TNode<BuiltinPtr> tmp302;
    1879             :     compiler::TNode<JSArray> tmp303;
    1880             :     ca_.Bind(&block14, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303);
    1881         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 337);
    1882         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 370);
    1883             :     ca_.Goto(&block2, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302);
    1884             :   }
    1885             : 
    1886         112 :   if (block3.is_used()) {
    1887             :     compiler::TNode<Context> tmp304;
    1888             :     compiler::TNode<JSReceiver> tmp305;
    1889             :     compiler::TNode<String> tmp306;
    1890             :     compiler::TNode<Number> tmp307;
    1891             :     compiler::TNode<Object> tmp308;
    1892             :     compiler::TNode<Object> tmp309;
    1893             :     compiler::TNode<Map> tmp310;
    1894             :     compiler::TNode<Int32T> tmp311;
    1895             :     compiler::TNode<BuiltinPtr> tmp312;
    1896             :     ca_.Bind(&block3, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312);
    1897         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 371);
    1898         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 337);
    1899             :     ca_.Goto(&block2, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)));
    1900             :   }
    1901             : 
    1902         112 :   if (block2.is_used()) {
    1903             :     compiler::TNode<Context> tmp313;
    1904             :     compiler::TNode<JSReceiver> tmp314;
    1905             :     compiler::TNode<String> tmp315;
    1906             :     compiler::TNode<Number> tmp316;
    1907             :     compiler::TNode<Object> tmp317;
    1908             :     compiler::TNode<Object> tmp318;
    1909             :     compiler::TNode<Map> tmp319;
    1910             :     compiler::TNode<Int32T> tmp320;
    1911             :     compiler::TNode<BuiltinPtr> tmp321;
    1912             :     ca_.Bind(&block2, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321);
    1913         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 374);
    1914         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 373);
    1915             :     compiler::TNode<String> tmp322;
    1916             :     USE(tmp322);
    1917         336 :     tmp322 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoinImpl7JSArray(compiler::TNode<Context>{tmp313}, compiler::TNode<JSReceiver>{tmp314}, compiler::TNode<String>{tmp315}, compiler::TNode<Number>{tmp316}, p_useToLocaleString, compiler::TNode<Object>{tmp317}, compiler::TNode<Object>{tmp318}, compiler::TNode<BuiltinPtr>{tmp321}));
    1918             :     ca_.Goto(&block1, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp322);
    1919             :   }
    1920             : 
    1921         112 :   if (block1.is_used()) {
    1922             :     compiler::TNode<Context> tmp323;
    1923             :     compiler::TNode<JSReceiver> tmp324;
    1924             :     compiler::TNode<String> tmp325;
    1925             :     compiler::TNode<Number> tmp326;
    1926             :     compiler::TNode<Object> tmp327;
    1927             :     compiler::TNode<Object> tmp328;
    1928             :     compiler::TNode<Object> tmp329;
    1929             :     ca_.Bind(&block1, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329);
    1930         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 326);
    1931             :     ca_.Goto(&block30, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329);
    1932             :   }
    1933             : 
    1934             :     compiler::TNode<Context> tmp330;
    1935             :     compiler::TNode<JSReceiver> tmp331;
    1936             :     compiler::TNode<String> tmp332;
    1937             :     compiler::TNode<Number> tmp333;
    1938             :     compiler::TNode<Object> tmp334;
    1939             :     compiler::TNode<Object> tmp335;
    1940             :     compiler::TNode<Object> tmp336;
    1941             :     ca_.Bind(&block30, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
    1942         224 :   return compiler::TNode<Object>{tmp336};
    1943             : }
    1944             : 
    1945         112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoin12JSTypedArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lenNumber, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
    1946         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1947             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1948             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1949             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1950             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1951             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1952             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1953             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1954             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1955             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1956             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1957             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1958             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1959             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1960             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1961             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1962             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1963             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1964             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1965             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1966             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1967             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1968             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1969             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1970             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1971             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1972             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1973             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1974             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block33(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1975             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1976             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1977             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1978             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1979             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1980             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1981             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1982             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1983             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1984             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1985             :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
    1986             : 
    1987         112 :   if (block0.is_used()) {
    1988             :     compiler::TNode<Context> tmp0;
    1989             :     compiler::TNode<JSReceiver> tmp1;
    1990             :     compiler::TNode<String> tmp2;
    1991             :     compiler::TNode<Number> tmp3;
    1992             :     compiler::TNode<Object> tmp4;
    1993             :     compiler::TNode<Object> tmp5;
    1994             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    1995         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 380);
    1996         112 :     compiler::TNode<IntPtrT> tmp6 = ca_.IntPtrConstant(HeapObject::kMapOffset);
    1997             :     USE(tmp6);
    1998         224 :     compiler::TNode<Map>tmp7 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp6});
    1999         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 381);
    2000             :     compiler::TNode<Int32T> tmp8;
    2001             :     USE(tmp8);
    2002         224 :     tmp8 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp7}));
    2003         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 382);
    2004         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
    2005             :     compiler::TNode<BoolT> tmp9;
    2006             :     USE(tmp9);
    2007         224 :     tmp9 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindGreaterThan(compiler::TNode<Int32T>{tmp8}, UINT32_ELEMENTS));
    2008         112 :     ca_.Branch(tmp9, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp8, ca_.Uninitialized<BuiltinPtr>());
    2009             :   }
    2010             : 
    2011         112 :   if (block2.is_used()) {
    2012             :     compiler::TNode<Context> tmp10;
    2013             :     compiler::TNode<JSReceiver> tmp11;
    2014             :     compiler::TNode<String> tmp12;
    2015             :     compiler::TNode<Number> tmp13;
    2016             :     compiler::TNode<Object> tmp14;
    2017             :     compiler::TNode<Object> tmp15;
    2018             :     compiler::TNode<Map> tmp16;
    2019             :     compiler::TNode<Int32T> tmp17;
    2020             :     compiler::TNode<BuiltinPtr> tmp18;
    2021             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
    2022         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
    2023             :     compiler::TNode<Int32T> tmp19;
    2024             :     USE(tmp19);
    2025         336 :     tmp19 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT32_ELEMENTS));
    2026             :     compiler::TNode<BoolT> tmp20;
    2027             :     USE(tmp20);
    2028         224 :     tmp20 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp17}, compiler::TNode<Int32T>{tmp19}));
    2029         112 :     ca_.Branch(tmp20, &block5, &block6, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18);
    2030             :   }
    2031             : 
    2032         112 :   if (block5.is_used()) {
    2033             :     compiler::TNode<Context> tmp21;
    2034             :     compiler::TNode<JSReceiver> tmp22;
    2035             :     compiler::TNode<String> tmp23;
    2036             :     compiler::TNode<Number> tmp24;
    2037             :     compiler::TNode<Object> tmp25;
    2038             :     compiler::TNode<Object> tmp26;
    2039             :     compiler::TNode<Map> tmp27;
    2040             :     compiler::TNode<Int32T> tmp28;
    2041             :     compiler::TNode<BuiltinPtr> tmp29;
    2042             :     ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
    2043         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 386);
    2044         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
    2045             :     ca_.Goto(&block7, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt32Array)));
    2046             :   }
    2047             : 
    2048         112 :   if (block6.is_used()) {
    2049             :     compiler::TNode<Context> tmp30;
    2050             :     compiler::TNode<JSReceiver> tmp31;
    2051             :     compiler::TNode<String> tmp32;
    2052             :     compiler::TNode<Number> tmp33;
    2053             :     compiler::TNode<Object> tmp34;
    2054             :     compiler::TNode<Object> tmp35;
    2055             :     compiler::TNode<Map> tmp36;
    2056             :     compiler::TNode<Int32T> tmp37;
    2057             :     compiler::TNode<BuiltinPtr> tmp38;
    2058             :     ca_.Bind(&block6, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
    2059         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
    2060             :     compiler::TNode<Int32T> tmp39;
    2061             :     USE(tmp39);
    2062         336 :     tmp39 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT32_ELEMENTS));
    2063             :     compiler::TNode<BoolT> tmp40;
    2064             :     USE(tmp40);
    2065         224 :     tmp40 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp37}, compiler::TNode<Int32T>{tmp39}));
    2066         112 :     ca_.Branch(tmp40, &block8, &block9, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38);
    2067             :   }
    2068             : 
    2069         112 :   if (block8.is_used()) {
    2070             :     compiler::TNode<Context> tmp41;
    2071             :     compiler::TNode<JSReceiver> tmp42;
    2072             :     compiler::TNode<String> tmp43;
    2073             :     compiler::TNode<Number> tmp44;
    2074             :     compiler::TNode<Object> tmp45;
    2075             :     compiler::TNode<Object> tmp46;
    2076             :     compiler::TNode<Map> tmp47;
    2077             :     compiler::TNode<Int32T> tmp48;
    2078             :     compiler::TNode<BuiltinPtr> tmp49;
    2079             :     ca_.Bind(&block8, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
    2080         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 388);
    2081         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
    2082             :     ca_.Goto(&block10, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat32Array)));
    2083             :   }
    2084             : 
    2085         112 :   if (block9.is_used()) {
    2086             :     compiler::TNode<Context> tmp50;
    2087             :     compiler::TNode<JSReceiver> tmp51;
    2088             :     compiler::TNode<String> tmp52;
    2089             :     compiler::TNode<Number> tmp53;
    2090             :     compiler::TNode<Object> tmp54;
    2091             :     compiler::TNode<Object> tmp55;
    2092             :     compiler::TNode<Map> tmp56;
    2093             :     compiler::TNode<Int32T> tmp57;
    2094             :     compiler::TNode<BuiltinPtr> tmp58;
    2095             :     ca_.Bind(&block9, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
    2096         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
    2097             :     compiler::TNode<Int32T> tmp59;
    2098             :     USE(tmp59);
    2099         336 :     tmp59 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT64_ELEMENTS));
    2100             :     compiler::TNode<BoolT> tmp60;
    2101             :     USE(tmp60);
    2102         224 :     tmp60 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp57}, compiler::TNode<Int32T>{tmp59}));
    2103         112 :     ca_.Branch(tmp60, &block11, &block12, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58);
    2104             :   }
    2105             : 
    2106         112 :   if (block11.is_used()) {
    2107             :     compiler::TNode<Context> tmp61;
    2108             :     compiler::TNode<JSReceiver> tmp62;
    2109             :     compiler::TNode<String> tmp63;
    2110             :     compiler::TNode<Number> tmp64;
    2111             :     compiler::TNode<Object> tmp65;
    2112             :     compiler::TNode<Object> tmp66;
    2113             :     compiler::TNode<Map> tmp67;
    2114             :     compiler::TNode<Int32T> tmp68;
    2115             :     compiler::TNode<BuiltinPtr> tmp69;
    2116             :     ca_.Bind(&block11, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
    2117         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 390);
    2118         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
    2119             :     ca_.Goto(&block13, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat64Array)));
    2120             :   }
    2121             : 
    2122         112 :   if (block12.is_used()) {
    2123             :     compiler::TNode<Context> tmp70;
    2124             :     compiler::TNode<JSReceiver> tmp71;
    2125             :     compiler::TNode<String> tmp72;
    2126             :     compiler::TNode<Number> tmp73;
    2127             :     compiler::TNode<Object> tmp74;
    2128             :     compiler::TNode<Object> tmp75;
    2129             :     compiler::TNode<Map> tmp76;
    2130             :     compiler::TNode<Int32T> tmp77;
    2131             :     compiler::TNode<BuiltinPtr> tmp78;
    2132             :     ca_.Bind(&block12, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78);
    2133         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
    2134             :     compiler::TNode<Int32T> tmp79;
    2135             :     USE(tmp79);
    2136         336 :     tmp79 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_CLAMPED_ELEMENTS));
    2137             :     compiler::TNode<BoolT> tmp80;
    2138             :     USE(tmp80);
    2139         224 :     tmp80 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp77}, compiler::TNode<Int32T>{tmp79}));
    2140         112 :     ca_.Branch(tmp80, &block14, &block15, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78);
    2141             :   }
    2142             : 
    2143         112 :   if (block14.is_used()) {
    2144             :     compiler::TNode<Context> tmp81;
    2145             :     compiler::TNode<JSReceiver> tmp82;
    2146             :     compiler::TNode<String> tmp83;
    2147             :     compiler::TNode<Number> tmp84;
    2148             :     compiler::TNode<Object> tmp85;
    2149             :     compiler::TNode<Object> tmp86;
    2150             :     compiler::TNode<Map> tmp87;
    2151             :     compiler::TNode<Int32T> tmp88;
    2152             :     compiler::TNode<BuiltinPtr> tmp89;
    2153             :     ca_.Bind(&block14, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89);
    2154         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 392);
    2155         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
    2156             :     ca_.Goto(&block16, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement24ATFixedUint8ClampedArray)));
    2157             :   }
    2158             : 
    2159         112 :   if (block15.is_used()) {
    2160             :     compiler::TNode<Context> tmp90;
    2161             :     compiler::TNode<JSReceiver> tmp91;
    2162             :     compiler::TNode<String> tmp92;
    2163             :     compiler::TNode<Number> tmp93;
    2164             :     compiler::TNode<Object> tmp94;
    2165             :     compiler::TNode<Object> tmp95;
    2166             :     compiler::TNode<Map> tmp96;
    2167             :     compiler::TNode<Int32T> tmp97;
    2168             :     compiler::TNode<BuiltinPtr> tmp98;
    2169             :     ca_.Bind(&block15, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98);
    2170         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
    2171             :     compiler::TNode<Int32T> tmp99;
    2172             :     USE(tmp99);
    2173         336 :     tmp99 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGUINT64_ELEMENTS));
    2174             :     compiler::TNode<BoolT> tmp100;
    2175             :     USE(tmp100);
    2176         224 :     tmp100 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp97}, compiler::TNode<Int32T>{tmp99}));
    2177         112 :     ca_.Branch(tmp100, &block17, &block18, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98);
    2178             :   }
    2179             : 
    2180         112 :   if (block17.is_used()) {
    2181             :     compiler::TNode<Context> tmp101;
    2182             :     compiler::TNode<JSReceiver> tmp102;
    2183             :     compiler::TNode<String> tmp103;
    2184             :     compiler::TNode<Number> tmp104;
    2185             :     compiler::TNode<Object> tmp105;
    2186             :     compiler::TNode<Object> tmp106;
    2187             :     compiler::TNode<Map> tmp107;
    2188             :     compiler::TNode<Int32T> tmp108;
    2189             :     compiler::TNode<BuiltinPtr> tmp109;
    2190             :     ca_.Bind(&block17, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
    2191         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 394);
    2192         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
    2193             :     ca_.Goto(&block19, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement21ATFixedBigUint64Array)));
    2194             :   }
    2195             : 
    2196         112 :   if (block18.is_used()) {
    2197             :     compiler::TNode<Context> tmp110;
    2198             :     compiler::TNode<JSReceiver> tmp111;
    2199             :     compiler::TNode<String> tmp112;
    2200             :     compiler::TNode<Number> tmp113;
    2201             :     compiler::TNode<Object> tmp114;
    2202             :     compiler::TNode<Object> tmp115;
    2203             :     compiler::TNode<Map> tmp116;
    2204             :     compiler::TNode<Int32T> tmp117;
    2205             :     compiler::TNode<BuiltinPtr> tmp118;
    2206             :     ca_.Bind(&block18, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
    2207         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 395);
    2208             :     compiler::TNode<Int32T> tmp119;
    2209             :     USE(tmp119);
    2210         336 :     tmp119 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGINT64_ELEMENTS));
    2211             :     compiler::TNode<BoolT> tmp120;
    2212             :     USE(tmp120);
    2213         224 :     tmp120 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp117}, compiler::TNode<Int32T>{tmp119}));
    2214         112 :     ca_.Branch(tmp120, &block20, &block21, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
    2215             :   }
    2216             : 
    2217         112 :   if (block20.is_used()) {
    2218             :     compiler::TNode<Context> tmp121;
    2219             :     compiler::TNode<JSReceiver> tmp122;
    2220             :     compiler::TNode<String> tmp123;
    2221             :     compiler::TNode<Number> tmp124;
    2222             :     compiler::TNode<Object> tmp125;
    2223             :     compiler::TNode<Object> tmp126;
    2224             :     compiler::TNode<Map> tmp127;
    2225             :     compiler::TNode<Int32T> tmp128;
    2226             :     compiler::TNode<BuiltinPtr> tmp129;
    2227             :     ca_.Bind(&block20, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129);
    2228         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 396);
    2229         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 395);
    2230             :     ca_.Goto(&block22, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement20ATFixedBigInt64Array)));
    2231             :   }
    2232             : 
    2233         112 :   if (block21.is_used()) {
    2234             :     compiler::TNode<Context> tmp130;
    2235             :     compiler::TNode<JSReceiver> tmp131;
    2236             :     compiler::TNode<String> tmp132;
    2237             :     compiler::TNode<Number> tmp133;
    2238             :     compiler::TNode<Object> tmp134;
    2239             :     compiler::TNode<Object> tmp135;
    2240             :     compiler::TNode<Map> tmp136;
    2241             :     compiler::TNode<Int32T> tmp137;
    2242             :     compiler::TNode<BuiltinPtr> tmp138;
    2243             :     ca_.Bind(&block21, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    2244         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 398);
    2245         224 :     CodeStubAssembler(state_).Unreachable();
    2246             :   }
    2247             : 
    2248         112 :   if (block22.is_used()) {
    2249             :     compiler::TNode<Context> tmp139;
    2250             :     compiler::TNode<JSReceiver> tmp140;
    2251             :     compiler::TNode<String> tmp141;
    2252             :     compiler::TNode<Number> tmp142;
    2253             :     compiler::TNode<Object> tmp143;
    2254             :     compiler::TNode<Object> tmp144;
    2255             :     compiler::TNode<Map> tmp145;
    2256             :     compiler::TNode<Int32T> tmp146;
    2257             :     compiler::TNode<BuiltinPtr> tmp147;
    2258             :     ca_.Bind(&block22, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147);
    2259         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
    2260             :     ca_.Goto(&block19, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147);
    2261             :   }
    2262             : 
    2263         112 :   if (block19.is_used()) {
    2264             :     compiler::TNode<Context> tmp148;
    2265             :     compiler::TNode<JSReceiver> tmp149;
    2266             :     compiler::TNode<String> tmp150;
    2267             :     compiler::TNode<Number> tmp151;
    2268             :     compiler::TNode<Object> tmp152;
    2269             :     compiler::TNode<Object> tmp153;
    2270             :     compiler::TNode<Map> tmp154;
    2271             :     compiler::TNode<Int32T> tmp155;
    2272             :     compiler::TNode<BuiltinPtr> tmp156;
    2273             :     ca_.Bind(&block19, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156);
    2274         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
    2275             :     ca_.Goto(&block16, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156);
    2276             :   }
    2277             : 
    2278         112 :   if (block16.is_used()) {
    2279             :     compiler::TNode<Context> tmp157;
    2280             :     compiler::TNode<JSReceiver> tmp158;
    2281             :     compiler::TNode<String> tmp159;
    2282             :     compiler::TNode<Number> tmp160;
    2283             :     compiler::TNode<Object> tmp161;
    2284             :     compiler::TNode<Object> tmp162;
    2285             :     compiler::TNode<Map> tmp163;
    2286             :     compiler::TNode<Int32T> tmp164;
    2287             :     compiler::TNode<BuiltinPtr> tmp165;
    2288             :     ca_.Bind(&block16, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
    2289         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
    2290             :     ca_.Goto(&block13, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165);
    2291             :   }
    2292             : 
    2293         112 :   if (block13.is_used()) {
    2294             :     compiler::TNode<Context> tmp166;
    2295             :     compiler::TNode<JSReceiver> tmp167;
    2296             :     compiler::TNode<String> tmp168;
    2297             :     compiler::TNode<Number> tmp169;
    2298             :     compiler::TNode<Object> tmp170;
    2299             :     compiler::TNode<Object> tmp171;
    2300             :     compiler::TNode<Map> tmp172;
    2301             :     compiler::TNode<Int32T> tmp173;
    2302             :     compiler::TNode<BuiltinPtr> tmp174;
    2303             :     ca_.Bind(&block13, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174);
    2304         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
    2305             :     ca_.Goto(&block10, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174);
    2306             :   }
    2307             : 
    2308         112 :   if (block10.is_used()) {
    2309             :     compiler::TNode<Context> tmp175;
    2310             :     compiler::TNode<JSReceiver> tmp176;
    2311             :     compiler::TNode<String> tmp177;
    2312             :     compiler::TNode<Number> tmp178;
    2313             :     compiler::TNode<Object> tmp179;
    2314             :     compiler::TNode<Object> tmp180;
    2315             :     compiler::TNode<Map> tmp181;
    2316             :     compiler::TNode<Int32T> tmp182;
    2317             :     compiler::TNode<BuiltinPtr> tmp183;
    2318             :     ca_.Bind(&block10, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183);
    2319         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
    2320             :     ca_.Goto(&block7, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183);
    2321             :   }
    2322             : 
    2323         112 :   if (block7.is_used()) {
    2324             :     compiler::TNode<Context> tmp184;
    2325             :     compiler::TNode<JSReceiver> tmp185;
    2326             :     compiler::TNode<String> tmp186;
    2327             :     compiler::TNode<Number> tmp187;
    2328             :     compiler::TNode<Object> tmp188;
    2329             :     compiler::TNode<Object> tmp189;
    2330             :     compiler::TNode<Map> tmp190;
    2331             :     compiler::TNode<Int32T> tmp191;
    2332             :     compiler::TNode<BuiltinPtr> tmp192;
    2333             :     ca_.Bind(&block7, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192);
    2334         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
    2335             :     ca_.Goto(&block4, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192);
    2336             :   }
    2337             : 
    2338         112 :   if (block3.is_used()) {
    2339             :     compiler::TNode<Context> tmp193;
    2340             :     compiler::TNode<JSReceiver> tmp194;
    2341             :     compiler::TNode<String> tmp195;
    2342             :     compiler::TNode<Number> tmp196;
    2343             :     compiler::TNode<Object> tmp197;
    2344             :     compiler::TNode<Object> tmp198;
    2345             :     compiler::TNode<Map> tmp199;
    2346             :     compiler::TNode<Int32T> tmp200;
    2347             :     compiler::TNode<BuiltinPtr> tmp201;
    2348             :     ca_.Bind(&block3, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201);
    2349         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
    2350             :     compiler::TNode<Int32T> tmp202;
    2351             :     USE(tmp202);
    2352         336 :     tmp202 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_ELEMENTS));
    2353             :     compiler::TNode<BoolT> tmp203;
    2354             :     USE(tmp203);
    2355         224 :     tmp203 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp200}, compiler::TNode<Int32T>{tmp202}));
    2356         112 :     ca_.Branch(tmp203, &block23, &block24, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201);
    2357             :   }
    2358             : 
    2359         112 :   if (block23.is_used()) {
    2360             :     compiler::TNode<Context> tmp204;
    2361             :     compiler::TNode<JSReceiver> tmp205;
    2362             :     compiler::TNode<String> tmp206;
    2363             :     compiler::TNode<Number> tmp207;
    2364             :     compiler::TNode<Object> tmp208;
    2365             :     compiler::TNode<Object> tmp209;
    2366             :     compiler::TNode<Map> tmp210;
    2367             :     compiler::TNode<Int32T> tmp211;
    2368             :     compiler::TNode<BuiltinPtr> tmp212;
    2369             :     ca_.Bind(&block23, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211, &tmp212);
    2370         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 402);
    2371         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
    2372             :     ca_.Goto(&block25, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedUint8Array)));
    2373             :   }
    2374             : 
    2375         112 :   if (block24.is_used()) {
    2376             :     compiler::TNode<Context> tmp213;
    2377             :     compiler::TNode<JSReceiver> tmp214;
    2378             :     compiler::TNode<String> tmp215;
    2379             :     compiler::TNode<Number> tmp216;
    2380             :     compiler::TNode<Object> tmp217;
    2381             :     compiler::TNode<Object> tmp218;
    2382             :     compiler::TNode<Map> tmp219;
    2383             :     compiler::TNode<Int32T> tmp220;
    2384             :     compiler::TNode<BuiltinPtr> tmp221;
    2385             :     ca_.Bind(&block24, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221);
    2386         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
    2387             :     compiler::TNode<Int32T> tmp222;
    2388             :     USE(tmp222);
    2389         336 :     tmp222 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT8_ELEMENTS));
    2390             :     compiler::TNode<BoolT> tmp223;
    2391             :     USE(tmp223);
    2392         224 :     tmp223 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp220}, compiler::TNode<Int32T>{tmp222}));
    2393         112 :     ca_.Branch(tmp223, &block26, &block27, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221);
    2394             :   }
    2395             : 
    2396         112 :   if (block26.is_used()) {
    2397             :     compiler::TNode<Context> tmp224;
    2398             :     compiler::TNode<JSReceiver> tmp225;
    2399             :     compiler::TNode<String> tmp226;
    2400             :     compiler::TNode<Number> tmp227;
    2401             :     compiler::TNode<Object> tmp228;
    2402             :     compiler::TNode<Object> tmp229;
    2403             :     compiler::TNode<Map> tmp230;
    2404             :     compiler::TNode<Int32T> tmp231;
    2405             :     compiler::TNode<BuiltinPtr> tmp232;
    2406             :     ca_.Bind(&block26, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232);
    2407         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 404);
    2408         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
    2409             :     ca_.Goto(&block28, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement16ATFixedInt8Array)));
    2410             :   }
    2411             : 
    2412         112 :   if (block27.is_used()) {
    2413             :     compiler::TNode<Context> tmp233;
    2414             :     compiler::TNode<JSReceiver> tmp234;
    2415             :     compiler::TNode<String> tmp235;
    2416             :     compiler::TNode<Number> tmp236;
    2417             :     compiler::TNode<Object> tmp237;
    2418             :     compiler::TNode<Object> tmp238;
    2419             :     compiler::TNode<Map> tmp239;
    2420             :     compiler::TNode<Int32T> tmp240;
    2421             :     compiler::TNode<BuiltinPtr> tmp241;
    2422             :     ca_.Bind(&block27, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241);
    2423         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
    2424             :     compiler::TNode<Int32T> tmp242;
    2425             :     USE(tmp242);
    2426         336 :     tmp242 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT16_ELEMENTS));
    2427             :     compiler::TNode<BoolT> tmp243;
    2428             :     USE(tmp243);
    2429         224 :     tmp243 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp240}, compiler::TNode<Int32T>{tmp242}));
    2430         112 :     ca_.Branch(tmp243, &block29, &block30, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241);
    2431             :   }
    2432             : 
    2433         112 :   if (block29.is_used()) {
    2434             :     compiler::TNode<Context> tmp244;
    2435             :     compiler::TNode<JSReceiver> tmp245;
    2436             :     compiler::TNode<String> tmp246;
    2437             :     compiler::TNode<Number> tmp247;
    2438             :     compiler::TNode<Object> tmp248;
    2439             :     compiler::TNode<Object> tmp249;
    2440             :     compiler::TNode<Map> tmp250;
    2441             :     compiler::TNode<Int32T> tmp251;
    2442             :     compiler::TNode<BuiltinPtr> tmp252;
    2443             :     ca_.Bind(&block29, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252);
    2444         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 406);
    2445         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
    2446             :     ca_.Goto(&block31, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint16Array)));
    2447             :   }
    2448             : 
    2449         112 :   if (block30.is_used()) {
    2450             :     compiler::TNode<Context> tmp253;
    2451             :     compiler::TNode<JSReceiver> tmp254;
    2452             :     compiler::TNode<String> tmp255;
    2453             :     compiler::TNode<Number> tmp256;
    2454             :     compiler::TNode<Object> tmp257;
    2455             :     compiler::TNode<Object> tmp258;
    2456             :     compiler::TNode<Map> tmp259;
    2457             :     compiler::TNode<Int32T> tmp260;
    2458             :     compiler::TNode<BuiltinPtr> tmp261;
    2459             :     ca_.Bind(&block30, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261);
    2460         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
    2461             :     compiler::TNode<Int32T> tmp262;
    2462             :     USE(tmp262);
    2463         336 :     tmp262 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT16_ELEMENTS));
    2464             :     compiler::TNode<BoolT> tmp263;
    2465             :     USE(tmp263);
    2466         224 :     tmp263 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp260}, compiler::TNode<Int32T>{tmp262}));
    2467         112 :     ca_.Branch(tmp263, &block32, &block33, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261);
    2468             :   }
    2469             : 
    2470         112 :   if (block32.is_used()) {
    2471             :     compiler::TNode<Context> tmp264;
    2472             :     compiler::TNode<JSReceiver> tmp265;
    2473             :     compiler::TNode<String> tmp266;
    2474             :     compiler::TNode<Number> tmp267;
    2475             :     compiler::TNode<Object> tmp268;
    2476             :     compiler::TNode<Object> tmp269;
    2477             :     compiler::TNode<Map> tmp270;
    2478             :     compiler::TNode<Int32T> tmp271;
    2479             :     compiler::TNode<BuiltinPtr> tmp272;
    2480             :     ca_.Bind(&block32, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272);
    2481         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 408);
    2482         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
    2483             :     ca_.Goto(&block34, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt16Array)));
    2484             :   }
    2485             : 
    2486         112 :   if (block33.is_used()) {
    2487             :     compiler::TNode<Context> tmp273;
    2488             :     compiler::TNode<JSReceiver> tmp274;
    2489             :     compiler::TNode<String> tmp275;
    2490             :     compiler::TNode<Number> tmp276;
    2491             :     compiler::TNode<Object> tmp277;
    2492             :     compiler::TNode<Object> tmp278;
    2493             :     compiler::TNode<Map> tmp279;
    2494             :     compiler::TNode<Int32T> tmp280;
    2495             :     compiler::TNode<BuiltinPtr> tmp281;
    2496             :     ca_.Bind(&block33, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281);
    2497         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 409);
    2498             :     compiler::TNode<Int32T> tmp282;
    2499             :     USE(tmp282);
    2500         336 :     tmp282 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT32_ELEMENTS));
    2501             :     compiler::TNode<BoolT> tmp283;
    2502             :     USE(tmp283);
    2503         224 :     tmp283 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp280}, compiler::TNode<Int32T>{tmp282}));
    2504         112 :     ca_.Branch(tmp283, &block35, &block36, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281);
    2505             :   }
    2506             : 
    2507         112 :   if (block35.is_used()) {
    2508             :     compiler::TNode<Context> tmp284;
    2509             :     compiler::TNode<JSReceiver> tmp285;
    2510             :     compiler::TNode<String> tmp286;
    2511             :     compiler::TNode<Number> tmp287;
    2512             :     compiler::TNode<Object> tmp288;
    2513             :     compiler::TNode<Object> tmp289;
    2514             :     compiler::TNode<Map> tmp290;
    2515             :     compiler::TNode<Int32T> tmp291;
    2516             :     compiler::TNode<BuiltinPtr> tmp292;
    2517             :     ca_.Bind(&block35, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292);
    2518         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 410);
    2519         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 409);
    2520             :     ca_.Goto(&block37, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint32Array)));
    2521             :   }
    2522             : 
    2523         112 :   if (block36.is_used()) {
    2524             :     compiler::TNode<Context> tmp293;
    2525             :     compiler::TNode<JSReceiver> tmp294;
    2526             :     compiler::TNode<String> tmp295;
    2527             :     compiler::TNode<Number> tmp296;
    2528             :     compiler::TNode<Object> tmp297;
    2529             :     compiler::TNode<Object> tmp298;
    2530             :     compiler::TNode<Map> tmp299;
    2531             :     compiler::TNode<Int32T> tmp300;
    2532             :     compiler::TNode<BuiltinPtr> tmp301;
    2533             :     ca_.Bind(&block36, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301);
    2534         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 412);
    2535         224 :     CodeStubAssembler(state_).Unreachable();
    2536             :   }
    2537             : 
    2538         112 :   if (block37.is_used()) {
    2539             :     compiler::TNode<Context> tmp302;
    2540             :     compiler::TNode<JSReceiver> tmp303;
    2541             :     compiler::TNode<String> tmp304;
    2542             :     compiler::TNode<Number> tmp305;
    2543             :     compiler::TNode<Object> tmp306;
    2544             :     compiler::TNode<Object> tmp307;
    2545             :     compiler::TNode<Map> tmp308;
    2546             :     compiler::TNode<Int32T> tmp309;
    2547             :     compiler::TNode<BuiltinPtr> tmp310;
    2548             :     ca_.Bind(&block37, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310);
    2549         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
    2550             :     ca_.Goto(&block34, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310);
    2551             :   }
    2552             : 
    2553         112 :   if (block34.is_used()) {
    2554             :     compiler::TNode<Context> tmp311;
    2555             :     compiler::TNode<JSReceiver> tmp312;
    2556             :     compiler::TNode<String> tmp313;
    2557             :     compiler::TNode<Number> tmp314;
    2558             :     compiler::TNode<Object> tmp315;
    2559             :     compiler::TNode<Object> tmp316;
    2560             :     compiler::TNode<Map> tmp317;
    2561             :     compiler::TNode<Int32T> tmp318;
    2562             :     compiler::TNode<BuiltinPtr> tmp319;
    2563             :     ca_.Bind(&block34, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319);
    2564         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
    2565             :     ca_.Goto(&block31, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp319);
    2566             :   }
    2567             : 
    2568         112 :   if (block31.is_used()) {
    2569             :     compiler::TNode<Context> tmp320;
    2570             :     compiler::TNode<JSReceiver> tmp321;
    2571             :     compiler::TNode<String> tmp322;
    2572             :     compiler::TNode<Number> tmp323;
    2573             :     compiler::TNode<Object> tmp324;
    2574             :     compiler::TNode<Object> tmp325;
    2575             :     compiler::TNode<Map> tmp326;
    2576             :     compiler::TNode<Int32T> tmp327;
    2577             :     compiler::TNode<BuiltinPtr> tmp328;
    2578             :     ca_.Bind(&block31, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328);
    2579         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
    2580             :     ca_.Goto(&block28, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328);
    2581             :   }
    2582             : 
    2583         112 :   if (block28.is_used()) {
    2584             :     compiler::TNode<Context> tmp329;
    2585             :     compiler::TNode<JSReceiver> tmp330;
    2586             :     compiler::TNode<String> tmp331;
    2587             :     compiler::TNode<Number> tmp332;
    2588             :     compiler::TNode<Object> tmp333;
    2589             :     compiler::TNode<Object> tmp334;
    2590             :     compiler::TNode<Map> tmp335;
    2591             :     compiler::TNode<Int32T> tmp336;
    2592             :     compiler::TNode<BuiltinPtr> tmp337;
    2593             :     ca_.Bind(&block28, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336, &tmp337);
    2594         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
    2595             :     ca_.Goto(&block25, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334, tmp335, tmp336, tmp337);
    2596             :   }
    2597             : 
    2598         112 :   if (block25.is_used()) {
    2599             :     compiler::TNode<Context> tmp338;
    2600             :     compiler::TNode<JSReceiver> tmp339;
    2601             :     compiler::TNode<String> tmp340;
    2602             :     compiler::TNode<Number> tmp341;
    2603             :     compiler::TNode<Object> tmp342;
    2604             :     compiler::TNode<Object> tmp343;
    2605             :     compiler::TNode<Map> tmp344;
    2606             :     compiler::TNode<Int32T> tmp345;
    2607             :     compiler::TNode<BuiltinPtr> tmp346;
    2608             :     ca_.Bind(&block25, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346);
    2609         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
    2610             :     ca_.Goto(&block4, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346);
    2611             :   }
    2612             : 
    2613         112 :   if (block4.is_used()) {
    2614             :     compiler::TNode<Context> tmp347;
    2615             :     compiler::TNode<JSReceiver> tmp348;
    2616             :     compiler::TNode<String> tmp349;
    2617             :     compiler::TNode<Number> tmp350;
    2618             :     compiler::TNode<Object> tmp351;
    2619             :     compiler::TNode<Object> tmp352;
    2620             :     compiler::TNode<Map> tmp353;
    2621             :     compiler::TNode<Int32T> tmp354;
    2622             :     compiler::TNode<BuiltinPtr> tmp355;
    2623             :     ca_.Bind(&block4, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355);
    2624         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 416);
    2625         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 415);
    2626             :     compiler::TNode<String> tmp356;
    2627             :     USE(tmp356);
    2628         336 :     tmp356 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoinImpl12JSTypedArray(compiler::TNode<Context>{tmp347}, compiler::TNode<JSReceiver>{tmp348}, compiler::TNode<String>{tmp349}, compiler::TNode<Number>{tmp350}, p_useToLocaleString, compiler::TNode<Object>{tmp351}, compiler::TNode<Object>{tmp352}, compiler::TNode<BuiltinPtr>{tmp355}));
    2629             :     ca_.Goto(&block1, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp356);
    2630             :   }
    2631             : 
    2632         112 :   if (block1.is_used()) {
    2633             :     compiler::TNode<Context> tmp357;
    2634             :     compiler::TNode<JSReceiver> tmp358;
    2635             :     compiler::TNode<String> tmp359;
    2636             :     compiler::TNode<Number> tmp360;
    2637             :     compiler::TNode<Object> tmp361;
    2638             :     compiler::TNode<Object> tmp362;
    2639             :     compiler::TNode<Object> tmp363;
    2640             :     ca_.Bind(&block1, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363);
    2641         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 326);
    2642             :     ca_.Goto(&block38, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363);
    2643             :   }
    2644             : 
    2645             :     compiler::TNode<Context> tmp364;
    2646             :     compiler::TNode<JSReceiver> tmp365;
    2647             :     compiler::TNode<String> tmp366;
    2648             :     compiler::TNode<Number> tmp367;
    2649             :     compiler::TNode<Object> tmp368;
    2650             :     compiler::TNode<Object> tmp369;
    2651             :     compiler::TNode<Object> tmp370;
    2652             :     ca_.Bind(&block38, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370);
    2653         224 :   return compiler::TNode<Object>{tmp370};
    2654             : }
    2655             : 
    2656         672 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::LoadJoinStack(compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_IfUninitialized) {
    2657         672 :   compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2658             :   compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2659             :   compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2660             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2661             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2662             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2663             :     ca_.Goto(&block0, p_context);
    2664             : 
    2665         672 :   if (block0.is_used()) {
    2666             :     compiler::TNode<Context> tmp0;
    2667             :     ca_.Bind(&block0, &tmp0);
    2668         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 428);
    2669             :     compiler::TNode<Context> tmp1;
    2670             :     USE(tmp1);
    2671        2016 :     tmp1 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
    2672         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 430);
    2673             :     compiler::TNode<IntPtrT> tmp2;
    2674             :     USE(tmp2);
    2675        2016 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
    2676             :     compiler::TNode<Object> tmp3;
    2677             :     USE(tmp3);
    2678        1344 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp1}, compiler::TNode<IntPtrT>{tmp2}));
    2679             :     compiler::TNode<HeapObject> tmp4;
    2680             :     USE(tmp4);
    2681        2016 :     tmp4 = ca_.UncheckedCast<HeapObject>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp3}));
    2682         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 429);
    2683         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 431);
    2684             :     compiler::TNode<Oddball> tmp5;
    2685             :     USE(tmp5);
    2686        2016 :     tmp5 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    2687             :     compiler::TNode<BoolT> tmp6;
    2688             :     USE(tmp6);
    2689        1344 :     tmp6 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp4}, compiler::TNode<HeapObject>{tmp5}));
    2690         672 :     ca_.Branch(tmp6, &block3, &block4, tmp0, tmp1, tmp4);
    2691             :   }
    2692             : 
    2693         672 :   if (block3.is_used()) {
    2694             :     compiler::TNode<Context> tmp7;
    2695             :     compiler::TNode<Context> tmp8;
    2696             :     compiler::TNode<HeapObject> tmp9;
    2697             :     ca_.Bind(&block3, &tmp7, &tmp8, &tmp9);
    2698             :     ca_.Goto(&block1);
    2699             :   }
    2700             : 
    2701         672 :   if (block4.is_used()) {
    2702             :     compiler::TNode<Context> tmp10;
    2703             :     compiler::TNode<Context> tmp11;
    2704             :     compiler::TNode<HeapObject> tmp12;
    2705             :     ca_.Bind(&block4, &tmp10, &tmp11, &tmp12);
    2706         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 433);
    2707             :     compiler::TNode<FixedArray> tmp13;
    2708             :     USE(tmp13);
    2709        2016 :     tmp13 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp12}));
    2710             :     ca_.Goto(&block2, tmp10, tmp13);
    2711             :   }
    2712             : 
    2713         672 :   if (block2.is_used()) {
    2714             :     compiler::TNode<Context> tmp14;
    2715             :     compiler::TNode<FixedArray> tmp15;
    2716             :     ca_.Bind(&block2, &tmp14, &tmp15);
    2717         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 426);
    2718             :     ca_.Goto(&block5, tmp14, tmp15);
    2719             :   }
    2720             : 
    2721         672 :   if (block1.is_used()) {
    2722             :     ca_.Bind(&block1);
    2723         672 :     ca_.Goto(label_IfUninitialized);
    2724             :   }
    2725             : 
    2726             :     compiler::TNode<Context> tmp16;
    2727             :     compiler::TNode<FixedArray> tmp17;
    2728             :     ca_.Bind(&block5, &tmp16, &tmp17);
    2729        1344 :   return compiler::TNode<FixedArray>{tmp17};
    2730             : }
    2731             : 
    2732         336 : void ArrayJoinBuiltinsFromDSLAssembler::SetJoinStack(compiler::TNode<Context> p_context, compiler::TNode<FixedArray> p_stack) {
    2733         336 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2734             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2735             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2736             :     ca_.Goto(&block0, p_context, p_stack);
    2737             : 
    2738         336 :   if (block0.is_used()) {
    2739             :     compiler::TNode<Context> tmp0;
    2740             :     compiler::TNode<FixedArray> tmp1;
    2741             :     ca_.Bind(&block0, &tmp0, &tmp1);
    2742         336 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 437);
    2743             :     compiler::TNode<Context> tmp2;
    2744             :     USE(tmp2);
    2745        1008 :     tmp2 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
    2746         336 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 438);
    2747             :     compiler::TNode<IntPtrT> tmp3;
    2748             :     USE(tmp3);
    2749        1008 :     tmp3 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
    2750         672 :     CodeStubAssembler(state_).StoreContextElement(compiler::TNode<Context>{tmp2}, compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<Object>{tmp1});
    2751         336 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 436);
    2752             :     ca_.Goto(&block1, tmp0, tmp1);
    2753             :   }
    2754             : 
    2755         336 :   if (block1.is_used()) {
    2756             :     compiler::TNode<Context> tmp4;
    2757             :     compiler::TNode<FixedArray> tmp5;
    2758             :     ca_.Bind(&block1, &tmp4, &tmp5);
    2759             :     ca_.Goto(&block2, tmp4, tmp5);
    2760             :   }
    2761             : 
    2762             :     compiler::TNode<Context> tmp6;
    2763             :     compiler::TNode<FixedArray> tmp7;
    2764             :     ca_.Bind(&block2, &tmp6, &tmp7);
    2765         336 : }
    2766             : 
    2767         224 : TF_BUILTIN(JoinStackPush, CodeStubAssembler) {
    2768          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    2769             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    2770             :   USE(parameter0);
    2771             :   compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
    2772             :   USE(parameter1);
    2773             :   compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    2774             :   USE(parameter2);
    2775             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2776             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2777             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2778             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2779             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2780             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2781             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2782             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2783             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2784             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    2785             : 
    2786          56 :   if (block0.is_used()) {
    2787             :     compiler::TNode<Context> tmp0;
    2788             :     compiler::TNode<FixedArray> tmp1;
    2789             :     compiler::TNode<JSReceiver> tmp2;
    2790             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    2791          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 446);
    2792             :     compiler::TNode<IntPtrT> tmp3;
    2793             :     USE(tmp3);
    2794         112 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
    2795          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 447);
    2796             :     compiler::TNode<IntPtrT> tmp4;
    2797             :     USE(tmp4);
    2798         112 :     tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    2799             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
    2800             :   }
    2801             : 
    2802          56 :   if (block3.is_used()) {
    2803             :     compiler::TNode<Context> tmp5;
    2804             :     compiler::TNode<FixedArray> tmp6;
    2805             :     compiler::TNode<JSReceiver> tmp7;
    2806             :     compiler::TNode<IntPtrT> tmp8;
    2807             :     compiler::TNode<IntPtrT> tmp9;
    2808             :     ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
    2809             :     compiler::TNode<BoolT> tmp10;
    2810             :     USE(tmp10);
    2811         224 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
    2812          56 :     ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
    2813             :   }
    2814             : 
    2815          56 :   if (block1.is_used()) {
    2816             :     compiler::TNode<Context> tmp11;
    2817             :     compiler::TNode<FixedArray> tmp12;
    2818             :     compiler::TNode<JSReceiver> tmp13;
    2819             :     compiler::TNode<IntPtrT> tmp14;
    2820             :     compiler::TNode<IntPtrT> tmp15;
    2821             :     ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
    2822          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 448);
    2823             :     compiler::TNode<Object> tmp16;
    2824             :     USE(tmp16);
    2825         112 :     tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
    2826          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 451);
    2827             :     compiler::TNode<Oddball> tmp17;
    2828             :     USE(tmp17);
    2829         112 :     tmp17 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    2830             :     compiler::TNode<BoolT> tmp18;
    2831             :     USE(tmp18);
    2832         112 :     tmp18 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp17}));
    2833          56 :     ca_.Branch(tmp18, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
    2834             :   }
    2835             : 
    2836          56 :   if (block5.is_used()) {
    2837             :     compiler::TNode<Context> tmp19;
    2838             :     compiler::TNode<FixedArray> tmp20;
    2839             :     compiler::TNode<JSReceiver> tmp21;
    2840             :     compiler::TNode<IntPtrT> tmp22;
    2841             :     compiler::TNode<IntPtrT> tmp23;
    2842             :     compiler::TNode<Object> tmp24;
    2843             :     ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
    2844          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 452);
    2845         112 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp20}, compiler::TNode<IntPtrT>{tmp23}, compiler::TNode<HeapObject>{tmp21});
    2846          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 453);
    2847             :     compiler::TNode<Oddball> tmp25;
    2848             :     USE(tmp25);
    2849         112 :     tmp25 = BaseBuiltinsFromDSLAssembler(state_).True();
    2850         112 :     CodeStubAssembler(state_).Return(tmp25);
    2851             :   }
    2852             : 
    2853          56 :   if (block6.is_used()) {
    2854             :     compiler::TNode<Context> tmp26;
    2855             :     compiler::TNode<FixedArray> tmp27;
    2856             :     compiler::TNode<JSReceiver> tmp28;
    2857             :     compiler::TNode<IntPtrT> tmp29;
    2858             :     compiler::TNode<IntPtrT> tmp30;
    2859             :     compiler::TNode<Object> tmp31;
    2860             :     ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
    2861          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 457);
    2862             :     compiler::TNode<BoolT> tmp32;
    2863             :     USE(tmp32);
    2864         112 :     tmp32 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp28}, compiler::TNode<Object>{tmp31}));
    2865          56 :     ca_.Branch(tmp32, &block7, &block8, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31);
    2866             :   }
    2867             : 
    2868          56 :   if (block7.is_used()) {
    2869             :     compiler::TNode<Context> tmp33;
    2870             :     compiler::TNode<FixedArray> tmp34;
    2871             :     compiler::TNode<JSReceiver> tmp35;
    2872             :     compiler::TNode<IntPtrT> tmp36;
    2873             :     compiler::TNode<IntPtrT> tmp37;
    2874             :     compiler::TNode<Object> tmp38;
    2875             :     ca_.Bind(&block7, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
    2876             :     compiler::TNode<Oddball> tmp39;
    2877             :     USE(tmp39);
    2878         112 :     tmp39 = BaseBuiltinsFromDSLAssembler(state_).False();
    2879         112 :     CodeStubAssembler(state_).Return(tmp39);
    2880             :   }
    2881             : 
    2882          56 :   if (block8.is_used()) {
    2883             :     compiler::TNode<Context> tmp40;
    2884             :     compiler::TNode<FixedArray> tmp41;
    2885             :     compiler::TNode<JSReceiver> tmp42;
    2886             :     compiler::TNode<IntPtrT> tmp43;
    2887             :     compiler::TNode<IntPtrT> tmp44;
    2888             :     compiler::TNode<Object> tmp45;
    2889             :     ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
    2890          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 447);
    2891             :     ca_.Goto(&block4, tmp40, tmp41, tmp42, tmp43, tmp44);
    2892             :   }
    2893             : 
    2894          56 :   if (block4.is_used()) {
    2895             :     compiler::TNode<Context> tmp46;
    2896             :     compiler::TNode<FixedArray> tmp47;
    2897             :     compiler::TNode<JSReceiver> tmp48;
    2898             :     compiler::TNode<IntPtrT> tmp49;
    2899             :     compiler::TNode<IntPtrT> tmp50;
    2900             :     ca_.Bind(&block4, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
    2901             :     compiler::TNode<IntPtrT> tmp51;
    2902             :     USE(tmp51);
    2903         112 :     tmp51 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    2904             :     compiler::TNode<IntPtrT> tmp52;
    2905             :     USE(tmp52);
    2906         112 :     tmp52 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp50}, compiler::TNode<IntPtrT>{tmp51}));
    2907             :     ca_.Goto(&block3, tmp46, tmp47, tmp48, tmp49, tmp52);
    2908             :   }
    2909             : 
    2910          56 :   if (block2.is_used()) {
    2911             :     compiler::TNode<Context> tmp53;
    2912             :     compiler::TNode<FixedArray> tmp54;
    2913             :     compiler::TNode<JSReceiver> tmp55;
    2914             :     compiler::TNode<IntPtrT> tmp56;
    2915             :     compiler::TNode<IntPtrT> tmp57;
    2916             :     ca_.Bind(&block2, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
    2917          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 462);
    2918             :     compiler::TNode<FixedArray> tmp58;
    2919             :     USE(tmp58);
    2920         112 :     tmp58 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray>{tmp54}, compiler::TNode<IntPtrT>{tmp56}, compiler::TNode<JSReceiver>{tmp55}));
    2921          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 461);
    2922          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 463);
    2923         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp53}, compiler::TNode<FixedArray>{tmp58});
    2924          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 464);
    2925             :     compiler::TNode<Oddball> tmp59;
    2926             :     USE(tmp59);
    2927         112 :     tmp59 = BaseBuiltinsFromDSLAssembler(state_).True();
    2928         112 :     CodeStubAssembler(state_).Return(tmp59);
    2929             :   }
    2930          56 : }
    2931             : 
    2932         224 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPushInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::CodeAssemblerLabel* label_ReceiverAdded, compiler::CodeAssemblerLabel* label_ReceiverNotAdded) {
    2933         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2934             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2935             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2936             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2937             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2938             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block10(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    2939             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2940             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2941             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2942             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2943             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2944             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2945             :     ca_.Goto(&block0, p_context, p_receiver);
    2946             : 
    2947         224 :   if (block0.is_used()) {
    2948             :     compiler::TNode<Context> tmp0;
    2949             :     compiler::TNode<JSReceiver> tmp1;
    2950             :     ca_.Bind(&block0, &tmp0, &tmp1);
    2951         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 474);
    2952             :     compiler::TNode<FixedArray> tmp2;
    2953             :     USE(tmp2);
    2954         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    2955         672 :     tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
    2956             :     ca_.Goto(&block5, tmp0, tmp1, tmp2);
    2957         224 :     if (label0.is_used()) {
    2958         224 :       ca_.Bind(&label0);
    2959             :       ca_.Goto(&block6, tmp0, tmp1);
    2960             :     }
    2961             :   }
    2962             : 
    2963         224 :   if (block6.is_used()) {
    2964             :     compiler::TNode<Context> tmp3;
    2965             :     compiler::TNode<JSReceiver> tmp4;
    2966             :     ca_.Bind(&block6, &tmp3, &tmp4);
    2967             :     ca_.Goto(&block4, tmp3, tmp4);
    2968             :   }
    2969             : 
    2970         224 :   if (block5.is_used()) {
    2971             :     compiler::TNode<Context> tmp5;
    2972             :     compiler::TNode<JSReceiver> tmp6;
    2973             :     compiler::TNode<FixedArray> tmp7;
    2974             :     ca_.Bind(&block5, &tmp5, &tmp6, &tmp7);
    2975         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
    2976             :     compiler::TNode<Object> tmp8;
    2977             :     USE(tmp8);
    2978         448 :     tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp7}, 0));
    2979             :     compiler::TNode<Oddball> tmp9;
    2980             :     USE(tmp9);
    2981         672 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    2982             :     compiler::TNode<BoolT> tmp10;
    2983             :     USE(tmp10);
    2984         448 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp8}, compiler::TNode<HeapObject>{tmp9}));
    2985         224 :     ca_.Branch(tmp10, &block7, &block8, tmp5, tmp6, tmp7);
    2986             :   }
    2987             : 
    2988         224 :   if (block7.is_used()) {
    2989             :     compiler::TNode<Context> tmp11;
    2990             :     compiler::TNode<JSReceiver> tmp12;
    2991             :     compiler::TNode<FixedArray> tmp13;
    2992             :     ca_.Bind(&block7, &tmp11, &tmp12, &tmp13);
    2993         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 477);
    2994         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp13}, 0, compiler::TNode<HeapObject>{tmp12});
    2995         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
    2996             :     ca_.Goto(&block9, tmp11, tmp12, tmp13);
    2997             :   }
    2998             : 
    2999         224 :   if (block8.is_used()) {
    3000             :     compiler::TNode<Context> tmp14;
    3001             :     compiler::TNode<JSReceiver> tmp15;
    3002             :     compiler::TNode<FixedArray> tmp16;
    3003             :     ca_.Bind(&block8, &tmp14, &tmp15, &tmp16);
    3004         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 478);
    3005             :     compiler::TNode<Oddball> tmp17;
    3006         448 :     tmp17 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPush, tmp14, tmp16, tmp15));
    3007             :     USE(tmp17);
    3008             :     compiler::TNode<Oddball> tmp18;
    3009             :     USE(tmp18);
    3010         672 :     tmp18 = BaseBuiltinsFromDSLAssembler(state_).False();
    3011             :     compiler::TNode<BoolT> tmp19;
    3012             :     USE(tmp19);
    3013         448 :     tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp17}, compiler::TNode<HeapObject>{tmp18}));
    3014         224 :     ca_.Branch(tmp19, &block10, &block11, tmp14, tmp15, tmp16);
    3015             :   }
    3016             : 
    3017         224 :   if (block10.is_used()) {
    3018             :     compiler::TNode<Context> tmp20;
    3019             :     compiler::TNode<JSReceiver> tmp21;
    3020             :     compiler::TNode<FixedArray> tmp22;
    3021             :     ca_.Bind(&block10, &tmp20, &tmp21, &tmp22);
    3022         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 480);
    3023             :     ca_.Goto(&block2);
    3024             :   }
    3025             : 
    3026         224 :   if (block11.is_used()) {
    3027             :     compiler::TNode<Context> tmp23;
    3028             :     compiler::TNode<JSReceiver> tmp24;
    3029             :     compiler::TNode<FixedArray> tmp25;
    3030             :     ca_.Bind(&block11, &tmp23, &tmp24, &tmp25);
    3031         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
    3032             :     ca_.Goto(&block9, tmp23, tmp24, tmp25);
    3033             :   }
    3034             : 
    3035         224 :   if (block9.is_used()) {
    3036             :     compiler::TNode<Context> tmp26;
    3037             :     compiler::TNode<JSReceiver> tmp27;
    3038             :     compiler::TNode<FixedArray> tmp28;
    3039             :     ca_.Bind(&block9, &tmp26, &tmp27, &tmp28);
    3040         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
    3041         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 483);
    3042             :     ca_.Goto(&block3, tmp26, tmp27);
    3043             :   }
    3044             : 
    3045         224 :   if (block4.is_used()) {
    3046             :     compiler::TNode<Context> tmp29;
    3047             :     compiler::TNode<JSReceiver> tmp30;
    3048             :     ca_.Bind(&block4, &tmp29, &tmp30);
    3049         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 485);
    3050             :     compiler::TNode<IntPtrT> tmp31;
    3051             :     USE(tmp31);
    3052         672 :     tmp31 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3053             :     compiler::TNode<FixedArray> tmp32;
    3054             :     USE(tmp32);
    3055         448 :     tmp32 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp31}, CodeStubAssembler::kNone));
    3056         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 484);
    3057         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 486);
    3058         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp32}, 0, compiler::TNode<HeapObject>{tmp30});
    3059         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 487);
    3060         672 :     ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp29}, compiler::TNode<FixedArray>{tmp32});
    3061         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 483);
    3062         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
    3063             :     ca_.Goto(&block3, tmp29, tmp30);
    3064             :   }
    3065             : 
    3066         224 :   if (block3.is_used()) {
    3067             :     compiler::TNode<Context> tmp33;
    3068             :     compiler::TNode<JSReceiver> tmp34;
    3069             :     ca_.Bind(&block3, &tmp33, &tmp34);
    3070         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 489);
    3071             :     ca_.Goto(&block1);
    3072             :   }
    3073             : 
    3074         224 :   if (block1.is_used()) {
    3075             :     ca_.Bind(&block1);
    3076         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 470);
    3077         224 :     ca_.Goto(label_ReceiverAdded);
    3078             :   }
    3079             : 
    3080         224 :   if (block2.is_used()) {
    3081             :     ca_.Bind(&block2);
    3082         224 :     ca_.Goto(label_ReceiverNotAdded);
    3083             :   }
    3084         224 : }
    3085             : 
    3086         224 : TF_BUILTIN(JoinStackPop, CodeStubAssembler) {
    3087          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3088             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3089             :   USE(parameter0);
    3090             :   compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
    3091             :   USE(parameter1);
    3092             :   compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    3093             :   USE(parameter2);
    3094             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3095             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3096             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3097             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3098             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3099             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3100             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3101             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3102             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3103             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3104             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3105             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    3106             : 
    3107          56 :   if (block0.is_used()) {
    3108             :     compiler::TNode<Context> tmp0;
    3109             :     compiler::TNode<FixedArray> tmp1;
    3110             :     compiler::TNode<JSReceiver> tmp2;
    3111             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    3112          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 496);
    3113             :     compiler::TNode<IntPtrT> tmp3;
    3114             :     USE(tmp3);
    3115         112 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
    3116          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 497);
    3117             :     compiler::TNode<IntPtrT> tmp4;
    3118             :     USE(tmp4);
    3119         112 :     tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3120             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
    3121             :   }
    3122             : 
    3123          56 :   if (block3.is_used()) {
    3124             :     compiler::TNode<Context> tmp5;
    3125             :     compiler::TNode<FixedArray> tmp6;
    3126             :     compiler::TNode<JSReceiver> tmp7;
    3127             :     compiler::TNode<IntPtrT> tmp8;
    3128             :     compiler::TNode<IntPtrT> tmp9;
    3129             :     ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
    3130             :     compiler::TNode<BoolT> tmp10;
    3131             :     USE(tmp10);
    3132         224 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
    3133          56 :     ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
    3134             :   }
    3135             : 
    3136          56 :   if (block1.is_used()) {
    3137             :     compiler::TNode<Context> tmp11;
    3138             :     compiler::TNode<FixedArray> tmp12;
    3139             :     compiler::TNode<JSReceiver> tmp13;
    3140             :     compiler::TNode<IntPtrT> tmp14;
    3141             :     compiler::TNode<IntPtrT> tmp15;
    3142             :     ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
    3143          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 498);
    3144             :     compiler::TNode<Object> tmp16;
    3145             :     USE(tmp16);
    3146         112 :     tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
    3147             :     compiler::TNode<BoolT> tmp17;
    3148             :     USE(tmp17);
    3149         112 :     tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp13}));
    3150          56 :     ca_.Branch(tmp17, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15);
    3151             :   }
    3152             : 
    3153          56 :   if (block5.is_used()) {
    3154             :     compiler::TNode<Context> tmp18;
    3155             :     compiler::TNode<FixedArray> tmp19;
    3156             :     compiler::TNode<JSReceiver> tmp20;
    3157             :     compiler::TNode<IntPtrT> tmp21;
    3158             :     compiler::TNode<IntPtrT> tmp22;
    3159             :     ca_.Bind(&block5, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
    3160          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
    3161             :     compiler::TNode<IntPtrT> tmp23;
    3162             :     USE(tmp23);
    3163         112 :     tmp23 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3164             :     compiler::TNode<BoolT> tmp24;
    3165             :     USE(tmp24);
    3166         168 :     tmp24 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp22}, compiler::TNode<IntPtrT>{tmp23}));
    3167          56 :     ca_.Branch(tmp24, &block9, &block8, tmp18, tmp19, tmp20, tmp21, tmp22);
    3168             :   }
    3169             : 
    3170          56 :   if (block9.is_used()) {
    3171             :     compiler::TNode<Context> tmp25;
    3172             :     compiler::TNode<FixedArray> tmp26;
    3173             :     compiler::TNode<JSReceiver> tmp27;
    3174             :     compiler::TNode<IntPtrT> tmp28;
    3175             :     compiler::TNode<IntPtrT> tmp29;
    3176             :     ca_.Bind(&block9, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
    3177             :     compiler::TNode<IntPtrT> tmp30;
    3178             :     USE(tmp30);
    3179         112 :     tmp30 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3180             :     compiler::TNode<BoolT> tmp31;
    3181             :     USE(tmp31);
    3182         168 :     tmp31 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp28}, compiler::TNode<IntPtrT>{tmp30}));
    3183          56 :     ca_.Branch(tmp31, &block7, &block8, tmp25, tmp26, tmp27, tmp28, tmp29);
    3184             :   }
    3185             : 
    3186          56 :   if (block7.is_used()) {
    3187             :     compiler::TNode<Context> tmp32;
    3188             :     compiler::TNode<FixedArray> tmp33;
    3189             :     compiler::TNode<JSReceiver> tmp34;
    3190             :     compiler::TNode<IntPtrT> tmp35;
    3191             :     compiler::TNode<IntPtrT> tmp36;
    3192             :     ca_.Bind(&block7, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
    3193          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 503);
    3194             :     compiler::TNode<IntPtrT> tmp37;
    3195             :     USE(tmp37);
    3196         112 :     tmp37 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3197             :     compiler::TNode<FixedArray> tmp38;
    3198             :     USE(tmp38);
    3199         112 :     tmp38 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp37}, CodeStubAssembler::kNone));
    3200          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 502);
    3201          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 504);
    3202         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp32}, compiler::TNode<FixedArray>{tmp38});
    3203          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
    3204             :     ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35, tmp36);
    3205             :   }
    3206             : 
    3207          56 :   if (block8.is_used()) {
    3208             :     compiler::TNode<Context> tmp39;
    3209             :     compiler::TNode<FixedArray> tmp40;
    3210             :     compiler::TNode<JSReceiver> tmp41;
    3211             :     compiler::TNode<IntPtrT> tmp42;
    3212             :     compiler::TNode<IntPtrT> tmp43;
    3213             :     ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    3214          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 507);
    3215             :     compiler::TNode<Oddball> tmp44;
    3216             :     USE(tmp44);
    3217         112 :     tmp44 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    3218         112 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp40}, compiler::TNode<IntPtrT>{tmp43}, compiler::TNode<HeapObject>{tmp44});
    3219          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
    3220             :     ca_.Goto(&block10, tmp39, tmp40, tmp41, tmp42, tmp43);
    3221             :   }
    3222             : 
    3223          56 :   if (block10.is_used()) {
    3224             :     compiler::TNode<Context> tmp45;
    3225             :     compiler::TNode<FixedArray> tmp46;
    3226             :     compiler::TNode<JSReceiver> tmp47;
    3227             :     compiler::TNode<IntPtrT> tmp48;
    3228             :     compiler::TNode<IntPtrT> tmp49;
    3229             :     ca_.Bind(&block10, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
    3230          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 509);
    3231             :     compiler::TNode<Oddball> tmp50;
    3232             :     USE(tmp50);
    3233         112 :     tmp50 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3234         112 :     CodeStubAssembler(state_).Return(tmp50);
    3235             :   }
    3236             : 
    3237          56 :   if (block6.is_used()) {
    3238             :     compiler::TNode<Context> tmp51;
    3239             :     compiler::TNode<FixedArray> tmp52;
    3240             :     compiler::TNode<JSReceiver> tmp53;
    3241             :     compiler::TNode<IntPtrT> tmp54;
    3242             :     compiler::TNode<IntPtrT> tmp55;
    3243             :     ca_.Bind(&block6, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55);
    3244          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 497);
    3245             :     ca_.Goto(&block4, tmp51, tmp52, tmp53, tmp54, tmp55);
    3246             :   }
    3247             : 
    3248          56 :   if (block4.is_used()) {
    3249             :     compiler::TNode<Context> tmp56;
    3250             :     compiler::TNode<FixedArray> tmp57;
    3251             :     compiler::TNode<JSReceiver> tmp58;
    3252             :     compiler::TNode<IntPtrT> tmp59;
    3253             :     compiler::TNode<IntPtrT> tmp60;
    3254             :     ca_.Bind(&block4, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60);
    3255             :     compiler::TNode<IntPtrT> tmp61;
    3256             :     USE(tmp61);
    3257         112 :     tmp61 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    3258             :     compiler::TNode<IntPtrT> tmp62;
    3259             :     USE(tmp62);
    3260         112 :     tmp62 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp60}, compiler::TNode<IntPtrT>{tmp61}));
    3261             :     ca_.Goto(&block3, tmp56, tmp57, tmp58, tmp59, tmp62);
    3262             :   }
    3263             : 
    3264          56 :   if (block2.is_used()) {
    3265             :     compiler::TNode<Context> tmp63;
    3266             :     compiler::TNode<FixedArray> tmp64;
    3267             :     compiler::TNode<JSReceiver> tmp65;
    3268             :     compiler::TNode<IntPtrT> tmp66;
    3269             :     compiler::TNode<IntPtrT> tmp67;
    3270             :     ca_.Bind(&block2, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
    3271          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 512);
    3272         112 :     CodeStubAssembler(state_).Unreachable();
    3273             :   }
    3274          56 : }
    3275             : 
    3276         448 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPopInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver) {
    3277         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3278             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3279             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3280             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3281             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3282             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3283             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3284             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3285             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3286             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3287             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3288             :     ca_.Goto(&block0, p_context, p_receiver);
    3289             : 
    3290         448 :   if (block0.is_used()) {
    3291             :     compiler::TNode<Context> tmp0;
    3292             :     compiler::TNode<JSReceiver> tmp1;
    3293             :     ca_.Bind(&block0, &tmp0, &tmp1);
    3294         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 517);
    3295             :     compiler::TNode<FixedArray> tmp2;
    3296             :     USE(tmp2);
    3297         448 :     compiler::CodeAssemblerLabel label0(&ca_);
    3298        1344 :     tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
    3299             :     ca_.Goto(&block4, tmp0, tmp1, tmp2);
    3300         448 :     if (label0.is_used()) {
    3301         448 :       ca_.Bind(&label0);
    3302             :       ca_.Goto(&block5, tmp0, tmp1);
    3303             :     }
    3304             :   }
    3305             : 
    3306         448 :   if (block5.is_used()) {
    3307             :     compiler::TNode<Context> tmp3;
    3308             :     compiler::TNode<JSReceiver> tmp4;
    3309             :     ca_.Bind(&block5, &tmp3, &tmp4);
    3310             :     ca_.Goto(&block3, tmp3, tmp4);
    3311             :   }
    3312             : 
    3313         448 :   if (block4.is_used()) {
    3314             :     compiler::TNode<Context> tmp5;
    3315             :     compiler::TNode<JSReceiver> tmp6;
    3316             :     compiler::TNode<FixedArray> tmp7;
    3317             :     ca_.Bind(&block4, &tmp5, &tmp6, &tmp7);
    3318             :     ca_.Goto(&block2, tmp5, tmp6, tmp7);
    3319             :   }
    3320             : 
    3321         448 :   if (block3.is_used()) {
    3322             :     compiler::TNode<Context> tmp8;
    3323             :     compiler::TNode<JSReceiver> tmp9;
    3324             :     ca_.Bind(&block3, &tmp8, &tmp9);
    3325         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 518);
    3326         896 :     CodeStubAssembler(state_).Unreachable();
    3327             :   }
    3328             : 
    3329         448 :   if (block2.is_used()) {
    3330             :     compiler::TNode<Context> tmp10;
    3331             :     compiler::TNode<JSReceiver> tmp11;
    3332             :     compiler::TNode<FixedArray> tmp12;
    3333             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
    3334         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 517);
    3335         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 519);
    3336             :     compiler::TNode<IntPtrT> tmp13;
    3337             :     USE(tmp13);
    3338         896 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp12}));
    3339         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
    3340             :     compiler::TNode<Object> tmp14;
    3341             :     USE(tmp14);
    3342         896 :     tmp14 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, 0));
    3343             :     compiler::TNode<BoolT> tmp15;
    3344             :     USE(tmp15);
    3345         896 :     tmp15 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp14}, compiler::TNode<HeapObject>{tmp11}));
    3346         448 :     ca_.Branch(tmp15, &block8, &block7, tmp10, tmp11, tmp12, tmp13);
    3347             :   }
    3348             : 
    3349         448 :   if (block8.is_used()) {
    3350             :     compiler::TNode<Context> tmp16;
    3351             :     compiler::TNode<JSReceiver> tmp17;
    3352             :     compiler::TNode<FixedArray> tmp18;
    3353             :     compiler::TNode<IntPtrT> tmp19;
    3354             :     ca_.Bind(&block8, &tmp16, &tmp17, &tmp18, &tmp19);
    3355             :     compiler::TNode<IntPtrT> tmp20;
    3356             :     USE(tmp20);
    3357        1344 :     tmp20 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3358             :     compiler::TNode<BoolT> tmp21;
    3359             :     USE(tmp21);
    3360        1344 :     tmp21 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp19}, compiler::TNode<IntPtrT>{tmp20}));
    3361         448 :     ca_.Branch(tmp21, &block6, &block7, tmp16, tmp17, tmp18, tmp19);
    3362             :   }
    3363             : 
    3364         448 :   if (block6.is_used()) {
    3365             :     compiler::TNode<Context> tmp22;
    3366             :     compiler::TNode<JSReceiver> tmp23;
    3367             :     compiler::TNode<FixedArray> tmp24;
    3368             :     compiler::TNode<IntPtrT> tmp25;
    3369             :     ca_.Bind(&block6, &tmp22, &tmp23, &tmp24, &tmp25);
    3370         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 524);
    3371             :     compiler::TNode<Oddball> tmp26;
    3372             :     USE(tmp26);
    3373        1344 :     tmp26 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    3374             :     compiler::TNode<IntPtrT> tmp27;
    3375             :     USE(tmp27);
    3376        1344 :     tmp27 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3377         896 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, compiler::TNode<IntPtrT>{tmp27}, compiler::TNode<Object>{tmp26}, SKIP_WRITE_BARRIER);
    3378         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
    3379             :     ca_.Goto(&block9, tmp22, tmp23, tmp24, tmp25);
    3380             :   }
    3381             : 
    3382         448 :   if (block7.is_used()) {
    3383             :     compiler::TNode<Context> tmp28;
    3384             :     compiler::TNode<JSReceiver> tmp29;
    3385             :     compiler::TNode<FixedArray> tmp30;
    3386             :     compiler::TNode<IntPtrT> tmp31;
    3387             :     ca_.Bind(&block7, &tmp28, &tmp29, &tmp30, &tmp31);
    3388         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 527);
    3389             :     compiler::TNode<Object> tmp32;
    3390         896 :     tmp32 = CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPop, tmp28, tmp30, tmp29);
    3391             :     USE(tmp32);
    3392         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
    3393             :     ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31);
    3394             :   }
    3395             : 
    3396         448 :   if (block9.is_used()) {
    3397             :     compiler::TNode<Context> tmp33;
    3398             :     compiler::TNode<JSReceiver> tmp34;
    3399             :     compiler::TNode<FixedArray> tmp35;
    3400             :     compiler::TNode<IntPtrT> tmp36;
    3401             :     ca_.Bind(&block9, &tmp33, &tmp34, &tmp35, &tmp36);
    3402         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 516);
    3403             :     ca_.Goto(&block1, tmp33, tmp34);
    3404             :   }
    3405             : 
    3406         448 :   if (block1.is_used()) {
    3407             :     compiler::TNode<Context> tmp37;
    3408             :     compiler::TNode<JSReceiver> tmp38;
    3409             :     ca_.Bind(&block1, &tmp37, &tmp38);
    3410             :     ca_.Goto(&block10, tmp37, tmp38);
    3411             :   }
    3412             : 
    3413             :     compiler::TNode<Context> tmp39;
    3414             :     compiler::TNode<JSReceiver> tmp40;
    3415             :     ca_.Bind(&block10, &tmp39, &tmp40);
    3416         448 : }
    3417             : 
    3418         224 : TF_BUILTIN(ArrayPrototypeJoin, CodeStubAssembler) {
    3419          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3420             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3421             :   USE(parameter0);
    3422             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3423          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
    3424          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
    3425          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
    3426             :   CodeStubArguments arguments(this, torque_arguments);
    3427          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
    3428             : USE(parameter1);
    3429             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3430             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3431             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3432             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3433             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3434             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
    3435             : 
    3436          56 :   if (block0.is_used()) {
    3437             :     compiler::TNode<Context> tmp0;
    3438             :     compiler::TNode<Object> tmp1;
    3439             :     compiler::TNode<RawPtrT> tmp2;
    3440             :     compiler::TNode<RawPtrT> tmp3;
    3441             :     compiler::TNode<IntPtrT> tmp4;
    3442             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    3443          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 561);
    3444             :     compiler::TNode<IntPtrT> tmp5;
    3445             :     USE(tmp5);
    3446         112 :     tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3447             :     compiler::TNode<Object> tmp6;
    3448             :     USE(tmp6);
    3449         112 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
    3450          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 564);
    3451             :     compiler::TNode<JSReceiver> tmp7;
    3452             :     USE(tmp7);
    3453         112 :     tmp7 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    3454          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 567);
    3455             :     compiler::TNode<Number> tmp8;
    3456             :     USE(tmp8);
    3457         112 :     tmp8 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp7}));
    3458          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 571);
    3459             :     compiler::TNode<Number> tmp9;
    3460             :     USE(tmp9);
    3461         224 :     tmp9 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
    3462          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    3463          56 :     compiler::CodeAssemblerLabel label1(&ca_);
    3464         112 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp8}, compiler::TNode<Number>{tmp9}, &label0, &label1);
    3465          56 :     if (label0.is_used()) {
    3466          56 :       ca_.Bind(&label0);
    3467             :       ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp7, tmp8, tmp8);
    3468             :     }
    3469          56 :     if (label1.is_used()) {
    3470          56 :       ca_.Bind(&label1);
    3471             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp7, tmp8, tmp8);
    3472             :     }
    3473             :   }
    3474             : 
    3475          56 :   if (block3.is_used()) {
    3476             :     compiler::TNode<Context> tmp10;
    3477             :     compiler::TNode<Object> tmp11;
    3478             :     compiler::TNode<RawPtrT> tmp12;
    3479             :     compiler::TNode<RawPtrT> tmp13;
    3480             :     compiler::TNode<IntPtrT> tmp14;
    3481             :     compiler::TNode<Object> tmp15;
    3482             :     compiler::TNode<JSReceiver> tmp16;
    3483             :     compiler::TNode<Number> tmp17;
    3484             :     compiler::TNode<Number> tmp18;
    3485             :     ca_.Bind(&block3, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
    3486             :     ca_.Goto(&block1, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
    3487             :   }
    3488             : 
    3489          56 :   if (block4.is_used()) {
    3490             :     compiler::TNode<Context> tmp19;
    3491             :     compiler::TNode<Object> tmp20;
    3492             :     compiler::TNode<RawPtrT> tmp21;
    3493             :     compiler::TNode<RawPtrT> tmp22;
    3494             :     compiler::TNode<IntPtrT> tmp23;
    3495             :     compiler::TNode<Object> tmp24;
    3496             :     compiler::TNode<JSReceiver> tmp25;
    3497             :     compiler::TNode<Number> tmp26;
    3498             :     compiler::TNode<Number> tmp27;
    3499             :     ca_.Bind(&block4, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
    3500             :     ca_.Goto(&block2, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26);
    3501             :   }
    3502             : 
    3503          56 :   if (block1.is_used()) {
    3504             :     compiler::TNode<Context> tmp28;
    3505             :     compiler::TNode<Object> tmp29;
    3506             :     compiler::TNode<RawPtrT> tmp30;
    3507             :     compiler::TNode<RawPtrT> tmp31;
    3508             :     compiler::TNode<IntPtrT> tmp32;
    3509             :     compiler::TNode<Object> tmp33;
    3510             :     compiler::TNode<JSReceiver> tmp34;
    3511             :     compiler::TNode<Number> tmp35;
    3512             :     ca_.Bind(&block1, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
    3513         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp28}, MessageTemplate::kInvalidArrayLength);
    3514             :   }
    3515             : 
    3516          56 :   if (block2.is_used()) {
    3517             :     compiler::TNode<Context> tmp36;
    3518             :     compiler::TNode<Object> tmp37;
    3519             :     compiler::TNode<RawPtrT> tmp38;
    3520             :     compiler::TNode<RawPtrT> tmp39;
    3521             :     compiler::TNode<IntPtrT> tmp40;
    3522             :     compiler::TNode<Object> tmp41;
    3523             :     compiler::TNode<JSReceiver> tmp42;
    3524             :     compiler::TNode<Number> tmp43;
    3525             :     ca_.Bind(&block2, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    3526          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 574);
    3527             :     compiler::TNode<Oddball> tmp44;
    3528             :     USE(tmp44);
    3529         112 :     tmp44 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3530             :     compiler::TNode<Oddball> tmp45;
    3531             :     USE(tmp45);
    3532         112 :     tmp45 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3533          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 573);
    3534             :     compiler::TNode<Object> tmp46;
    3535             :     USE(tmp46);
    3536         112 :     tmp46 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin7JSArray(compiler::TNode<Context>{tmp36}, false, compiler::TNode<JSReceiver>{tmp42}, compiler::TNode<Number>{tmp43}, compiler::TNode<Object>{tmp41}, compiler::TNode<Object>{tmp44}, compiler::TNode<Object>{tmp45}));
    3537          56 :     arguments.PopAndReturn(tmp46);
    3538             :   }
    3539          56 : }
    3540             : 
    3541         224 : TF_BUILTIN(ArrayPrototypeToLocaleString, CodeStubAssembler) {
    3542          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3543             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3544             :   USE(parameter0);
    3545             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3546          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
    3547          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
    3548          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
    3549             :   CodeStubArguments arguments(this, torque_arguments);
    3550          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
    3551             : USE(parameter1);
    3552             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3553             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3554             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3555             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3556             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3557             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
    3558             : 
    3559          56 :   if (block0.is_used()) {
    3560             :     compiler::TNode<Context> tmp0;
    3561             :     compiler::TNode<Object> tmp1;
    3562             :     compiler::TNode<RawPtrT> tmp2;
    3563             :     compiler::TNode<RawPtrT> tmp3;
    3564             :     compiler::TNode<IntPtrT> tmp4;
    3565             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    3566          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 580);
    3567             :     compiler::TNode<IntPtrT> tmp5;
    3568             :     USE(tmp5);
    3569         112 :     tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3570             :     compiler::TNode<Object> tmp6;
    3571             :     USE(tmp6);
    3572         112 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
    3573          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 581);
    3574             :     compiler::TNode<IntPtrT> tmp7;
    3575             :     USE(tmp7);
    3576         112 :     tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    3577             :     compiler::TNode<Object> tmp8;
    3578             :     USE(tmp8);
    3579         112 :     tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp7}));
    3580          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 584);
    3581             :     compiler::TNode<JSReceiver> tmp9;
    3582             :     USE(tmp9);
    3583         112 :     tmp9 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    3584          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 587);
    3585             :     compiler::TNode<Number> tmp10;
    3586             :     USE(tmp10);
    3587         112 :     tmp10 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp9}));
    3588          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 591);
    3589             :     compiler::TNode<Number> tmp11;
    3590             :     USE(tmp11);
    3591         224 :     tmp11 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
    3592          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    3593          56 :     compiler::CodeAssemblerLabel label1(&ca_);
    3594         112 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp10}, compiler::TNode<Number>{tmp11}, &label0, &label1);
    3595          56 :     if (label0.is_used()) {
    3596          56 :       ca_.Bind(&label0);
    3597             :       ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp8, tmp9, tmp10, tmp10);
    3598             :     }
    3599          56 :     if (label1.is_used()) {
    3600          56 :       ca_.Bind(&label1);
    3601             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp8, tmp9, tmp10, tmp10);
    3602             :     }
    3603             :   }
    3604             : 
    3605          56 :   if (block3.is_used()) {
    3606             :     compiler::TNode<Context> tmp12;
    3607             :     compiler::TNode<Object> tmp13;
    3608             :     compiler::TNode<RawPtrT> tmp14;
    3609             :     compiler::TNode<RawPtrT> tmp15;
    3610             :     compiler::TNode<IntPtrT> tmp16;
    3611             :     compiler::TNode<Object> tmp17;
    3612             :     compiler::TNode<Object> tmp18;
    3613             :     compiler::TNode<JSReceiver> tmp19;
    3614             :     compiler::TNode<Number> tmp20;
    3615             :     compiler::TNode<Number> tmp21;
    3616             :     ca_.Bind(&block3, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
    3617             :     ca_.Goto(&block1, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
    3618             :   }
    3619             : 
    3620          56 :   if (block4.is_used()) {
    3621             :     compiler::TNode<Context> tmp22;
    3622             :     compiler::TNode<Object> tmp23;
    3623             :     compiler::TNode<RawPtrT> tmp24;
    3624             :     compiler::TNode<RawPtrT> tmp25;
    3625             :     compiler::TNode<IntPtrT> tmp26;
    3626             :     compiler::TNode<Object> tmp27;
    3627             :     compiler::TNode<Object> tmp28;
    3628             :     compiler::TNode<JSReceiver> tmp29;
    3629             :     compiler::TNode<Number> tmp30;
    3630             :     compiler::TNode<Number> tmp31;
    3631             :     ca_.Bind(&block4, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
    3632             :     ca_.Goto(&block2, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30);
    3633             :   }
    3634             : 
    3635          56 :   if (block1.is_used()) {
    3636             :     compiler::TNode<Context> tmp32;
    3637             :     compiler::TNode<Object> tmp33;
    3638             :     compiler::TNode<RawPtrT> tmp34;
    3639             :     compiler::TNode<RawPtrT> tmp35;
    3640             :     compiler::TNode<IntPtrT> tmp36;
    3641             :     compiler::TNode<Object> tmp37;
    3642             :     compiler::TNode<Object> tmp38;
    3643             :     compiler::TNode<JSReceiver> tmp39;
    3644             :     compiler::TNode<Number> tmp40;
    3645             :     ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40);
    3646         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp32}, MessageTemplate::kInvalidArrayLength);
    3647             :   }
    3648             : 
    3649          56 :   if (block2.is_used()) {
    3650             :     compiler::TNode<Context> tmp41;
    3651             :     compiler::TNode<Object> tmp42;
    3652             :     compiler::TNode<RawPtrT> tmp43;
    3653             :     compiler::TNode<RawPtrT> tmp44;
    3654             :     compiler::TNode<IntPtrT> tmp45;
    3655             :     compiler::TNode<Object> tmp46;
    3656             :     compiler::TNode<Object> tmp47;
    3657             :     compiler::TNode<JSReceiver> tmp48;
    3658             :     compiler::TNode<Number> tmp49;
    3659             :     ca_.Bind(&block2, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
    3660          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 594);
    3661          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 593);
    3662             :     compiler::TNode<Object> tmp50;
    3663             :     USE(tmp50);
    3664         112 :     tmp50 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
    3665             :     compiler::TNode<Object> tmp51;
    3666             :     USE(tmp51);
    3667         112 :     tmp51 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin7JSArray(compiler::TNode<Context>{tmp41}, true, compiler::TNode<JSReceiver>{tmp48}, compiler::TNode<Number>{tmp49}, compiler::TNode<Object>{tmp50}, compiler::TNode<Object>{tmp46}, compiler::TNode<Object>{tmp47}));
    3668          56 :     arguments.PopAndReturn(tmp51);
    3669             :   }
    3670          56 : }
    3671             : 
    3672         224 : TF_BUILTIN(ArrayPrototypeToString, CodeStubAssembler) {
    3673          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3674             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3675             :   USE(parameter0);
    3676             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3677          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
    3678          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
    3679          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
    3680             :   CodeStubArguments arguments(this, torque_arguments);
    3681          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
    3682             : USE(parameter1);
    3683             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3684             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3685             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3686             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3687             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
    3688             : 
    3689          56 :   if (block0.is_used()) {
    3690             :     compiler::TNode<Context> tmp0;
    3691             :     compiler::TNode<Object> tmp1;
    3692             :     compiler::TNode<RawPtrT> tmp2;
    3693             :     compiler::TNode<RawPtrT> tmp3;
    3694             :     compiler::TNode<IntPtrT> tmp4;
    3695             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    3696          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 601);
    3697             :     compiler::TNode<JSReceiver> tmp5;
    3698             :     USE(tmp5);
    3699         112 :     tmp5 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    3700          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 604);
    3701             :     compiler::TNode<Object> tmp6;
    3702             :     USE(tmp6);
    3703         112 :     tmp6 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("join"));
    3704             :     compiler::TNode<Object> tmp7;
    3705             :     USE(tmp7);
    3706         112 :     tmp7 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}, compiler::TNode<Object>{tmp6}));
    3707          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 608);
    3708             :     compiler::TNode<JSReceiver> tmp8;
    3709             :     USE(tmp8);
    3710          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    3711         112 :     tmp8 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp7}, &label0);
    3712             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp7, tmp8);
    3713          56 :     if (label0.is_used()) {
    3714          56 :       ca_.Bind(&label0);
    3715             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp7, tmp7);
    3716             :     }
    3717             :   }
    3718             : 
    3719          56 :   if (block4.is_used()) {
    3720             :     compiler::TNode<Context> tmp9;
    3721             :     compiler::TNode<Object> tmp10;
    3722             :     compiler::TNode<RawPtrT> tmp11;
    3723             :     compiler::TNode<RawPtrT> tmp12;
    3724             :     compiler::TNode<IntPtrT> tmp13;
    3725             :     compiler::TNode<JSReceiver> tmp14;
    3726             :     compiler::TNode<Object> tmp15;
    3727             :     compiler::TNode<Object> tmp16;
    3728             :     ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
    3729             :     ca_.Goto(&block2, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15);
    3730             :   }
    3731             : 
    3732          56 :   if (block3.is_used()) {
    3733             :     compiler::TNode<Context> tmp17;
    3734             :     compiler::TNode<Object> tmp18;
    3735             :     compiler::TNode<RawPtrT> tmp19;
    3736             :     compiler::TNode<RawPtrT> tmp20;
    3737             :     compiler::TNode<IntPtrT> tmp21;
    3738             :     compiler::TNode<JSReceiver> tmp22;
    3739             :     compiler::TNode<Object> tmp23;
    3740             :     compiler::TNode<Object> tmp24;
    3741             :     compiler::TNode<JSReceiver> tmp25;
    3742             :     ca_.Bind(&block3, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
    3743          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 611);
    3744             :     compiler::TNode<Object> tmp26;
    3745             :     USE(tmp26);
    3746         168 :     tmp26 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp17}, compiler::TNode<JSReceiver>{tmp25}, compiler::TNode<Object>{tmp22}));
    3747          56 :     arguments.PopAndReturn(tmp26);
    3748             :   }
    3749             : 
    3750          56 :   if (block2.is_used()) {
    3751             :     compiler::TNode<Context> tmp27;
    3752             :     compiler::TNode<Object> tmp28;
    3753             :     compiler::TNode<RawPtrT> tmp29;
    3754             :     compiler::TNode<RawPtrT> tmp30;
    3755             :     compiler::TNode<IntPtrT> tmp31;
    3756             :     compiler::TNode<JSReceiver> tmp32;
    3757             :     compiler::TNode<Object> tmp33;
    3758             :     ca_.Bind(&block2, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
    3759          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 614);
    3760             :     compiler::TNode<Object> tmp34;
    3761         112 :     tmp34 = CodeStubAssembler(state_).CallBuiltin(Builtins::kObjectToString, tmp27, tmp32);
    3762             :     USE(tmp34);
    3763          56 :     arguments.PopAndReturn(tmp34);
    3764             :   }
    3765          56 : }
    3766             : 
    3767         224 : TF_BUILTIN(TypedArrayPrototypeJoin, CodeStubAssembler) {
    3768          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3769             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3770             :   USE(parameter0);
    3771             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3772          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
    3773          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
    3774          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
    3775             :   CodeStubArguments arguments(this, torque_arguments);
    3776          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
    3777             : USE(parameter1);
    3778             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3779             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
    3780             : 
    3781          56 :   if (block0.is_used()) {
    3782             :     compiler::TNode<Context> tmp0;
    3783             :     compiler::TNode<Object> tmp1;
    3784             :     compiler::TNode<RawPtrT> tmp2;
    3785             :     compiler::TNode<RawPtrT> tmp3;
    3786             :     compiler::TNode<IntPtrT> tmp4;
    3787             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    3788          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 621);
    3789             :     compiler::TNode<IntPtrT> tmp5;
    3790             :     USE(tmp5);
    3791         112 :     tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3792             :     compiler::TNode<Object> tmp6;
    3793             :     USE(tmp6);
    3794         112 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
    3795          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 626);
    3796          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 625);
    3797             :     compiler::TNode<JSTypedArray> tmp7;
    3798             :     USE(tmp7);
    3799         112 :     tmp7 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.join"));
    3800          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 627);
    3801          56 :     compiler::TNode<IntPtrT> tmp8 = ca_.IntPtrConstant(JSTypedArray::kLengthOffset);
    3802             :     USE(tmp8);
    3803         112 :     compiler::TNode<Smi>tmp9 = CodeStubAssembler(state_).LoadReference<Smi>(CodeStubAssembler::Reference{tmp7, tmp8});
    3804          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 630);
    3805             :     compiler::TNode<Oddball> tmp10;
    3806             :     USE(tmp10);
    3807         112 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3808             :     compiler::TNode<Oddball> tmp11;
    3809             :     USE(tmp11);
    3810         112 :     tmp11 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3811          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 629);
    3812             :     compiler::TNode<Object> tmp12;
    3813             :     USE(tmp12);
    3814         112 :     tmp12 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp0}, false, compiler::TNode<JSReceiver>{tmp7}, compiler::TNode<Number>{tmp9}, compiler::TNode<Object>{tmp6}, compiler::TNode<Object>{tmp10}, compiler::TNode<Object>{tmp11}));
    3815          56 :     arguments.PopAndReturn(tmp12);
    3816             :   }
    3817          56 : }
    3818             : 
    3819         224 : TF_BUILTIN(TypedArrayPrototypeToLocaleString, CodeStubAssembler) {
    3820          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3821             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3822             :   USE(parameter0);
    3823             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3824          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
    3825          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
    3826          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
    3827             :   CodeStubArguments arguments(this, torque_arguments);
    3828          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
    3829             : USE(parameter1);
    3830             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3831             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
    3832             : 
    3833          56 :   if (block0.is_used()) {
    3834             :     compiler::TNode<Context> tmp0;
    3835             :     compiler::TNode<Object> tmp1;
    3836             :     compiler::TNode<RawPtrT> tmp2;
    3837             :     compiler::TNode<RawPtrT> tmp3;
    3838             :     compiler::TNode<IntPtrT> tmp4;
    3839             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    3840          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 636);
    3841             :     compiler::TNode<IntPtrT> tmp5;
    3842             :     USE(tmp5);
    3843         112 :     tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3844             :     compiler::TNode<Object> tmp6;
    3845             :     USE(tmp6);
    3846         112 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
    3847          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 637);
    3848             :     compiler::TNode<IntPtrT> tmp7;
    3849             :     USE(tmp7);
    3850         112 :     tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    3851             :     compiler::TNode<Object> tmp8;
    3852             :     USE(tmp8);
    3853         112 :     tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp7}));
    3854          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 642);
    3855          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 641);
    3856             :     compiler::TNode<JSTypedArray> tmp9;
    3857             :     USE(tmp9);
    3858         112 :     tmp9 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.toLocaleString"));
    3859          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 643);
    3860          56 :     compiler::TNode<IntPtrT> tmp10 = ca_.IntPtrConstant(JSTypedArray::kLengthOffset);
    3861             :     USE(tmp10);
    3862         112 :     compiler::TNode<Smi>tmp11 = CodeStubAssembler(state_).LoadReference<Smi>(CodeStubAssembler::Reference{tmp9, tmp10});
    3863          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 646);
    3864          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 645);
    3865             :     compiler::TNode<Object> tmp12;
    3866             :     USE(tmp12);
    3867         112 :     tmp12 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
    3868             :     compiler::TNode<Object> tmp13;
    3869             :     USE(tmp13);
    3870         112 :     tmp13 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp0}, true, compiler::TNode<JSReceiver>{tmp9}, compiler::TNode<Number>{tmp11}, compiler::TNode<Object>{tmp12}, compiler::TNode<Object>{tmp6}, compiler::TNode<Object>{tmp8}));
    3871          56 :     arguments.PopAndReturn(tmp13);
    3872             :   }
    3873          56 : }
    3874             : 
    3875         224 : TF_BUILTIN(LoadJoinElement25ATGenericElementsAccessor, CodeStubAssembler) {
    3876          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3877             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3878             :   USE(parameter0);
    3879             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    3880             :   USE(parameter1);
    3881             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    3882             :   USE(parameter2);
    3883             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3884             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    3885             : 
    3886          56 :   if (block0.is_used()) {
    3887             :     compiler::TNode<Context> tmp0;
    3888             :     compiler::TNode<JSReceiver> tmp1;
    3889             :     compiler::TNode<Number> tmp2;
    3890             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    3891          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 16);
    3892             :     compiler::TNode<Object> tmp3;
    3893             :     USE(tmp3);
    3894         112 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}));
    3895         112 :     CodeStubAssembler(state_).Return(tmp3);
    3896             :   }
    3897          56 : }
    3898             : 
    3899         112 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoinImpl7JSArray(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lengthNumber, bool p_useToLocaleString, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options, compiler::TNode<BuiltinPtr> p_initialLoadFn) {
    3900         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3901             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3902             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3903             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3904             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3905             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3906             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3907             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3908             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3909             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3910             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3911             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3912             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3913             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3914             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3915             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3916             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3917             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3918             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3919             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, Number> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3920             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3921             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3922             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3923             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3924             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3925             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3926             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3927             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3928             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3929             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block33(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3930             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3931             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block35(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3932             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3933             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3934             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3935             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3936             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block40(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3937             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3938             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block39(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3939             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block41(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3940             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3941             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block43(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3942             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block44(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3943             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3944             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3945             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3946             :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
    3947             : 
    3948         112 :   if (block0.is_used()) {
    3949             :     compiler::TNode<Context> tmp0;
    3950             :     compiler::TNode<JSReceiver> tmp1;
    3951             :     compiler::TNode<String> tmp2;
    3952             :     compiler::TNode<Number> tmp3;
    3953             :     compiler::TNode<Object> tmp4;
    3954             :     compiler::TNode<Object> tmp5;
    3955             :     compiler::TNode<BuiltinPtr> tmp6;
    3956             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
    3957         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
    3958         112 :     compiler::TNode<IntPtrT> tmp7 = ca_.IntPtrConstant(HeapObject::kMapOffset);
    3959             :     USE(tmp7);
    3960         224 :     compiler::TNode<Map>tmp8 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp7});
    3961         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
    3962             :     compiler::TNode<UintPtrT> tmp9;
    3963             :     USE(tmp9);
    3964         336 :     tmp9 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number>{tmp3}));
    3965         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
    3966             :     compiler::TNode<IntPtrT> tmp10;
    3967             :     USE(tmp10);
    3968         336 :     tmp10 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
    3969         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 269);
    3970             :     compiler::TNode<IntPtrT> tmp11;
    3971             :     USE(tmp11);
    3972         336 :     tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3973         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 270);
    3974         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
    3975             :     compiler::TNode<FixedArray> tmp12;
    3976             :     USE(tmp12);
    3977             :     compiler::TNode<IntPtrT> tmp13;
    3978             :     USE(tmp13);
    3979             :     compiler::TNode<IntPtrT> tmp14;
    3980             :     USE(tmp14);
    3981             :     compiler::TNode<BoolT> tmp15;
    3982             :     USE(tmp15);
    3983         448 :     std::tie(tmp12, tmp13, tmp14, tmp15) = ArrayJoinBuiltinsFromDSLAssembler(state_).NewBuffer(compiler::TNode<UintPtrT>{tmp9}, compiler::TNode<String>{tmp2}).Flatten();
    3984         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
    3985             :     compiler::TNode<UintPtrT> tmp16;
    3986             :     USE(tmp16);
    3987         336 :     tmp16 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    3988         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
    3989             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp8, tmp9, tmp10, tmp11, tmp6, tmp12, tmp13, tmp14, tmp15, tmp16);
    3990             :   }
    3991             : 
    3992         112 :   if (block4.is_used()) {
    3993             :     compiler::TNode<Context> tmp17;
    3994             :     compiler::TNode<JSReceiver> tmp18;
    3995             :     compiler::TNode<String> tmp19;
    3996             :     compiler::TNode<Number> tmp20;
    3997             :     compiler::TNode<Object> tmp21;
    3998             :     compiler::TNode<Object> tmp22;
    3999             :     compiler::TNode<BuiltinPtr> tmp23;
    4000             :     compiler::TNode<Map> tmp24;
    4001             :     compiler::TNode<UintPtrT> tmp25;
    4002             :     compiler::TNode<IntPtrT> tmp26;
    4003             :     compiler::TNode<IntPtrT> tmp27;
    4004             :     compiler::TNode<BuiltinPtr> tmp28;
    4005             :     compiler::TNode<FixedArray> tmp29;
    4006             :     compiler::TNode<IntPtrT> tmp30;
    4007             :     compiler::TNode<IntPtrT> tmp31;
    4008             :     compiler::TNode<BoolT> tmp32;
    4009             :     compiler::TNode<UintPtrT> tmp33;
    4010             :     ca_.Bind(&block4, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
    4011             :     compiler::TNode<BoolT> tmp34;
    4012             :     USE(tmp34);
    4013         448 :     tmp34 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp33}, compiler::TNode<UintPtrT>{tmp25}));
    4014         112 :     ca_.Branch(tmp34, &block2, &block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33);
    4015             :   }
    4016             : 
    4017         112 :   if (block2.is_used()) {
    4018             :     compiler::TNode<Context> tmp35;
    4019             :     compiler::TNode<JSReceiver> tmp36;
    4020             :     compiler::TNode<String> tmp37;
    4021             :     compiler::TNode<Number> tmp38;
    4022             :     compiler::TNode<Object> tmp39;
    4023             :     compiler::TNode<Object> tmp40;
    4024             :     compiler::TNode<BuiltinPtr> tmp41;
    4025             :     compiler::TNode<Map> tmp42;
    4026             :     compiler::TNode<UintPtrT> tmp43;
    4027             :     compiler::TNode<IntPtrT> tmp44;
    4028             :     compiler::TNode<IntPtrT> tmp45;
    4029             :     compiler::TNode<BuiltinPtr> tmp46;
    4030             :     compiler::TNode<FixedArray> tmp47;
    4031             :     compiler::TNode<IntPtrT> tmp48;
    4032             :     compiler::TNode<IntPtrT> tmp49;
    4033             :     compiler::TNode<BoolT> tmp50;
    4034             :     compiler::TNode<UintPtrT> tmp51;
    4035             :     ca_.Bind(&block2, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    4036         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 279);
    4037         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    4038         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    4039         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    4040         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).CannotUseSameArrayAccessor7JSArray(compiler::TNode<Context>{tmp35}, compiler::TNode<BuiltinPtr>{tmp46}, compiler::TNode<JSReceiver>{tmp36}, compiler::TNode<Map>{tmp42}, compiler::TNode<Number>{tmp38}, &label0, &label1);
    4041         112 :     if (label0.is_used()) {
    4042         112 :       ca_.Bind(&label0);
    4043             :       ca_.Goto(&block7, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
    4044             :     }
    4045         112 :     if (label1.is_used()) {
    4046         112 :       ca_.Bind(&label1);
    4047             :       ca_.Goto(&block8, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
    4048             :     }
    4049             :   }
    4050             : 
    4051         112 :   if (block7.is_used()) {
    4052             :     compiler::TNode<Context> tmp52;
    4053             :     compiler::TNode<JSReceiver> tmp53;
    4054             :     compiler::TNode<String> tmp54;
    4055             :     compiler::TNode<Number> tmp55;
    4056             :     compiler::TNode<Object> tmp56;
    4057             :     compiler::TNode<Object> tmp57;
    4058             :     compiler::TNode<BuiltinPtr> tmp58;
    4059             :     compiler::TNode<Map> tmp59;
    4060             :     compiler::TNode<UintPtrT> tmp60;
    4061             :     compiler::TNode<IntPtrT> tmp61;
    4062             :     compiler::TNode<IntPtrT> tmp62;
    4063             :     compiler::TNode<BuiltinPtr> tmp63;
    4064             :     compiler::TNode<FixedArray> tmp64;
    4065             :     compiler::TNode<IntPtrT> tmp65;
    4066             :     compiler::TNode<IntPtrT> tmp66;
    4067             :     compiler::TNode<BoolT> tmp67;
    4068             :     compiler::TNode<UintPtrT> tmp68;
    4069             :     compiler::TNode<BuiltinPtr> tmp69;
    4070             :     compiler::TNode<JSReceiver> tmp70;
    4071             :     compiler::TNode<Map> tmp71;
    4072             :     compiler::TNode<Number> tmp72;
    4073             :     ca_.Bind(&block7, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72);
    4074             :     ca_.Goto(&block5, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68);
    4075             :   }
    4076             : 
    4077         112 :   if (block8.is_used()) {
    4078             :     compiler::TNode<Context> tmp73;
    4079             :     compiler::TNode<JSReceiver> tmp74;
    4080             :     compiler::TNode<String> tmp75;
    4081             :     compiler::TNode<Number> tmp76;
    4082             :     compiler::TNode<Object> tmp77;
    4083             :     compiler::TNode<Object> tmp78;
    4084             :     compiler::TNode<BuiltinPtr> tmp79;
    4085             :     compiler::TNode<Map> tmp80;
    4086             :     compiler::TNode<UintPtrT> tmp81;
    4087             :     compiler::TNode<IntPtrT> tmp82;
    4088             :     compiler::TNode<IntPtrT> tmp83;
    4089             :     compiler::TNode<BuiltinPtr> tmp84;
    4090             :     compiler::TNode<FixedArray> tmp85;
    4091             :     compiler::TNode<IntPtrT> tmp86;
    4092             :     compiler::TNode<IntPtrT> tmp87;
    4093             :     compiler::TNode<BoolT> tmp88;
    4094             :     compiler::TNode<UintPtrT> tmp89;
    4095             :     compiler::TNode<BuiltinPtr> tmp90;
    4096             :     compiler::TNode<JSReceiver> tmp91;
    4097             :     compiler::TNode<Map> tmp92;
    4098             :     compiler::TNode<Number> tmp93;
    4099             :     ca_.Bind(&block8, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93);
    4100             :     ca_.Goto(&block6, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89);
    4101             :   }
    4102             : 
    4103         112 :   if (block5.is_used()) {
    4104             :     compiler::TNode<Context> tmp94;
    4105             :     compiler::TNode<JSReceiver> tmp95;
    4106             :     compiler::TNode<String> tmp96;
    4107             :     compiler::TNode<Number> tmp97;
    4108             :     compiler::TNode<Object> tmp98;
    4109             :     compiler::TNode<Object> tmp99;
    4110             :     compiler::TNode<BuiltinPtr> tmp100;
    4111             :     compiler::TNode<Map> tmp101;
    4112             :     compiler::TNode<UintPtrT> tmp102;
    4113             :     compiler::TNode<IntPtrT> tmp103;
    4114             :     compiler::TNode<IntPtrT> tmp104;
    4115             :     compiler::TNode<BuiltinPtr> tmp105;
    4116             :     compiler::TNode<FixedArray> tmp106;
    4117             :     compiler::TNode<IntPtrT> tmp107;
    4118             :     compiler::TNode<IntPtrT> tmp108;
    4119             :     compiler::TNode<BoolT> tmp109;
    4120             :     compiler::TNode<UintPtrT> tmp110;
    4121             :     ca_.Bind(&block5, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110);
    4122         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
    4123         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    4124             :     ca_.Goto(&block6, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)), tmp106, tmp107, tmp108, tmp109, tmp110);
    4125             :   }
    4126             : 
    4127         112 :   if (block6.is_used()) {
    4128             :     compiler::TNode<Context> tmp111;
    4129             :     compiler::TNode<JSReceiver> tmp112;
    4130             :     compiler::TNode<String> tmp113;
    4131             :     compiler::TNode<Number> tmp114;
    4132             :     compiler::TNode<Object> tmp115;
    4133             :     compiler::TNode<Object> tmp116;
    4134             :     compiler::TNode<BuiltinPtr> tmp117;
    4135             :     compiler::TNode<Map> tmp118;
    4136             :     compiler::TNode<UintPtrT> tmp119;
    4137             :     compiler::TNode<IntPtrT> tmp120;
    4138             :     compiler::TNode<IntPtrT> tmp121;
    4139             :     compiler::TNode<BuiltinPtr> tmp122;
    4140             :     compiler::TNode<FixedArray> tmp123;
    4141             :     compiler::TNode<IntPtrT> tmp124;
    4142             :     compiler::TNode<IntPtrT> tmp125;
    4143             :     compiler::TNode<BoolT> tmp126;
    4144             :     compiler::TNode<UintPtrT> tmp127;
    4145             :     ca_.Bind(&block6, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127);
    4146         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
    4147             :     compiler::TNode<UintPtrT> tmp128;
    4148             :     USE(tmp128);
    4149         336 :     tmp128 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    4150             :     compiler::TNode<BoolT> tmp129;
    4151             :     USE(tmp129);
    4152         336 :     tmp129 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp127}, compiler::TNode<UintPtrT>{tmp128}));
    4153         112 :     ca_.Branch(tmp129, &block9, &block10, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127);
    4154             :   }
    4155             : 
    4156         112 :   if (block9.is_used()) {
    4157             :     compiler::TNode<Context> tmp130;
    4158             :     compiler::TNode<JSReceiver> tmp131;
    4159             :     compiler::TNode<String> tmp132;
    4160             :     compiler::TNode<Number> tmp133;
    4161             :     compiler::TNode<Object> tmp134;
    4162             :     compiler::TNode<Object> tmp135;
    4163             :     compiler::TNode<BuiltinPtr> tmp136;
    4164             :     compiler::TNode<Map> tmp137;
    4165             :     compiler::TNode<UintPtrT> tmp138;
    4166             :     compiler::TNode<IntPtrT> tmp139;
    4167             :     compiler::TNode<IntPtrT> tmp140;
    4168             :     compiler::TNode<BuiltinPtr> tmp141;
    4169             :     compiler::TNode<FixedArray> tmp142;
    4170             :     compiler::TNode<IntPtrT> tmp143;
    4171             :     compiler::TNode<IntPtrT> tmp144;
    4172             :     compiler::TNode<BoolT> tmp145;
    4173             :     compiler::TNode<UintPtrT> tmp146;
    4174             :     ca_.Bind(&block9, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
    4175         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 286);
    4176             :     compiler::TNode<IntPtrT> tmp147;
    4177             :     USE(tmp147);
    4178         336 :     tmp147 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    4179             :     compiler::TNode<IntPtrT> tmp148;
    4180             :     USE(tmp148);
    4181         224 :     tmp148 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp140}, compiler::TNode<IntPtrT>{tmp147}));
    4182         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
    4183             :     ca_.Goto(&block10, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp148, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146);
    4184             :   }
    4185             : 
    4186         112 :   if (block10.is_used()) {
    4187             :     compiler::TNode<Context> tmp149;
    4188             :     compiler::TNode<JSReceiver> tmp150;
    4189             :     compiler::TNode<String> tmp151;
    4190             :     compiler::TNode<Number> tmp152;
    4191             :     compiler::TNode<Object> tmp153;
    4192             :     compiler::TNode<Object> tmp154;
    4193             :     compiler::TNode<BuiltinPtr> tmp155;
    4194             :     compiler::TNode<Map> tmp156;
    4195             :     compiler::TNode<UintPtrT> tmp157;
    4196             :     compiler::TNode<IntPtrT> tmp158;
    4197             :     compiler::TNode<IntPtrT> tmp159;
    4198             :     compiler::TNode<BuiltinPtr> tmp160;
    4199             :     compiler::TNode<FixedArray> tmp161;
    4200             :     compiler::TNode<IntPtrT> tmp162;
    4201             :     compiler::TNode<IntPtrT> tmp163;
    4202             :     compiler::TNode<BoolT> tmp164;
    4203             :     compiler::TNode<UintPtrT> tmp165;
    4204             :     ca_.Bind(&block10, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
    4205         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 290);
    4206             :     compiler::TNode<UintPtrT> tmp166;
    4207             :     USE(tmp166);
    4208         336 :     tmp166 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
    4209             :     compiler::TNode<UintPtrT> tmp167;
    4210             :     USE(tmp167);
    4211         224 :     tmp167 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp165}, compiler::TNode<UintPtrT>{tmp166}));
    4212             :     compiler::TNode<Number> tmp168;
    4213             :     USE(tmp168);
    4214         336 :     tmp168 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert20UT5ATSmi10HeapNumber9ATuintptr(compiler::TNode<UintPtrT>{tmp165}));
    4215         560 :     compiler::TNode<Object> tmp169 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp160, tmp149, tmp150, tmp168); 
    4216             :     USE(tmp169);
    4217         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
    4218         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    4219         112 :     if ((p_useToLocaleString)) {
    4220             :       ca_.Goto(&block11, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
    4221             :     } else {
    4222             :       ca_.Goto(&block12, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
    4223             :     }
    4224             :   }
    4225             : 
    4226         112 :   if (block11.is_used()) {
    4227             :     compiler::TNode<Context> tmp170;
    4228             :     compiler::TNode<JSReceiver> tmp171;
    4229             :     compiler::TNode<String> tmp172;
    4230             :     compiler::TNode<Number> tmp173;
    4231             :     compiler::TNode<Object> tmp174;
    4232             :     compiler::TNode<Object> tmp175;
    4233             :     compiler::TNode<BuiltinPtr> tmp176;
    4234             :     compiler::TNode<Map> tmp177;
    4235             :     compiler::TNode<UintPtrT> tmp178;
    4236             :     compiler::TNode<IntPtrT> tmp179;
    4237             :     compiler::TNode<IntPtrT> tmp180;
    4238             :     compiler::TNode<BuiltinPtr> tmp181;
    4239             :     compiler::TNode<FixedArray> tmp182;
    4240             :     compiler::TNode<IntPtrT> tmp183;
    4241             :     compiler::TNode<IntPtrT> tmp184;
    4242             :     compiler::TNode<BoolT> tmp185;
    4243             :     compiler::TNode<UintPtrT> tmp186;
    4244             :     compiler::TNode<Object> tmp187;
    4245             :     compiler::TNode<String> tmp188;
    4246             :     ca_.Bind(&block11, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188);
    4247          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
    4248             :     compiler::TNode<String> tmp189;
    4249         112 :     tmp189 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp170, tmp187, tmp174, tmp175));
    4250             :     USE(tmp189);
    4251          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
    4252             :     compiler::TNode<String> tmp190;
    4253             :     USE(tmp190);
    4254         168 :     tmp190 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    4255             :     compiler::TNode<BoolT> tmp191;
    4256             :     USE(tmp191);
    4257         112 :     tmp191 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp189}, compiler::TNode<HeapObject>{tmp190}));
    4258          56 :     ca_.Branch(tmp191, &block14, &block15, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp189);
    4259             :   }
    4260             : 
    4261         112 :   if (block14.is_used()) {
    4262             :     compiler::TNode<Context> tmp192;
    4263             :     compiler::TNode<JSReceiver> tmp193;
    4264             :     compiler::TNode<String> tmp194;
    4265             :     compiler::TNode<Number> tmp195;
    4266             :     compiler::TNode<Object> tmp196;
    4267             :     compiler::TNode<Object> tmp197;
    4268             :     compiler::TNode<BuiltinPtr> tmp198;
    4269             :     compiler::TNode<Map> tmp199;
    4270             :     compiler::TNode<UintPtrT> tmp200;
    4271             :     compiler::TNode<IntPtrT> tmp201;
    4272             :     compiler::TNode<IntPtrT> tmp202;
    4273             :     compiler::TNode<BuiltinPtr> tmp203;
    4274             :     compiler::TNode<FixedArray> tmp204;
    4275             :     compiler::TNode<IntPtrT> tmp205;
    4276             :     compiler::TNode<IntPtrT> tmp206;
    4277             :     compiler::TNode<BoolT> tmp207;
    4278             :     compiler::TNode<UintPtrT> tmp208;
    4279             :     compiler::TNode<Object> tmp209;
    4280             :     compiler::TNode<String> tmp210;
    4281             :     ca_.Bind(&block14, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210);
    4282             :     ca_.Goto(&block4, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208);
    4283             :   }
    4284             : 
    4285         112 :   if (block15.is_used()) {
    4286             :     compiler::TNode<Context> tmp211;
    4287             :     compiler::TNode<JSReceiver> tmp212;
    4288             :     compiler::TNode<String> tmp213;
    4289             :     compiler::TNode<Number> tmp214;
    4290             :     compiler::TNode<Object> tmp215;
    4291             :     compiler::TNode<Object> tmp216;
    4292             :     compiler::TNode<BuiltinPtr> tmp217;
    4293             :     compiler::TNode<Map> tmp218;
    4294             :     compiler::TNode<UintPtrT> tmp219;
    4295             :     compiler::TNode<IntPtrT> tmp220;
    4296             :     compiler::TNode<IntPtrT> tmp221;
    4297             :     compiler::TNode<BuiltinPtr> tmp222;
    4298             :     compiler::TNode<FixedArray> tmp223;
    4299             :     compiler::TNode<IntPtrT> tmp224;
    4300             :     compiler::TNode<IntPtrT> tmp225;
    4301             :     compiler::TNode<BoolT> tmp226;
    4302             :     compiler::TNode<UintPtrT> tmp227;
    4303             :     compiler::TNode<Object> tmp228;
    4304             :     compiler::TNode<String> tmp229;
    4305             :     ca_.Bind(&block15, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229);
    4306          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    4307             :     ca_.Goto(&block13, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229);
    4308             :   }
    4309             : 
    4310         112 :   if (block12.is_used()) {
    4311             :     compiler::TNode<Context> tmp230;
    4312             :     compiler::TNode<JSReceiver> tmp231;
    4313             :     compiler::TNode<String> tmp232;
    4314             :     compiler::TNode<Number> tmp233;
    4315             :     compiler::TNode<Object> tmp234;
    4316             :     compiler::TNode<Object> tmp235;
    4317             :     compiler::TNode<BuiltinPtr> tmp236;
    4318             :     compiler::TNode<Map> tmp237;
    4319             :     compiler::TNode<UintPtrT> tmp238;
    4320             :     compiler::TNode<IntPtrT> tmp239;
    4321             :     compiler::TNode<IntPtrT> tmp240;
    4322             :     compiler::TNode<BuiltinPtr> tmp241;
    4323             :     compiler::TNode<FixedArray> tmp242;
    4324             :     compiler::TNode<IntPtrT> tmp243;
    4325             :     compiler::TNode<IntPtrT> tmp244;
    4326             :     compiler::TNode<BoolT> tmp245;
    4327             :     compiler::TNode<UintPtrT> tmp246;
    4328             :     compiler::TNode<Object> tmp247;
    4329             :     compiler::TNode<String> tmp248;
    4330             :     ca_.Bind(&block12, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248);
    4331          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    4332          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    4333             :     compiler::TNode<String> tmp249;
    4334             :     USE(tmp249);
    4335          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    4336         168 :     tmp249 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp230}, compiler::TNode<Object>{tmp247}, &label0);
    4337             :     ca_.Goto(&block18, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247, tmp249);
    4338          56 :     if (label0.is_used()) {
    4339          56 :       ca_.Bind(&label0);
    4340             :       ca_.Goto(&block19, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247);
    4341             :     }
    4342             :   }
    4343             : 
    4344         112 :   if (block19.is_used()) {
    4345             :     compiler::TNode<Context> tmp250;
    4346             :     compiler::TNode<JSReceiver> tmp251;
    4347             :     compiler::TNode<String> tmp252;
    4348             :     compiler::TNode<Number> tmp253;
    4349             :     compiler::TNode<Object> tmp254;
    4350             :     compiler::TNode<Object> tmp255;
    4351             :     compiler::TNode<BuiltinPtr> tmp256;
    4352             :     compiler::TNode<Map> tmp257;
    4353             :     compiler::TNode<UintPtrT> tmp258;
    4354             :     compiler::TNode<IntPtrT> tmp259;
    4355             :     compiler::TNode<IntPtrT> tmp260;
    4356             :     compiler::TNode<BuiltinPtr> tmp261;
    4357             :     compiler::TNode<FixedArray> tmp262;
    4358             :     compiler::TNode<IntPtrT> tmp263;
    4359             :     compiler::TNode<IntPtrT> tmp264;
    4360             :     compiler::TNode<BoolT> tmp265;
    4361             :     compiler::TNode<UintPtrT> tmp266;
    4362             :     compiler::TNode<Object> tmp267;
    4363             :     compiler::TNode<String> tmp268;
    4364             :     compiler::TNode<Object> tmp269;
    4365             :     compiler::TNode<Object> tmp270;
    4366             :     ca_.Bind(&block19, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270);
    4367             :     ca_.Goto(&block17, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269);
    4368             :   }
    4369             : 
    4370         112 :   if (block18.is_used()) {
    4371             :     compiler::TNode<Context> tmp271;
    4372             :     compiler::TNode<JSReceiver> tmp272;
    4373             :     compiler::TNode<String> tmp273;
    4374             :     compiler::TNode<Number> tmp274;
    4375             :     compiler::TNode<Object> tmp275;
    4376             :     compiler::TNode<Object> tmp276;
    4377             :     compiler::TNode<BuiltinPtr> tmp277;
    4378             :     compiler::TNode<Map> tmp278;
    4379             :     compiler::TNode<UintPtrT> tmp279;
    4380             :     compiler::TNode<IntPtrT> tmp280;
    4381             :     compiler::TNode<IntPtrT> tmp281;
    4382             :     compiler::TNode<BuiltinPtr> tmp282;
    4383             :     compiler::TNode<FixedArray> tmp283;
    4384             :     compiler::TNode<IntPtrT> tmp284;
    4385             :     compiler::TNode<IntPtrT> tmp285;
    4386             :     compiler::TNode<BoolT> tmp286;
    4387             :     compiler::TNode<UintPtrT> tmp287;
    4388             :     compiler::TNode<Object> tmp288;
    4389             :     compiler::TNode<String> tmp289;
    4390             :     compiler::TNode<Object> tmp290;
    4391             :     compiler::TNode<Object> tmp291;
    4392             :     compiler::TNode<String> tmp292;
    4393             :     ca_.Bind(&block18, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292);
    4394          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
    4395             :     compiler::TNode<String> tmp293;
    4396             :     USE(tmp293);
    4397         168 :     tmp293 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    4398             :     compiler::TNode<BoolT> tmp294;
    4399             :     USE(tmp294);
    4400         112 :     tmp294 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp292}, compiler::TNode<HeapObject>{tmp293}));
    4401          56 :     ca_.Branch(tmp294, &block20, &block21, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp292);
    4402             :   }
    4403             : 
    4404         112 :   if (block20.is_used()) {
    4405             :     compiler::TNode<Context> tmp295;
    4406             :     compiler::TNode<JSReceiver> tmp296;
    4407             :     compiler::TNode<String> tmp297;
    4408             :     compiler::TNode<Number> tmp298;
    4409             :     compiler::TNode<Object> tmp299;
    4410             :     compiler::TNode<Object> tmp300;
    4411             :     compiler::TNode<BuiltinPtr> tmp301;
    4412             :     compiler::TNode<Map> tmp302;
    4413             :     compiler::TNode<UintPtrT> tmp303;
    4414             :     compiler::TNode<IntPtrT> tmp304;
    4415             :     compiler::TNode<IntPtrT> tmp305;
    4416             :     compiler::TNode<BuiltinPtr> tmp306;
    4417             :     compiler::TNode<FixedArray> tmp307;
    4418             :     compiler::TNode<IntPtrT> tmp308;
    4419             :     compiler::TNode<IntPtrT> tmp309;
    4420             :     compiler::TNode<BoolT> tmp310;
    4421             :     compiler::TNode<UintPtrT> tmp311;
    4422             :     compiler::TNode<Object> tmp312;
    4423             :     compiler::TNode<String> tmp313;
    4424             :     compiler::TNode<Object> tmp314;
    4425             :     compiler::TNode<String> tmp315;
    4426             :     ca_.Bind(&block20, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315);
    4427             :     ca_.Goto(&block4, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311);
    4428             :   }
    4429             : 
    4430         112 :   if (block21.is_used()) {
    4431             :     compiler::TNode<Context> tmp316;
    4432             :     compiler::TNode<JSReceiver> tmp317;
    4433             :     compiler::TNode<String> tmp318;
    4434             :     compiler::TNode<Number> tmp319;
    4435             :     compiler::TNode<Object> tmp320;
    4436             :     compiler::TNode<Object> tmp321;
    4437             :     compiler::TNode<BuiltinPtr> tmp322;
    4438             :     compiler::TNode<Map> tmp323;
    4439             :     compiler::TNode<UintPtrT> tmp324;
    4440             :     compiler::TNode<IntPtrT> tmp325;
    4441             :     compiler::TNode<IntPtrT> tmp326;
    4442             :     compiler::TNode<BuiltinPtr> tmp327;
    4443             :     compiler::TNode<FixedArray> tmp328;
    4444             :     compiler::TNode<IntPtrT> tmp329;
    4445             :     compiler::TNode<IntPtrT> tmp330;
    4446             :     compiler::TNode<BoolT> tmp331;
    4447             :     compiler::TNode<UintPtrT> tmp332;
    4448             :     compiler::TNode<Object> tmp333;
    4449             :     compiler::TNode<String> tmp334;
    4450             :     compiler::TNode<Object> tmp335;
    4451             :     compiler::TNode<String> tmp336;
    4452             :     ca_.Bind(&block21, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
    4453          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
    4454          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    4455             :     ca_.Goto(&block16, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp336, tmp335);
    4456             :   }
    4457             : 
    4458         112 :   if (block17.is_used()) {
    4459             :     compiler::TNode<Context> tmp337;
    4460             :     compiler::TNode<JSReceiver> tmp338;
    4461             :     compiler::TNode<String> tmp339;
    4462             :     compiler::TNode<Number> tmp340;
    4463             :     compiler::TNode<Object> tmp341;
    4464             :     compiler::TNode<Object> tmp342;
    4465             :     compiler::TNode<BuiltinPtr> tmp343;
    4466             :     compiler::TNode<Map> tmp344;
    4467             :     compiler::TNode<UintPtrT> tmp345;
    4468             :     compiler::TNode<IntPtrT> tmp346;
    4469             :     compiler::TNode<IntPtrT> tmp347;
    4470             :     compiler::TNode<BuiltinPtr> tmp348;
    4471             :     compiler::TNode<FixedArray> tmp349;
    4472             :     compiler::TNode<IntPtrT> tmp350;
    4473             :     compiler::TNode<IntPtrT> tmp351;
    4474             :     compiler::TNode<BoolT> tmp352;
    4475             :     compiler::TNode<UintPtrT> tmp353;
    4476             :     compiler::TNode<Object> tmp354;
    4477             :     compiler::TNode<String> tmp355;
    4478             :     compiler::TNode<Object> tmp356;
    4479             :     ca_.Bind(&block17, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355, &tmp356);
    4480          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    4481             :     compiler::TNode<Number> tmp357;
    4482             :     USE(tmp357);
    4483          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    4484         168 :     tmp357 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp356)}, &label0);
    4485             :     ca_.Goto(&block24, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, ca_.UncheckedCast<Object>(tmp356), tmp357);
    4486          56 :     if (label0.is_used()) {
    4487          56 :       ca_.Bind(&label0);
    4488             :       ca_.Goto(&block25, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, ca_.UncheckedCast<Object>(tmp356));
    4489             :     }
    4490             :   }
    4491             : 
    4492         112 :   if (block25.is_used()) {
    4493             :     compiler::TNode<Context> tmp358;
    4494             :     compiler::TNode<JSReceiver> tmp359;
    4495             :     compiler::TNode<String> tmp360;
    4496             :     compiler::TNode<Number> tmp361;
    4497             :     compiler::TNode<Object> tmp362;
    4498             :     compiler::TNode<Object> tmp363;
    4499             :     compiler::TNode<BuiltinPtr> tmp364;
    4500             :     compiler::TNode<Map> tmp365;
    4501             :     compiler::TNode<UintPtrT> tmp366;
    4502             :     compiler::TNode<IntPtrT> tmp367;
    4503             :     compiler::TNode<IntPtrT> tmp368;
    4504             :     compiler::TNode<BuiltinPtr> tmp369;
    4505             :     compiler::TNode<FixedArray> tmp370;
    4506             :     compiler::TNode<IntPtrT> tmp371;
    4507             :     compiler::TNode<IntPtrT> tmp372;
    4508             :     compiler::TNode<BoolT> tmp373;
    4509             :     compiler::TNode<UintPtrT> tmp374;
    4510             :     compiler::TNode<Object> tmp375;
    4511             :     compiler::TNode<String> tmp376;
    4512             :     compiler::TNode<Object> tmp377;
    4513             :     compiler::TNode<Object> tmp378;
    4514             :     ca_.Bind(&block25, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377, &tmp378);
    4515             :     ca_.Goto(&block23, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377);
    4516             :   }
    4517             : 
    4518         112 :   if (block24.is_used()) {
    4519             :     compiler::TNode<Context> tmp379;
    4520             :     compiler::TNode<JSReceiver> tmp380;
    4521             :     compiler::TNode<String> tmp381;
    4522             :     compiler::TNode<Number> tmp382;
    4523             :     compiler::TNode<Object> tmp383;
    4524             :     compiler::TNode<Object> tmp384;
    4525             :     compiler::TNode<BuiltinPtr> tmp385;
    4526             :     compiler::TNode<Map> tmp386;
    4527             :     compiler::TNode<UintPtrT> tmp387;
    4528             :     compiler::TNode<IntPtrT> tmp388;
    4529             :     compiler::TNode<IntPtrT> tmp389;
    4530             :     compiler::TNode<BuiltinPtr> tmp390;
    4531             :     compiler::TNode<FixedArray> tmp391;
    4532             :     compiler::TNode<IntPtrT> tmp392;
    4533             :     compiler::TNode<IntPtrT> tmp393;
    4534             :     compiler::TNode<BoolT> tmp394;
    4535             :     compiler::TNode<UintPtrT> tmp395;
    4536             :     compiler::TNode<Object> tmp396;
    4537             :     compiler::TNode<String> tmp397;
    4538             :     compiler::TNode<Object> tmp398;
    4539             :     compiler::TNode<Object> tmp399;
    4540             :     compiler::TNode<Number> tmp400;
    4541             :     ca_.Bind(&block24, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397, &tmp398, &tmp399, &tmp400);
    4542          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
    4543             :     compiler::TNode<String> tmp401;
    4544             :     USE(tmp401);
    4545         112 :     tmp401 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp400}));
    4546          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    4547             :     ca_.Goto(&block22, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp396, tmp401, tmp398);
    4548             :   }
    4549             : 
    4550         112 :   if (block23.is_used()) {
    4551             :     compiler::TNode<Context> tmp402;
    4552             :     compiler::TNode<JSReceiver> tmp403;
    4553             :     compiler::TNode<String> tmp404;
    4554             :     compiler::TNode<Number> tmp405;
    4555             :     compiler::TNode<Object> tmp406;
    4556             :     compiler::TNode<Object> tmp407;
    4557             :     compiler::TNode<BuiltinPtr> tmp408;
    4558             :     compiler::TNode<Map> tmp409;
    4559             :     compiler::TNode<UintPtrT> tmp410;
    4560             :     compiler::TNode<IntPtrT> tmp411;
    4561             :     compiler::TNode<IntPtrT> tmp412;
    4562             :     compiler::TNode<BuiltinPtr> tmp413;
    4563             :     compiler::TNode<FixedArray> tmp414;
    4564             :     compiler::TNode<IntPtrT> tmp415;
    4565             :     compiler::TNode<IntPtrT> tmp416;
    4566             :     compiler::TNode<BoolT> tmp417;
    4567             :     compiler::TNode<UintPtrT> tmp418;
    4568             :     compiler::TNode<Object> tmp419;
    4569             :     compiler::TNode<String> tmp420;
    4570             :     compiler::TNode<Object> tmp421;
    4571             :     ca_.Bind(&block23, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420, &tmp421);
    4572          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 307);
    4573          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 308);
    4574             :     compiler::TNode<BoolT> tmp422;
    4575             :     USE(tmp422);
    4576         112 :     tmp422 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp421)}));
    4577          56 :     ca_.Branch(tmp422, &block26, &block27, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, tmp421, ca_.UncheckedCast<HeapObject>(tmp421));
    4578             :   }
    4579             : 
    4580         112 :   if (block26.is_used()) {
    4581             :     compiler::TNode<Context> tmp423;
    4582             :     compiler::TNode<JSReceiver> tmp424;
    4583             :     compiler::TNode<String> tmp425;
    4584             :     compiler::TNode<Number> tmp426;
    4585             :     compiler::TNode<Object> tmp427;
    4586             :     compiler::TNode<Object> tmp428;
    4587             :     compiler::TNode<BuiltinPtr> tmp429;
    4588             :     compiler::TNode<Map> tmp430;
    4589             :     compiler::TNode<UintPtrT> tmp431;
    4590             :     compiler::TNode<IntPtrT> tmp432;
    4591             :     compiler::TNode<IntPtrT> tmp433;
    4592             :     compiler::TNode<BuiltinPtr> tmp434;
    4593             :     compiler::TNode<FixedArray> tmp435;
    4594             :     compiler::TNode<IntPtrT> tmp436;
    4595             :     compiler::TNode<IntPtrT> tmp437;
    4596             :     compiler::TNode<BoolT> tmp438;
    4597             :     compiler::TNode<UintPtrT> tmp439;
    4598             :     compiler::TNode<Object> tmp440;
    4599             :     compiler::TNode<String> tmp441;
    4600             :     compiler::TNode<Object> tmp442;
    4601             :     compiler::TNode<HeapObject> tmp443;
    4602             :     ca_.Bind(&block26, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442, &tmp443);
    4603             :     ca_.Goto(&block4, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp439);
    4604             :   }
    4605             : 
    4606         112 :   if (block27.is_used()) {
    4607             :     compiler::TNode<Context> tmp444;
    4608             :     compiler::TNode<JSReceiver> tmp445;
    4609             :     compiler::TNode<String> tmp446;
    4610             :     compiler::TNode<Number> tmp447;
    4611             :     compiler::TNode<Object> tmp448;
    4612             :     compiler::TNode<Object> tmp449;
    4613             :     compiler::TNode<BuiltinPtr> tmp450;
    4614             :     compiler::TNode<Map> tmp451;
    4615             :     compiler::TNode<UintPtrT> tmp452;
    4616             :     compiler::TNode<IntPtrT> tmp453;
    4617             :     compiler::TNode<IntPtrT> tmp454;
    4618             :     compiler::TNode<BuiltinPtr> tmp455;
    4619             :     compiler::TNode<FixedArray> tmp456;
    4620             :     compiler::TNode<IntPtrT> tmp457;
    4621             :     compiler::TNode<IntPtrT> tmp458;
    4622             :     compiler::TNode<BoolT> tmp459;
    4623             :     compiler::TNode<UintPtrT> tmp460;
    4624             :     compiler::TNode<Object> tmp461;
    4625             :     compiler::TNode<String> tmp462;
    4626             :     compiler::TNode<Object> tmp463;
    4627             :     compiler::TNode<HeapObject> tmp464;
    4628             :     ca_.Bind(&block27, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463, &tmp464);
    4629          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 309);
    4630             :     compiler::TNode<String> tmp465;
    4631         112 :     tmp465 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp444, tmp464));
    4632             :     USE(tmp465);
    4633          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    4634             :     ca_.Goto(&block22, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, tmp465, tmp463);
    4635             :   }
    4636             : 
    4637         112 :   if (block22.is_used()) {
    4638             :     compiler::TNode<Context> tmp466;
    4639             :     compiler::TNode<JSReceiver> tmp467;
    4640             :     compiler::TNode<String> tmp468;
    4641             :     compiler::TNode<Number> tmp469;
    4642             :     compiler::TNode<Object> tmp470;
    4643             :     compiler::TNode<Object> tmp471;
    4644             :     compiler::TNode<BuiltinPtr> tmp472;
    4645             :     compiler::TNode<Map> tmp473;
    4646             :     compiler::TNode<UintPtrT> tmp474;
    4647             :     compiler::TNode<IntPtrT> tmp475;
    4648             :     compiler::TNode<IntPtrT> tmp476;
    4649             :     compiler::TNode<BuiltinPtr> tmp477;
    4650             :     compiler::TNode<FixedArray> tmp478;
    4651             :     compiler::TNode<IntPtrT> tmp479;
    4652             :     compiler::TNode<IntPtrT> tmp480;
    4653             :     compiler::TNode<BoolT> tmp481;
    4654             :     compiler::TNode<UintPtrT> tmp482;
    4655             :     compiler::TNode<Object> tmp483;
    4656             :     compiler::TNode<String> tmp484;
    4657             :     compiler::TNode<Object> tmp485;
    4658             :     ca_.Bind(&block22, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483, &tmp484, &tmp485);
    4659          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    4660             :     ca_.Goto(&block16, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484, tmp485);
    4661             :   }
    4662             : 
    4663         112 :   if (block16.is_used()) {
    4664             :     compiler::TNode<Context> tmp486;
    4665             :     compiler::TNode<JSReceiver> tmp487;
    4666             :     compiler::TNode<String> tmp488;
    4667             :     compiler::TNode<Number> tmp489;
    4668             :     compiler::TNode<Object> tmp490;
    4669             :     compiler::TNode<Object> tmp491;
    4670             :     compiler::TNode<BuiltinPtr> tmp492;
    4671             :     compiler::TNode<Map> tmp493;
    4672             :     compiler::TNode<UintPtrT> tmp494;
    4673             :     compiler::TNode<IntPtrT> tmp495;
    4674             :     compiler::TNode<IntPtrT> tmp496;
    4675             :     compiler::TNode<BuiltinPtr> tmp497;
    4676             :     compiler::TNode<FixedArray> tmp498;
    4677             :     compiler::TNode<IntPtrT> tmp499;
    4678             :     compiler::TNode<IntPtrT> tmp500;
    4679             :     compiler::TNode<BoolT> tmp501;
    4680             :     compiler::TNode<UintPtrT> tmp502;
    4681             :     compiler::TNode<Object> tmp503;
    4682             :     compiler::TNode<String> tmp504;
    4683             :     compiler::TNode<Object> tmp505;
    4684             :     ca_.Bind(&block16, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504, &tmp505);
    4685          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    4686          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    4687             :     ca_.Goto(&block13, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503, tmp504);
    4688             :   }
    4689             : 
    4690         112 :   if (block13.is_used()) {
    4691             :     compiler::TNode<Context> tmp506;
    4692             :     compiler::TNode<JSReceiver> tmp507;
    4693             :     compiler::TNode<String> tmp508;
    4694             :     compiler::TNode<Number> tmp509;
    4695             :     compiler::TNode<Object> tmp510;
    4696             :     compiler::TNode<Object> tmp511;
    4697             :     compiler::TNode<BuiltinPtr> tmp512;
    4698             :     compiler::TNode<Map> tmp513;
    4699             :     compiler::TNode<UintPtrT> tmp514;
    4700             :     compiler::TNode<IntPtrT> tmp515;
    4701             :     compiler::TNode<IntPtrT> tmp516;
    4702             :     compiler::TNode<BuiltinPtr> tmp517;
    4703             :     compiler::TNode<FixedArray> tmp518;
    4704             :     compiler::TNode<IntPtrT> tmp519;
    4705             :     compiler::TNode<IntPtrT> tmp520;
    4706             :     compiler::TNode<BoolT> tmp521;
    4707             :     compiler::TNode<UintPtrT> tmp522;
    4708             :     compiler::TNode<Object> tmp523;
    4709             :     compiler::TNode<String> tmp524;
    4710             :     ca_.Bind(&block13, &tmp506, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523, &tmp524);
    4711         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
    4712         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
    4713             :     compiler::TNode<IntPtrT> tmp525;
    4714             :     USE(tmp525);
    4715         336 :     tmp525 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    4716             :     compiler::TNode<BoolT> tmp526;
    4717             :     USE(tmp526);
    4718         336 :     tmp526 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp519}, compiler::TNode<IntPtrT>{tmp525}));
    4719             :     compiler::TNode<IntPtrT> tmp527;
    4720             :     USE(tmp527);
    4721         336 :     tmp527 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    4722             :     compiler::TNode<BoolT> tmp528;
    4723             :     USE(tmp528);
    4724         336 :     tmp528 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp527}));
    4725             :     compiler::TNode<BoolT> tmp529;
    4726             :     USE(tmp529);
    4727         224 :     tmp529 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp526}, compiler::TNode<BoolT>{tmp528}));
    4728         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
    4729         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
    4730             :     compiler::TNode<IntPtrT> tmp530;
    4731             :     USE(tmp530);
    4732         336 :     tmp530 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    4733             :     compiler::TNode<BoolT> tmp531;
    4734             :     USE(tmp531);
    4735         336 :     tmp531 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp530}));
    4736         112 :     ca_.Branch(tmp531, &block30, &block32, tmp506, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp522, tmp523, tmp524, tmp524, tmp516, tmp515, tmp506, tmp524, tmp516, tmp515, tmp529, tmp516, tmp515, tmp529, tmp506, tmp516, tmp515, tmp529);
    4737             :   }
    4738             : 
    4739         112 :   if (block32.is_used()) {
    4740             :     compiler::TNode<Context> tmp532;
    4741             :     compiler::TNode<JSReceiver> tmp533;
    4742             :     compiler::TNode<String> tmp534;
    4743             :     compiler::TNode<Number> tmp535;
    4744             :     compiler::TNode<Object> tmp536;
    4745             :     compiler::TNode<Object> tmp537;
    4746             :     compiler::TNode<BuiltinPtr> tmp538;
    4747             :     compiler::TNode<Map> tmp539;
    4748             :     compiler::TNode<UintPtrT> tmp540;
    4749             :     compiler::TNode<IntPtrT> tmp541;
    4750             :     compiler::TNode<IntPtrT> tmp542;
    4751             :     compiler::TNode<BuiltinPtr> tmp543;
    4752             :     compiler::TNode<FixedArray> tmp544;
    4753             :     compiler::TNode<IntPtrT> tmp545;
    4754             :     compiler::TNode<IntPtrT> tmp546;
    4755             :     compiler::TNode<BoolT> tmp547;
    4756             :     compiler::TNode<UintPtrT> tmp548;
    4757             :     compiler::TNode<Object> tmp549;
    4758             :     compiler::TNode<String> tmp550;
    4759             :     compiler::TNode<String> tmp551;
    4760             :     compiler::TNode<IntPtrT> tmp552;
    4761             :     compiler::TNode<IntPtrT> tmp553;
    4762             :     compiler::TNode<Context> tmp554;
    4763             :     compiler::TNode<String> tmp555;
    4764             :     compiler::TNode<IntPtrT> tmp556;
    4765             :     compiler::TNode<IntPtrT> tmp557;
    4766             :     compiler::TNode<BoolT> tmp558;
    4767             :     compiler::TNode<IntPtrT> tmp559;
    4768             :     compiler::TNode<IntPtrT> tmp560;
    4769             :     compiler::TNode<BoolT> tmp561;
    4770             :     compiler::TNode<Context> tmp562;
    4771             :     compiler::TNode<IntPtrT> tmp563;
    4772             :     compiler::TNode<IntPtrT> tmp564;
    4773             :     compiler::TNode<BoolT> tmp565;
    4774             :     ca_.Bind(&block32, &tmp532, &tmp533, &tmp534, &tmp535, &tmp536, &tmp537, &tmp538, &tmp539, &tmp540, &tmp541, &tmp542, &tmp543, &tmp544, &tmp545, &tmp546, &tmp547, &tmp548, &tmp549, &tmp550, &tmp551, &tmp552, &tmp553, &tmp554, &tmp555, &tmp556, &tmp557, &tmp558, &tmp559, &tmp560, &tmp561, &tmp562, &tmp563, &tmp564, &tmp565);
    4775             :     compiler::TNode<IntPtrT> tmp566;
    4776             :     USE(tmp566);
    4777         336 :     tmp566 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    4778             :     compiler::TNode<BoolT> tmp567;
    4779             :     USE(tmp567);
    4780         336 :     tmp567 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp564}, compiler::TNode<IntPtrT>{tmp566}));
    4781         112 :     ca_.Branch(tmp567, &block30, &block31, tmp532, tmp533, tmp534, tmp535, tmp536, tmp537, tmp538, tmp539, tmp540, tmp541, tmp542, tmp543, tmp544, tmp545, tmp546, tmp547, tmp548, tmp549, tmp550, tmp551, tmp552, tmp553, tmp554, tmp555, tmp556, tmp557, tmp558, tmp559, tmp560, tmp561, tmp562, tmp563, tmp564, tmp565);
    4782             :   }
    4783             : 
    4784         112 :   if (block30.is_used()) {
    4785             :     compiler::TNode<Context> tmp568;
    4786             :     compiler::TNode<JSReceiver> tmp569;
    4787             :     compiler::TNode<String> tmp570;
    4788             :     compiler::TNode<Number> tmp571;
    4789             :     compiler::TNode<Object> tmp572;
    4790             :     compiler::TNode<Object> tmp573;
    4791             :     compiler::TNode<BuiltinPtr> tmp574;
    4792             :     compiler::TNode<Map> tmp575;
    4793             :     compiler::TNode<UintPtrT> tmp576;
    4794             :     compiler::TNode<IntPtrT> tmp577;
    4795             :     compiler::TNode<IntPtrT> tmp578;
    4796             :     compiler::TNode<BuiltinPtr> tmp579;
    4797             :     compiler::TNode<FixedArray> tmp580;
    4798             :     compiler::TNode<IntPtrT> tmp581;
    4799             :     compiler::TNode<IntPtrT> tmp582;
    4800             :     compiler::TNode<BoolT> tmp583;
    4801             :     compiler::TNode<UintPtrT> tmp584;
    4802             :     compiler::TNode<Object> tmp585;
    4803             :     compiler::TNode<String> tmp586;
    4804             :     compiler::TNode<String> tmp587;
    4805             :     compiler::TNode<IntPtrT> tmp588;
    4806             :     compiler::TNode<IntPtrT> tmp589;
    4807             :     compiler::TNode<Context> tmp590;
    4808             :     compiler::TNode<String> tmp591;
    4809             :     compiler::TNode<IntPtrT> tmp592;
    4810             :     compiler::TNode<IntPtrT> tmp593;
    4811             :     compiler::TNode<BoolT> tmp594;
    4812             :     compiler::TNode<IntPtrT> tmp595;
    4813             :     compiler::TNode<IntPtrT> tmp596;
    4814             :     compiler::TNode<BoolT> tmp597;
    4815             :     compiler::TNode<Context> tmp598;
    4816             :     compiler::TNode<IntPtrT> tmp599;
    4817             :     compiler::TNode<IntPtrT> tmp600;
    4818             :     compiler::TNode<BoolT> tmp601;
    4819             :     ca_.Bind(&block30, &tmp568, &tmp569, &tmp570, &tmp571, &tmp572, &tmp573, &tmp574, &tmp575, &tmp576, &tmp577, &tmp578, &tmp579, &tmp580, &tmp581, &tmp582, &tmp583, &tmp584, &tmp585, &tmp586, &tmp587, &tmp588, &tmp589, &tmp590, &tmp591, &tmp592, &tmp593, &tmp594, &tmp595, &tmp596, &tmp597, &tmp598, &tmp599, &tmp600, &tmp601);
    4820             :     ca_.Goto(&block29, tmp568, tmp569, tmp570, tmp571, tmp572, tmp573, tmp574, tmp575, tmp576, tmp577, tmp578, tmp579, tmp580, tmp581, tmp582, tmp583, tmp584, tmp585, tmp586, tmp587, tmp588, tmp589, tmp590, tmp591, tmp592, tmp593, tmp594, tmp595, tmp596, tmp597, tmp598, tmp599, tmp600, tmp601);
    4821             :   }
    4822             : 
    4823         112 :   if (block31.is_used()) {
    4824             :     compiler::TNode<Context> tmp602;
    4825             :     compiler::TNode<JSReceiver> tmp603;
    4826             :     compiler::TNode<String> tmp604;
    4827             :     compiler::TNode<Number> tmp605;
    4828             :     compiler::TNode<Object> tmp606;
    4829             :     compiler::TNode<Object> tmp607;
    4830             :     compiler::TNode<BuiltinPtr> tmp608;
    4831             :     compiler::TNode<Map> tmp609;
    4832             :     compiler::TNode<UintPtrT> tmp610;
    4833             :     compiler::TNode<IntPtrT> tmp611;
    4834             :     compiler::TNode<IntPtrT> tmp612;
    4835             :     compiler::TNode<BuiltinPtr> tmp613;
    4836             :     compiler::TNode<FixedArray> tmp614;
    4837             :     compiler::TNode<IntPtrT> tmp615;
    4838             :     compiler::TNode<IntPtrT> tmp616;
    4839             :     compiler::TNode<BoolT> tmp617;
    4840             :     compiler::TNode<UintPtrT> tmp618;
    4841             :     compiler::TNode<Object> tmp619;
    4842             :     compiler::TNode<String> tmp620;
    4843             :     compiler::TNode<String> tmp621;
    4844             :     compiler::TNode<IntPtrT> tmp622;
    4845             :     compiler::TNode<IntPtrT> tmp623;
    4846             :     compiler::TNode<Context> tmp624;
    4847             :     compiler::TNode<String> tmp625;
    4848             :     compiler::TNode<IntPtrT> tmp626;
    4849             :     compiler::TNode<IntPtrT> tmp627;
    4850             :     compiler::TNode<BoolT> tmp628;
    4851             :     compiler::TNode<IntPtrT> tmp629;
    4852             :     compiler::TNode<IntPtrT> tmp630;
    4853             :     compiler::TNode<BoolT> tmp631;
    4854             :     compiler::TNode<Context> tmp632;
    4855             :     compiler::TNode<IntPtrT> tmp633;
    4856             :     compiler::TNode<IntPtrT> tmp634;
    4857             :     compiler::TNode<BoolT> tmp635;
    4858             :     ca_.Bind(&block31, &tmp602, &tmp603, &tmp604, &tmp605, &tmp606, &tmp607, &tmp608, &tmp609, &tmp610, &tmp611, &tmp612, &tmp613, &tmp614, &tmp615, &tmp616, &tmp617, &tmp618, &tmp619, &tmp620, &tmp621, &tmp622, &tmp623, &tmp624, &tmp625, &tmp626, &tmp627, &tmp628, &tmp629, &tmp630, &tmp631, &tmp632, &tmp633, &tmp634, &tmp635);
    4859         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    4860         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    4861             :     compiler::TNode<IntPtrT> tmp636;
    4862             :     USE(tmp636);
    4863         224 :     tmp636 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp634}, compiler::TNode<IntPtrT>{tmp633}));
    4864         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
    4865             :     compiler::TNode<IntPtrT> tmp637;
    4866             :     USE(tmp637);
    4867         224 :     tmp637 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp636}, compiler::TNode<IntPtrT>{tmp634}));
    4868             :     compiler::TNode<BoolT> tmp638;
    4869             :     USE(tmp638);
    4870         336 :     tmp638 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp637}, compiler::TNode<IntPtrT>{tmp633}));
    4871         112 :     ca_.Branch(tmp638, &block33, &block34, tmp602, tmp603, tmp604, tmp605, tmp606, tmp607, tmp608, tmp609, tmp610, tmp611, tmp612, tmp613, tmp614, tmp615, tmp616, tmp617, tmp618, tmp619, tmp620, tmp621, tmp622, tmp623, tmp624, tmp625, tmp626, tmp627, tmp628, tmp629, tmp630, tmp631, tmp632, tmp633, tmp634, tmp635, tmp633, tmp636);
    4872             :   }
    4873             : 
    4874         112 :   if (block33.is_used()) {
    4875             :     compiler::TNode<Context> tmp639;
    4876             :     compiler::TNode<JSReceiver> tmp640;
    4877             :     compiler::TNode<String> tmp641;
    4878             :     compiler::TNode<Number> tmp642;
    4879             :     compiler::TNode<Object> tmp643;
    4880             :     compiler::TNode<Object> tmp644;
    4881             :     compiler::TNode<BuiltinPtr> tmp645;
    4882             :     compiler::TNode<Map> tmp646;
    4883             :     compiler::TNode<UintPtrT> tmp647;
    4884             :     compiler::TNode<IntPtrT> tmp648;
    4885             :     compiler::TNode<IntPtrT> tmp649;
    4886             :     compiler::TNode<BuiltinPtr> tmp650;
    4887             :     compiler::TNode<FixedArray> tmp651;
    4888             :     compiler::TNode<IntPtrT> tmp652;
    4889             :     compiler::TNode<IntPtrT> tmp653;
    4890             :     compiler::TNode<BoolT> tmp654;
    4891             :     compiler::TNode<UintPtrT> tmp655;
    4892             :     compiler::TNode<Object> tmp656;
    4893             :     compiler::TNode<String> tmp657;
    4894             :     compiler::TNode<String> tmp658;
    4895             :     compiler::TNode<IntPtrT> tmp659;
    4896             :     compiler::TNode<IntPtrT> tmp660;
    4897             :     compiler::TNode<Context> tmp661;
    4898             :     compiler::TNode<String> tmp662;
    4899             :     compiler::TNode<IntPtrT> tmp663;
    4900             :     compiler::TNode<IntPtrT> tmp664;
    4901             :     compiler::TNode<BoolT> tmp665;
    4902             :     compiler::TNode<IntPtrT> tmp666;
    4903             :     compiler::TNode<IntPtrT> tmp667;
    4904             :     compiler::TNode<BoolT> tmp668;
    4905             :     compiler::TNode<Context> tmp669;
    4906             :     compiler::TNode<IntPtrT> tmp670;
    4907             :     compiler::TNode<IntPtrT> tmp671;
    4908             :     compiler::TNode<BoolT> tmp672;
    4909             :     compiler::TNode<IntPtrT> tmp673;
    4910             :     compiler::TNode<IntPtrT> tmp674;
    4911             :     ca_.Bind(&block33, &tmp639, &tmp640, &tmp641, &tmp642, &tmp643, &tmp644, &tmp645, &tmp646, &tmp647, &tmp648, &tmp649, &tmp650, &tmp651, &tmp652, &tmp653, &tmp654, &tmp655, &tmp656, &tmp657, &tmp658, &tmp659, &tmp660, &tmp661, &tmp662, &tmp663, &tmp664, &tmp665, &tmp666, &tmp667, &tmp668, &tmp669, &tmp670, &tmp671, &tmp672, &tmp673, &tmp674);
    4912         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
    4913         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp669);
    4914         224 :     CodeStubAssembler(state_).Unreachable();
    4915             :   }
    4916             : 
    4917         112 :   if (block34.is_used()) {
    4918             :     compiler::TNode<Context> tmp676;
    4919             :     compiler::TNode<JSReceiver> tmp677;
    4920             :     compiler::TNode<String> tmp678;
    4921             :     compiler::TNode<Number> tmp679;
    4922             :     compiler::TNode<Object> tmp680;
    4923             :     compiler::TNode<Object> tmp681;
    4924             :     compiler::TNode<BuiltinPtr> tmp682;
    4925             :     compiler::TNode<Map> tmp683;
    4926             :     compiler::TNode<UintPtrT> tmp684;
    4927             :     compiler::TNode<IntPtrT> tmp685;
    4928             :     compiler::TNode<IntPtrT> tmp686;
    4929             :     compiler::TNode<BuiltinPtr> tmp687;
    4930             :     compiler::TNode<FixedArray> tmp688;
    4931             :     compiler::TNode<IntPtrT> tmp689;
    4932             :     compiler::TNode<IntPtrT> tmp690;
    4933             :     compiler::TNode<BoolT> tmp691;
    4934             :     compiler::TNode<UintPtrT> tmp692;
    4935             :     compiler::TNode<Object> tmp693;
    4936             :     compiler::TNode<String> tmp694;
    4937             :     compiler::TNode<String> tmp695;
    4938             :     compiler::TNode<IntPtrT> tmp696;
    4939             :     compiler::TNode<IntPtrT> tmp697;
    4940             :     compiler::TNode<Context> tmp698;
    4941             :     compiler::TNode<String> tmp699;
    4942             :     compiler::TNode<IntPtrT> tmp700;
    4943             :     compiler::TNode<IntPtrT> tmp701;
    4944             :     compiler::TNode<BoolT> tmp702;
    4945             :     compiler::TNode<IntPtrT> tmp703;
    4946             :     compiler::TNode<IntPtrT> tmp704;
    4947             :     compiler::TNode<BoolT> tmp705;
    4948             :     compiler::TNode<Context> tmp706;
    4949             :     compiler::TNode<IntPtrT> tmp707;
    4950             :     compiler::TNode<IntPtrT> tmp708;
    4951             :     compiler::TNode<BoolT> tmp709;
    4952             :     compiler::TNode<IntPtrT> tmp710;
    4953             :     compiler::TNode<IntPtrT> tmp711;
    4954             :     ca_.Bind(&block34, &tmp676, &tmp677, &tmp678, &tmp679, &tmp680, &tmp681, &tmp682, &tmp683, &tmp684, &tmp685, &tmp686, &tmp687, &tmp688, &tmp689, &tmp690, &tmp691, &tmp692, &tmp693, &tmp694, &tmp695, &tmp696, &tmp697, &tmp698, &tmp699, &tmp700, &tmp701, &tmp702, &tmp703, &tmp704, &tmp705, &tmp706, &tmp707, &tmp708, &tmp709, &tmp710, &tmp711);
    4955         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    4956             :     compiler::TNode<IntPtrT> tmp712;
    4957             :     USE(tmp712);
    4958         336 :     tmp712 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp706}, compiler::TNode<IntPtrT>{tmp690}, compiler::TNode<IntPtrT>{tmp711}));
    4959         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    4960         112 :     ca_.Branch(tmp709, &block35, &block36, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp686, tmp687, tmp688, tmp689, tmp712, tmp691, tmp692, tmp693, tmp694, tmp695, tmp696, tmp697, tmp698, tmp699, tmp700, tmp701, tmp702, tmp703, tmp704, tmp705, tmp706, tmp707, tmp708, tmp709, tmp710, tmp711);
    4961             :   }
    4962             : 
    4963         112 :   if (block35.is_used()) {
    4964             :     compiler::TNode<Context> tmp713;
    4965             :     compiler::TNode<JSReceiver> tmp714;
    4966             :     compiler::TNode<String> tmp715;
    4967             :     compiler::TNode<Number> tmp716;
    4968             :     compiler::TNode<Object> tmp717;
    4969             :     compiler::TNode<Object> tmp718;
    4970             :     compiler::TNode<BuiltinPtr> tmp719;
    4971             :     compiler::TNode<Map> tmp720;
    4972             :     compiler::TNode<UintPtrT> tmp721;
    4973             :     compiler::TNode<IntPtrT> tmp722;
    4974             :     compiler::TNode<IntPtrT> tmp723;
    4975             :     compiler::TNode<BuiltinPtr> tmp724;
    4976             :     compiler::TNode<FixedArray> tmp725;
    4977             :     compiler::TNode<IntPtrT> tmp726;
    4978             :     compiler::TNode<IntPtrT> tmp727;
    4979             :     compiler::TNode<BoolT> tmp728;
    4980             :     compiler::TNode<UintPtrT> tmp729;
    4981             :     compiler::TNode<Object> tmp730;
    4982             :     compiler::TNode<String> tmp731;
    4983             :     compiler::TNode<String> tmp732;
    4984             :     compiler::TNode<IntPtrT> tmp733;
    4985             :     compiler::TNode<IntPtrT> tmp734;
    4986             :     compiler::TNode<Context> tmp735;
    4987             :     compiler::TNode<String> tmp736;
    4988             :     compiler::TNode<IntPtrT> tmp737;
    4989             :     compiler::TNode<IntPtrT> tmp738;
    4990             :     compiler::TNode<BoolT> tmp739;
    4991             :     compiler::TNode<IntPtrT> tmp740;
    4992             :     compiler::TNode<IntPtrT> tmp741;
    4993             :     compiler::TNode<BoolT> tmp742;
    4994             :     compiler::TNode<Context> tmp743;
    4995             :     compiler::TNode<IntPtrT> tmp744;
    4996             :     compiler::TNode<IntPtrT> tmp745;
    4997             :     compiler::TNode<BoolT> tmp746;
    4998             :     compiler::TNode<IntPtrT> tmp747;
    4999             :     compiler::TNode<IntPtrT> tmp748;
    5000             :     ca_.Bind(&block35, &tmp713, &tmp714, &tmp715, &tmp716, &tmp717, &tmp718, &tmp719, &tmp720, &tmp721, &tmp722, &tmp723, &tmp724, &tmp725, &tmp726, &tmp727, &tmp728, &tmp729, &tmp730, &tmp731, &tmp732, &tmp733, &tmp734, &tmp735, &tmp736, &tmp737, &tmp738, &tmp739, &tmp740, &tmp741, &tmp742, &tmp743, &tmp744, &tmp745, &tmp746, &tmp747, &tmp748);
    5001         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    5002             :     compiler::TNode<IntPtrT> tmp749;
    5003             :     USE(tmp749);
    5004         336 :     tmp749 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    5005             :     compiler::TNode<IntPtrT> tmp750;
    5006             :     USE(tmp750);
    5007         224 :     tmp750 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<IntPtrT>{tmp749}));
    5008             :     compiler::TNode<Smi> tmp751;
    5009             :     USE(tmp751);
    5010         336 :     tmp751 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp747}));
    5011         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    5012             :     compiler::TNode<FixedArray> tmp752;
    5013             :     USE(tmp752);
    5014         336 :     tmp752 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp725}, compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<Smi>{tmp751}));
    5015         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    5016             :     ca_.Goto(&block36, tmp713, tmp714, tmp715, tmp716, tmp717, tmp718, tmp719, tmp720, tmp721, tmp722, tmp723, tmp724, tmp752, tmp750, tmp727, tmp728, tmp729, tmp730, tmp731, tmp732, tmp733, tmp734, tmp735, tmp736, tmp737, tmp738, tmp739, tmp740, tmp741, tmp742, tmp743, tmp744, tmp745, tmp746, tmp747, tmp748);
    5017             :   }
    5018             : 
    5019         112 :   if (block36.is_used()) {
    5020             :     compiler::TNode<Context> tmp753;
    5021             :     compiler::TNode<JSReceiver> tmp754;
    5022             :     compiler::TNode<String> tmp755;
    5023             :     compiler::TNode<Number> tmp756;
    5024             :     compiler::TNode<Object> tmp757;
    5025             :     compiler::TNode<Object> tmp758;
    5026             :     compiler::TNode<BuiltinPtr> tmp759;
    5027             :     compiler::TNode<Map> tmp760;
    5028             :     compiler::TNode<UintPtrT> tmp761;
    5029             :     compiler::TNode<IntPtrT> tmp762;
    5030             :     compiler::TNode<IntPtrT> tmp763;
    5031             :     compiler::TNode<BuiltinPtr> tmp764;
    5032             :     compiler::TNode<FixedArray> tmp765;
    5033             :     compiler::TNode<IntPtrT> tmp766;
    5034             :     compiler::TNode<IntPtrT> tmp767;
    5035             :     compiler::TNode<BoolT> tmp768;
    5036             :     compiler::TNode<UintPtrT> tmp769;
    5037             :     compiler::TNode<Object> tmp770;
    5038             :     compiler::TNode<String> tmp771;
    5039             :     compiler::TNode<String> tmp772;
    5040             :     compiler::TNode<IntPtrT> tmp773;
    5041             :     compiler::TNode<IntPtrT> tmp774;
    5042             :     compiler::TNode<Context> tmp775;
    5043             :     compiler::TNode<String> tmp776;
    5044             :     compiler::TNode<IntPtrT> tmp777;
    5045             :     compiler::TNode<IntPtrT> tmp778;
    5046             :     compiler::TNode<BoolT> tmp779;
    5047             :     compiler::TNode<IntPtrT> tmp780;
    5048             :     compiler::TNode<IntPtrT> tmp781;
    5049             :     compiler::TNode<BoolT> tmp782;
    5050             :     compiler::TNode<Context> tmp783;
    5051             :     compiler::TNode<IntPtrT> tmp784;
    5052             :     compiler::TNode<IntPtrT> tmp785;
    5053             :     compiler::TNode<BoolT> tmp786;
    5054             :     compiler::TNode<IntPtrT> tmp787;
    5055             :     compiler::TNode<IntPtrT> tmp788;
    5056             :     ca_.Bind(&block36, &tmp753, &tmp754, &tmp755, &tmp756, &tmp757, &tmp758, &tmp759, &tmp760, &tmp761, &tmp762, &tmp763, &tmp764, &tmp765, &tmp766, &tmp767, &tmp768, &tmp769, &tmp770, &tmp771, &tmp772, &tmp773, &tmp774, &tmp775, &tmp776, &tmp777, &tmp778, &tmp779, &tmp780, &tmp781, &tmp782, &tmp783, &tmp784, &tmp785, &tmp786, &tmp787, &tmp788);
    5057         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    5058         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
    5059             :     ca_.Goto(&block29, tmp753, tmp754, tmp755, tmp756, tmp757, tmp758, tmp759, tmp760, tmp761, tmp762, tmp763, tmp764, tmp765, tmp766, tmp767, tmp768, tmp769, tmp770, tmp771, tmp772, tmp773, tmp774, tmp775, tmp776, tmp777, tmp778, tmp779, tmp780, tmp781, tmp782, tmp783, tmp784, tmp785, tmp786);
    5060             :   }
    5061             : 
    5062         112 :   if (block29.is_used()) {
    5063             :     compiler::TNode<Context> tmp789;
    5064             :     compiler::TNode<JSReceiver> tmp790;
    5065             :     compiler::TNode<String> tmp791;
    5066             :     compiler::TNode<Number> tmp792;
    5067             :     compiler::TNode<Object> tmp793;
    5068             :     compiler::TNode<Object> tmp794;
    5069             :     compiler::TNode<BuiltinPtr> tmp795;
    5070             :     compiler::TNode<Map> tmp796;
    5071             :     compiler::TNode<UintPtrT> tmp797;
    5072             :     compiler::TNode<IntPtrT> tmp798;
    5073             :     compiler::TNode<IntPtrT> tmp799;
    5074             :     compiler::TNode<BuiltinPtr> tmp800;
    5075             :     compiler::TNode<FixedArray> tmp801;
    5076             :     compiler::TNode<IntPtrT> tmp802;
    5077             :     compiler::TNode<IntPtrT> tmp803;
    5078             :     compiler::TNode<BoolT> tmp804;
    5079             :     compiler::TNode<UintPtrT> tmp805;
    5080             :     compiler::TNode<Object> tmp806;
    5081             :     compiler::TNode<String> tmp807;
    5082             :     compiler::TNode<String> tmp808;
    5083             :     compiler::TNode<IntPtrT> tmp809;
    5084             :     compiler::TNode<IntPtrT> tmp810;
    5085             :     compiler::TNode<Context> tmp811;
    5086             :     compiler::TNode<String> tmp812;
    5087             :     compiler::TNode<IntPtrT> tmp813;
    5088             :     compiler::TNode<IntPtrT> tmp814;
    5089             :     compiler::TNode<BoolT> tmp815;
    5090             :     compiler::TNode<IntPtrT> tmp816;
    5091             :     compiler::TNode<IntPtrT> tmp817;
    5092             :     compiler::TNode<BoolT> tmp818;
    5093             :     compiler::TNode<Context> tmp819;
    5094             :     compiler::TNode<IntPtrT> tmp820;
    5095             :     compiler::TNode<IntPtrT> tmp821;
    5096             :     compiler::TNode<BoolT> tmp822;
    5097             :     ca_.Bind(&block29, &tmp789, &tmp790, &tmp791, &tmp792, &tmp793, &tmp794, &tmp795, &tmp796, &tmp797, &tmp798, &tmp799, &tmp800, &tmp801, &tmp802, &tmp803, &tmp804, &tmp805, &tmp806, &tmp807, &tmp808, &tmp809, &tmp810, &tmp811, &tmp812, &tmp813, &tmp814, &tmp815, &tmp816, &tmp817, &tmp818, &tmp819, &tmp820, &tmp821, &tmp822);
    5098         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
    5099             :     compiler::TNode<IntPtrT> tmp823;
    5100             :     USE(tmp823);
    5101         336 :     tmp823 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp812}));
    5102             :     compiler::TNode<IntPtrT> tmp824;
    5103             :     USE(tmp824);
    5104         336 :     tmp824 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp811}, compiler::TNode<IntPtrT>{tmp803}, compiler::TNode<IntPtrT>{tmp823}));
    5105         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
    5106         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 164);
    5107             :     compiler::TNode<IntPtrT> tmp825;
    5108             :     USE(tmp825);
    5109         336 :     tmp825 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    5110             :     compiler::TNode<IntPtrT> tmp826;
    5111             :     USE(tmp826);
    5112         224 :     tmp826 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<IntPtrT>{tmp825}));
    5113             :     compiler::TNode<FixedArray> tmp827;
    5114             :     USE(tmp827);
    5115         336 :     tmp827 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray6String(compiler::TNode<FixedArray>{tmp801}, compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<String>{tmp812}));
    5116         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
    5117         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 166);
    5118             :     compiler::TNode<Int32T> tmp828;
    5119             :     USE(tmp828);
    5120         224 :     tmp828 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp812}));
    5121             :     compiler::TNode<BoolT> tmp829;
    5122             :     USE(tmp829);
    5123         224 :     tmp829 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp828}));
    5124             :     compiler::TNode<BoolT> tmp830;
    5125             :     USE(tmp830);
    5126         336 :     tmp830 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp829}, compiler::TNode<BoolT>{tmp804}));
    5127         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 165);
    5128         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
    5129         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
    5130             :     ca_.Goto(&block28, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp795, tmp796, tmp797, tmp798, tmp799, tmp800, tmp827, tmp826, tmp824, tmp830, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813, tmp814);
    5131             :   }
    5132             : 
    5133         112 :   if (block28.is_used()) {
    5134             :     compiler::TNode<Context> tmp831;
    5135             :     compiler::TNode<JSReceiver> tmp832;
    5136             :     compiler::TNode<String> tmp833;
    5137             :     compiler::TNode<Number> tmp834;
    5138             :     compiler::TNode<Object> tmp835;
    5139             :     compiler::TNode<Object> tmp836;
    5140             :     compiler::TNode<BuiltinPtr> tmp837;
    5141             :     compiler::TNode<Map> tmp838;
    5142             :     compiler::TNode<UintPtrT> tmp839;
    5143             :     compiler::TNode<IntPtrT> tmp840;
    5144             :     compiler::TNode<IntPtrT> tmp841;
    5145             :     compiler::TNode<BuiltinPtr> tmp842;
    5146             :     compiler::TNode<FixedArray> tmp843;
    5147             :     compiler::TNode<IntPtrT> tmp844;
    5148             :     compiler::TNode<IntPtrT> tmp845;
    5149             :     compiler::TNode<BoolT> tmp846;
    5150             :     compiler::TNode<UintPtrT> tmp847;
    5151             :     compiler::TNode<Object> tmp848;
    5152             :     compiler::TNode<String> tmp849;
    5153             :     compiler::TNode<String> tmp850;
    5154             :     compiler::TNode<IntPtrT> tmp851;
    5155             :     compiler::TNode<IntPtrT> tmp852;
    5156             :     compiler::TNode<Context> tmp853;
    5157             :     compiler::TNode<String> tmp854;
    5158             :     compiler::TNode<IntPtrT> tmp855;
    5159             :     compiler::TNode<IntPtrT> tmp856;
    5160             :     ca_.Bind(&block28, &tmp831, &tmp832, &tmp833, &tmp834, &tmp835, &tmp836, &tmp837, &tmp838, &tmp839, &tmp840, &tmp841, &tmp842, &tmp843, &tmp844, &tmp845, &tmp846, &tmp847, &tmp848, &tmp849, &tmp850, &tmp851, &tmp852, &tmp853, &tmp854, &tmp855, &tmp856);
    5161         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 316);
    5162             :     compiler::TNode<IntPtrT> tmp857;
    5163             :     USE(tmp857);
    5164         336 :     tmp857 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5165         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
    5166             :     ca_.Goto(&block4, tmp831, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp840, tmp857, tmp842, tmp843, tmp844, tmp845, tmp846, tmp847);
    5167             :   }
    5168             : 
    5169         112 :   if (block3.is_used()) {
    5170             :     compiler::TNode<Context> tmp858;
    5171             :     compiler::TNode<JSReceiver> tmp859;
    5172             :     compiler::TNode<String> tmp860;
    5173             :     compiler::TNode<Number> tmp861;
    5174             :     compiler::TNode<Object> tmp862;
    5175             :     compiler::TNode<Object> tmp863;
    5176             :     compiler::TNode<BuiltinPtr> tmp864;
    5177             :     compiler::TNode<Map> tmp865;
    5178             :     compiler::TNode<UintPtrT> tmp866;
    5179             :     compiler::TNode<IntPtrT> tmp867;
    5180             :     compiler::TNode<IntPtrT> tmp868;
    5181             :     compiler::TNode<BuiltinPtr> tmp869;
    5182             :     compiler::TNode<FixedArray> tmp870;
    5183             :     compiler::TNode<IntPtrT> tmp871;
    5184             :     compiler::TNode<IntPtrT> tmp872;
    5185             :     compiler::TNode<BoolT> tmp873;
    5186             :     compiler::TNode<UintPtrT> tmp874;
    5187             :     ca_.Bind(&block3, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873, &tmp874);
    5188         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    5189             :     compiler::TNode<BoolT> tmp875;
    5190             :     USE(tmp875);
    5191         336 :     tmp875 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
    5192         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
    5193             :     compiler::TNode<IntPtrT> tmp876;
    5194             :     USE(tmp876);
    5195         336 :     tmp876 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5196             :     compiler::TNode<BoolT> tmp877;
    5197             :     USE(tmp877);
    5198         336 :     tmp877 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp868}, compiler::TNode<IntPtrT>{tmp876}));
    5199         112 :     ca_.Branch(tmp877, &block38, &block40, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp874, tmp868, tmp867, tmp858, tmp868, tmp867, tmp875);
    5200             :   }
    5201             : 
    5202         112 :   if (block40.is_used()) {
    5203             :     compiler::TNode<Context> tmp878;
    5204             :     compiler::TNode<JSReceiver> tmp879;
    5205             :     compiler::TNode<String> tmp880;
    5206             :     compiler::TNode<Number> tmp881;
    5207             :     compiler::TNode<Object> tmp882;
    5208             :     compiler::TNode<Object> tmp883;
    5209             :     compiler::TNode<BuiltinPtr> tmp884;
    5210             :     compiler::TNode<Map> tmp885;
    5211             :     compiler::TNode<UintPtrT> tmp886;
    5212             :     compiler::TNode<IntPtrT> tmp887;
    5213             :     compiler::TNode<IntPtrT> tmp888;
    5214             :     compiler::TNode<BuiltinPtr> tmp889;
    5215             :     compiler::TNode<FixedArray> tmp890;
    5216             :     compiler::TNode<IntPtrT> tmp891;
    5217             :     compiler::TNode<IntPtrT> tmp892;
    5218             :     compiler::TNode<BoolT> tmp893;
    5219             :     compiler::TNode<UintPtrT> tmp894;
    5220             :     compiler::TNode<IntPtrT> tmp895;
    5221             :     compiler::TNode<IntPtrT> tmp896;
    5222             :     compiler::TNode<Context> tmp897;
    5223             :     compiler::TNode<IntPtrT> tmp898;
    5224             :     compiler::TNode<IntPtrT> tmp899;
    5225             :     compiler::TNode<BoolT> tmp900;
    5226             :     ca_.Bind(&block40, &tmp878, &tmp879, &tmp880, &tmp881, &tmp882, &tmp883, &tmp884, &tmp885, &tmp886, &tmp887, &tmp888, &tmp889, &tmp890, &tmp891, &tmp892, &tmp893, &tmp894, &tmp895, &tmp896, &tmp897, &tmp898, &tmp899, &tmp900);
    5227             :     compiler::TNode<IntPtrT> tmp901;
    5228             :     USE(tmp901);
    5229         336 :     tmp901 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5230             :     compiler::TNode<BoolT> tmp902;
    5231             :     USE(tmp902);
    5232         336 :     tmp902 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp899}, compiler::TNode<IntPtrT>{tmp901}));
    5233         112 :     ca_.Branch(tmp902, &block38, &block39, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889, tmp890, tmp891, tmp892, tmp893, tmp894, tmp895, tmp896, tmp897, tmp898, tmp899, tmp900);
    5234             :   }
    5235             : 
    5236         112 :   if (block38.is_used()) {
    5237             :     compiler::TNode<Context> tmp903;
    5238             :     compiler::TNode<JSReceiver> tmp904;
    5239             :     compiler::TNode<String> tmp905;
    5240             :     compiler::TNode<Number> tmp906;
    5241             :     compiler::TNode<Object> tmp907;
    5242             :     compiler::TNode<Object> tmp908;
    5243             :     compiler::TNode<BuiltinPtr> tmp909;
    5244             :     compiler::TNode<Map> tmp910;
    5245             :     compiler::TNode<UintPtrT> tmp911;
    5246             :     compiler::TNode<IntPtrT> tmp912;
    5247             :     compiler::TNode<IntPtrT> tmp913;
    5248             :     compiler::TNode<BuiltinPtr> tmp914;
    5249             :     compiler::TNode<FixedArray> tmp915;
    5250             :     compiler::TNode<IntPtrT> tmp916;
    5251             :     compiler::TNode<IntPtrT> tmp917;
    5252             :     compiler::TNode<BoolT> tmp918;
    5253             :     compiler::TNode<UintPtrT> tmp919;
    5254             :     compiler::TNode<IntPtrT> tmp920;
    5255             :     compiler::TNode<IntPtrT> tmp921;
    5256             :     compiler::TNode<Context> tmp922;
    5257             :     compiler::TNode<IntPtrT> tmp923;
    5258             :     compiler::TNode<IntPtrT> tmp924;
    5259             :     compiler::TNode<BoolT> tmp925;
    5260             :     ca_.Bind(&block38, &tmp903, &tmp904, &tmp905, &tmp906, &tmp907, &tmp908, &tmp909, &tmp910, &tmp911, &tmp912, &tmp913, &tmp914, &tmp915, &tmp916, &tmp917, &tmp918, &tmp919, &tmp920, &tmp921, &tmp922, &tmp923, &tmp924, &tmp925);
    5261             :     ca_.Goto(&block37, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919, tmp920, tmp921, tmp922, tmp923, tmp924, tmp925);
    5262             :   }
    5263             : 
    5264         112 :   if (block39.is_used()) {
    5265             :     compiler::TNode<Context> tmp926;
    5266             :     compiler::TNode<JSReceiver> tmp927;
    5267             :     compiler::TNode<String> tmp928;
    5268             :     compiler::TNode<Number> tmp929;
    5269             :     compiler::TNode<Object> tmp930;
    5270             :     compiler::TNode<Object> tmp931;
    5271             :     compiler::TNode<BuiltinPtr> tmp932;
    5272             :     compiler::TNode<Map> tmp933;
    5273             :     compiler::TNode<UintPtrT> tmp934;
    5274             :     compiler::TNode<IntPtrT> tmp935;
    5275             :     compiler::TNode<IntPtrT> tmp936;
    5276             :     compiler::TNode<BuiltinPtr> tmp937;
    5277             :     compiler::TNode<FixedArray> tmp938;
    5278             :     compiler::TNode<IntPtrT> tmp939;
    5279             :     compiler::TNode<IntPtrT> tmp940;
    5280             :     compiler::TNode<BoolT> tmp941;
    5281             :     compiler::TNode<UintPtrT> tmp942;
    5282             :     compiler::TNode<IntPtrT> tmp943;
    5283             :     compiler::TNode<IntPtrT> tmp944;
    5284             :     compiler::TNode<Context> tmp945;
    5285             :     compiler::TNode<IntPtrT> tmp946;
    5286             :     compiler::TNode<IntPtrT> tmp947;
    5287             :     compiler::TNode<BoolT> tmp948;
    5288             :     ca_.Bind(&block39, &tmp926, &tmp927, &tmp928, &tmp929, &tmp930, &tmp931, &tmp932, &tmp933, &tmp934, &tmp935, &tmp936, &tmp937, &tmp938, &tmp939, &tmp940, &tmp941, &tmp942, &tmp943, &tmp944, &tmp945, &tmp946, &tmp947, &tmp948);
    5289         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    5290         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    5291             :     compiler::TNode<IntPtrT> tmp949;
    5292             :     USE(tmp949);
    5293         224 :     tmp949 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp947}, compiler::TNode<IntPtrT>{tmp946}));
    5294         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
    5295             :     compiler::TNode<IntPtrT> tmp950;
    5296             :     USE(tmp950);
    5297         224 :     tmp950 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp949}, compiler::TNode<IntPtrT>{tmp947}));
    5298             :     compiler::TNode<BoolT> tmp951;
    5299             :     USE(tmp951);
    5300         336 :     tmp951 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp950}, compiler::TNode<IntPtrT>{tmp946}));
    5301         112 :     ca_.Branch(tmp951, &block41, &block42, tmp926, tmp927, tmp928, tmp929, tmp930, tmp931, tmp932, tmp933, tmp934, tmp935, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp946, tmp947, tmp948, tmp946, tmp949);
    5302             :   }
    5303             : 
    5304         112 :   if (block41.is_used()) {
    5305             :     compiler::TNode<Context> tmp952;
    5306             :     compiler::TNode<JSReceiver> tmp953;
    5307             :     compiler::TNode<String> tmp954;
    5308             :     compiler::TNode<Number> tmp955;
    5309             :     compiler::TNode<Object> tmp956;
    5310             :     compiler::TNode<Object> tmp957;
    5311             :     compiler::TNode<BuiltinPtr> tmp958;
    5312             :     compiler::TNode<Map> tmp959;
    5313             :     compiler::TNode<UintPtrT> tmp960;
    5314             :     compiler::TNode<IntPtrT> tmp961;
    5315             :     compiler::TNode<IntPtrT> tmp962;
    5316             :     compiler::TNode<BuiltinPtr> tmp963;
    5317             :     compiler::TNode<FixedArray> tmp964;
    5318             :     compiler::TNode<IntPtrT> tmp965;
    5319             :     compiler::TNode<IntPtrT> tmp966;
    5320             :     compiler::TNode<BoolT> tmp967;
    5321             :     compiler::TNode<UintPtrT> tmp968;
    5322             :     compiler::TNode<IntPtrT> tmp969;
    5323             :     compiler::TNode<IntPtrT> tmp970;
    5324             :     compiler::TNode<Context> tmp971;
    5325             :     compiler::TNode<IntPtrT> tmp972;
    5326             :     compiler::TNode<IntPtrT> tmp973;
    5327             :     compiler::TNode<BoolT> tmp974;
    5328             :     compiler::TNode<IntPtrT> tmp975;
    5329             :     compiler::TNode<IntPtrT> tmp976;
    5330             :     ca_.Bind(&block41, &tmp952, &tmp953, &tmp954, &tmp955, &tmp956, &tmp957, &tmp958, &tmp959, &tmp960, &tmp961, &tmp962, &tmp963, &tmp964, &tmp965, &tmp966, &tmp967, &tmp968, &tmp969, &tmp970, &tmp971, &tmp972, &tmp973, &tmp974, &tmp975, &tmp976);
    5331         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
    5332         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp971);
    5333         224 :     CodeStubAssembler(state_).Unreachable();
    5334             :   }
    5335             : 
    5336         112 :   if (block42.is_used()) {
    5337             :     compiler::TNode<Context> tmp978;
    5338             :     compiler::TNode<JSReceiver> tmp979;
    5339             :     compiler::TNode<String> tmp980;
    5340             :     compiler::TNode<Number> tmp981;
    5341             :     compiler::TNode<Object> tmp982;
    5342             :     compiler::TNode<Object> tmp983;
    5343             :     compiler::TNode<BuiltinPtr> tmp984;
    5344             :     compiler::TNode<Map> tmp985;
    5345             :     compiler::TNode<UintPtrT> tmp986;
    5346             :     compiler::TNode<IntPtrT> tmp987;
    5347             :     compiler::TNode<IntPtrT> tmp988;
    5348             :     compiler::TNode<BuiltinPtr> tmp989;
    5349             :     compiler::TNode<FixedArray> tmp990;
    5350             :     compiler::TNode<IntPtrT> tmp991;
    5351             :     compiler::TNode<IntPtrT> tmp992;
    5352             :     compiler::TNode<BoolT> tmp993;
    5353             :     compiler::TNode<UintPtrT> tmp994;
    5354             :     compiler::TNode<IntPtrT> tmp995;
    5355             :     compiler::TNode<IntPtrT> tmp996;
    5356             :     compiler::TNode<Context> tmp997;
    5357             :     compiler::TNode<IntPtrT> tmp998;
    5358             :     compiler::TNode<IntPtrT> tmp999;
    5359             :     compiler::TNode<BoolT> tmp1000;
    5360             :     compiler::TNode<IntPtrT> tmp1001;
    5361             :     compiler::TNode<IntPtrT> tmp1002;
    5362             :     ca_.Bind(&block42, &tmp978, &tmp979, &tmp980, &tmp981, &tmp982, &tmp983, &tmp984, &tmp985, &tmp986, &tmp987, &tmp988, &tmp989, &tmp990, &tmp991, &tmp992, &tmp993, &tmp994, &tmp995, &tmp996, &tmp997, &tmp998, &tmp999, &tmp1000, &tmp1001, &tmp1002);
    5363         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    5364             :     compiler::TNode<IntPtrT> tmp1003;
    5365             :     USE(tmp1003);
    5366         336 :     tmp1003 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp997}, compiler::TNode<IntPtrT>{tmp992}, compiler::TNode<IntPtrT>{tmp1002}));
    5367         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    5368         112 :     ca_.Branch(tmp1000, &block43, &block44, tmp978, tmp979, tmp980, tmp981, tmp982, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989, tmp990, tmp991, tmp1003, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001, tmp1002);
    5369             :   }
    5370             : 
    5371         112 :   if (block43.is_used()) {
    5372             :     compiler::TNode<Context> tmp1004;
    5373             :     compiler::TNode<JSReceiver> tmp1005;
    5374             :     compiler::TNode<String> tmp1006;
    5375             :     compiler::TNode<Number> tmp1007;
    5376             :     compiler::TNode<Object> tmp1008;
    5377             :     compiler::TNode<Object> tmp1009;
    5378             :     compiler::TNode<BuiltinPtr> tmp1010;
    5379             :     compiler::TNode<Map> tmp1011;
    5380             :     compiler::TNode<UintPtrT> tmp1012;
    5381             :     compiler::TNode<IntPtrT> tmp1013;
    5382             :     compiler::TNode<IntPtrT> tmp1014;
    5383             :     compiler::TNode<BuiltinPtr> tmp1015;
    5384             :     compiler::TNode<FixedArray> tmp1016;
    5385             :     compiler::TNode<IntPtrT> tmp1017;
    5386             :     compiler::TNode<IntPtrT> tmp1018;
    5387             :     compiler::TNode<BoolT> tmp1019;
    5388             :     compiler::TNode<UintPtrT> tmp1020;
    5389             :     compiler::TNode<IntPtrT> tmp1021;
    5390             :     compiler::TNode<IntPtrT> tmp1022;
    5391             :     compiler::TNode<Context> tmp1023;
    5392             :     compiler::TNode<IntPtrT> tmp1024;
    5393             :     compiler::TNode<IntPtrT> tmp1025;
    5394             :     compiler::TNode<BoolT> tmp1026;
    5395             :     compiler::TNode<IntPtrT> tmp1027;
    5396             :     compiler::TNode<IntPtrT> tmp1028;
    5397             :     ca_.Bind(&block43, &tmp1004, &tmp1005, &tmp1006, &tmp1007, &tmp1008, &tmp1009, &tmp1010, &tmp1011, &tmp1012, &tmp1013, &tmp1014, &tmp1015, &tmp1016, &tmp1017, &tmp1018, &tmp1019, &tmp1020, &tmp1021, &tmp1022, &tmp1023, &tmp1024, &tmp1025, &tmp1026, &tmp1027, &tmp1028);
    5398         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    5399             :     compiler::TNode<IntPtrT> tmp1029;
    5400             :     USE(tmp1029);
    5401         336 :     tmp1029 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    5402             :     compiler::TNode<IntPtrT> tmp1030;
    5403             :     USE(tmp1030);
    5404         224 :     tmp1030 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<IntPtrT>{tmp1029}));
    5405             :     compiler::TNode<Smi> tmp1031;
    5406             :     USE(tmp1031);
    5407         336 :     tmp1031 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1027}));
    5408         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    5409             :     compiler::TNode<FixedArray> tmp1032;
    5410             :     USE(tmp1032);
    5411         336 :     tmp1032 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1016}, compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<Smi>{tmp1031}));
    5412         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    5413             :     ca_.Goto(&block44, tmp1004, tmp1005, tmp1006, tmp1007, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1015, tmp1032, tmp1030, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027, tmp1028);
    5414             :   }
    5415             : 
    5416         112 :   if (block44.is_used()) {
    5417             :     compiler::TNode<Context> tmp1033;
    5418             :     compiler::TNode<JSReceiver> tmp1034;
    5419             :     compiler::TNode<String> tmp1035;
    5420             :     compiler::TNode<Number> tmp1036;
    5421             :     compiler::TNode<Object> tmp1037;
    5422             :     compiler::TNode<Object> tmp1038;
    5423             :     compiler::TNode<BuiltinPtr> tmp1039;
    5424             :     compiler::TNode<Map> tmp1040;
    5425             :     compiler::TNode<UintPtrT> tmp1041;
    5426             :     compiler::TNode<IntPtrT> tmp1042;
    5427             :     compiler::TNode<IntPtrT> tmp1043;
    5428             :     compiler::TNode<BuiltinPtr> tmp1044;
    5429             :     compiler::TNode<FixedArray> tmp1045;
    5430             :     compiler::TNode<IntPtrT> tmp1046;
    5431             :     compiler::TNode<IntPtrT> tmp1047;
    5432             :     compiler::TNode<BoolT> tmp1048;
    5433             :     compiler::TNode<UintPtrT> tmp1049;
    5434             :     compiler::TNode<IntPtrT> tmp1050;
    5435             :     compiler::TNode<IntPtrT> tmp1051;
    5436             :     compiler::TNode<Context> tmp1052;
    5437             :     compiler::TNode<IntPtrT> tmp1053;
    5438             :     compiler::TNode<IntPtrT> tmp1054;
    5439             :     compiler::TNode<BoolT> tmp1055;
    5440             :     compiler::TNode<IntPtrT> tmp1056;
    5441             :     compiler::TNode<IntPtrT> tmp1057;
    5442             :     ca_.Bind(&block44, &tmp1033, &tmp1034, &tmp1035, &tmp1036, &tmp1037, &tmp1038, &tmp1039, &tmp1040, &tmp1041, &tmp1042, &tmp1043, &tmp1044, &tmp1045, &tmp1046, &tmp1047, &tmp1048, &tmp1049, &tmp1050, &tmp1051, &tmp1052, &tmp1053, &tmp1054, &tmp1055, &tmp1056, &tmp1057);
    5443         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    5444         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    5445             :     ca_.Goto(&block37, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1054, tmp1055);
    5446             :   }
    5447             : 
    5448         112 :   if (block37.is_used()) {
    5449             :     compiler::TNode<Context> tmp1058;
    5450             :     compiler::TNode<JSReceiver> tmp1059;
    5451             :     compiler::TNode<String> tmp1060;
    5452             :     compiler::TNode<Number> tmp1061;
    5453             :     compiler::TNode<Object> tmp1062;
    5454             :     compiler::TNode<Object> tmp1063;
    5455             :     compiler::TNode<BuiltinPtr> tmp1064;
    5456             :     compiler::TNode<Map> tmp1065;
    5457             :     compiler::TNode<UintPtrT> tmp1066;
    5458             :     compiler::TNode<IntPtrT> tmp1067;
    5459             :     compiler::TNode<IntPtrT> tmp1068;
    5460             :     compiler::TNode<BuiltinPtr> tmp1069;
    5461             :     compiler::TNode<FixedArray> tmp1070;
    5462             :     compiler::TNode<IntPtrT> tmp1071;
    5463             :     compiler::TNode<IntPtrT> tmp1072;
    5464             :     compiler::TNode<BoolT> tmp1073;
    5465             :     compiler::TNode<UintPtrT> tmp1074;
    5466             :     compiler::TNode<IntPtrT> tmp1075;
    5467             :     compiler::TNode<IntPtrT> tmp1076;
    5468             :     compiler::TNode<Context> tmp1077;
    5469             :     compiler::TNode<IntPtrT> tmp1078;
    5470             :     compiler::TNode<IntPtrT> tmp1079;
    5471             :     compiler::TNode<BoolT> tmp1080;
    5472             :     ca_.Bind(&block37, &tmp1058, &tmp1059, &tmp1060, &tmp1061, &tmp1062, &tmp1063, &tmp1064, &tmp1065, &tmp1066, &tmp1067, &tmp1068, &tmp1069, &tmp1070, &tmp1071, &tmp1072, &tmp1073, &tmp1074, &tmp1075, &tmp1076, &tmp1077, &tmp1078, &tmp1079, &tmp1080);
    5473         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
    5474             :     compiler::TNode<String> tmp1081;
    5475             :     USE(tmp1081);
    5476         336 :     tmp1081 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).BufferJoin(compiler::TNode<Context>{tmp1058}, ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp1070}, compiler::TNode<IntPtrT>{tmp1071}, compiler::TNode<IntPtrT>{tmp1072}, compiler::TNode<BoolT>{tmp1073}}, compiler::TNode<String>{tmp1060}));
    5477             :     ca_.Goto(&block1, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1064, tmp1081);
    5478             :   }
    5479             : 
    5480         112 :   if (block1.is_used()) {
    5481             :     compiler::TNode<Context> tmp1082;
    5482             :     compiler::TNode<JSReceiver> tmp1083;
    5483             :     compiler::TNode<String> tmp1084;
    5484             :     compiler::TNode<Number> tmp1085;
    5485             :     compiler::TNode<Object> tmp1086;
    5486             :     compiler::TNode<Object> tmp1087;
    5487             :     compiler::TNode<BuiltinPtr> tmp1088;
    5488             :     compiler::TNode<String> tmp1089;
    5489             :     ca_.Bind(&block1, &tmp1082, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088, &tmp1089);
    5490         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 262);
    5491             :     ca_.Goto(&block45, tmp1082, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088, tmp1089);
    5492             :   }
    5493             : 
    5494             :     compiler::TNode<Context> tmp1090;
    5495             :     compiler::TNode<JSReceiver> tmp1091;
    5496             :     compiler::TNode<String> tmp1092;
    5497             :     compiler::TNode<Number> tmp1093;
    5498             :     compiler::TNode<Object> tmp1094;
    5499             :     compiler::TNode<Object> tmp1095;
    5500             :     compiler::TNode<BuiltinPtr> tmp1096;
    5501             :     compiler::TNode<String> tmp1097;
    5502             :     ca_.Bind(&block45, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096, &tmp1097);
    5503         224 :   return compiler::TNode<String>{tmp1097};
    5504             : }
    5505             : 
    5506         224 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt32Array, CodeStubAssembler) {
    5507          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5508             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5509             :   USE(parameter0);
    5510             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5511             :   USE(parameter1);
    5512             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5513             :   USE(parameter2);
    5514             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5515             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5516             : 
    5517          56 :   if (block0.is_used()) {
    5518             :     compiler::TNode<Context> tmp0;
    5519             :     compiler::TNode<JSReceiver> tmp1;
    5520             :     compiler::TNode<Number> tmp2;
    5521             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5522          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5523             :     compiler::TNode<JSTypedArray> tmp3;
    5524             :     USE(tmp3);
    5525         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5526          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5527             :     compiler::TNode<RawPtrT> tmp4;
    5528             :     USE(tmp4);
    5529         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5530             :     compiler::TNode<Smi> tmp5;
    5531             :     USE(tmp5);
    5532         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5533          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5534             :     compiler::TNode<Object> tmp6;
    5535             :     USE(tmp6);
    5536         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt32Array()), CodeStubAssembler::SMI_PARAMETERS));
    5537         112 :     CodeStubAssembler(state_).Return(tmp6);
    5538             :   }
    5539          56 : }
    5540             : 
    5541         224 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat32Array, CodeStubAssembler) {
    5542          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5543             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5544             :   USE(parameter0);
    5545             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5546             :   USE(parameter1);
    5547             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5548             :   USE(parameter2);
    5549             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5550             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5551             : 
    5552          56 :   if (block0.is_used()) {
    5553             :     compiler::TNode<Context> tmp0;
    5554             :     compiler::TNode<JSReceiver> tmp1;
    5555             :     compiler::TNode<Number> tmp2;
    5556             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5557          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5558             :     compiler::TNode<JSTypedArray> tmp3;
    5559             :     USE(tmp3);
    5560         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5561          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5562             :     compiler::TNode<RawPtrT> tmp4;
    5563             :     USE(tmp4);
    5564         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5565             :     compiler::TNode<Smi> tmp5;
    5566             :     USE(tmp5);
    5567         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5568          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5569             :     compiler::TNode<Object> tmp6;
    5570             :     USE(tmp6);
    5571         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat32Array()), CodeStubAssembler::SMI_PARAMETERS));
    5572         112 :     CodeStubAssembler(state_).Return(tmp6);
    5573             :   }
    5574          56 : }
    5575             : 
    5576         224 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat64Array, CodeStubAssembler) {
    5577          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5578             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5579             :   USE(parameter0);
    5580             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5581             :   USE(parameter1);
    5582             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5583             :   USE(parameter2);
    5584             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5585             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5586             : 
    5587          56 :   if (block0.is_used()) {
    5588             :     compiler::TNode<Context> tmp0;
    5589             :     compiler::TNode<JSReceiver> tmp1;
    5590             :     compiler::TNode<Number> tmp2;
    5591             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5592          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5593             :     compiler::TNode<JSTypedArray> tmp3;
    5594             :     USE(tmp3);
    5595         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5596          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5597             :     compiler::TNode<RawPtrT> tmp4;
    5598             :     USE(tmp4);
    5599         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5600             :     compiler::TNode<Smi> tmp5;
    5601             :     USE(tmp5);
    5602         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5603          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5604             :     compiler::TNode<Object> tmp6;
    5605             :     USE(tmp6);
    5606         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat64Array()), CodeStubAssembler::SMI_PARAMETERS));
    5607         112 :     CodeStubAssembler(state_).Return(tmp6);
    5608             :   }
    5609          56 : }
    5610             : 
    5611         224 : TF_BUILTIN(LoadJoinTypedElement24ATFixedUint8ClampedArray, CodeStubAssembler) {
    5612          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5613             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5614             :   USE(parameter0);
    5615             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5616             :   USE(parameter1);
    5617             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5618             :   USE(parameter2);
    5619             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5620             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5621             : 
    5622          56 :   if (block0.is_used()) {
    5623             :     compiler::TNode<Context> tmp0;
    5624             :     compiler::TNode<JSReceiver> tmp1;
    5625             :     compiler::TNode<Number> tmp2;
    5626             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5627          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5628             :     compiler::TNode<JSTypedArray> tmp3;
    5629             :     USE(tmp3);
    5630         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5631          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5632             :     compiler::TNode<RawPtrT> tmp4;
    5633             :     USE(tmp4);
    5634         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5635             :     compiler::TNode<Smi> tmp5;
    5636             :     USE(tmp5);
    5637         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5638          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5639             :     compiler::TNode<Object> tmp6;
    5640             :     USE(tmp6);
    5641         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType24ATFixedUint8ClampedArray()), CodeStubAssembler::SMI_PARAMETERS));
    5642         112 :     CodeStubAssembler(state_).Return(tmp6);
    5643             :   }
    5644          56 : }
    5645             : 
    5646         224 : TF_BUILTIN(LoadJoinTypedElement21ATFixedBigUint64Array, CodeStubAssembler) {
    5647          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5648             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5649             :   USE(parameter0);
    5650             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5651             :   USE(parameter1);
    5652             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5653             :   USE(parameter2);
    5654             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5655             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5656             : 
    5657          56 :   if (block0.is_used()) {
    5658             :     compiler::TNode<Context> tmp0;
    5659             :     compiler::TNode<JSReceiver> tmp1;
    5660             :     compiler::TNode<Number> tmp2;
    5661             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5662          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5663             :     compiler::TNode<JSTypedArray> tmp3;
    5664             :     USE(tmp3);
    5665         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5666          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5667             :     compiler::TNode<RawPtrT> tmp4;
    5668             :     USE(tmp4);
    5669         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5670             :     compiler::TNode<Smi> tmp5;
    5671             :     USE(tmp5);
    5672         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5673          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5674             :     compiler::TNode<Object> tmp6;
    5675             :     USE(tmp6);
    5676         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType21ATFixedBigUint64Array()), CodeStubAssembler::SMI_PARAMETERS));
    5677         112 :     CodeStubAssembler(state_).Return(tmp6);
    5678             :   }
    5679          56 : }
    5680             : 
    5681         224 : TF_BUILTIN(LoadJoinTypedElement20ATFixedBigInt64Array, CodeStubAssembler) {
    5682          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5683             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5684             :   USE(parameter0);
    5685             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5686             :   USE(parameter1);
    5687             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5688             :   USE(parameter2);
    5689             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5690             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5691             : 
    5692          56 :   if (block0.is_used()) {
    5693             :     compiler::TNode<Context> tmp0;
    5694             :     compiler::TNode<JSReceiver> tmp1;
    5695             :     compiler::TNode<Number> tmp2;
    5696             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5697          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5698             :     compiler::TNode<JSTypedArray> tmp3;
    5699             :     USE(tmp3);
    5700         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5701          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5702             :     compiler::TNode<RawPtrT> tmp4;
    5703             :     USE(tmp4);
    5704         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5705             :     compiler::TNode<Smi> tmp5;
    5706             :     USE(tmp5);
    5707         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5708          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5709             :     compiler::TNode<Object> tmp6;
    5710             :     USE(tmp6);
    5711         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType20ATFixedBigInt64Array()), CodeStubAssembler::SMI_PARAMETERS));
    5712         112 :     CodeStubAssembler(state_).Return(tmp6);
    5713             :   }
    5714          56 : }
    5715             : 
    5716         224 : TF_BUILTIN(LoadJoinTypedElement17ATFixedUint8Array, CodeStubAssembler) {
    5717          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5718             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5719             :   USE(parameter0);
    5720             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5721             :   USE(parameter1);
    5722             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5723             :   USE(parameter2);
    5724             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5725             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5726             : 
    5727          56 :   if (block0.is_used()) {
    5728             :     compiler::TNode<Context> tmp0;
    5729             :     compiler::TNode<JSReceiver> tmp1;
    5730             :     compiler::TNode<Number> tmp2;
    5731             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5732          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5733             :     compiler::TNode<JSTypedArray> tmp3;
    5734             :     USE(tmp3);
    5735         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5736          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5737             :     compiler::TNode<RawPtrT> tmp4;
    5738             :     USE(tmp4);
    5739         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5740             :     compiler::TNode<Smi> tmp5;
    5741             :     USE(tmp5);
    5742         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5743          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5744             :     compiler::TNode<Object> tmp6;
    5745             :     USE(tmp6);
    5746         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedUint8Array()), CodeStubAssembler::SMI_PARAMETERS));
    5747         112 :     CodeStubAssembler(state_).Return(tmp6);
    5748             :   }
    5749          56 : }
    5750             : 
    5751         224 : TF_BUILTIN(LoadJoinTypedElement16ATFixedInt8Array, CodeStubAssembler) {
    5752          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5753             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5754             :   USE(parameter0);
    5755             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5756             :   USE(parameter1);
    5757             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5758             :   USE(parameter2);
    5759             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5760             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5761             : 
    5762          56 :   if (block0.is_used()) {
    5763             :     compiler::TNode<Context> tmp0;
    5764             :     compiler::TNode<JSReceiver> tmp1;
    5765             :     compiler::TNode<Number> tmp2;
    5766             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5767          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5768             :     compiler::TNode<JSTypedArray> tmp3;
    5769             :     USE(tmp3);
    5770         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5771          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5772             :     compiler::TNode<RawPtrT> tmp4;
    5773             :     USE(tmp4);
    5774         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5775             :     compiler::TNode<Smi> tmp5;
    5776             :     USE(tmp5);
    5777         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5778          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5779             :     compiler::TNode<Object> tmp6;
    5780             :     USE(tmp6);
    5781         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType16ATFixedInt8Array()), CodeStubAssembler::SMI_PARAMETERS));
    5782         112 :     CodeStubAssembler(state_).Return(tmp6);
    5783             :   }
    5784          56 : }
    5785             : 
    5786         224 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint16Array, CodeStubAssembler) {
    5787          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5788             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5789             :   USE(parameter0);
    5790             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5791             :   USE(parameter1);
    5792             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5793             :   USE(parameter2);
    5794             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5795             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5796             : 
    5797          56 :   if (block0.is_used()) {
    5798             :     compiler::TNode<Context> tmp0;
    5799             :     compiler::TNode<JSReceiver> tmp1;
    5800             :     compiler::TNode<Number> tmp2;
    5801             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5802          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5803             :     compiler::TNode<JSTypedArray> tmp3;
    5804             :     USE(tmp3);
    5805         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5806          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5807             :     compiler::TNode<RawPtrT> tmp4;
    5808             :     USE(tmp4);
    5809         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5810             :     compiler::TNode<Smi> tmp5;
    5811             :     USE(tmp5);
    5812         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5813          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5814             :     compiler::TNode<Object> tmp6;
    5815             :     USE(tmp6);
    5816         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint16Array()), CodeStubAssembler::SMI_PARAMETERS));
    5817         112 :     CodeStubAssembler(state_).Return(tmp6);
    5818             :   }
    5819          56 : }
    5820             : 
    5821         224 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt16Array, CodeStubAssembler) {
    5822          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5823             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5824             :   USE(parameter0);
    5825             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5826             :   USE(parameter1);
    5827             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5828             :   USE(parameter2);
    5829             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5830             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5831             : 
    5832          56 :   if (block0.is_used()) {
    5833             :     compiler::TNode<Context> tmp0;
    5834             :     compiler::TNode<JSReceiver> tmp1;
    5835             :     compiler::TNode<Number> tmp2;
    5836             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5837          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5838             :     compiler::TNode<JSTypedArray> tmp3;
    5839             :     USE(tmp3);
    5840         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5841          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5842             :     compiler::TNode<RawPtrT> tmp4;
    5843             :     USE(tmp4);
    5844         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5845             :     compiler::TNode<Smi> tmp5;
    5846             :     USE(tmp5);
    5847         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5848          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5849             :     compiler::TNode<Object> tmp6;
    5850             :     USE(tmp6);
    5851         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt16Array()), CodeStubAssembler::SMI_PARAMETERS));
    5852         112 :     CodeStubAssembler(state_).Return(tmp6);
    5853             :   }
    5854          56 : }
    5855             : 
    5856         224 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint32Array, CodeStubAssembler) {
    5857          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5858             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5859             :   USE(parameter0);
    5860             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5861             :   USE(parameter1);
    5862             :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5863             :   USE(parameter2);
    5864             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5865             :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5866             : 
    5867          56 :   if (block0.is_used()) {
    5868             :     compiler::TNode<Context> tmp0;
    5869             :     compiler::TNode<JSReceiver> tmp1;
    5870             :     compiler::TNode<Number> tmp2;
    5871             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5872          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5873             :     compiler::TNode<JSTypedArray> tmp3;
    5874             :     USE(tmp3);
    5875         112 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5876          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5877             :     compiler::TNode<RawPtrT> tmp4;
    5878             :     USE(tmp4);
    5879         112 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5880             :     compiler::TNode<Smi> tmp5;
    5881             :     USE(tmp5);
    5882         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5883          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5884             :     compiler::TNode<Object> tmp6;
    5885             :     USE(tmp6);
    5886         168 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint32Array()), CodeStubAssembler::SMI_PARAMETERS));
    5887         112 :     CodeStubAssembler(state_).Return(tmp6);
    5888             :   }
    5889          56 : }
    5890             : 
    5891         112 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoinImpl12JSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lengthNumber, bool p_useToLocaleString, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options, compiler::TNode<BuiltinPtr> p_initialLoadFn) {
    5892         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5893             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5894             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5895             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5896             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5897             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5898             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5899             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5900             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5901             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5902             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5903             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5904             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5905             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5906             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5907             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5908             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5909             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5910             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5911             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, Number> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5912             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5913             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5914             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5915             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5916             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5917             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5918             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5919             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5920             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5921             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block33(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5922             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5923             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block35(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5924             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5925             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5926             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5927             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5928             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block40(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5929             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5930             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block39(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5931             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block41(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5932             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5933             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block43(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5934             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block44(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5935             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5936             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5937             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5938             :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
    5939             : 
    5940         112 :   if (block0.is_used()) {
    5941             :     compiler::TNode<Context> tmp0;
    5942             :     compiler::TNode<JSReceiver> tmp1;
    5943             :     compiler::TNode<String> tmp2;
    5944             :     compiler::TNode<Number> tmp3;
    5945             :     compiler::TNode<Object> tmp4;
    5946             :     compiler::TNode<Object> tmp5;
    5947             :     compiler::TNode<BuiltinPtr> tmp6;
    5948             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
    5949         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
    5950         112 :     compiler::TNode<IntPtrT> tmp7 = ca_.IntPtrConstant(HeapObject::kMapOffset);
    5951             :     USE(tmp7);
    5952         224 :     compiler::TNode<Map>tmp8 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp1, tmp7});
    5953         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
    5954             :     compiler::TNode<UintPtrT> tmp9;
    5955             :     USE(tmp9);
    5956         336 :     tmp9 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr20UT5ATSmi10HeapNumber(compiler::TNode<Number>{tmp3}));
    5957         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
    5958             :     compiler::TNode<IntPtrT> tmp10;
    5959             :     USE(tmp10);
    5960         336 :     tmp10 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
    5961         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 269);
    5962             :     compiler::TNode<IntPtrT> tmp11;
    5963             :     USE(tmp11);
    5964         336 :     tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5965         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 270);
    5966         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
    5967             :     compiler::TNode<FixedArray> tmp12;
    5968             :     USE(tmp12);
    5969             :     compiler::TNode<IntPtrT> tmp13;
    5970             :     USE(tmp13);
    5971             :     compiler::TNode<IntPtrT> tmp14;
    5972             :     USE(tmp14);
    5973             :     compiler::TNode<BoolT> tmp15;
    5974             :     USE(tmp15);
    5975         448 :     std::tie(tmp12, tmp13, tmp14, tmp15) = ArrayJoinBuiltinsFromDSLAssembler(state_).NewBuffer(compiler::TNode<UintPtrT>{tmp9}, compiler::TNode<String>{tmp2}).Flatten();
    5976         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
    5977             :     compiler::TNode<UintPtrT> tmp16;
    5978             :     USE(tmp16);
    5979         336 :     tmp16 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    5980         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
    5981             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp8, tmp9, tmp10, tmp11, tmp6, tmp12, tmp13, tmp14, tmp15, tmp16);
    5982             :   }
    5983             : 
    5984         112 :   if (block4.is_used()) {
    5985             :     compiler::TNode<Context> tmp17;
    5986             :     compiler::TNode<JSReceiver> tmp18;
    5987             :     compiler::TNode<String> tmp19;
    5988             :     compiler::TNode<Number> tmp20;
    5989             :     compiler::TNode<Object> tmp21;
    5990             :     compiler::TNode<Object> tmp22;
    5991             :     compiler::TNode<BuiltinPtr> tmp23;
    5992             :     compiler::TNode<Map> tmp24;
    5993             :     compiler::TNode<UintPtrT> tmp25;
    5994             :     compiler::TNode<IntPtrT> tmp26;
    5995             :     compiler::TNode<IntPtrT> tmp27;
    5996             :     compiler::TNode<BuiltinPtr> tmp28;
    5997             :     compiler::TNode<FixedArray> tmp29;
    5998             :     compiler::TNode<IntPtrT> tmp30;
    5999             :     compiler::TNode<IntPtrT> tmp31;
    6000             :     compiler::TNode<BoolT> tmp32;
    6001             :     compiler::TNode<UintPtrT> tmp33;
    6002             :     ca_.Bind(&block4, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
    6003             :     compiler::TNode<BoolT> tmp34;
    6004             :     USE(tmp34);
    6005         448 :     tmp34 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp33}, compiler::TNode<UintPtrT>{tmp25}));
    6006         112 :     ca_.Branch(tmp34, &block2, &block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33);
    6007             :   }
    6008             : 
    6009         112 :   if (block2.is_used()) {
    6010             :     compiler::TNode<Context> tmp35;
    6011             :     compiler::TNode<JSReceiver> tmp36;
    6012             :     compiler::TNode<String> tmp37;
    6013             :     compiler::TNode<Number> tmp38;
    6014             :     compiler::TNode<Object> tmp39;
    6015             :     compiler::TNode<Object> tmp40;
    6016             :     compiler::TNode<BuiltinPtr> tmp41;
    6017             :     compiler::TNode<Map> tmp42;
    6018             :     compiler::TNode<UintPtrT> tmp43;
    6019             :     compiler::TNode<IntPtrT> tmp44;
    6020             :     compiler::TNode<IntPtrT> tmp45;
    6021             :     compiler::TNode<BuiltinPtr> tmp46;
    6022             :     compiler::TNode<FixedArray> tmp47;
    6023             :     compiler::TNode<IntPtrT> tmp48;
    6024             :     compiler::TNode<IntPtrT> tmp49;
    6025             :     compiler::TNode<BoolT> tmp50;
    6026             :     compiler::TNode<UintPtrT> tmp51;
    6027             :     ca_.Bind(&block2, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    6028         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 279);
    6029         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    6030         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    6031         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    6032         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).CannotUseSameArrayAccessor12JSTypedArray(compiler::TNode<Context>{tmp35}, compiler::TNode<BuiltinPtr>{tmp46}, compiler::TNode<JSReceiver>{tmp36}, compiler::TNode<Map>{tmp42}, compiler::TNode<Number>{tmp38}, &label0, &label1);
    6033         112 :     if (label0.is_used()) {
    6034         112 :       ca_.Bind(&label0);
    6035             :       ca_.Goto(&block7, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
    6036             :     }
    6037         112 :     if (label1.is_used()) {
    6038         112 :       ca_.Bind(&label1);
    6039             :       ca_.Goto(&block8, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp46, tmp36, tmp42, tmp38);
    6040             :     }
    6041             :   }
    6042             : 
    6043         112 :   if (block7.is_used()) {
    6044             :     compiler::TNode<Context> tmp52;
    6045             :     compiler::TNode<JSReceiver> tmp53;
    6046             :     compiler::TNode<String> tmp54;
    6047             :     compiler::TNode<Number> tmp55;
    6048             :     compiler::TNode<Object> tmp56;
    6049             :     compiler::TNode<Object> tmp57;
    6050             :     compiler::TNode<BuiltinPtr> tmp58;
    6051             :     compiler::TNode<Map> tmp59;
    6052             :     compiler::TNode<UintPtrT> tmp60;
    6053             :     compiler::TNode<IntPtrT> tmp61;
    6054             :     compiler::TNode<IntPtrT> tmp62;
    6055             :     compiler::TNode<BuiltinPtr> tmp63;
    6056             :     compiler::TNode<FixedArray> tmp64;
    6057             :     compiler::TNode<IntPtrT> tmp65;
    6058             :     compiler::TNode<IntPtrT> tmp66;
    6059             :     compiler::TNode<BoolT> tmp67;
    6060             :     compiler::TNode<UintPtrT> tmp68;
    6061             :     compiler::TNode<BuiltinPtr> tmp69;
    6062             :     compiler::TNode<JSReceiver> tmp70;
    6063             :     compiler::TNode<Map> tmp71;
    6064             :     compiler::TNode<Number> tmp72;
    6065             :     ca_.Bind(&block7, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72);
    6066             :     ca_.Goto(&block5, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68);
    6067             :   }
    6068             : 
    6069         112 :   if (block8.is_used()) {
    6070             :     compiler::TNode<Context> tmp73;
    6071             :     compiler::TNode<JSReceiver> tmp74;
    6072             :     compiler::TNode<String> tmp75;
    6073             :     compiler::TNode<Number> tmp76;
    6074             :     compiler::TNode<Object> tmp77;
    6075             :     compiler::TNode<Object> tmp78;
    6076             :     compiler::TNode<BuiltinPtr> tmp79;
    6077             :     compiler::TNode<Map> tmp80;
    6078             :     compiler::TNode<UintPtrT> tmp81;
    6079             :     compiler::TNode<IntPtrT> tmp82;
    6080             :     compiler::TNode<IntPtrT> tmp83;
    6081             :     compiler::TNode<BuiltinPtr> tmp84;
    6082             :     compiler::TNode<FixedArray> tmp85;
    6083             :     compiler::TNode<IntPtrT> tmp86;
    6084             :     compiler::TNode<IntPtrT> tmp87;
    6085             :     compiler::TNode<BoolT> tmp88;
    6086             :     compiler::TNode<UintPtrT> tmp89;
    6087             :     compiler::TNode<BuiltinPtr> tmp90;
    6088             :     compiler::TNode<JSReceiver> tmp91;
    6089             :     compiler::TNode<Map> tmp92;
    6090             :     compiler::TNode<Number> tmp93;
    6091             :     ca_.Bind(&block8, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93);
    6092             :     ca_.Goto(&block6, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89);
    6093             :   }
    6094             : 
    6095         112 :   if (block5.is_used()) {
    6096             :     compiler::TNode<Context> tmp94;
    6097             :     compiler::TNode<JSReceiver> tmp95;
    6098             :     compiler::TNode<String> tmp96;
    6099             :     compiler::TNode<Number> tmp97;
    6100             :     compiler::TNode<Object> tmp98;
    6101             :     compiler::TNode<Object> tmp99;
    6102             :     compiler::TNode<BuiltinPtr> tmp100;
    6103             :     compiler::TNode<Map> tmp101;
    6104             :     compiler::TNode<UintPtrT> tmp102;
    6105             :     compiler::TNode<IntPtrT> tmp103;
    6106             :     compiler::TNode<IntPtrT> tmp104;
    6107             :     compiler::TNode<BuiltinPtr> tmp105;
    6108             :     compiler::TNode<FixedArray> tmp106;
    6109             :     compiler::TNode<IntPtrT> tmp107;
    6110             :     compiler::TNode<IntPtrT> tmp108;
    6111             :     compiler::TNode<BoolT> tmp109;
    6112             :     compiler::TNode<UintPtrT> tmp110;
    6113             :     ca_.Bind(&block5, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110);
    6114         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
    6115         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    6116             :     ca_.Goto(&block6, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)), tmp106, tmp107, tmp108, tmp109, tmp110);
    6117             :   }
    6118             : 
    6119         112 :   if (block6.is_used()) {
    6120             :     compiler::TNode<Context> tmp111;
    6121             :     compiler::TNode<JSReceiver> tmp112;
    6122             :     compiler::TNode<String> tmp113;
    6123             :     compiler::TNode<Number> tmp114;
    6124             :     compiler::TNode<Object> tmp115;
    6125             :     compiler::TNode<Object> tmp116;
    6126             :     compiler::TNode<BuiltinPtr> tmp117;
    6127             :     compiler::TNode<Map> tmp118;
    6128             :     compiler::TNode<UintPtrT> tmp119;
    6129             :     compiler::TNode<IntPtrT> tmp120;
    6130             :     compiler::TNode<IntPtrT> tmp121;
    6131             :     compiler::TNode<BuiltinPtr> tmp122;
    6132             :     compiler::TNode<FixedArray> tmp123;
    6133             :     compiler::TNode<IntPtrT> tmp124;
    6134             :     compiler::TNode<IntPtrT> tmp125;
    6135             :     compiler::TNode<BoolT> tmp126;
    6136             :     compiler::TNode<UintPtrT> tmp127;
    6137             :     ca_.Bind(&block6, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127);
    6138         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
    6139             :     compiler::TNode<UintPtrT> tmp128;
    6140             :     USE(tmp128);
    6141         336 :     tmp128 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    6142             :     compiler::TNode<BoolT> tmp129;
    6143             :     USE(tmp129);
    6144         336 :     tmp129 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp127}, compiler::TNode<UintPtrT>{tmp128}));
    6145         112 :     ca_.Branch(tmp129, &block9, &block10, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127);
    6146             :   }
    6147             : 
    6148         112 :   if (block9.is_used()) {
    6149             :     compiler::TNode<Context> tmp130;
    6150             :     compiler::TNode<JSReceiver> tmp131;
    6151             :     compiler::TNode<String> tmp132;
    6152             :     compiler::TNode<Number> tmp133;
    6153             :     compiler::TNode<Object> tmp134;
    6154             :     compiler::TNode<Object> tmp135;
    6155             :     compiler::TNode<BuiltinPtr> tmp136;
    6156             :     compiler::TNode<Map> tmp137;
    6157             :     compiler::TNode<UintPtrT> tmp138;
    6158             :     compiler::TNode<IntPtrT> tmp139;
    6159             :     compiler::TNode<IntPtrT> tmp140;
    6160             :     compiler::TNode<BuiltinPtr> tmp141;
    6161             :     compiler::TNode<FixedArray> tmp142;
    6162             :     compiler::TNode<IntPtrT> tmp143;
    6163             :     compiler::TNode<IntPtrT> tmp144;
    6164             :     compiler::TNode<BoolT> tmp145;
    6165             :     compiler::TNode<UintPtrT> tmp146;
    6166             :     ca_.Bind(&block9, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
    6167         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 286);
    6168             :     compiler::TNode<IntPtrT> tmp147;
    6169             :     USE(tmp147);
    6170         336 :     tmp147 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    6171             :     compiler::TNode<IntPtrT> tmp148;
    6172             :     USE(tmp148);
    6173         224 :     tmp148 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp140}, compiler::TNode<IntPtrT>{tmp147}));
    6174         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
    6175             :     ca_.Goto(&block10, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp148, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146);
    6176             :   }
    6177             : 
    6178         112 :   if (block10.is_used()) {
    6179             :     compiler::TNode<Context> tmp149;
    6180             :     compiler::TNode<JSReceiver> tmp150;
    6181             :     compiler::TNode<String> tmp151;
    6182             :     compiler::TNode<Number> tmp152;
    6183             :     compiler::TNode<Object> tmp153;
    6184             :     compiler::TNode<Object> tmp154;
    6185             :     compiler::TNode<BuiltinPtr> tmp155;
    6186             :     compiler::TNode<Map> tmp156;
    6187             :     compiler::TNode<UintPtrT> tmp157;
    6188             :     compiler::TNode<IntPtrT> tmp158;
    6189             :     compiler::TNode<IntPtrT> tmp159;
    6190             :     compiler::TNode<BuiltinPtr> tmp160;
    6191             :     compiler::TNode<FixedArray> tmp161;
    6192             :     compiler::TNode<IntPtrT> tmp162;
    6193             :     compiler::TNode<IntPtrT> tmp163;
    6194             :     compiler::TNode<BoolT> tmp164;
    6195             :     compiler::TNode<UintPtrT> tmp165;
    6196             :     ca_.Bind(&block10, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
    6197         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 290);
    6198             :     compiler::TNode<UintPtrT> tmp166;
    6199             :     USE(tmp166);
    6200         336 :     tmp166 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
    6201             :     compiler::TNode<UintPtrT> tmp167;
    6202             :     USE(tmp167);
    6203         224 :     tmp167 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp165}, compiler::TNode<UintPtrT>{tmp166}));
    6204             :     compiler::TNode<Number> tmp168;
    6205             :     USE(tmp168);
    6206         336 :     tmp168 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert20UT5ATSmi10HeapNumber9ATuintptr(compiler::TNode<UintPtrT>{tmp165}));
    6207         560 :     compiler::TNode<Object> tmp169 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp160, tmp149, tmp150, tmp168); 
    6208             :     USE(tmp169);
    6209         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
    6210         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    6211         112 :     if ((p_useToLocaleString)) {
    6212             :       ca_.Goto(&block11, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
    6213             :     } else {
    6214             :       ca_.Goto(&block12, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp167, tmp169, ca_.Uninitialized<String>());
    6215             :     }
    6216             :   }
    6217             : 
    6218         112 :   if (block11.is_used()) {
    6219             :     compiler::TNode<Context> tmp170;
    6220             :     compiler::TNode<JSReceiver> tmp171;
    6221             :     compiler::TNode<String> tmp172;
    6222             :     compiler::TNode<Number> tmp173;
    6223             :     compiler::TNode<Object> tmp174;
    6224             :     compiler::TNode<Object> tmp175;
    6225             :     compiler::TNode<BuiltinPtr> tmp176;
    6226             :     compiler::TNode<Map> tmp177;
    6227             :     compiler::TNode<UintPtrT> tmp178;
    6228             :     compiler::TNode<IntPtrT> tmp179;
    6229             :     compiler::TNode<IntPtrT> tmp180;
    6230             :     compiler::TNode<BuiltinPtr> tmp181;
    6231             :     compiler::TNode<FixedArray> tmp182;
    6232             :     compiler::TNode<IntPtrT> tmp183;
    6233             :     compiler::TNode<IntPtrT> tmp184;
    6234             :     compiler::TNode<BoolT> tmp185;
    6235             :     compiler::TNode<UintPtrT> tmp186;
    6236             :     compiler::TNode<Object> tmp187;
    6237             :     compiler::TNode<String> tmp188;
    6238             :     ca_.Bind(&block11, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188);
    6239          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
    6240             :     compiler::TNode<String> tmp189;
    6241         112 :     tmp189 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp170, tmp187, tmp174, tmp175));
    6242             :     USE(tmp189);
    6243          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
    6244             :     compiler::TNode<String> tmp190;
    6245             :     USE(tmp190);
    6246         168 :     tmp190 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    6247             :     compiler::TNode<BoolT> tmp191;
    6248             :     USE(tmp191);
    6249         112 :     tmp191 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp189}, compiler::TNode<HeapObject>{tmp190}));
    6250          56 :     ca_.Branch(tmp191, &block14, &block15, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp189);
    6251             :   }
    6252             : 
    6253         112 :   if (block14.is_used()) {
    6254             :     compiler::TNode<Context> tmp192;
    6255             :     compiler::TNode<JSReceiver> tmp193;
    6256             :     compiler::TNode<String> tmp194;
    6257             :     compiler::TNode<Number> tmp195;
    6258             :     compiler::TNode<Object> tmp196;
    6259             :     compiler::TNode<Object> tmp197;
    6260             :     compiler::TNode<BuiltinPtr> tmp198;
    6261             :     compiler::TNode<Map> tmp199;
    6262             :     compiler::TNode<UintPtrT> tmp200;
    6263             :     compiler::TNode<IntPtrT> tmp201;
    6264             :     compiler::TNode<IntPtrT> tmp202;
    6265             :     compiler::TNode<BuiltinPtr> tmp203;
    6266             :     compiler::TNode<FixedArray> tmp204;
    6267             :     compiler::TNode<IntPtrT> tmp205;
    6268             :     compiler::TNode<IntPtrT> tmp206;
    6269             :     compiler::TNode<BoolT> tmp207;
    6270             :     compiler::TNode<UintPtrT> tmp208;
    6271             :     compiler::TNode<Object> tmp209;
    6272             :     compiler::TNode<String> tmp210;
    6273             :     ca_.Bind(&block14, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210);
    6274             :     ca_.Goto(&block4, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208);
    6275             :   }
    6276             : 
    6277         112 :   if (block15.is_used()) {
    6278             :     compiler::TNode<Context> tmp211;
    6279             :     compiler::TNode<JSReceiver> tmp212;
    6280             :     compiler::TNode<String> tmp213;
    6281             :     compiler::TNode<Number> tmp214;
    6282             :     compiler::TNode<Object> tmp215;
    6283             :     compiler::TNode<Object> tmp216;
    6284             :     compiler::TNode<BuiltinPtr> tmp217;
    6285             :     compiler::TNode<Map> tmp218;
    6286             :     compiler::TNode<UintPtrT> tmp219;
    6287             :     compiler::TNode<IntPtrT> tmp220;
    6288             :     compiler::TNode<IntPtrT> tmp221;
    6289             :     compiler::TNode<BuiltinPtr> tmp222;
    6290             :     compiler::TNode<FixedArray> tmp223;
    6291             :     compiler::TNode<IntPtrT> tmp224;
    6292             :     compiler::TNode<IntPtrT> tmp225;
    6293             :     compiler::TNode<BoolT> tmp226;
    6294             :     compiler::TNode<UintPtrT> tmp227;
    6295             :     compiler::TNode<Object> tmp228;
    6296             :     compiler::TNode<String> tmp229;
    6297             :     ca_.Bind(&block15, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229);
    6298          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    6299             :     ca_.Goto(&block13, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229);
    6300             :   }
    6301             : 
    6302         112 :   if (block12.is_used()) {
    6303             :     compiler::TNode<Context> tmp230;
    6304             :     compiler::TNode<JSReceiver> tmp231;
    6305             :     compiler::TNode<String> tmp232;
    6306             :     compiler::TNode<Number> tmp233;
    6307             :     compiler::TNode<Object> tmp234;
    6308             :     compiler::TNode<Object> tmp235;
    6309             :     compiler::TNode<BuiltinPtr> tmp236;
    6310             :     compiler::TNode<Map> tmp237;
    6311             :     compiler::TNode<UintPtrT> tmp238;
    6312             :     compiler::TNode<IntPtrT> tmp239;
    6313             :     compiler::TNode<IntPtrT> tmp240;
    6314             :     compiler::TNode<BuiltinPtr> tmp241;
    6315             :     compiler::TNode<FixedArray> tmp242;
    6316             :     compiler::TNode<IntPtrT> tmp243;
    6317             :     compiler::TNode<IntPtrT> tmp244;
    6318             :     compiler::TNode<BoolT> tmp245;
    6319             :     compiler::TNode<UintPtrT> tmp246;
    6320             :     compiler::TNode<Object> tmp247;
    6321             :     compiler::TNode<String> tmp248;
    6322             :     ca_.Bind(&block12, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248);
    6323          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    6324          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    6325             :     compiler::TNode<String> tmp249;
    6326             :     USE(tmp249);
    6327          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    6328         168 :     tmp249 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp230}, compiler::TNode<Object>{tmp247}, &label0);
    6329             :     ca_.Goto(&block18, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247, tmp249);
    6330          56 :     if (label0.is_used()) {
    6331          56 :       ca_.Bind(&label0);
    6332             :       ca_.Goto(&block19, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp247, tmp247);
    6333             :     }
    6334             :   }
    6335             : 
    6336         112 :   if (block19.is_used()) {
    6337             :     compiler::TNode<Context> tmp250;
    6338             :     compiler::TNode<JSReceiver> tmp251;
    6339             :     compiler::TNode<String> tmp252;
    6340             :     compiler::TNode<Number> tmp253;
    6341             :     compiler::TNode<Object> tmp254;
    6342             :     compiler::TNode<Object> tmp255;
    6343             :     compiler::TNode<BuiltinPtr> tmp256;
    6344             :     compiler::TNode<Map> tmp257;
    6345             :     compiler::TNode<UintPtrT> tmp258;
    6346             :     compiler::TNode<IntPtrT> tmp259;
    6347             :     compiler::TNode<IntPtrT> tmp260;
    6348             :     compiler::TNode<BuiltinPtr> tmp261;
    6349             :     compiler::TNode<FixedArray> tmp262;
    6350             :     compiler::TNode<IntPtrT> tmp263;
    6351             :     compiler::TNode<IntPtrT> tmp264;
    6352             :     compiler::TNode<BoolT> tmp265;
    6353             :     compiler::TNode<UintPtrT> tmp266;
    6354             :     compiler::TNode<Object> tmp267;
    6355             :     compiler::TNode<String> tmp268;
    6356             :     compiler::TNode<Object> tmp269;
    6357             :     compiler::TNode<Object> tmp270;
    6358             :     ca_.Bind(&block19, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270);
    6359             :     ca_.Goto(&block17, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269);
    6360             :   }
    6361             : 
    6362         112 :   if (block18.is_used()) {
    6363             :     compiler::TNode<Context> tmp271;
    6364             :     compiler::TNode<JSReceiver> tmp272;
    6365             :     compiler::TNode<String> tmp273;
    6366             :     compiler::TNode<Number> tmp274;
    6367             :     compiler::TNode<Object> tmp275;
    6368             :     compiler::TNode<Object> tmp276;
    6369             :     compiler::TNode<BuiltinPtr> tmp277;
    6370             :     compiler::TNode<Map> tmp278;
    6371             :     compiler::TNode<UintPtrT> tmp279;
    6372             :     compiler::TNode<IntPtrT> tmp280;
    6373             :     compiler::TNode<IntPtrT> tmp281;
    6374             :     compiler::TNode<BuiltinPtr> tmp282;
    6375             :     compiler::TNode<FixedArray> tmp283;
    6376             :     compiler::TNode<IntPtrT> tmp284;
    6377             :     compiler::TNode<IntPtrT> tmp285;
    6378             :     compiler::TNode<BoolT> tmp286;
    6379             :     compiler::TNode<UintPtrT> tmp287;
    6380             :     compiler::TNode<Object> tmp288;
    6381             :     compiler::TNode<String> tmp289;
    6382             :     compiler::TNode<Object> tmp290;
    6383             :     compiler::TNode<Object> tmp291;
    6384             :     compiler::TNode<String> tmp292;
    6385             :     ca_.Bind(&block18, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292);
    6386          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
    6387             :     compiler::TNode<String> tmp293;
    6388             :     USE(tmp293);
    6389         168 :     tmp293 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    6390             :     compiler::TNode<BoolT> tmp294;
    6391             :     USE(tmp294);
    6392         112 :     tmp294 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp292}, compiler::TNode<HeapObject>{tmp293}));
    6393          56 :     ca_.Branch(tmp294, &block20, &block21, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp292);
    6394             :   }
    6395             : 
    6396         112 :   if (block20.is_used()) {
    6397             :     compiler::TNode<Context> tmp295;
    6398             :     compiler::TNode<JSReceiver> tmp296;
    6399             :     compiler::TNode<String> tmp297;
    6400             :     compiler::TNode<Number> tmp298;
    6401             :     compiler::TNode<Object> tmp299;
    6402             :     compiler::TNode<Object> tmp300;
    6403             :     compiler::TNode<BuiltinPtr> tmp301;
    6404             :     compiler::TNode<Map> tmp302;
    6405             :     compiler::TNode<UintPtrT> tmp303;
    6406             :     compiler::TNode<IntPtrT> tmp304;
    6407             :     compiler::TNode<IntPtrT> tmp305;
    6408             :     compiler::TNode<BuiltinPtr> tmp306;
    6409             :     compiler::TNode<FixedArray> tmp307;
    6410             :     compiler::TNode<IntPtrT> tmp308;
    6411             :     compiler::TNode<IntPtrT> tmp309;
    6412             :     compiler::TNode<BoolT> tmp310;
    6413             :     compiler::TNode<UintPtrT> tmp311;
    6414             :     compiler::TNode<Object> tmp312;
    6415             :     compiler::TNode<String> tmp313;
    6416             :     compiler::TNode<Object> tmp314;
    6417             :     compiler::TNode<String> tmp315;
    6418             :     ca_.Bind(&block20, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315);
    6419             :     ca_.Goto(&block4, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311);
    6420             :   }
    6421             : 
    6422         112 :   if (block21.is_used()) {
    6423             :     compiler::TNode<Context> tmp316;
    6424             :     compiler::TNode<JSReceiver> tmp317;
    6425             :     compiler::TNode<String> tmp318;
    6426             :     compiler::TNode<Number> tmp319;
    6427             :     compiler::TNode<Object> tmp320;
    6428             :     compiler::TNode<Object> tmp321;
    6429             :     compiler::TNode<BuiltinPtr> tmp322;
    6430             :     compiler::TNode<Map> tmp323;
    6431             :     compiler::TNode<UintPtrT> tmp324;
    6432             :     compiler::TNode<IntPtrT> tmp325;
    6433             :     compiler::TNode<IntPtrT> tmp326;
    6434             :     compiler::TNode<BuiltinPtr> tmp327;
    6435             :     compiler::TNode<FixedArray> tmp328;
    6436             :     compiler::TNode<IntPtrT> tmp329;
    6437             :     compiler::TNode<IntPtrT> tmp330;
    6438             :     compiler::TNode<BoolT> tmp331;
    6439             :     compiler::TNode<UintPtrT> tmp332;
    6440             :     compiler::TNode<Object> tmp333;
    6441             :     compiler::TNode<String> tmp334;
    6442             :     compiler::TNode<Object> tmp335;
    6443             :     compiler::TNode<String> tmp336;
    6444             :     ca_.Bind(&block21, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
    6445          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
    6446          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    6447             :     ca_.Goto(&block16, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp336, tmp335);
    6448             :   }
    6449             : 
    6450         112 :   if (block17.is_used()) {
    6451             :     compiler::TNode<Context> tmp337;
    6452             :     compiler::TNode<JSReceiver> tmp338;
    6453             :     compiler::TNode<String> tmp339;
    6454             :     compiler::TNode<Number> tmp340;
    6455             :     compiler::TNode<Object> tmp341;
    6456             :     compiler::TNode<Object> tmp342;
    6457             :     compiler::TNode<BuiltinPtr> tmp343;
    6458             :     compiler::TNode<Map> tmp344;
    6459             :     compiler::TNode<UintPtrT> tmp345;
    6460             :     compiler::TNode<IntPtrT> tmp346;
    6461             :     compiler::TNode<IntPtrT> tmp347;
    6462             :     compiler::TNode<BuiltinPtr> tmp348;
    6463             :     compiler::TNode<FixedArray> tmp349;
    6464             :     compiler::TNode<IntPtrT> tmp350;
    6465             :     compiler::TNode<IntPtrT> tmp351;
    6466             :     compiler::TNode<BoolT> tmp352;
    6467             :     compiler::TNode<UintPtrT> tmp353;
    6468             :     compiler::TNode<Object> tmp354;
    6469             :     compiler::TNode<String> tmp355;
    6470             :     compiler::TNode<Object> tmp356;
    6471             :     ca_.Bind(&block17, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355, &tmp356);
    6472          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    6473             :     compiler::TNode<Number> tmp357;
    6474             :     USE(tmp357);
    6475          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    6476         168 :     tmp357 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp356)}, &label0);
    6477             :     ca_.Goto(&block24, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, ca_.UncheckedCast<Object>(tmp356), tmp357);
    6478          56 :     if (label0.is_used()) {
    6479          56 :       ca_.Bind(&label0);
    6480             :       ca_.Goto(&block25, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, ca_.UncheckedCast<Object>(tmp356));
    6481             :     }
    6482             :   }
    6483             : 
    6484         112 :   if (block25.is_used()) {
    6485             :     compiler::TNode<Context> tmp358;
    6486             :     compiler::TNode<JSReceiver> tmp359;
    6487             :     compiler::TNode<String> tmp360;
    6488             :     compiler::TNode<Number> tmp361;
    6489             :     compiler::TNode<Object> tmp362;
    6490             :     compiler::TNode<Object> tmp363;
    6491             :     compiler::TNode<BuiltinPtr> tmp364;
    6492             :     compiler::TNode<Map> tmp365;
    6493             :     compiler::TNode<UintPtrT> tmp366;
    6494             :     compiler::TNode<IntPtrT> tmp367;
    6495             :     compiler::TNode<IntPtrT> tmp368;
    6496             :     compiler::TNode<BuiltinPtr> tmp369;
    6497             :     compiler::TNode<FixedArray> tmp370;
    6498             :     compiler::TNode<IntPtrT> tmp371;
    6499             :     compiler::TNode<IntPtrT> tmp372;
    6500             :     compiler::TNode<BoolT> tmp373;
    6501             :     compiler::TNode<UintPtrT> tmp374;
    6502             :     compiler::TNode<Object> tmp375;
    6503             :     compiler::TNode<String> tmp376;
    6504             :     compiler::TNode<Object> tmp377;
    6505             :     compiler::TNode<Object> tmp378;
    6506             :     ca_.Bind(&block25, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377, &tmp378);
    6507             :     ca_.Goto(&block23, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377);
    6508             :   }
    6509             : 
    6510         112 :   if (block24.is_used()) {
    6511             :     compiler::TNode<Context> tmp379;
    6512             :     compiler::TNode<JSReceiver> tmp380;
    6513             :     compiler::TNode<String> tmp381;
    6514             :     compiler::TNode<Number> tmp382;
    6515             :     compiler::TNode<Object> tmp383;
    6516             :     compiler::TNode<Object> tmp384;
    6517             :     compiler::TNode<BuiltinPtr> tmp385;
    6518             :     compiler::TNode<Map> tmp386;
    6519             :     compiler::TNode<UintPtrT> tmp387;
    6520             :     compiler::TNode<IntPtrT> tmp388;
    6521             :     compiler::TNode<IntPtrT> tmp389;
    6522             :     compiler::TNode<BuiltinPtr> tmp390;
    6523             :     compiler::TNode<FixedArray> tmp391;
    6524             :     compiler::TNode<IntPtrT> tmp392;
    6525             :     compiler::TNode<IntPtrT> tmp393;
    6526             :     compiler::TNode<BoolT> tmp394;
    6527             :     compiler::TNode<UintPtrT> tmp395;
    6528             :     compiler::TNode<Object> tmp396;
    6529             :     compiler::TNode<String> tmp397;
    6530             :     compiler::TNode<Object> tmp398;
    6531             :     compiler::TNode<Object> tmp399;
    6532             :     compiler::TNode<Number> tmp400;
    6533             :     ca_.Bind(&block24, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397, &tmp398, &tmp399, &tmp400);
    6534          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
    6535             :     compiler::TNode<String> tmp401;
    6536             :     USE(tmp401);
    6537         112 :     tmp401 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp400}));
    6538          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    6539             :     ca_.Goto(&block22, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp396, tmp401, tmp398);
    6540             :   }
    6541             : 
    6542         112 :   if (block23.is_used()) {
    6543             :     compiler::TNode<Context> tmp402;
    6544             :     compiler::TNode<JSReceiver> tmp403;
    6545             :     compiler::TNode<String> tmp404;
    6546             :     compiler::TNode<Number> tmp405;
    6547             :     compiler::TNode<Object> tmp406;
    6548             :     compiler::TNode<Object> tmp407;
    6549             :     compiler::TNode<BuiltinPtr> tmp408;
    6550             :     compiler::TNode<Map> tmp409;
    6551             :     compiler::TNode<UintPtrT> tmp410;
    6552             :     compiler::TNode<IntPtrT> tmp411;
    6553             :     compiler::TNode<IntPtrT> tmp412;
    6554             :     compiler::TNode<BuiltinPtr> tmp413;
    6555             :     compiler::TNode<FixedArray> tmp414;
    6556             :     compiler::TNode<IntPtrT> tmp415;
    6557             :     compiler::TNode<IntPtrT> tmp416;
    6558             :     compiler::TNode<BoolT> tmp417;
    6559             :     compiler::TNode<UintPtrT> tmp418;
    6560             :     compiler::TNode<Object> tmp419;
    6561             :     compiler::TNode<String> tmp420;
    6562             :     compiler::TNode<Object> tmp421;
    6563             :     ca_.Bind(&block23, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420, &tmp421);
    6564          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 307);
    6565          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 308);
    6566             :     compiler::TNode<BoolT> tmp422;
    6567             :     USE(tmp422);
    6568         112 :     tmp422 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp421)}));
    6569          56 :     ca_.Branch(tmp422, &block26, &block27, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, tmp421, ca_.UncheckedCast<HeapObject>(tmp421));
    6570             :   }
    6571             : 
    6572         112 :   if (block26.is_used()) {
    6573             :     compiler::TNode<Context> tmp423;
    6574             :     compiler::TNode<JSReceiver> tmp424;
    6575             :     compiler::TNode<String> tmp425;
    6576             :     compiler::TNode<Number> tmp426;
    6577             :     compiler::TNode<Object> tmp427;
    6578             :     compiler::TNode<Object> tmp428;
    6579             :     compiler::TNode<BuiltinPtr> tmp429;
    6580             :     compiler::TNode<Map> tmp430;
    6581             :     compiler::TNode<UintPtrT> tmp431;
    6582             :     compiler::TNode<IntPtrT> tmp432;
    6583             :     compiler::TNode<IntPtrT> tmp433;
    6584             :     compiler::TNode<BuiltinPtr> tmp434;
    6585             :     compiler::TNode<FixedArray> tmp435;
    6586             :     compiler::TNode<IntPtrT> tmp436;
    6587             :     compiler::TNode<IntPtrT> tmp437;
    6588             :     compiler::TNode<BoolT> tmp438;
    6589             :     compiler::TNode<UintPtrT> tmp439;
    6590             :     compiler::TNode<Object> tmp440;
    6591             :     compiler::TNode<String> tmp441;
    6592             :     compiler::TNode<Object> tmp442;
    6593             :     compiler::TNode<HeapObject> tmp443;
    6594             :     ca_.Bind(&block26, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442, &tmp443);
    6595             :     ca_.Goto(&block4, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp439);
    6596             :   }
    6597             : 
    6598         112 :   if (block27.is_used()) {
    6599             :     compiler::TNode<Context> tmp444;
    6600             :     compiler::TNode<JSReceiver> tmp445;
    6601             :     compiler::TNode<String> tmp446;
    6602             :     compiler::TNode<Number> tmp447;
    6603             :     compiler::TNode<Object> tmp448;
    6604             :     compiler::TNode<Object> tmp449;
    6605             :     compiler::TNode<BuiltinPtr> tmp450;
    6606             :     compiler::TNode<Map> tmp451;
    6607             :     compiler::TNode<UintPtrT> tmp452;
    6608             :     compiler::TNode<IntPtrT> tmp453;
    6609             :     compiler::TNode<IntPtrT> tmp454;
    6610             :     compiler::TNode<BuiltinPtr> tmp455;
    6611             :     compiler::TNode<FixedArray> tmp456;
    6612             :     compiler::TNode<IntPtrT> tmp457;
    6613             :     compiler::TNode<IntPtrT> tmp458;
    6614             :     compiler::TNode<BoolT> tmp459;
    6615             :     compiler::TNode<UintPtrT> tmp460;
    6616             :     compiler::TNode<Object> tmp461;
    6617             :     compiler::TNode<String> tmp462;
    6618             :     compiler::TNode<Object> tmp463;
    6619             :     compiler::TNode<HeapObject> tmp464;
    6620             :     ca_.Bind(&block27, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463, &tmp464);
    6621          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 309);
    6622             :     compiler::TNode<String> tmp465;
    6623         112 :     tmp465 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp444, tmp464));
    6624             :     USE(tmp465);
    6625          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    6626             :     ca_.Goto(&block22, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, tmp465, tmp463);
    6627             :   }
    6628             : 
    6629         112 :   if (block22.is_used()) {
    6630             :     compiler::TNode<Context> tmp466;
    6631             :     compiler::TNode<JSReceiver> tmp467;
    6632             :     compiler::TNode<String> tmp468;
    6633             :     compiler::TNode<Number> tmp469;
    6634             :     compiler::TNode<Object> tmp470;
    6635             :     compiler::TNode<Object> tmp471;
    6636             :     compiler::TNode<BuiltinPtr> tmp472;
    6637             :     compiler::TNode<Map> tmp473;
    6638             :     compiler::TNode<UintPtrT> tmp474;
    6639             :     compiler::TNode<IntPtrT> tmp475;
    6640             :     compiler::TNode<IntPtrT> tmp476;
    6641             :     compiler::TNode<BuiltinPtr> tmp477;
    6642             :     compiler::TNode<FixedArray> tmp478;
    6643             :     compiler::TNode<IntPtrT> tmp479;
    6644             :     compiler::TNode<IntPtrT> tmp480;
    6645             :     compiler::TNode<BoolT> tmp481;
    6646             :     compiler::TNode<UintPtrT> tmp482;
    6647             :     compiler::TNode<Object> tmp483;
    6648             :     compiler::TNode<String> tmp484;
    6649             :     compiler::TNode<Object> tmp485;
    6650             :     ca_.Bind(&block22, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483, &tmp484, &tmp485);
    6651          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    6652             :     ca_.Goto(&block16, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484, tmp485);
    6653             :   }
    6654             : 
    6655         112 :   if (block16.is_used()) {
    6656             :     compiler::TNode<Context> tmp486;
    6657             :     compiler::TNode<JSReceiver> tmp487;
    6658             :     compiler::TNode<String> tmp488;
    6659             :     compiler::TNode<Number> tmp489;
    6660             :     compiler::TNode<Object> tmp490;
    6661             :     compiler::TNode<Object> tmp491;
    6662             :     compiler::TNode<BuiltinPtr> tmp492;
    6663             :     compiler::TNode<Map> tmp493;
    6664             :     compiler::TNode<UintPtrT> tmp494;
    6665             :     compiler::TNode<IntPtrT> tmp495;
    6666             :     compiler::TNode<IntPtrT> tmp496;
    6667             :     compiler::TNode<BuiltinPtr> tmp497;
    6668             :     compiler::TNode<FixedArray> tmp498;
    6669             :     compiler::TNode<IntPtrT> tmp499;
    6670             :     compiler::TNode<IntPtrT> tmp500;
    6671             :     compiler::TNode<BoolT> tmp501;
    6672             :     compiler::TNode<UintPtrT> tmp502;
    6673             :     compiler::TNode<Object> tmp503;
    6674             :     compiler::TNode<String> tmp504;
    6675             :     compiler::TNode<Object> tmp505;
    6676             :     ca_.Bind(&block16, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504, &tmp505);
    6677          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    6678          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    6679             :     ca_.Goto(&block13, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503, tmp504);
    6680             :   }
    6681             : 
    6682         112 :   if (block13.is_used()) {
    6683             :     compiler::TNode<Context> tmp506;
    6684             :     compiler::TNode<JSReceiver> tmp507;
    6685             :     compiler::TNode<String> tmp508;
    6686             :     compiler::TNode<Number> tmp509;
    6687             :     compiler::TNode<Object> tmp510;
    6688             :     compiler::TNode<Object> tmp511;
    6689             :     compiler::TNode<BuiltinPtr> tmp512;
    6690             :     compiler::TNode<Map> tmp513;
    6691             :     compiler::TNode<UintPtrT> tmp514;
    6692             :     compiler::TNode<IntPtrT> tmp515;
    6693             :     compiler::TNode<IntPtrT> tmp516;
    6694             :     compiler::TNode<BuiltinPtr> tmp517;
    6695             :     compiler::TNode<FixedArray> tmp518;
    6696             :     compiler::TNode<IntPtrT> tmp519;
    6697             :     compiler::TNode<IntPtrT> tmp520;
    6698             :     compiler::TNode<BoolT> tmp521;
    6699             :     compiler::TNode<UintPtrT> tmp522;
    6700             :     compiler::TNode<Object> tmp523;
    6701             :     compiler::TNode<String> tmp524;
    6702             :     ca_.Bind(&block13, &tmp506, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523, &tmp524);
    6703         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
    6704         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
    6705             :     compiler::TNode<IntPtrT> tmp525;
    6706             :     USE(tmp525);
    6707         336 :     tmp525 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6708             :     compiler::TNode<BoolT> tmp526;
    6709             :     USE(tmp526);
    6710         336 :     tmp526 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp519}, compiler::TNode<IntPtrT>{tmp525}));
    6711             :     compiler::TNode<IntPtrT> tmp527;
    6712             :     USE(tmp527);
    6713         336 :     tmp527 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    6714             :     compiler::TNode<BoolT> tmp528;
    6715             :     USE(tmp528);
    6716         336 :     tmp528 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp527}));
    6717             :     compiler::TNode<BoolT> tmp529;
    6718             :     USE(tmp529);
    6719         224 :     tmp529 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp526}, compiler::TNode<BoolT>{tmp528}));
    6720         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
    6721         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
    6722             :     compiler::TNode<IntPtrT> tmp530;
    6723             :     USE(tmp530);
    6724         336 :     tmp530 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6725             :     compiler::TNode<BoolT> tmp531;
    6726             :     USE(tmp531);
    6727         336 :     tmp531 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp516}, compiler::TNode<IntPtrT>{tmp530}));
    6728         112 :     ca_.Branch(tmp531, &block30, &block32, tmp506, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp522, tmp523, tmp524, tmp524, tmp516, tmp515, tmp506, tmp524, tmp516, tmp515, tmp529, tmp516, tmp515, tmp529, tmp506, tmp516, tmp515, tmp529);
    6729             :   }
    6730             : 
    6731         112 :   if (block32.is_used()) {
    6732             :     compiler::TNode<Context> tmp532;
    6733             :     compiler::TNode<JSReceiver> tmp533;
    6734             :     compiler::TNode<String> tmp534;
    6735             :     compiler::TNode<Number> tmp535;
    6736             :     compiler::TNode<Object> tmp536;
    6737             :     compiler::TNode<Object> tmp537;
    6738             :     compiler::TNode<BuiltinPtr> tmp538;
    6739             :     compiler::TNode<Map> tmp539;
    6740             :     compiler::TNode<UintPtrT> tmp540;
    6741             :     compiler::TNode<IntPtrT> tmp541;
    6742             :     compiler::TNode<IntPtrT> tmp542;
    6743             :     compiler::TNode<BuiltinPtr> tmp543;
    6744             :     compiler::TNode<FixedArray> tmp544;
    6745             :     compiler::TNode<IntPtrT> tmp545;
    6746             :     compiler::TNode<IntPtrT> tmp546;
    6747             :     compiler::TNode<BoolT> tmp547;
    6748             :     compiler::TNode<UintPtrT> tmp548;
    6749             :     compiler::TNode<Object> tmp549;
    6750             :     compiler::TNode<String> tmp550;
    6751             :     compiler::TNode<String> tmp551;
    6752             :     compiler::TNode<IntPtrT> tmp552;
    6753             :     compiler::TNode<IntPtrT> tmp553;
    6754             :     compiler::TNode<Context> tmp554;
    6755             :     compiler::TNode<String> tmp555;
    6756             :     compiler::TNode<IntPtrT> tmp556;
    6757             :     compiler::TNode<IntPtrT> tmp557;
    6758             :     compiler::TNode<BoolT> tmp558;
    6759             :     compiler::TNode<IntPtrT> tmp559;
    6760             :     compiler::TNode<IntPtrT> tmp560;
    6761             :     compiler::TNode<BoolT> tmp561;
    6762             :     compiler::TNode<Context> tmp562;
    6763             :     compiler::TNode<IntPtrT> tmp563;
    6764             :     compiler::TNode<IntPtrT> tmp564;
    6765             :     compiler::TNode<BoolT> tmp565;
    6766             :     ca_.Bind(&block32, &tmp532, &tmp533, &tmp534, &tmp535, &tmp536, &tmp537, &tmp538, &tmp539, &tmp540, &tmp541, &tmp542, &tmp543, &tmp544, &tmp545, &tmp546, &tmp547, &tmp548, &tmp549, &tmp550, &tmp551, &tmp552, &tmp553, &tmp554, &tmp555, &tmp556, &tmp557, &tmp558, &tmp559, &tmp560, &tmp561, &tmp562, &tmp563, &tmp564, &tmp565);
    6767             :     compiler::TNode<IntPtrT> tmp566;
    6768             :     USE(tmp566);
    6769         336 :     tmp566 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6770             :     compiler::TNode<BoolT> tmp567;
    6771             :     USE(tmp567);
    6772         336 :     tmp567 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp564}, compiler::TNode<IntPtrT>{tmp566}));
    6773         112 :     ca_.Branch(tmp567, &block30, &block31, tmp532, tmp533, tmp534, tmp535, tmp536, tmp537, tmp538, tmp539, tmp540, tmp541, tmp542, tmp543, tmp544, tmp545, tmp546, tmp547, tmp548, tmp549, tmp550, tmp551, tmp552, tmp553, tmp554, tmp555, tmp556, tmp557, tmp558, tmp559, tmp560, tmp561, tmp562, tmp563, tmp564, tmp565);
    6774             :   }
    6775             : 
    6776         112 :   if (block30.is_used()) {
    6777             :     compiler::TNode<Context> tmp568;
    6778             :     compiler::TNode<JSReceiver> tmp569;
    6779             :     compiler::TNode<String> tmp570;
    6780             :     compiler::TNode<Number> tmp571;
    6781             :     compiler::TNode<Object> tmp572;
    6782             :     compiler::TNode<Object> tmp573;
    6783             :     compiler::TNode<BuiltinPtr> tmp574;
    6784             :     compiler::TNode<Map> tmp575;
    6785             :     compiler::TNode<UintPtrT> tmp576;
    6786             :     compiler::TNode<IntPtrT> tmp577;
    6787             :     compiler::TNode<IntPtrT> tmp578;
    6788             :     compiler::TNode<BuiltinPtr> tmp579;
    6789             :     compiler::TNode<FixedArray> tmp580;
    6790             :     compiler::TNode<IntPtrT> tmp581;
    6791             :     compiler::TNode<IntPtrT> tmp582;
    6792             :     compiler::TNode<BoolT> tmp583;
    6793             :     compiler::TNode<UintPtrT> tmp584;
    6794             :     compiler::TNode<Object> tmp585;
    6795             :     compiler::TNode<String> tmp586;
    6796             :     compiler::TNode<String> tmp587;
    6797             :     compiler::TNode<IntPtrT> tmp588;
    6798             :     compiler::TNode<IntPtrT> tmp589;
    6799             :     compiler::TNode<Context> tmp590;
    6800             :     compiler::TNode<String> tmp591;
    6801             :     compiler::TNode<IntPtrT> tmp592;
    6802             :     compiler::TNode<IntPtrT> tmp593;
    6803             :     compiler::TNode<BoolT> tmp594;
    6804             :     compiler::TNode<IntPtrT> tmp595;
    6805             :     compiler::TNode<IntPtrT> tmp596;
    6806             :     compiler::TNode<BoolT> tmp597;
    6807             :     compiler::TNode<Context> tmp598;
    6808             :     compiler::TNode<IntPtrT> tmp599;
    6809             :     compiler::TNode<IntPtrT> tmp600;
    6810             :     compiler::TNode<BoolT> tmp601;
    6811             :     ca_.Bind(&block30, &tmp568, &tmp569, &tmp570, &tmp571, &tmp572, &tmp573, &tmp574, &tmp575, &tmp576, &tmp577, &tmp578, &tmp579, &tmp580, &tmp581, &tmp582, &tmp583, &tmp584, &tmp585, &tmp586, &tmp587, &tmp588, &tmp589, &tmp590, &tmp591, &tmp592, &tmp593, &tmp594, &tmp595, &tmp596, &tmp597, &tmp598, &tmp599, &tmp600, &tmp601);
    6812             :     ca_.Goto(&block29, tmp568, tmp569, tmp570, tmp571, tmp572, tmp573, tmp574, tmp575, tmp576, tmp577, tmp578, tmp579, tmp580, tmp581, tmp582, tmp583, tmp584, tmp585, tmp586, tmp587, tmp588, tmp589, tmp590, tmp591, tmp592, tmp593, tmp594, tmp595, tmp596, tmp597, tmp598, tmp599, tmp600, tmp601);
    6813             :   }
    6814             : 
    6815         112 :   if (block31.is_used()) {
    6816             :     compiler::TNode<Context> tmp602;
    6817             :     compiler::TNode<JSReceiver> tmp603;
    6818             :     compiler::TNode<String> tmp604;
    6819             :     compiler::TNode<Number> tmp605;
    6820             :     compiler::TNode<Object> tmp606;
    6821             :     compiler::TNode<Object> tmp607;
    6822             :     compiler::TNode<BuiltinPtr> tmp608;
    6823             :     compiler::TNode<Map> tmp609;
    6824             :     compiler::TNode<UintPtrT> tmp610;
    6825             :     compiler::TNode<IntPtrT> tmp611;
    6826             :     compiler::TNode<IntPtrT> tmp612;
    6827             :     compiler::TNode<BuiltinPtr> tmp613;
    6828             :     compiler::TNode<FixedArray> tmp614;
    6829             :     compiler::TNode<IntPtrT> tmp615;
    6830             :     compiler::TNode<IntPtrT> tmp616;
    6831             :     compiler::TNode<BoolT> tmp617;
    6832             :     compiler::TNode<UintPtrT> tmp618;
    6833             :     compiler::TNode<Object> tmp619;
    6834             :     compiler::TNode<String> tmp620;
    6835             :     compiler::TNode<String> tmp621;
    6836             :     compiler::TNode<IntPtrT> tmp622;
    6837             :     compiler::TNode<IntPtrT> tmp623;
    6838             :     compiler::TNode<Context> tmp624;
    6839             :     compiler::TNode<String> tmp625;
    6840             :     compiler::TNode<IntPtrT> tmp626;
    6841             :     compiler::TNode<IntPtrT> tmp627;
    6842             :     compiler::TNode<BoolT> tmp628;
    6843             :     compiler::TNode<IntPtrT> tmp629;
    6844             :     compiler::TNode<IntPtrT> tmp630;
    6845             :     compiler::TNode<BoolT> tmp631;
    6846             :     compiler::TNode<Context> tmp632;
    6847             :     compiler::TNode<IntPtrT> tmp633;
    6848             :     compiler::TNode<IntPtrT> tmp634;
    6849             :     compiler::TNode<BoolT> tmp635;
    6850             :     ca_.Bind(&block31, &tmp602, &tmp603, &tmp604, &tmp605, &tmp606, &tmp607, &tmp608, &tmp609, &tmp610, &tmp611, &tmp612, &tmp613, &tmp614, &tmp615, &tmp616, &tmp617, &tmp618, &tmp619, &tmp620, &tmp621, &tmp622, &tmp623, &tmp624, &tmp625, &tmp626, &tmp627, &tmp628, &tmp629, &tmp630, &tmp631, &tmp632, &tmp633, &tmp634, &tmp635);
    6851         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    6852         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    6853             :     compiler::TNode<IntPtrT> tmp636;
    6854             :     USE(tmp636);
    6855         224 :     tmp636 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp634}, compiler::TNode<IntPtrT>{tmp633}));
    6856         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
    6857             :     compiler::TNode<IntPtrT> tmp637;
    6858             :     USE(tmp637);
    6859         224 :     tmp637 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp636}, compiler::TNode<IntPtrT>{tmp634}));
    6860             :     compiler::TNode<BoolT> tmp638;
    6861             :     USE(tmp638);
    6862         336 :     tmp638 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp637}, compiler::TNode<IntPtrT>{tmp633}));
    6863         112 :     ca_.Branch(tmp638, &block33, &block34, tmp602, tmp603, tmp604, tmp605, tmp606, tmp607, tmp608, tmp609, tmp610, tmp611, tmp612, tmp613, tmp614, tmp615, tmp616, tmp617, tmp618, tmp619, tmp620, tmp621, tmp622, tmp623, tmp624, tmp625, tmp626, tmp627, tmp628, tmp629, tmp630, tmp631, tmp632, tmp633, tmp634, tmp635, tmp633, tmp636);
    6864             :   }
    6865             : 
    6866         112 :   if (block33.is_used()) {
    6867             :     compiler::TNode<Context> tmp639;
    6868             :     compiler::TNode<JSReceiver> tmp640;
    6869             :     compiler::TNode<String> tmp641;
    6870             :     compiler::TNode<Number> tmp642;
    6871             :     compiler::TNode<Object> tmp643;
    6872             :     compiler::TNode<Object> tmp644;
    6873             :     compiler::TNode<BuiltinPtr> tmp645;
    6874             :     compiler::TNode<Map> tmp646;
    6875             :     compiler::TNode<UintPtrT> tmp647;
    6876             :     compiler::TNode<IntPtrT> tmp648;
    6877             :     compiler::TNode<IntPtrT> tmp649;
    6878             :     compiler::TNode<BuiltinPtr> tmp650;
    6879             :     compiler::TNode<FixedArray> tmp651;
    6880             :     compiler::TNode<IntPtrT> tmp652;
    6881             :     compiler::TNode<IntPtrT> tmp653;
    6882             :     compiler::TNode<BoolT> tmp654;
    6883             :     compiler::TNode<UintPtrT> tmp655;
    6884             :     compiler::TNode<Object> tmp656;
    6885             :     compiler::TNode<String> tmp657;
    6886             :     compiler::TNode<String> tmp658;
    6887             :     compiler::TNode<IntPtrT> tmp659;
    6888             :     compiler::TNode<IntPtrT> tmp660;
    6889             :     compiler::TNode<Context> tmp661;
    6890             :     compiler::TNode<String> tmp662;
    6891             :     compiler::TNode<IntPtrT> tmp663;
    6892             :     compiler::TNode<IntPtrT> tmp664;
    6893             :     compiler::TNode<BoolT> tmp665;
    6894             :     compiler::TNode<IntPtrT> tmp666;
    6895             :     compiler::TNode<IntPtrT> tmp667;
    6896             :     compiler::TNode<BoolT> tmp668;
    6897             :     compiler::TNode<Context> tmp669;
    6898             :     compiler::TNode<IntPtrT> tmp670;
    6899             :     compiler::TNode<IntPtrT> tmp671;
    6900             :     compiler::TNode<BoolT> tmp672;
    6901             :     compiler::TNode<IntPtrT> tmp673;
    6902             :     compiler::TNode<IntPtrT> tmp674;
    6903             :     ca_.Bind(&block33, &tmp639, &tmp640, &tmp641, &tmp642, &tmp643, &tmp644, &tmp645, &tmp646, &tmp647, &tmp648, &tmp649, &tmp650, &tmp651, &tmp652, &tmp653, &tmp654, &tmp655, &tmp656, &tmp657, &tmp658, &tmp659, &tmp660, &tmp661, &tmp662, &tmp663, &tmp664, &tmp665, &tmp666, &tmp667, &tmp668, &tmp669, &tmp670, &tmp671, &tmp672, &tmp673, &tmp674);
    6904         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
    6905         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp669);
    6906         224 :     CodeStubAssembler(state_).Unreachable();
    6907             :   }
    6908             : 
    6909         112 :   if (block34.is_used()) {
    6910             :     compiler::TNode<Context> tmp676;
    6911             :     compiler::TNode<JSReceiver> tmp677;
    6912             :     compiler::TNode<String> tmp678;
    6913             :     compiler::TNode<Number> tmp679;
    6914             :     compiler::TNode<Object> tmp680;
    6915             :     compiler::TNode<Object> tmp681;
    6916             :     compiler::TNode<BuiltinPtr> tmp682;
    6917             :     compiler::TNode<Map> tmp683;
    6918             :     compiler::TNode<UintPtrT> tmp684;
    6919             :     compiler::TNode<IntPtrT> tmp685;
    6920             :     compiler::TNode<IntPtrT> tmp686;
    6921             :     compiler::TNode<BuiltinPtr> tmp687;
    6922             :     compiler::TNode<FixedArray> tmp688;
    6923             :     compiler::TNode<IntPtrT> tmp689;
    6924             :     compiler::TNode<IntPtrT> tmp690;
    6925             :     compiler::TNode<BoolT> tmp691;
    6926             :     compiler::TNode<UintPtrT> tmp692;
    6927             :     compiler::TNode<Object> tmp693;
    6928             :     compiler::TNode<String> tmp694;
    6929             :     compiler::TNode<String> tmp695;
    6930             :     compiler::TNode<IntPtrT> tmp696;
    6931             :     compiler::TNode<IntPtrT> tmp697;
    6932             :     compiler::TNode<Context> tmp698;
    6933             :     compiler::TNode<String> tmp699;
    6934             :     compiler::TNode<IntPtrT> tmp700;
    6935             :     compiler::TNode<IntPtrT> tmp701;
    6936             :     compiler::TNode<BoolT> tmp702;
    6937             :     compiler::TNode<IntPtrT> tmp703;
    6938             :     compiler::TNode<IntPtrT> tmp704;
    6939             :     compiler::TNode<BoolT> tmp705;
    6940             :     compiler::TNode<Context> tmp706;
    6941             :     compiler::TNode<IntPtrT> tmp707;
    6942             :     compiler::TNode<IntPtrT> tmp708;
    6943             :     compiler::TNode<BoolT> tmp709;
    6944             :     compiler::TNode<IntPtrT> tmp710;
    6945             :     compiler::TNode<IntPtrT> tmp711;
    6946             :     ca_.Bind(&block34, &tmp676, &tmp677, &tmp678, &tmp679, &tmp680, &tmp681, &tmp682, &tmp683, &tmp684, &tmp685, &tmp686, &tmp687, &tmp688, &tmp689, &tmp690, &tmp691, &tmp692, &tmp693, &tmp694, &tmp695, &tmp696, &tmp697, &tmp698, &tmp699, &tmp700, &tmp701, &tmp702, &tmp703, &tmp704, &tmp705, &tmp706, &tmp707, &tmp708, &tmp709, &tmp710, &tmp711);
    6947         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    6948             :     compiler::TNode<IntPtrT> tmp712;
    6949             :     USE(tmp712);
    6950         336 :     tmp712 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp706}, compiler::TNode<IntPtrT>{tmp690}, compiler::TNode<IntPtrT>{tmp711}));
    6951         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    6952         112 :     ca_.Branch(tmp709, &block35, &block36, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp686, tmp687, tmp688, tmp689, tmp712, tmp691, tmp692, tmp693, tmp694, tmp695, tmp696, tmp697, tmp698, tmp699, tmp700, tmp701, tmp702, tmp703, tmp704, tmp705, tmp706, tmp707, tmp708, tmp709, tmp710, tmp711);
    6953             :   }
    6954             : 
    6955         112 :   if (block35.is_used()) {
    6956             :     compiler::TNode<Context> tmp713;
    6957             :     compiler::TNode<JSReceiver> tmp714;
    6958             :     compiler::TNode<String> tmp715;
    6959             :     compiler::TNode<Number> tmp716;
    6960             :     compiler::TNode<Object> tmp717;
    6961             :     compiler::TNode<Object> tmp718;
    6962             :     compiler::TNode<BuiltinPtr> tmp719;
    6963             :     compiler::TNode<Map> tmp720;
    6964             :     compiler::TNode<UintPtrT> tmp721;
    6965             :     compiler::TNode<IntPtrT> tmp722;
    6966             :     compiler::TNode<IntPtrT> tmp723;
    6967             :     compiler::TNode<BuiltinPtr> tmp724;
    6968             :     compiler::TNode<FixedArray> tmp725;
    6969             :     compiler::TNode<IntPtrT> tmp726;
    6970             :     compiler::TNode<IntPtrT> tmp727;
    6971             :     compiler::TNode<BoolT> tmp728;
    6972             :     compiler::TNode<UintPtrT> tmp729;
    6973             :     compiler::TNode<Object> tmp730;
    6974             :     compiler::TNode<String> tmp731;
    6975             :     compiler::TNode<String> tmp732;
    6976             :     compiler::TNode<IntPtrT> tmp733;
    6977             :     compiler::TNode<IntPtrT> tmp734;
    6978             :     compiler::TNode<Context> tmp735;
    6979             :     compiler::TNode<String> tmp736;
    6980             :     compiler::TNode<IntPtrT> tmp737;
    6981             :     compiler::TNode<IntPtrT> tmp738;
    6982             :     compiler::TNode<BoolT> tmp739;
    6983             :     compiler::TNode<IntPtrT> tmp740;
    6984             :     compiler::TNode<IntPtrT> tmp741;
    6985             :     compiler::TNode<BoolT> tmp742;
    6986             :     compiler::TNode<Context> tmp743;
    6987             :     compiler::TNode<IntPtrT> tmp744;
    6988             :     compiler::TNode<IntPtrT> tmp745;
    6989             :     compiler::TNode<BoolT> tmp746;
    6990             :     compiler::TNode<IntPtrT> tmp747;
    6991             :     compiler::TNode<IntPtrT> tmp748;
    6992             :     ca_.Bind(&block35, &tmp713, &tmp714, &tmp715, &tmp716, &tmp717, &tmp718, &tmp719, &tmp720, &tmp721, &tmp722, &tmp723, &tmp724, &tmp725, &tmp726, &tmp727, &tmp728, &tmp729, &tmp730, &tmp731, &tmp732, &tmp733, &tmp734, &tmp735, &tmp736, &tmp737, &tmp738, &tmp739, &tmp740, &tmp741, &tmp742, &tmp743, &tmp744, &tmp745, &tmp746, &tmp747, &tmp748);
    6993         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    6994             :     compiler::TNode<IntPtrT> tmp749;
    6995             :     USE(tmp749);
    6996         336 :     tmp749 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    6997             :     compiler::TNode<IntPtrT> tmp750;
    6998             :     USE(tmp750);
    6999         224 :     tmp750 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<IntPtrT>{tmp749}));
    7000             :     compiler::TNode<Smi> tmp751;
    7001             :     USE(tmp751);
    7002         336 :     tmp751 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp747}));
    7003         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    7004             :     compiler::TNode<FixedArray> tmp752;
    7005             :     USE(tmp752);
    7006         336 :     tmp752 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp725}, compiler::TNode<IntPtrT>{tmp726}, compiler::TNode<Smi>{tmp751}));
    7007         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    7008             :     ca_.Goto(&block36, tmp713, tmp714, tmp715, tmp716, tmp717, tmp718, tmp719, tmp720, tmp721, tmp722, tmp723, tmp724, tmp752, tmp750, tmp727, tmp728, tmp729, tmp730, tmp731, tmp732, tmp733, tmp734, tmp735, tmp736, tmp737, tmp738, tmp739, tmp740, tmp741, tmp742, tmp743, tmp744, tmp745, tmp746, tmp747, tmp748);
    7009             :   }
    7010             : 
    7011         112 :   if (block36.is_used()) {
    7012             :     compiler::TNode<Context> tmp753;
    7013             :     compiler::TNode<JSReceiver> tmp754;
    7014             :     compiler::TNode<String> tmp755;
    7015             :     compiler::TNode<Number> tmp756;
    7016             :     compiler::TNode<Object> tmp757;
    7017             :     compiler::TNode<Object> tmp758;
    7018             :     compiler::TNode<BuiltinPtr> tmp759;
    7019             :     compiler::TNode<Map> tmp760;
    7020             :     compiler::TNode<UintPtrT> tmp761;
    7021             :     compiler::TNode<IntPtrT> tmp762;
    7022             :     compiler::TNode<IntPtrT> tmp763;
    7023             :     compiler::TNode<BuiltinPtr> tmp764;
    7024             :     compiler::TNode<FixedArray> tmp765;
    7025             :     compiler::TNode<IntPtrT> tmp766;
    7026             :     compiler::TNode<IntPtrT> tmp767;
    7027             :     compiler::TNode<BoolT> tmp768;
    7028             :     compiler::TNode<UintPtrT> tmp769;
    7029             :     compiler::TNode<Object> tmp770;
    7030             :     compiler::TNode<String> tmp771;
    7031             :     compiler::TNode<String> tmp772;
    7032             :     compiler::TNode<IntPtrT> tmp773;
    7033             :     compiler::TNode<IntPtrT> tmp774;
    7034             :     compiler::TNode<Context> tmp775;
    7035             :     compiler::TNode<String> tmp776;
    7036             :     compiler::TNode<IntPtrT> tmp777;
    7037             :     compiler::TNode<IntPtrT> tmp778;
    7038             :     compiler::TNode<BoolT> tmp779;
    7039             :     compiler::TNode<IntPtrT> tmp780;
    7040             :     compiler::TNode<IntPtrT> tmp781;
    7041             :     compiler::TNode<BoolT> tmp782;
    7042             :     compiler::TNode<Context> tmp783;
    7043             :     compiler::TNode<IntPtrT> tmp784;
    7044             :     compiler::TNode<IntPtrT> tmp785;
    7045             :     compiler::TNode<BoolT> tmp786;
    7046             :     compiler::TNode<IntPtrT> tmp787;
    7047             :     compiler::TNode<IntPtrT> tmp788;
    7048             :     ca_.Bind(&block36, &tmp753, &tmp754, &tmp755, &tmp756, &tmp757, &tmp758, &tmp759, &tmp760, &tmp761, &tmp762, &tmp763, &tmp764, &tmp765, &tmp766, &tmp767, &tmp768, &tmp769, &tmp770, &tmp771, &tmp772, &tmp773, &tmp774, &tmp775, &tmp776, &tmp777, &tmp778, &tmp779, &tmp780, &tmp781, &tmp782, &tmp783, &tmp784, &tmp785, &tmp786, &tmp787, &tmp788);
    7049         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    7050         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
    7051             :     ca_.Goto(&block29, tmp753, tmp754, tmp755, tmp756, tmp757, tmp758, tmp759, tmp760, tmp761, tmp762, tmp763, tmp764, tmp765, tmp766, tmp767, tmp768, tmp769, tmp770, tmp771, tmp772, tmp773, tmp774, tmp775, tmp776, tmp777, tmp778, tmp779, tmp780, tmp781, tmp782, tmp783, tmp784, tmp785, tmp786);
    7052             :   }
    7053             : 
    7054         112 :   if (block29.is_used()) {
    7055             :     compiler::TNode<Context> tmp789;
    7056             :     compiler::TNode<JSReceiver> tmp790;
    7057             :     compiler::TNode<String> tmp791;
    7058             :     compiler::TNode<Number> tmp792;
    7059             :     compiler::TNode<Object> tmp793;
    7060             :     compiler::TNode<Object> tmp794;
    7061             :     compiler::TNode<BuiltinPtr> tmp795;
    7062             :     compiler::TNode<Map> tmp796;
    7063             :     compiler::TNode<UintPtrT> tmp797;
    7064             :     compiler::TNode<IntPtrT> tmp798;
    7065             :     compiler::TNode<IntPtrT> tmp799;
    7066             :     compiler::TNode<BuiltinPtr> tmp800;
    7067             :     compiler::TNode<FixedArray> tmp801;
    7068             :     compiler::TNode<IntPtrT> tmp802;
    7069             :     compiler::TNode<IntPtrT> tmp803;
    7070             :     compiler::TNode<BoolT> tmp804;
    7071             :     compiler::TNode<UintPtrT> tmp805;
    7072             :     compiler::TNode<Object> tmp806;
    7073             :     compiler::TNode<String> tmp807;
    7074             :     compiler::TNode<String> tmp808;
    7075             :     compiler::TNode<IntPtrT> tmp809;
    7076             :     compiler::TNode<IntPtrT> tmp810;
    7077             :     compiler::TNode<Context> tmp811;
    7078             :     compiler::TNode<String> tmp812;
    7079             :     compiler::TNode<IntPtrT> tmp813;
    7080             :     compiler::TNode<IntPtrT> tmp814;
    7081             :     compiler::TNode<BoolT> tmp815;
    7082             :     compiler::TNode<IntPtrT> tmp816;
    7083             :     compiler::TNode<IntPtrT> tmp817;
    7084             :     compiler::TNode<BoolT> tmp818;
    7085             :     compiler::TNode<Context> tmp819;
    7086             :     compiler::TNode<IntPtrT> tmp820;
    7087             :     compiler::TNode<IntPtrT> tmp821;
    7088             :     compiler::TNode<BoolT> tmp822;
    7089             :     ca_.Bind(&block29, &tmp789, &tmp790, &tmp791, &tmp792, &tmp793, &tmp794, &tmp795, &tmp796, &tmp797, &tmp798, &tmp799, &tmp800, &tmp801, &tmp802, &tmp803, &tmp804, &tmp805, &tmp806, &tmp807, &tmp808, &tmp809, &tmp810, &tmp811, &tmp812, &tmp813, &tmp814, &tmp815, &tmp816, &tmp817, &tmp818, &tmp819, &tmp820, &tmp821, &tmp822);
    7090         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
    7091             :     compiler::TNode<IntPtrT> tmp823;
    7092             :     USE(tmp823);
    7093         336 :     tmp823 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp812}));
    7094             :     compiler::TNode<IntPtrT> tmp824;
    7095             :     USE(tmp824);
    7096         336 :     tmp824 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp811}, compiler::TNode<IntPtrT>{tmp803}, compiler::TNode<IntPtrT>{tmp823}));
    7097         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
    7098         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 164);
    7099             :     compiler::TNode<IntPtrT> tmp825;
    7100             :     USE(tmp825);
    7101         336 :     tmp825 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    7102             :     compiler::TNode<IntPtrT> tmp826;
    7103             :     USE(tmp826);
    7104         224 :     tmp826 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<IntPtrT>{tmp825}));
    7105             :     compiler::TNode<FixedArray> tmp827;
    7106             :     USE(tmp827);
    7107         336 :     tmp827 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray6String(compiler::TNode<FixedArray>{tmp801}, compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<String>{tmp812}));
    7108         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
    7109         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 166);
    7110             :     compiler::TNode<Int32T> tmp828;
    7111             :     USE(tmp828);
    7112         224 :     tmp828 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp812}));
    7113             :     compiler::TNode<BoolT> tmp829;
    7114             :     USE(tmp829);
    7115         224 :     tmp829 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp828}));
    7116             :     compiler::TNode<BoolT> tmp830;
    7117             :     USE(tmp830);
    7118         336 :     tmp830 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp829}, compiler::TNode<BoolT>{tmp804}));
    7119         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 165);
    7120         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
    7121         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
    7122             :     ca_.Goto(&block28, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp795, tmp796, tmp797, tmp798, tmp799, tmp800, tmp827, tmp826, tmp824, tmp830, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813, tmp814);
    7123             :   }
    7124             : 
    7125         112 :   if (block28.is_used()) {
    7126             :     compiler::TNode<Context> tmp831;
    7127             :     compiler::TNode<JSReceiver> tmp832;
    7128             :     compiler::TNode<String> tmp833;
    7129             :     compiler::TNode<Number> tmp834;
    7130             :     compiler::TNode<Object> tmp835;
    7131             :     compiler::TNode<Object> tmp836;
    7132             :     compiler::TNode<BuiltinPtr> tmp837;
    7133             :     compiler::TNode<Map> tmp838;
    7134             :     compiler::TNode<UintPtrT> tmp839;
    7135             :     compiler::TNode<IntPtrT> tmp840;
    7136             :     compiler::TNode<IntPtrT> tmp841;
    7137             :     compiler::TNode<BuiltinPtr> tmp842;
    7138             :     compiler::TNode<FixedArray> tmp843;
    7139             :     compiler::TNode<IntPtrT> tmp844;
    7140             :     compiler::TNode<IntPtrT> tmp845;
    7141             :     compiler::TNode<BoolT> tmp846;
    7142             :     compiler::TNode<UintPtrT> tmp847;
    7143             :     compiler::TNode<Object> tmp848;
    7144             :     compiler::TNode<String> tmp849;
    7145             :     compiler::TNode<String> tmp850;
    7146             :     compiler::TNode<IntPtrT> tmp851;
    7147             :     compiler::TNode<IntPtrT> tmp852;
    7148             :     compiler::TNode<Context> tmp853;
    7149             :     compiler::TNode<String> tmp854;
    7150             :     compiler::TNode<IntPtrT> tmp855;
    7151             :     compiler::TNode<IntPtrT> tmp856;
    7152             :     ca_.Bind(&block28, &tmp831, &tmp832, &tmp833, &tmp834, &tmp835, &tmp836, &tmp837, &tmp838, &tmp839, &tmp840, &tmp841, &tmp842, &tmp843, &tmp844, &tmp845, &tmp846, &tmp847, &tmp848, &tmp849, &tmp850, &tmp851, &tmp852, &tmp853, &tmp854, &tmp855, &tmp856);
    7153         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 316);
    7154             :     compiler::TNode<IntPtrT> tmp857;
    7155             :     USE(tmp857);
    7156         336 :     tmp857 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7157         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
    7158             :     ca_.Goto(&block4, tmp831, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp840, tmp857, tmp842, tmp843, tmp844, tmp845, tmp846, tmp847);
    7159             :   }
    7160             : 
    7161         112 :   if (block3.is_used()) {
    7162             :     compiler::TNode<Context> tmp858;
    7163             :     compiler::TNode<JSReceiver> tmp859;
    7164             :     compiler::TNode<String> tmp860;
    7165             :     compiler::TNode<Number> tmp861;
    7166             :     compiler::TNode<Object> tmp862;
    7167             :     compiler::TNode<Object> tmp863;
    7168             :     compiler::TNode<BuiltinPtr> tmp864;
    7169             :     compiler::TNode<Map> tmp865;
    7170             :     compiler::TNode<UintPtrT> tmp866;
    7171             :     compiler::TNode<IntPtrT> tmp867;
    7172             :     compiler::TNode<IntPtrT> tmp868;
    7173             :     compiler::TNode<BuiltinPtr> tmp869;
    7174             :     compiler::TNode<FixedArray> tmp870;
    7175             :     compiler::TNode<IntPtrT> tmp871;
    7176             :     compiler::TNode<IntPtrT> tmp872;
    7177             :     compiler::TNode<BoolT> tmp873;
    7178             :     compiler::TNode<UintPtrT> tmp874;
    7179             :     ca_.Bind(&block3, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873, &tmp874);
    7180         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    7181             :     compiler::TNode<BoolT> tmp875;
    7182             :     USE(tmp875);
    7183         336 :     tmp875 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
    7184         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
    7185             :     compiler::TNode<IntPtrT> tmp876;
    7186             :     USE(tmp876);
    7187         336 :     tmp876 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7188             :     compiler::TNode<BoolT> tmp877;
    7189             :     USE(tmp877);
    7190         336 :     tmp877 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp868}, compiler::TNode<IntPtrT>{tmp876}));
    7191         112 :     ca_.Branch(tmp877, &block38, &block40, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp874, tmp868, tmp867, tmp858, tmp868, tmp867, tmp875);
    7192             :   }
    7193             : 
    7194         112 :   if (block40.is_used()) {
    7195             :     compiler::TNode<Context> tmp878;
    7196             :     compiler::TNode<JSReceiver> tmp879;
    7197             :     compiler::TNode<String> tmp880;
    7198             :     compiler::TNode<Number> tmp881;
    7199             :     compiler::TNode<Object> tmp882;
    7200             :     compiler::TNode<Object> tmp883;
    7201             :     compiler::TNode<BuiltinPtr> tmp884;
    7202             :     compiler::TNode<Map> tmp885;
    7203             :     compiler::TNode<UintPtrT> tmp886;
    7204             :     compiler::TNode<IntPtrT> tmp887;
    7205             :     compiler::TNode<IntPtrT> tmp888;
    7206             :     compiler::TNode<BuiltinPtr> tmp889;
    7207             :     compiler::TNode<FixedArray> tmp890;
    7208             :     compiler::TNode<IntPtrT> tmp891;
    7209             :     compiler::TNode<IntPtrT> tmp892;
    7210             :     compiler::TNode<BoolT> tmp893;
    7211             :     compiler::TNode<UintPtrT> tmp894;
    7212             :     compiler::TNode<IntPtrT> tmp895;
    7213             :     compiler::TNode<IntPtrT> tmp896;
    7214             :     compiler::TNode<Context> tmp897;
    7215             :     compiler::TNode<IntPtrT> tmp898;
    7216             :     compiler::TNode<IntPtrT> tmp899;
    7217             :     compiler::TNode<BoolT> tmp900;
    7218             :     ca_.Bind(&block40, &tmp878, &tmp879, &tmp880, &tmp881, &tmp882, &tmp883, &tmp884, &tmp885, &tmp886, &tmp887, &tmp888, &tmp889, &tmp890, &tmp891, &tmp892, &tmp893, &tmp894, &tmp895, &tmp896, &tmp897, &tmp898, &tmp899, &tmp900);
    7219             :     compiler::TNode<IntPtrT> tmp901;
    7220             :     USE(tmp901);
    7221         336 :     tmp901 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7222             :     compiler::TNode<BoolT> tmp902;
    7223             :     USE(tmp902);
    7224         336 :     tmp902 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp899}, compiler::TNode<IntPtrT>{tmp901}));
    7225         112 :     ca_.Branch(tmp902, &block38, &block39, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889, tmp890, tmp891, tmp892, tmp893, tmp894, tmp895, tmp896, tmp897, tmp898, tmp899, tmp900);
    7226             :   }
    7227             : 
    7228         112 :   if (block38.is_used()) {
    7229             :     compiler::TNode<Context> tmp903;
    7230             :     compiler::TNode<JSReceiver> tmp904;
    7231             :     compiler::TNode<String> tmp905;
    7232             :     compiler::TNode<Number> tmp906;
    7233             :     compiler::TNode<Object> tmp907;
    7234             :     compiler::TNode<Object> tmp908;
    7235             :     compiler::TNode<BuiltinPtr> tmp909;
    7236             :     compiler::TNode<Map> tmp910;
    7237             :     compiler::TNode<UintPtrT> tmp911;
    7238             :     compiler::TNode<IntPtrT> tmp912;
    7239             :     compiler::TNode<IntPtrT> tmp913;
    7240             :     compiler::TNode<BuiltinPtr> tmp914;
    7241             :     compiler::TNode<FixedArray> tmp915;
    7242             :     compiler::TNode<IntPtrT> tmp916;
    7243             :     compiler::TNode<IntPtrT> tmp917;
    7244             :     compiler::TNode<BoolT> tmp918;
    7245             :     compiler::TNode<UintPtrT> tmp919;
    7246             :     compiler::TNode<IntPtrT> tmp920;
    7247             :     compiler::TNode<IntPtrT> tmp921;
    7248             :     compiler::TNode<Context> tmp922;
    7249             :     compiler::TNode<IntPtrT> tmp923;
    7250             :     compiler::TNode<IntPtrT> tmp924;
    7251             :     compiler::TNode<BoolT> tmp925;
    7252             :     ca_.Bind(&block38, &tmp903, &tmp904, &tmp905, &tmp906, &tmp907, &tmp908, &tmp909, &tmp910, &tmp911, &tmp912, &tmp913, &tmp914, &tmp915, &tmp916, &tmp917, &tmp918, &tmp919, &tmp920, &tmp921, &tmp922, &tmp923, &tmp924, &tmp925);
    7253             :     ca_.Goto(&block37, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919, tmp920, tmp921, tmp922, tmp923, tmp924, tmp925);
    7254             :   }
    7255             : 
    7256         112 :   if (block39.is_used()) {
    7257             :     compiler::TNode<Context> tmp926;
    7258             :     compiler::TNode<JSReceiver> tmp927;
    7259             :     compiler::TNode<String> tmp928;
    7260             :     compiler::TNode<Number> tmp929;
    7261             :     compiler::TNode<Object> tmp930;
    7262             :     compiler::TNode<Object> tmp931;
    7263             :     compiler::TNode<BuiltinPtr> tmp932;
    7264             :     compiler::TNode<Map> tmp933;
    7265             :     compiler::TNode<UintPtrT> tmp934;
    7266             :     compiler::TNode<IntPtrT> tmp935;
    7267             :     compiler::TNode<IntPtrT> tmp936;
    7268             :     compiler::TNode<BuiltinPtr> tmp937;
    7269             :     compiler::TNode<FixedArray> tmp938;
    7270             :     compiler::TNode<IntPtrT> tmp939;
    7271             :     compiler::TNode<IntPtrT> tmp940;
    7272             :     compiler::TNode<BoolT> tmp941;
    7273             :     compiler::TNode<UintPtrT> tmp942;
    7274             :     compiler::TNode<IntPtrT> tmp943;
    7275             :     compiler::TNode<IntPtrT> tmp944;
    7276             :     compiler::TNode<Context> tmp945;
    7277             :     compiler::TNode<IntPtrT> tmp946;
    7278             :     compiler::TNode<IntPtrT> tmp947;
    7279             :     compiler::TNode<BoolT> tmp948;
    7280             :     ca_.Bind(&block39, &tmp926, &tmp927, &tmp928, &tmp929, &tmp930, &tmp931, &tmp932, &tmp933, &tmp934, &tmp935, &tmp936, &tmp937, &tmp938, &tmp939, &tmp940, &tmp941, &tmp942, &tmp943, &tmp944, &tmp945, &tmp946, &tmp947, &tmp948);
    7281         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    7282         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    7283             :     compiler::TNode<IntPtrT> tmp949;
    7284             :     USE(tmp949);
    7285         224 :     tmp949 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp947}, compiler::TNode<IntPtrT>{tmp946}));
    7286         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
    7287             :     compiler::TNode<IntPtrT> tmp950;
    7288             :     USE(tmp950);
    7289         224 :     tmp950 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp949}, compiler::TNode<IntPtrT>{tmp947}));
    7290             :     compiler::TNode<BoolT> tmp951;
    7291             :     USE(tmp951);
    7292         336 :     tmp951 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp950}, compiler::TNode<IntPtrT>{tmp946}));
    7293         112 :     ca_.Branch(tmp951, &block41, &block42, tmp926, tmp927, tmp928, tmp929, tmp930, tmp931, tmp932, tmp933, tmp934, tmp935, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp946, tmp947, tmp948, tmp946, tmp949);
    7294             :   }
    7295             : 
    7296         112 :   if (block41.is_used()) {
    7297             :     compiler::TNode<Context> tmp952;
    7298             :     compiler::TNode<JSReceiver> tmp953;
    7299             :     compiler::TNode<String> tmp954;
    7300             :     compiler::TNode<Number> tmp955;
    7301             :     compiler::TNode<Object> tmp956;
    7302             :     compiler::TNode<Object> tmp957;
    7303             :     compiler::TNode<BuiltinPtr> tmp958;
    7304             :     compiler::TNode<Map> tmp959;
    7305             :     compiler::TNode<UintPtrT> tmp960;
    7306             :     compiler::TNode<IntPtrT> tmp961;
    7307             :     compiler::TNode<IntPtrT> tmp962;
    7308             :     compiler::TNode<BuiltinPtr> tmp963;
    7309             :     compiler::TNode<FixedArray> tmp964;
    7310             :     compiler::TNode<IntPtrT> tmp965;
    7311             :     compiler::TNode<IntPtrT> tmp966;
    7312             :     compiler::TNode<BoolT> tmp967;
    7313             :     compiler::TNode<UintPtrT> tmp968;
    7314             :     compiler::TNode<IntPtrT> tmp969;
    7315             :     compiler::TNode<IntPtrT> tmp970;
    7316             :     compiler::TNode<Context> tmp971;
    7317             :     compiler::TNode<IntPtrT> tmp972;
    7318             :     compiler::TNode<IntPtrT> tmp973;
    7319             :     compiler::TNode<BoolT> tmp974;
    7320             :     compiler::TNode<IntPtrT> tmp975;
    7321             :     compiler::TNode<IntPtrT> tmp976;
    7322             :     ca_.Bind(&block41, &tmp952, &tmp953, &tmp954, &tmp955, &tmp956, &tmp957, &tmp958, &tmp959, &tmp960, &tmp961, &tmp962, &tmp963, &tmp964, &tmp965, &tmp966, &tmp967, &tmp968, &tmp969, &tmp970, &tmp971, &tmp972, &tmp973, &tmp974, &tmp975, &tmp976);
    7323         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
    7324         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp971);
    7325         224 :     CodeStubAssembler(state_).Unreachable();
    7326             :   }
    7327             : 
    7328         112 :   if (block42.is_used()) {
    7329             :     compiler::TNode<Context> tmp978;
    7330             :     compiler::TNode<JSReceiver> tmp979;
    7331             :     compiler::TNode<String> tmp980;
    7332             :     compiler::TNode<Number> tmp981;
    7333             :     compiler::TNode<Object> tmp982;
    7334             :     compiler::TNode<Object> tmp983;
    7335             :     compiler::TNode<BuiltinPtr> tmp984;
    7336             :     compiler::TNode<Map> tmp985;
    7337             :     compiler::TNode<UintPtrT> tmp986;
    7338             :     compiler::TNode<IntPtrT> tmp987;
    7339             :     compiler::TNode<IntPtrT> tmp988;
    7340             :     compiler::TNode<BuiltinPtr> tmp989;
    7341             :     compiler::TNode<FixedArray> tmp990;
    7342             :     compiler::TNode<IntPtrT> tmp991;
    7343             :     compiler::TNode<IntPtrT> tmp992;
    7344             :     compiler::TNode<BoolT> tmp993;
    7345             :     compiler::TNode<UintPtrT> tmp994;
    7346             :     compiler::TNode<IntPtrT> tmp995;
    7347             :     compiler::TNode<IntPtrT> tmp996;
    7348             :     compiler::TNode<Context> tmp997;
    7349             :     compiler::TNode<IntPtrT> tmp998;
    7350             :     compiler::TNode<IntPtrT> tmp999;
    7351             :     compiler::TNode<BoolT> tmp1000;
    7352             :     compiler::TNode<IntPtrT> tmp1001;
    7353             :     compiler::TNode<IntPtrT> tmp1002;
    7354             :     ca_.Bind(&block42, &tmp978, &tmp979, &tmp980, &tmp981, &tmp982, &tmp983, &tmp984, &tmp985, &tmp986, &tmp987, &tmp988, &tmp989, &tmp990, &tmp991, &tmp992, &tmp993, &tmp994, &tmp995, &tmp996, &tmp997, &tmp998, &tmp999, &tmp1000, &tmp1001, &tmp1002);
    7355         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    7356             :     compiler::TNode<IntPtrT> tmp1003;
    7357             :     USE(tmp1003);
    7358         336 :     tmp1003 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp997}, compiler::TNode<IntPtrT>{tmp992}, compiler::TNode<IntPtrT>{tmp1002}));
    7359         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    7360         112 :     ca_.Branch(tmp1000, &block43, &block44, tmp978, tmp979, tmp980, tmp981, tmp982, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989, tmp990, tmp991, tmp1003, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001, tmp1002);
    7361             :   }
    7362             : 
    7363         112 :   if (block43.is_used()) {
    7364             :     compiler::TNode<Context> tmp1004;
    7365             :     compiler::TNode<JSReceiver> tmp1005;
    7366             :     compiler::TNode<String> tmp1006;
    7367             :     compiler::TNode<Number> tmp1007;
    7368             :     compiler::TNode<Object> tmp1008;
    7369             :     compiler::TNode<Object> tmp1009;
    7370             :     compiler::TNode<BuiltinPtr> tmp1010;
    7371             :     compiler::TNode<Map> tmp1011;
    7372             :     compiler::TNode<UintPtrT> tmp1012;
    7373             :     compiler::TNode<IntPtrT> tmp1013;
    7374             :     compiler::TNode<IntPtrT> tmp1014;
    7375             :     compiler::TNode<BuiltinPtr> tmp1015;
    7376             :     compiler::TNode<FixedArray> tmp1016;
    7377             :     compiler::TNode<IntPtrT> tmp1017;
    7378             :     compiler::TNode<IntPtrT> tmp1018;
    7379             :     compiler::TNode<BoolT> tmp1019;
    7380             :     compiler::TNode<UintPtrT> tmp1020;
    7381             :     compiler::TNode<IntPtrT> tmp1021;
    7382             :     compiler::TNode<IntPtrT> tmp1022;
    7383             :     compiler::TNode<Context> tmp1023;
    7384             :     compiler::TNode<IntPtrT> tmp1024;
    7385             :     compiler::TNode<IntPtrT> tmp1025;
    7386             :     compiler::TNode<BoolT> tmp1026;
    7387             :     compiler::TNode<IntPtrT> tmp1027;
    7388             :     compiler::TNode<IntPtrT> tmp1028;
    7389             :     ca_.Bind(&block43, &tmp1004, &tmp1005, &tmp1006, &tmp1007, &tmp1008, &tmp1009, &tmp1010, &tmp1011, &tmp1012, &tmp1013, &tmp1014, &tmp1015, &tmp1016, &tmp1017, &tmp1018, &tmp1019, &tmp1020, &tmp1021, &tmp1022, &tmp1023, &tmp1024, &tmp1025, &tmp1026, &tmp1027, &tmp1028);
    7390         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    7391             :     compiler::TNode<IntPtrT> tmp1029;
    7392             :     USE(tmp1029);
    7393         336 :     tmp1029 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    7394             :     compiler::TNode<IntPtrT> tmp1030;
    7395             :     USE(tmp1030);
    7396         224 :     tmp1030 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<IntPtrT>{tmp1029}));
    7397             :     compiler::TNode<Smi> tmp1031;
    7398             :     USE(tmp1031);
    7399         336 :     tmp1031 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1027}));
    7400         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    7401             :     compiler::TNode<FixedArray> tmp1032;
    7402             :     USE(tmp1032);
    7403         336 :     tmp1032 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1016}, compiler::TNode<IntPtrT>{tmp1017}, compiler::TNode<Smi>{tmp1031}));
    7404         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    7405             :     ca_.Goto(&block44, tmp1004, tmp1005, tmp1006, tmp1007, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1015, tmp1032, tmp1030, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027, tmp1028);
    7406             :   }
    7407             : 
    7408         112 :   if (block44.is_used()) {
    7409             :     compiler::TNode<Context> tmp1033;
    7410             :     compiler::TNode<JSReceiver> tmp1034;
    7411             :     compiler::TNode<String> tmp1035;
    7412             :     compiler::TNode<Number> tmp1036;
    7413             :     compiler::TNode<Object> tmp1037;
    7414             :     compiler::TNode<Object> tmp1038;
    7415             :     compiler::TNode<BuiltinPtr> tmp1039;
    7416             :     compiler::TNode<Map> tmp1040;
    7417             :     compiler::TNode<UintPtrT> tmp1041;
    7418             :     compiler::TNode<IntPtrT> tmp1042;
    7419             :     compiler::TNode<IntPtrT> tmp1043;
    7420             :     compiler::TNode<BuiltinPtr> tmp1044;
    7421             :     compiler::TNode<FixedArray> tmp1045;
    7422             :     compiler::TNode<IntPtrT> tmp1046;
    7423             :     compiler::TNode<IntPtrT> tmp1047;
    7424             :     compiler::TNode<BoolT> tmp1048;
    7425             :     compiler::TNode<UintPtrT> tmp1049;
    7426             :     compiler::TNode<IntPtrT> tmp1050;
    7427             :     compiler::TNode<IntPtrT> tmp1051;
    7428             :     compiler::TNode<Context> tmp1052;
    7429             :     compiler::TNode<IntPtrT> tmp1053;
    7430             :     compiler::TNode<IntPtrT> tmp1054;
    7431             :     compiler::TNode<BoolT> tmp1055;
    7432             :     compiler::TNode<IntPtrT> tmp1056;
    7433             :     compiler::TNode<IntPtrT> tmp1057;
    7434             :     ca_.Bind(&block44, &tmp1033, &tmp1034, &tmp1035, &tmp1036, &tmp1037, &tmp1038, &tmp1039, &tmp1040, &tmp1041, &tmp1042, &tmp1043, &tmp1044, &tmp1045, &tmp1046, &tmp1047, &tmp1048, &tmp1049, &tmp1050, &tmp1051, &tmp1052, &tmp1053, &tmp1054, &tmp1055, &tmp1056, &tmp1057);
    7435         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    7436         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    7437             :     ca_.Goto(&block37, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1054, tmp1055);
    7438             :   }
    7439             : 
    7440         112 :   if (block37.is_used()) {
    7441             :     compiler::TNode<Context> tmp1058;
    7442             :     compiler::TNode<JSReceiver> tmp1059;
    7443             :     compiler::TNode<String> tmp1060;
    7444             :     compiler::TNode<Number> tmp1061;
    7445             :     compiler::TNode<Object> tmp1062;
    7446             :     compiler::TNode<Object> tmp1063;
    7447             :     compiler::TNode<BuiltinPtr> tmp1064;
    7448             :     compiler::TNode<Map> tmp1065;
    7449             :     compiler::TNode<UintPtrT> tmp1066;
    7450             :     compiler::TNode<IntPtrT> tmp1067;
    7451             :     compiler::TNode<IntPtrT> tmp1068;
    7452             :     compiler::TNode<BuiltinPtr> tmp1069;
    7453             :     compiler::TNode<FixedArray> tmp1070;
    7454             :     compiler::TNode<IntPtrT> tmp1071;
    7455             :     compiler::TNode<IntPtrT> tmp1072;
    7456             :     compiler::TNode<BoolT> tmp1073;
    7457             :     compiler::TNode<UintPtrT> tmp1074;
    7458             :     compiler::TNode<IntPtrT> tmp1075;
    7459             :     compiler::TNode<IntPtrT> tmp1076;
    7460             :     compiler::TNode<Context> tmp1077;
    7461             :     compiler::TNode<IntPtrT> tmp1078;
    7462             :     compiler::TNode<IntPtrT> tmp1079;
    7463             :     compiler::TNode<BoolT> tmp1080;
    7464             :     ca_.Bind(&block37, &tmp1058, &tmp1059, &tmp1060, &tmp1061, &tmp1062, &tmp1063, &tmp1064, &tmp1065, &tmp1066, &tmp1067, &tmp1068, &tmp1069, &tmp1070, &tmp1071, &tmp1072, &tmp1073, &tmp1074, &tmp1075, &tmp1076, &tmp1077, &tmp1078, &tmp1079, &tmp1080);
    7465         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
    7466             :     compiler::TNode<String> tmp1081;
    7467             :     USE(tmp1081);
    7468         336 :     tmp1081 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).BufferJoin(compiler::TNode<Context>{tmp1058}, ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp1070}, compiler::TNode<IntPtrT>{tmp1071}, compiler::TNode<IntPtrT>{tmp1072}, compiler::TNode<BoolT>{tmp1073}}, compiler::TNode<String>{tmp1060}));
    7469             :     ca_.Goto(&block1, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1064, tmp1081);
    7470             :   }
    7471             : 
    7472         112 :   if (block1.is_used()) {
    7473             :     compiler::TNode<Context> tmp1082;
    7474             :     compiler::TNode<JSReceiver> tmp1083;
    7475             :     compiler::TNode<String> tmp1084;
    7476             :     compiler::TNode<Number> tmp1085;
    7477             :     compiler::TNode<Object> tmp1086;
    7478             :     compiler::TNode<Object> tmp1087;
    7479             :     compiler::TNode<BuiltinPtr> tmp1088;
    7480             :     compiler::TNode<String> tmp1089;
    7481             :     ca_.Bind(&block1, &tmp1082, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088, &tmp1089);
    7482         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 262);
    7483             :     ca_.Goto(&block45, tmp1082, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088, tmp1089);
    7484             :   }
    7485             : 
    7486             :     compiler::TNode<Context> tmp1090;
    7487             :     compiler::TNode<JSReceiver> tmp1091;
    7488             :     compiler::TNode<String> tmp1092;
    7489             :     compiler::TNode<Number> tmp1093;
    7490             :     compiler::TNode<Object> tmp1094;
    7491             :     compiler::TNode<Object> tmp1095;
    7492             :     compiler::TNode<BuiltinPtr> tmp1096;
    7493             :     compiler::TNode<String> tmp1097;
    7494             :     ca_.Bind(&block45, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096, &tmp1097);
    7495         224 :   return compiler::TNode<String>{tmp1097};
    7496             : }
    7497             : 
    7498          56 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<JSReceiver> p_element) {
    7499          56 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7500             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7501             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7502             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7503             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7504             :     ca_.Goto(&block0, p_fixedArray, p_index, p_element);
    7505             : 
    7506          56 :   if (block0.is_used()) {
    7507             :     compiler::TNode<FixedArray> tmp0;
    7508             :     compiler::TNode<IntPtrT> tmp1;
    7509             :     compiler::TNode<JSReceiver> tmp2;
    7510             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    7511          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
    7512             :     compiler::TNode<IntPtrT> tmp3;
    7513             :     USE(tmp3);
    7514         112 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
    7515          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
    7516             :     compiler::TNode<BoolT> tmp4;
    7517             :     USE(tmp4);
    7518         168 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
    7519          56 :     ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
    7520             :   }
    7521             : 
    7522          56 :   if (block2.is_used()) {
    7523             :     compiler::TNode<FixedArray> tmp5;
    7524             :     compiler::TNode<IntPtrT> tmp6;
    7525             :     compiler::TNode<JSReceiver> tmp7;
    7526             :     compiler::TNode<IntPtrT> tmp8;
    7527             :     ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
    7528          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
    7529         112 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
    7530          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
    7531             :     ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
    7532             :   }
    7533             : 
    7534          56 :   if (block3.is_used()) {
    7535             :     compiler::TNode<FixedArray> tmp9;
    7536             :     compiler::TNode<IntPtrT> tmp10;
    7537             :     compiler::TNode<JSReceiver> tmp11;
    7538             :     compiler::TNode<IntPtrT> tmp12;
    7539             :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
    7540          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
    7541             :     compiler::TNode<IntPtrT> tmp13;
    7542             :     USE(tmp13);
    7543         112 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
    7544          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
    7545             :     compiler::TNode<IntPtrT> tmp14;
    7546             :     USE(tmp14);
    7547         168 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7548             :     compiler::TNode<FixedArray> tmp15;
    7549             :     USE(tmp15);
    7550         112 :     tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArray>{tmp9}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp12}, compiler::TNode<IntPtrT>{tmp13}, CodeStubAssembler::ExtractFixedArrayFlag::kFixedArrays));
    7551          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
    7552          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
    7553         112 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
    7554          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
    7555             :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
    7556             :   }
    7557             : 
    7558          56 :   if (block1.is_used()) {
    7559             :     compiler::TNode<FixedArray> tmp16;
    7560             :     compiler::TNode<IntPtrT> tmp17;
    7561             :     compiler::TNode<JSReceiver> tmp18;
    7562             :     compiler::TNode<FixedArray> tmp19;
    7563             :     ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
    7564          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
    7565             :     ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
    7566             :   }
    7567             : 
    7568             :     compiler::TNode<FixedArray> tmp20;
    7569             :     compiler::TNode<IntPtrT> tmp21;
    7570             :     compiler::TNode<JSReceiver> tmp22;
    7571             :     compiler::TNode<FixedArray> tmp23;
    7572             :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
    7573         112 :   return compiler::TNode<FixedArray>{tmp23};
    7574             : }
    7575             : 
    7576         112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::CycleProtectedArrayJoin7JSArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_len, compiler::TNode<Object> p_sepObj, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
    7577         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7578             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7579             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7580             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7581             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7582             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7583             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7584             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7585             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7586             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7587             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7588             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7589             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7590             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7591             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7592             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7593             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7594             :     ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
    7595             : 
    7596         112 :   if (block0.is_used()) {
    7597             :     compiler::TNode<Context> tmp0;
    7598             :     compiler::TNode<JSReceiver> tmp1;
    7599             :     compiler::TNode<Number> tmp2;
    7600             :     compiler::TNode<Object> tmp3;
    7601             :     compiler::TNode<Object> tmp4;
    7602             :     compiler::TNode<Object> tmp5;
    7603             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    7604         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 539);
    7605             :     compiler::TNode<Oddball> tmp6;
    7606             :     USE(tmp6);
    7607         336 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    7608             :     compiler::TNode<BoolT> tmp7;
    7609             :     USE(tmp7);
    7610         224 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
    7611         112 :     ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
    7612             :   }
    7613             : 
    7614         112 :   if (block2.is_used()) {
    7615             :     compiler::TNode<Context> tmp8;
    7616             :     compiler::TNode<JSReceiver> tmp9;
    7617             :     compiler::TNode<Number> tmp10;
    7618             :     compiler::TNode<Object> tmp11;
    7619             :     compiler::TNode<Object> tmp12;
    7620             :     compiler::TNode<Object> tmp13;
    7621             :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    7622             :     ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
    7623             :   }
    7624             : 
    7625         112 :   if (block3.is_used()) {
    7626             :     compiler::TNode<Context> tmp14;
    7627             :     compiler::TNode<JSReceiver> tmp15;
    7628             :     compiler::TNode<Number> tmp16;
    7629             :     compiler::TNode<Object> tmp17;
    7630             :     compiler::TNode<Object> tmp18;
    7631             :     compiler::TNode<Object> tmp19;
    7632             :     ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
    7633             :     compiler::TNode<String> tmp20;
    7634             :     USE(tmp20);
    7635         448 :     tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
    7636             :     ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
    7637             :   }
    7638             : 
    7639         112 :   if (block5.is_used()) {
    7640             :     compiler::TNode<Context> tmp21;
    7641             :     compiler::TNode<JSReceiver> tmp22;
    7642             :     compiler::TNode<Number> tmp23;
    7643             :     compiler::TNode<Object> tmp24;
    7644             :     compiler::TNode<Object> tmp25;
    7645             :     compiler::TNode<Object> tmp26;
    7646             :     ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
    7647             :     compiler::TNode<String> tmp27;
    7648             :     USE(tmp27);
    7649         336 :     tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6String18ATconstexpr_string(","));
    7650             :     ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
    7651             :   }
    7652             : 
    7653         112 :   if (block4.is_used()) {
    7654             :     compiler::TNode<Context> tmp28;
    7655             :     compiler::TNode<JSReceiver> tmp29;
    7656             :     compiler::TNode<Number> tmp30;
    7657             :     compiler::TNode<Object> tmp31;
    7658             :     compiler::TNode<Object> tmp32;
    7659             :     compiler::TNode<Object> tmp33;
    7660             :     compiler::TNode<String> tmp34;
    7661             :     ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
    7662         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 538);
    7663         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
    7664             :     compiler::TNode<Number> tmp35;
    7665             :     USE(tmp35);
    7666         336 :     tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
    7667         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    7668         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    7669         224 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
    7670         112 :     if (label0.is_used()) {
    7671         112 :       ca_.Bind(&label0);
    7672             :       ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7673             :     }
    7674         112 :     if (label1.is_used()) {
    7675         112 :       ca_.Bind(&label1);
    7676             :       ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7677             :     }
    7678             :   }
    7679             : 
    7680         112 :   if (block9.is_used()) {
    7681             :     compiler::TNode<Context> tmp36;
    7682             :     compiler::TNode<JSReceiver> tmp37;
    7683             :     compiler::TNode<Number> tmp38;
    7684             :     compiler::TNode<Object> tmp39;
    7685             :     compiler::TNode<Object> tmp40;
    7686             :     compiler::TNode<Object> tmp41;
    7687             :     compiler::TNode<String> tmp42;
    7688             :     compiler::TNode<Number> tmp43;
    7689             :     ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    7690             :     ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
    7691             :   }
    7692             : 
    7693         112 :   if (block10.is_used()) {
    7694             :     compiler::TNode<Context> tmp44;
    7695             :     compiler::TNode<JSReceiver> tmp45;
    7696             :     compiler::TNode<Number> tmp46;
    7697             :     compiler::TNode<Object> tmp47;
    7698             :     compiler::TNode<Object> tmp48;
    7699             :     compiler::TNode<Object> tmp49;
    7700             :     compiler::TNode<String> tmp50;
    7701             :     compiler::TNode<Number> tmp51;
    7702             :     ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    7703             :     ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
    7704             :   }
    7705             : 
    7706         112 :   if (block8.is_used()) {
    7707             :     compiler::TNode<Context> tmp52;
    7708             :     compiler::TNode<JSReceiver> tmp53;
    7709             :     compiler::TNode<Number> tmp54;
    7710             :     compiler::TNode<Object> tmp55;
    7711             :     compiler::TNode<Object> tmp56;
    7712             :     compiler::TNode<Object> tmp57;
    7713             :     compiler::TNode<String> tmp58;
    7714             :     ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
    7715         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    7716         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    7717         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
    7718         112 :     if (label0.is_used()) {
    7719         112 :       ca_.Bind(&label0);
    7720             :       ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    7721             :     }
    7722         112 :     if (label1.is_used()) {
    7723         112 :       ca_.Bind(&label1);
    7724             :       ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    7725             :     }
    7726             :   }
    7727             : 
    7728         112 :   if (block11.is_used()) {
    7729             :     compiler::TNode<Context> tmp59;
    7730             :     compiler::TNode<JSReceiver> tmp60;
    7731             :     compiler::TNode<Number> tmp61;
    7732             :     compiler::TNode<Object> tmp62;
    7733             :     compiler::TNode<Object> tmp63;
    7734             :     compiler::TNode<Object> tmp64;
    7735             :     compiler::TNode<String> tmp65;
    7736             :     compiler::TNode<JSReceiver> tmp66;
    7737             :     ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
    7738             :     ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
    7739             :   }
    7740             : 
    7741         112 :   if (block12.is_used()) {
    7742             :     compiler::TNode<Context> tmp67;
    7743             :     compiler::TNode<JSReceiver> tmp68;
    7744             :     compiler::TNode<Number> tmp69;
    7745             :     compiler::TNode<Object> tmp70;
    7746             :     compiler::TNode<Object> tmp71;
    7747             :     compiler::TNode<Object> tmp72;
    7748             :     compiler::TNode<String> tmp73;
    7749             :     compiler::TNode<JSReceiver> tmp74;
    7750             :     ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
    7751             :     ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
    7752             :   }
    7753             : 
    7754         112 :   if (block6.is_used()) {
    7755             :     compiler::TNode<Context> tmp75;
    7756             :     compiler::TNode<JSReceiver> tmp76;
    7757             :     compiler::TNode<Number> tmp77;
    7758             :     compiler::TNode<Object> tmp78;
    7759             :     compiler::TNode<Object> tmp79;
    7760             :     compiler::TNode<Object> tmp80;
    7761             :     compiler::TNode<String> tmp81;
    7762             :     ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
    7763         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
    7764             :     compiler::TNode<Object> tmp82;
    7765             :     USE(tmp82);
    7766             :     compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7767         224 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
    7768         336 :     tmp82 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoin7JSArray(compiler::TNode<Context>{tmp75}, p_useToLocaleString, compiler::TNode<JSReceiver>{tmp76}, compiler::TNode<String>{tmp81}, compiler::TNode<Number>{tmp77}, compiler::TNode<Object>{tmp79}, compiler::TNode<Object>{tmp80}));
    7769             :     }
    7770         112 :     if (catch83_label.is_used()) {
    7771         112 :       compiler::CodeAssemblerLabel catch83_skip(&ca_);
    7772         112 :       ca_.Goto(&catch83_skip);
    7773             :       compiler::TNode<Object> catch83_exception_object;
    7774             :       ca_.Bind(&catch83_label, &catch83_exception_object);
    7775             :       ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
    7776         112 :       ca_.Bind(&catch83_skip);
    7777             :     }
    7778         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
    7779         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    7780             :     compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7781         224 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
    7782         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
    7783             :     }
    7784         112 :     if (catch84_label.is_used()) {
    7785         112 :       compiler::CodeAssemblerLabel catch84_skip(&ca_);
    7786         112 :       ca_.Goto(&catch84_skip);
    7787             :       compiler::TNode<Object> catch84_exception_object;
    7788             :       ca_.Bind(&catch84_label, &catch84_exception_object);
    7789             :       ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
    7790         112 :       ca_.Bind(&catch84_skip);
    7791             :     }
    7792         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
    7793             :     ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
    7794             :   }
    7795             : 
    7796         112 :   if (block16.is_used()) {
    7797             :     compiler::TNode<Context> tmp85;
    7798             :     compiler::TNode<JSReceiver> tmp86;
    7799             :     compiler::TNode<Number> tmp87;
    7800             :     compiler::TNode<Object> tmp88;
    7801             :     compiler::TNode<Object> tmp89;
    7802             :     compiler::TNode<Object> tmp90;
    7803             :     compiler::TNode<String> tmp91;
    7804             :     compiler::TNode<JSReceiver> tmp92;
    7805             :     compiler::TNode<String> tmp93;
    7806             :     compiler::TNode<Number> tmp94;
    7807             :     compiler::TNode<Object> tmp95;
    7808             :     compiler::TNode<Object> tmp96;
    7809             :     compiler::TNode<Object> tmp97;
    7810             :     ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
    7811         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
    7812             :     ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
    7813             :   }
    7814             : 
    7815         112 :   if (block17.is_used()) {
    7816             :     compiler::TNode<Context> tmp98;
    7817             :     compiler::TNode<JSReceiver> tmp99;
    7818             :     compiler::TNode<Number> tmp100;
    7819             :     compiler::TNode<Object> tmp101;
    7820             :     compiler::TNode<Object> tmp102;
    7821             :     compiler::TNode<Object> tmp103;
    7822             :     compiler::TNode<String> tmp104;
    7823             :     compiler::TNode<Object> tmp105;
    7824             :     compiler::TNode<JSReceiver> tmp106;
    7825             :     compiler::TNode<Object> tmp107;
    7826             :     ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
    7827         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    7828             :     ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
    7829             :   }
    7830             : 
    7831         112 :   if (block15.is_used()) {
    7832             :     compiler::TNode<Context> tmp108;
    7833             :     compiler::TNode<JSReceiver> tmp109;
    7834             :     compiler::TNode<Number> tmp110;
    7835             :     compiler::TNode<Object> tmp111;
    7836             :     compiler::TNode<Object> tmp112;
    7837             :     compiler::TNode<Object> tmp113;
    7838             :     compiler::TNode<String> tmp114;
    7839             :     compiler::TNode<Object> tmp115;
    7840             :     ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
    7841         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 550);
    7842         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
    7843         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
    7844         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
    7845         224 :     CodeStubAssembler(state_).Unreachable();
    7846             :   }
    7847             : 
    7848         112 :   if (block7.is_used()) {
    7849             :     compiler::TNode<Context> tmp117;
    7850             :     compiler::TNode<JSReceiver> tmp118;
    7851             :     compiler::TNode<Number> tmp119;
    7852             :     compiler::TNode<Object> tmp120;
    7853             :     compiler::TNode<Object> tmp121;
    7854             :     compiler::TNode<Object> tmp122;
    7855             :     compiler::TNode<String> tmp123;
    7856             :     ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
    7857         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 554);
    7858             :     compiler::TNode<String> tmp124;
    7859             :     USE(tmp124);
    7860         336 :     tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    7861             :     ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
    7862             :   }
    7863             : 
    7864         112 :   if (block1.is_used()) {
    7865             :     compiler::TNode<Context> tmp125;
    7866             :     compiler::TNode<JSReceiver> tmp126;
    7867             :     compiler::TNode<Number> tmp127;
    7868             :     compiler::TNode<Object> tmp128;
    7869             :     compiler::TNode<Object> tmp129;
    7870             :     compiler::TNode<Object> tmp130;
    7871             :     compiler::TNode<Object> tmp131;
    7872             :     ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
    7873         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 532);
    7874             :     ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
    7875             :   }
    7876             : 
    7877             :     compiler::TNode<Context> tmp132;
    7878             :     compiler::TNode<JSReceiver> tmp133;
    7879             :     compiler::TNode<Number> tmp134;
    7880             :     compiler::TNode<Object> tmp135;
    7881             :     compiler::TNode<Object> tmp136;
    7882             :     compiler::TNode<Object> tmp137;
    7883             :     compiler::TNode<Object> tmp138;
    7884             :     ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    7885         224 :   return compiler::TNode<Object>{tmp138};
    7886             : }
    7887             : 
    7888         112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_len, compiler::TNode<Object> p_sepObj, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
    7889         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7890             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7891             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7892             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7893             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7894             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7895             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7896             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7897             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7898             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7899             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7900             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7901             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7902             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7903             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7904             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7905             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7906             :     ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
    7907             : 
    7908         112 :   if (block0.is_used()) {
    7909             :     compiler::TNode<Context> tmp0;
    7910             :     compiler::TNode<JSReceiver> tmp1;
    7911             :     compiler::TNode<Number> tmp2;
    7912             :     compiler::TNode<Object> tmp3;
    7913             :     compiler::TNode<Object> tmp4;
    7914             :     compiler::TNode<Object> tmp5;
    7915             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    7916         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 539);
    7917             :     compiler::TNode<Oddball> tmp6;
    7918             :     USE(tmp6);
    7919         336 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    7920             :     compiler::TNode<BoolT> tmp7;
    7921             :     USE(tmp7);
    7922         224 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
    7923         112 :     ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
    7924             :   }
    7925             : 
    7926         112 :   if (block2.is_used()) {
    7927             :     compiler::TNode<Context> tmp8;
    7928             :     compiler::TNode<JSReceiver> tmp9;
    7929             :     compiler::TNode<Number> tmp10;
    7930             :     compiler::TNode<Object> tmp11;
    7931             :     compiler::TNode<Object> tmp12;
    7932             :     compiler::TNode<Object> tmp13;
    7933             :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    7934             :     ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
    7935             :   }
    7936             : 
    7937         112 :   if (block3.is_used()) {
    7938             :     compiler::TNode<Context> tmp14;
    7939             :     compiler::TNode<JSReceiver> tmp15;
    7940             :     compiler::TNode<Number> tmp16;
    7941             :     compiler::TNode<Object> tmp17;
    7942             :     compiler::TNode<Object> tmp18;
    7943             :     compiler::TNode<Object> tmp19;
    7944             :     ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
    7945             :     compiler::TNode<String> tmp20;
    7946             :     USE(tmp20);
    7947         448 :     tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
    7948             :     ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
    7949             :   }
    7950             : 
    7951         112 :   if (block5.is_used()) {
    7952             :     compiler::TNode<Context> tmp21;
    7953             :     compiler::TNode<JSReceiver> tmp22;
    7954             :     compiler::TNode<Number> tmp23;
    7955             :     compiler::TNode<Object> tmp24;
    7956             :     compiler::TNode<Object> tmp25;
    7957             :     compiler::TNode<Object> tmp26;
    7958             :     ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
    7959             :     compiler::TNode<String> tmp27;
    7960             :     USE(tmp27);
    7961         336 :     tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6String18ATconstexpr_string(","));
    7962             :     ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
    7963             :   }
    7964             : 
    7965         112 :   if (block4.is_used()) {
    7966             :     compiler::TNode<Context> tmp28;
    7967             :     compiler::TNode<JSReceiver> tmp29;
    7968             :     compiler::TNode<Number> tmp30;
    7969             :     compiler::TNode<Object> tmp31;
    7970             :     compiler::TNode<Object> tmp32;
    7971             :     compiler::TNode<Object> tmp33;
    7972             :     compiler::TNode<String> tmp34;
    7973             :     ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
    7974         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 538);
    7975         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
    7976             :     compiler::TNode<Number> tmp35;
    7977             :     USE(tmp35);
    7978         336 :     tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
    7979         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    7980         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    7981         224 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
    7982         112 :     if (label0.is_used()) {
    7983         112 :       ca_.Bind(&label0);
    7984             :       ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7985             :     }
    7986         112 :     if (label1.is_used()) {
    7987         112 :       ca_.Bind(&label1);
    7988             :       ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7989             :     }
    7990             :   }
    7991             : 
    7992         112 :   if (block9.is_used()) {
    7993             :     compiler::TNode<Context> tmp36;
    7994             :     compiler::TNode<JSReceiver> tmp37;
    7995             :     compiler::TNode<Number> tmp38;
    7996             :     compiler::TNode<Object> tmp39;
    7997             :     compiler::TNode<Object> tmp40;
    7998             :     compiler::TNode<Object> tmp41;
    7999             :     compiler::TNode<String> tmp42;
    8000             :     compiler::TNode<Number> tmp43;
    8001             :     ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    8002             :     ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
    8003             :   }
    8004             : 
    8005         112 :   if (block10.is_used()) {
    8006             :     compiler::TNode<Context> tmp44;
    8007             :     compiler::TNode<JSReceiver> tmp45;
    8008             :     compiler::TNode<Number> tmp46;
    8009             :     compiler::TNode<Object> tmp47;
    8010             :     compiler::TNode<Object> tmp48;
    8011             :     compiler::TNode<Object> tmp49;
    8012             :     compiler::TNode<String> tmp50;
    8013             :     compiler::TNode<Number> tmp51;
    8014             :     ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    8015             :     ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
    8016             :   }
    8017             : 
    8018         112 :   if (block8.is_used()) {
    8019             :     compiler::TNode<Context> tmp52;
    8020             :     compiler::TNode<JSReceiver> tmp53;
    8021             :     compiler::TNode<Number> tmp54;
    8022             :     compiler::TNode<Object> tmp55;
    8023             :     compiler::TNode<Object> tmp56;
    8024             :     compiler::TNode<Object> tmp57;
    8025             :     compiler::TNode<String> tmp58;
    8026             :     ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
    8027         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    8028         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    8029         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
    8030         112 :     if (label0.is_used()) {
    8031         112 :       ca_.Bind(&label0);
    8032             :       ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    8033             :     }
    8034         112 :     if (label1.is_used()) {
    8035         112 :       ca_.Bind(&label1);
    8036             :       ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    8037             :     }
    8038             :   }
    8039             : 
    8040         112 :   if (block11.is_used()) {
    8041             :     compiler::TNode<Context> tmp59;
    8042             :     compiler::TNode<JSReceiver> tmp60;
    8043             :     compiler::TNode<Number> tmp61;
    8044             :     compiler::TNode<Object> tmp62;
    8045             :     compiler::TNode<Object> tmp63;
    8046             :     compiler::TNode<Object> tmp64;
    8047             :     compiler::TNode<String> tmp65;
    8048             :     compiler::TNode<JSReceiver> tmp66;
    8049             :     ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
    8050             :     ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
    8051             :   }
    8052             : 
    8053         112 :   if (block12.is_used()) {
    8054             :     compiler::TNode<Context> tmp67;
    8055             :     compiler::TNode<JSReceiver> tmp68;
    8056             :     compiler::TNode<Number> tmp69;
    8057             :     compiler::TNode<Object> tmp70;
    8058             :     compiler::TNode<Object> tmp71;
    8059             :     compiler::TNode<Object> tmp72;
    8060             :     compiler::TNode<String> tmp73;
    8061             :     compiler::TNode<JSReceiver> tmp74;
    8062             :     ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
    8063             :     ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
    8064             :   }
    8065             : 
    8066         112 :   if (block6.is_used()) {
    8067             :     compiler::TNode<Context> tmp75;
    8068             :     compiler::TNode<JSReceiver> tmp76;
    8069             :     compiler::TNode<Number> tmp77;
    8070             :     compiler::TNode<Object> tmp78;
    8071             :     compiler::TNode<Object> tmp79;
    8072             :     compiler::TNode<Object> tmp80;
    8073             :     compiler::TNode<String> tmp81;
    8074             :     ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
    8075         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
    8076             :     compiler::TNode<Object> tmp82;
    8077             :     USE(tmp82);
    8078             :     compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8079         224 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
    8080         336 :     tmp82 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp75}, p_useToLocaleString, compiler::TNode<JSReceiver>{tmp76}, compiler::TNode<String>{tmp81}, compiler::TNode<Number>{tmp77}, compiler::TNode<Object>{tmp79}, compiler::TNode<Object>{tmp80}));
    8081             :     }
    8082         112 :     if (catch83_label.is_used()) {
    8083         112 :       compiler::CodeAssemblerLabel catch83_skip(&ca_);
    8084         112 :       ca_.Goto(&catch83_skip);
    8085             :       compiler::TNode<Object> catch83_exception_object;
    8086             :       ca_.Bind(&catch83_label, &catch83_exception_object);
    8087             :       ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
    8088         112 :       ca_.Bind(&catch83_skip);
    8089             :     }
    8090         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
    8091         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    8092             :     compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8093         224 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
    8094         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
    8095             :     }
    8096         112 :     if (catch84_label.is_used()) {
    8097         112 :       compiler::CodeAssemblerLabel catch84_skip(&ca_);
    8098         112 :       ca_.Goto(&catch84_skip);
    8099             :       compiler::TNode<Object> catch84_exception_object;
    8100             :       ca_.Bind(&catch84_label, &catch84_exception_object);
    8101             :       ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
    8102         112 :       ca_.Bind(&catch84_skip);
    8103             :     }
    8104         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
    8105             :     ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
    8106             :   }
    8107             : 
    8108         112 :   if (block16.is_used()) {
    8109             :     compiler::TNode<Context> tmp85;
    8110             :     compiler::TNode<JSReceiver> tmp86;
    8111             :     compiler::TNode<Number> tmp87;
    8112             :     compiler::TNode<Object> tmp88;
    8113             :     compiler::TNode<Object> tmp89;
    8114             :     compiler::TNode<Object> tmp90;
    8115             :     compiler::TNode<String> tmp91;
    8116             :     compiler::TNode<JSReceiver> tmp92;
    8117             :     compiler::TNode<String> tmp93;
    8118             :     compiler::TNode<Number> tmp94;
    8119             :     compiler::TNode<Object> tmp95;
    8120             :     compiler::TNode<Object> tmp96;
    8121             :     compiler::TNode<Object> tmp97;
    8122             :     ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
    8123         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
    8124             :     ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
    8125             :   }
    8126             : 
    8127         112 :   if (block17.is_used()) {
    8128             :     compiler::TNode<Context> tmp98;
    8129             :     compiler::TNode<JSReceiver> tmp99;
    8130             :     compiler::TNode<Number> tmp100;
    8131             :     compiler::TNode<Object> tmp101;
    8132             :     compiler::TNode<Object> tmp102;
    8133             :     compiler::TNode<Object> tmp103;
    8134             :     compiler::TNode<String> tmp104;
    8135             :     compiler::TNode<Object> tmp105;
    8136             :     compiler::TNode<JSReceiver> tmp106;
    8137             :     compiler::TNode<Object> tmp107;
    8138             :     ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
    8139         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    8140             :     ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
    8141             :   }
    8142             : 
    8143         112 :   if (block15.is_used()) {
    8144             :     compiler::TNode<Context> tmp108;
    8145             :     compiler::TNode<JSReceiver> tmp109;
    8146             :     compiler::TNode<Number> tmp110;
    8147             :     compiler::TNode<Object> tmp111;
    8148             :     compiler::TNode<Object> tmp112;
    8149             :     compiler::TNode<Object> tmp113;
    8150             :     compiler::TNode<String> tmp114;
    8151             :     compiler::TNode<Object> tmp115;
    8152             :     ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
    8153         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 550);
    8154         336 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
    8155         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
    8156         224 :     CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
    8157         224 :     CodeStubAssembler(state_).Unreachable();
    8158             :   }
    8159             : 
    8160         112 :   if (block7.is_used()) {
    8161             :     compiler::TNode<Context> tmp117;
    8162             :     compiler::TNode<JSReceiver> tmp118;
    8163             :     compiler::TNode<Number> tmp119;
    8164             :     compiler::TNode<Object> tmp120;
    8165             :     compiler::TNode<Object> tmp121;
    8166             :     compiler::TNode<Object> tmp122;
    8167             :     compiler::TNode<String> tmp123;
    8168             :     ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
    8169         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 554);
    8170             :     compiler::TNode<String> tmp124;
    8171             :     USE(tmp124);
    8172         336 :     tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    8173             :     ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
    8174             :   }
    8175             : 
    8176         112 :   if (block1.is_used()) {
    8177             :     compiler::TNode<Context> tmp125;
    8178             :     compiler::TNode<JSReceiver> tmp126;
    8179             :     compiler::TNode<Number> tmp127;
    8180             :     compiler::TNode<Object> tmp128;
    8181             :     compiler::TNode<Object> tmp129;
    8182             :     compiler::TNode<Object> tmp130;
    8183             :     compiler::TNode<Object> tmp131;
    8184             :     ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
    8185         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 532);
    8186             :     ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
    8187             :   }
    8188             : 
    8189             :     compiler::TNode<Context> tmp132;
    8190             :     compiler::TNode<JSReceiver> tmp133;
    8191             :     compiler::TNode<Number> tmp134;
    8192             :     compiler::TNode<Object> tmp135;
    8193             :     compiler::TNode<Object> tmp136;
    8194             :     compiler::TNode<Object> tmp137;
    8195             :     compiler::TNode<Object> tmp138;
    8196             :     ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    8197         224 :   return compiler::TNode<Object>{tmp138};
    8198             : }
    8199             : 
    8200         448 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<Smi> p_element) {
    8201         448 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8202             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8203             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8204             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8205             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8206             :     ca_.Goto(&block0, p_fixedArray, p_index, p_element);
    8207             : 
    8208         448 :   if (block0.is_used()) {
    8209             :     compiler::TNode<FixedArray> tmp0;
    8210             :     compiler::TNode<IntPtrT> tmp1;
    8211             :     compiler::TNode<Smi> tmp2;
    8212             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    8213         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
    8214             :     compiler::TNode<IntPtrT> tmp3;
    8215             :     USE(tmp3);
    8216         896 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
    8217         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
    8218             :     compiler::TNode<BoolT> tmp4;
    8219             :     USE(tmp4);
    8220        1344 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
    8221         448 :     ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
    8222             :   }
    8223             : 
    8224         448 :   if (block2.is_used()) {
    8225             :     compiler::TNode<FixedArray> tmp5;
    8226             :     compiler::TNode<IntPtrT> tmp6;
    8227             :     compiler::TNode<Smi> tmp7;
    8228             :     compiler::TNode<IntPtrT> tmp8;
    8229             :     ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
    8230         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
    8231         896 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<Smi>{tmp7});
    8232         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
    8233             :     ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
    8234             :   }
    8235             : 
    8236         448 :   if (block3.is_used()) {
    8237             :     compiler::TNode<FixedArray> tmp9;
    8238             :     compiler::TNode<IntPtrT> tmp10;
    8239             :     compiler::TNode<Smi> tmp11;
    8240             :     compiler::TNode<IntPtrT> tmp12;
    8241             :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
    8242         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
    8243             :     compiler::TNode<IntPtrT> tmp13;
    8244             :     USE(tmp13);
    8245         896 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
    8246         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
    8247             :     compiler::TNode<IntPtrT> tmp14;
    8248             :     USE(tmp14);
    8249        1344 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    8250             :     compiler::TNode<FixedArray> tmp15;
    8251             :     USE(tmp15);
    8252         896 :     tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArray>{tmp9}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp12}, compiler::TNode<IntPtrT>{tmp13}, CodeStubAssembler::ExtractFixedArrayFlag::kFixedArrays));
    8253         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
    8254         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
    8255         896 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<Smi>{tmp11});
    8256         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
    8257             :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
    8258             :   }
    8259             : 
    8260         448 :   if (block1.is_used()) {
    8261             :     compiler::TNode<FixedArray> tmp16;
    8262             :     compiler::TNode<IntPtrT> tmp17;
    8263             :     compiler::TNode<Smi> tmp18;
    8264             :     compiler::TNode<FixedArray> tmp19;
    8265             :     ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
    8266         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
    8267             :     ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
    8268             :   }
    8269             : 
    8270             :     compiler::TNode<FixedArray> tmp20;
    8271             :     compiler::TNode<IntPtrT> tmp21;
    8272             :     compiler::TNode<Smi> tmp22;
    8273             :     compiler::TNode<FixedArray> tmp23;
    8274             :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
    8275         896 :   return compiler::TNode<FixedArray>{tmp23};
    8276             : }
    8277             : 
    8278         224 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray6String(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<String> p_element) {
    8279         224 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8280             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8281             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8282             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8283             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8284             :     ca_.Goto(&block0, p_fixedArray, p_index, p_element);
    8285             : 
    8286         224 :   if (block0.is_used()) {
    8287             :     compiler::TNode<FixedArray> tmp0;
    8288             :     compiler::TNode<IntPtrT> tmp1;
    8289             :     compiler::TNode<String> tmp2;
    8290             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    8291         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
    8292             :     compiler::TNode<IntPtrT> tmp3;
    8293             :     USE(tmp3);
    8294         448 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
    8295         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
    8296             :     compiler::TNode<BoolT> tmp4;
    8297             :     USE(tmp4);
    8298         672 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
    8299         224 :     ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
    8300             :   }
    8301             : 
    8302         224 :   if (block2.is_used()) {
    8303             :     compiler::TNode<FixedArray> tmp5;
    8304             :     compiler::TNode<IntPtrT> tmp6;
    8305             :     compiler::TNode<String> tmp7;
    8306             :     compiler::TNode<IntPtrT> tmp8;
    8307             :     ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
    8308         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
    8309         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
    8310         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
    8311             :     ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
    8312             :   }
    8313             : 
    8314         224 :   if (block3.is_used()) {
    8315             :     compiler::TNode<FixedArray> tmp9;
    8316             :     compiler::TNode<IntPtrT> tmp10;
    8317             :     compiler::TNode<String> tmp11;
    8318             :     compiler::TNode<IntPtrT> tmp12;
    8319             :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
    8320         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
    8321             :     compiler::TNode<IntPtrT> tmp13;
    8322             :     USE(tmp13);
    8323         448 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
    8324         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
    8325             :     compiler::TNode<IntPtrT> tmp14;
    8326             :     USE(tmp14);
    8327         672 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    8328             :     compiler::TNode<FixedArray> tmp15;
    8329             :     USE(tmp15);
    8330         448 :     tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArray>{tmp9}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp12}, compiler::TNode<IntPtrT>{tmp13}, CodeStubAssembler::ExtractFixedArrayFlag::kFixedArrays));
    8331         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
    8332         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
    8333         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
    8334         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
    8335             :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
    8336             :   }
    8337             : 
    8338         224 :   if (block1.is_used()) {
    8339             :     compiler::TNode<FixedArray> tmp16;
    8340             :     compiler::TNode<IntPtrT> tmp17;
    8341             :     compiler::TNode<String> tmp18;
    8342             :     compiler::TNode<FixedArray> tmp19;
    8343             :     ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
    8344         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
    8345             :     ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
    8346             :   }
    8347             : 
    8348             :     compiler::TNode<FixedArray> tmp20;
    8349             :     compiler::TNode<IntPtrT> tmp21;
    8350             :     compiler::TNode<String> tmp22;
    8351             :     compiler::TNode<FixedArray> tmp23;
    8352             :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
    8353         448 :   return compiler::TNode<FixedArray>{tmp23};
    8354             : }
    8355             : 
    8356             : }  // namespace internal
    8357       59456 : }  // namespace v8
    8358             : 

Generated by: LCOV version 1.10