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: 7408 7408 100.0 %
Date: 2019-03-21 Functions: 135 135 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/js-generator.h"
      10             : #include "src/objects/js-promise.h"
      11             : #include "src/objects/js-regexp-string-iterator.h"
      12             : #include "src/objects/module.h"
      13             : #include "src/objects/stack-frame-info.h"
      14             : #include "src/builtins/builtins-array-gen.h"
      15             : #include "src/builtins/builtins-collections-gen.h"
      16             : #include "src/builtins/builtins-data-view-gen.h"
      17             : #include "src/builtins/builtins-iterator-gen.h"
      18             : #include "src/builtins/builtins-proxy-gen.h"
      19             : #include "src/builtins/builtins-regexp-gen.h"
      20             : #include "src/builtins/builtins-typed-array-gen.h"
      21             : #include "src/builtins/builtins-constructor-gen.h"
      22             : #include "src/builtins/builtins-typed-array-gen.h"
      23             : #include "src/builtins/builtins-typed-array-gen.h"
      24             : #include "src/builtins/builtins-typed-array-gen.h"
      25             : #include "src/builtins/builtins-typed-array-gen.h"
      26             : #include "src/builtins/builtins-typed-array-gen.h"
      27             : #include "src/builtins/builtins-typed-array-gen.h"
      28             : #include "src/builtins/builtins-typed-array-gen.h"
      29             : #include "src/builtins/builtins-typed-array-gen.h"
      30             : #include "torque-generated/builtins-base-from-dsl-gen.h"
      31             : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
      32             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      33             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      34             : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
      35             : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
      36             : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
      37             : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
      38             : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
      39             : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
      40             : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
      41             : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
      42             : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
      43             : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
      44             : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
      45             : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
      46             : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
      47             : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
      48             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      49             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      50             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      51             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      52             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      53             : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
      54             : #include "torque-generated/builtins-string-from-dsl-gen.h"
      55             : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
      56             : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
      57             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      58             : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
      59             : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
      60             : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
      61             : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
      62             : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
      63             : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
      64             : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
      65             : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
      66             : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
      67             : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
      68             : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
      69             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      70             : 
      71             : namespace v8 {
      72             : namespace internal {
      73             : 
      74         392 : TF_BUILTIN(LoadJoinElement20ATDictionaryElements, CodeStubAssembler) {
      75         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
      76          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
      77          56 :   USE(parameter0);
      78          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
      79          56 :   USE(parameter1);
      80          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
      81          56 :   USE(parameter2);
      82         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      83         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      84         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      85         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary, NumberDictionary, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      86         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
      87         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, NumberDictionary> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      88          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
      89             : 
      90          56 :   if (block0.is_used()) {
      91          56 :     compiler::TNode<Context> tmp0;
      92          56 :     compiler::TNode<JSReceiver> tmp1;
      93          56 :     compiler::TNode<Number> tmp2;
      94          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
      95          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 21);
      96          56 :     compiler::TNode<JSArray> tmp3;
      97          56 :     USE(tmp3);
      98          56 :     tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
      99          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 22);
     100          56 :     compiler::TNode<FixedArrayBase> tmp4;
     101          56 :     USE(tmp4);
     102          56 :     tmp4 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp3}));
     103          56 :     compiler::TNode<NumberDictionary> tmp5;
     104          56 :     USE(tmp5);
     105          56 :     tmp5 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
     106          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 24);
     107          56 :     compiler::TNode<UintPtrT> tmp6;
     108          56 :     USE(tmp6);
     109          56 :     tmp6 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr22UT12ATHeapNumber5ATSmi(compiler::TNode<Number>{tmp2}));
     110          56 :     compiler::TNode<IntPtrT> tmp7;
     111          56 :     USE(tmp7);
     112          56 :     tmp7 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp6}));
     113          56 :     compiler::TNode<Object> tmp8;
     114          56 :     USE(tmp8);
     115         112 :     compiler::CodeAssemblerLabel label0(&ca_);
     116         112 :     compiler::CodeAssemblerLabel label1(&ca_);
     117          56 :     tmp8 = CodeStubAssembler(state_).BasicLoadNumberDictionaryElement(compiler::TNode<NumberDictionary>{tmp5}, compiler::TNode<IntPtrT>{tmp7}, &label0, &label1);
     118          56 :     ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp7, tmp8);
     119          56 :     if (label0.is_used()) {
     120          56 :       ca_.Bind(&label0);
     121          56 :       ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp7);
     122             :     }
     123          56 :     if (label1.is_used()) {
     124          56 :       ca_.Bind(&label1);
     125          56 :       ca_.Goto(&block7, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp7);
     126             :     }
     127             :   }
     128             : 
     129          56 :   if (block6.is_used()) {
     130          56 :     compiler::TNode<Context> tmp9;
     131          56 :     compiler::TNode<JSReceiver> tmp10;
     132          56 :     compiler::TNode<Number> tmp11;
     133          56 :     compiler::TNode<JSArray> tmp12;
     134          56 :     compiler::TNode<NumberDictionary> tmp13;
     135          56 :     compiler::TNode<NumberDictionary> tmp14;
     136          56 :     compiler::TNode<IntPtrT> tmp15;
     137          56 :     ca_.Bind(&block6, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     138          56 :     ca_.Goto(&block4, tmp9, tmp10, tmp11, tmp12, tmp13);
     139             :   }
     140             : 
     141          56 :   if (block7.is_used()) {
     142          56 :     compiler::TNode<Context> tmp16;
     143          56 :     compiler::TNode<JSReceiver> tmp17;
     144          56 :     compiler::TNode<Number> tmp18;
     145          56 :     compiler::TNode<JSArray> tmp19;
     146          56 :     compiler::TNode<NumberDictionary> tmp20;
     147          56 :     compiler::TNode<NumberDictionary> tmp21;
     148          56 :     compiler::TNode<IntPtrT> tmp22;
     149          56 :     ca_.Bind(&block7, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
     150          56 :     ca_.Goto(&block2, tmp16, tmp17, tmp18, tmp19, tmp20);
     151             :   }
     152             : 
     153          56 :   if (block5.is_used()) {
     154          56 :     compiler::TNode<Context> tmp23;
     155          56 :     compiler::TNode<JSReceiver> tmp24;
     156          56 :     compiler::TNode<Number> tmp25;
     157          56 :     compiler::TNode<JSArray> tmp26;
     158          56 :     compiler::TNode<NumberDictionary> tmp27;
     159          56 :     compiler::TNode<NumberDictionary> tmp28;
     160          56 :     compiler::TNode<IntPtrT> tmp29;
     161          56 :     compiler::TNode<Object> tmp30;
     162          56 :     ca_.Bind(&block5, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
     163          56 :     CodeStubAssembler(state_).Return(tmp30);
     164             :   }
     165             : 
     166          56 :   if (block4.is_used()) {
     167          56 :     compiler::TNode<Context> tmp31;
     168          56 :     compiler::TNode<JSReceiver> tmp32;
     169          56 :     compiler::TNode<Number> tmp33;
     170          56 :     compiler::TNode<JSArray> tmp34;
     171          56 :     compiler::TNode<NumberDictionary> tmp35;
     172          56 :     ca_.Bind(&block4, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
     173          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 28);
     174          56 :     compiler::TNode<Object> tmp36;
     175          56 :     USE(tmp36);
     176          56 :     tmp36 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp31}, compiler::TNode<Object>{tmp32}, compiler::TNode<Object>{tmp33}));
     177          56 :     CodeStubAssembler(state_).Return(tmp36);
     178             :   }
     179             : 
     180          56 :   if (block2.is_used()) {
     181          56 :     compiler::TNode<Context> tmp37;
     182          56 :     compiler::TNode<JSReceiver> tmp38;
     183          56 :     compiler::TNode<Number> tmp39;
     184          56 :     compiler::TNode<JSArray> tmp40;
     185          56 :     compiler::TNode<NumberDictionary> tmp41;
     186          56 :     ca_.Bind(&block2, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41);
     187          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 31);
     188          56 :     compiler::TNode<String> tmp42;
     189          56 :     USE(tmp42);
     190          56 :     tmp42 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     191          56 :     CodeStubAssembler(state_).Return(tmp42);
     192             :   }
     193          56 : }
     194             : 
     195         392 : TF_BUILTIN(LoadJoinElement25ATFastSmiOrObjectElements, CodeStubAssembler) {
     196         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     197          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     198          56 :   USE(parameter0);
     199          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
     200          56 :   USE(parameter1);
     201          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
     202          56 :   USE(parameter2);
     203         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     204         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     205         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     206         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     207         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedArray, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     208          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
     209             : 
     210          56 :   if (block0.is_used()) {
     211          56 :     compiler::TNode<Context> tmp0;
     212          56 :     compiler::TNode<JSReceiver> tmp1;
     213          56 :     compiler::TNode<Number> tmp2;
     214          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     215          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 37);
     216          56 :     compiler::TNode<JSArray> tmp3;
     217          56 :     USE(tmp3);
     218          56 :     tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     219          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 38);
     220          56 :     compiler::TNode<FixedArrayBase> tmp4;
     221          56 :     USE(tmp4);
     222          56 :     tmp4 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp3}));
     223          56 :     compiler::TNode<FixedArray> tmp5;
     224          56 :     USE(tmp5);
     225          56 :     tmp5 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
     226          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 39);
     227          56 :     compiler::TNode<Smi> tmp6;
     228          56 :     USE(tmp6);
     229          56 :     tmp6 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     230          56 :     compiler::TNode<Object> tmp7;
     231          56 :     USE(tmp7);
     232          56 :     tmp7 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<Smi>{tmp6}));
     233          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 40);
     234          56 :     compiler::TNode<Oddball> tmp8;
     235          56 :     USE(tmp8);
     236          56 :     tmp8 = BaseBuiltinsFromDSLAssembler(state_).Hole();
     237          56 :     compiler::TNode<BoolT> tmp9;
     238          56 :     USE(tmp9);
     239          56 :     tmp9 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp7}, compiler::TNode<HeapObject>{tmp8}));
     240          56 :     ca_.Branch(tmp9, &block1, &block2, tmp0, tmp1, tmp2, tmp3, tmp5, tmp7);
     241             :   }
     242             : 
     243          56 :   if (block1.is_used()) {
     244          56 :     compiler::TNode<Context> tmp10;
     245          56 :     compiler::TNode<JSReceiver> tmp11;
     246          56 :     compiler::TNode<Number> tmp12;
     247          56 :     compiler::TNode<JSArray> tmp13;
     248          56 :     compiler::TNode<FixedArray> tmp14;
     249          56 :     compiler::TNode<Object> tmp15;
     250          56 :     ca_.Bind(&block1, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     251          56 :     compiler::TNode<String> tmp16;
     252          56 :     USE(tmp16);
     253          56 :     tmp16 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     254          56 :     ca_.Goto(&block4, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
     255             :   }
     256             : 
     257          56 :   if (block2.is_used()) {
     258          56 :     compiler::TNode<Context> tmp17;
     259          56 :     compiler::TNode<JSReceiver> tmp18;
     260          56 :     compiler::TNode<Number> tmp19;
     261          56 :     compiler::TNode<JSArray> tmp20;
     262          56 :     compiler::TNode<FixedArray> tmp21;
     263          56 :     compiler::TNode<Object> tmp22;
     264          56 :     ca_.Bind(&block2, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
     265          56 :     ca_.Goto(&block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp22);
     266             :   }
     267             : 
     268          56 :   if (block4.is_used()) {
     269          56 :     compiler::TNode<Context> tmp23;
     270          56 :     compiler::TNode<JSReceiver> tmp24;
     271          56 :     compiler::TNode<Number> tmp25;
     272          56 :     compiler::TNode<JSArray> tmp26;
     273          56 :     compiler::TNode<FixedArray> tmp27;
     274          56 :     compiler::TNode<Object> tmp28;
     275          56 :     compiler::TNode<String> tmp29;
     276          56 :     ca_.Bind(&block4, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
     277          56 :     ca_.Goto(&block3, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29);
     278             :   }
     279             : 
     280          56 :   if (block3.is_used()) {
     281          56 :     compiler::TNode<Context> tmp30;
     282          56 :     compiler::TNode<JSReceiver> tmp31;
     283          56 :     compiler::TNode<Number> tmp32;
     284          56 :     compiler::TNode<JSArray> tmp33;
     285          56 :     compiler::TNode<FixedArray> tmp34;
     286          56 :     compiler::TNode<Object> tmp35;
     287          56 :     compiler::TNode<Object> tmp36;
     288          56 :     ca_.Bind(&block3, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
     289          56 :     CodeStubAssembler(state_).Return(tmp36);
     290             :   }
     291          56 : }
     292             : 
     293         392 : TF_BUILTIN(LoadJoinElement20ATFastDoubleElements, CodeStubAssembler) {
     294         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     295          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     296          56 :   USE(parameter0);
     297          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
     298          56 :   USE(parameter1);
     299          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
     300          56 :   USE(parameter2);
     301         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     302         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     303         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, FixedDoubleArray, Smi, Float64T> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     304         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     305         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSArray, FixedDoubleArray, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     306          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
     307             : 
     308          56 :   if (block0.is_used()) {
     309          56 :     compiler::TNode<Context> tmp0;
     310          56 :     compiler::TNode<JSReceiver> tmp1;
     311          56 :     compiler::TNode<Number> tmp2;
     312          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     313          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 45);
     314          56 :     compiler::TNode<JSArray> tmp3;
     315          56 :     USE(tmp3);
     316          56 :     tmp3 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     317          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 47);
     318          56 :     compiler::TNode<FixedArrayBase> tmp4;
     319          56 :     USE(tmp4);
     320          56 :     tmp4 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp3}));
     321          56 :     compiler::TNode<FixedDoubleArray> tmp5;
     322          56 :     USE(tmp5);
     323          56 :     tmp5 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
     324          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 46);
     325          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
     326          56 :     compiler::TNode<Smi> tmp6;
     327          56 :     USE(tmp6);
     328          56 :     tmp6 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     329          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
     330          56 :     compiler::TNode<Float64T> tmp7;
     331          56 :     USE(tmp7);
     332         112 :     compiler::CodeAssemblerLabel label0(&ca_);
     333          56 :     tmp7 = CodeStubAssembler(state_).LoadDoubleWithHoleCheck(compiler::TNode<FixedDoubleArray>{tmp5}, compiler::TNode<Smi>{tmp6}, &label0);
     334          56 :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp6, tmp7);
     335          56 :     if (label0.is_used()) {
     336          56 :       ca_.Bind(&label0);
     337          56 :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp5, tmp5, tmp6);
     338             :     }
     339             :   }
     340             : 
     341          56 :   if (block4.is_used()) {
     342          56 :     compiler::TNode<Context> tmp8;
     343          56 :     compiler::TNode<JSReceiver> tmp9;
     344          56 :     compiler::TNode<Number> tmp10;
     345          56 :     compiler::TNode<JSArray> tmp11;
     346          56 :     compiler::TNode<FixedDoubleArray> tmp12;
     347          56 :     compiler::TNode<FixedDoubleArray> tmp13;
     348          56 :     compiler::TNode<Smi> tmp14;
     349          56 :     ca_.Bind(&block4, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
     350          56 :     ca_.Goto(&block2, tmp8, tmp9, tmp10, tmp11, tmp12);
     351             :   }
     352             : 
     353          56 :   if (block3.is_used()) {
     354          56 :     compiler::TNode<Context> tmp15;
     355          56 :     compiler::TNode<JSReceiver> tmp16;
     356          56 :     compiler::TNode<Number> tmp17;
     357          56 :     compiler::TNode<JSArray> tmp18;
     358          56 :     compiler::TNode<FixedDoubleArray> tmp19;
     359          56 :     compiler::TNode<FixedDoubleArray> tmp20;
     360          56 :     compiler::TNode<Smi> tmp21;
     361          56 :     compiler::TNode<Float64T> tmp22;
     362          56 :     ca_.Bind(&block3, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
     363          56 :     ca_.Goto(&block1, tmp15, tmp16, tmp17, tmp18, tmp19, tmp22);
     364             :   }
     365             : 
     366          56 :   if (block2.is_used()) {
     367          56 :     compiler::TNode<Context> tmp23;
     368          56 :     compiler::TNode<JSReceiver> tmp24;
     369          56 :     compiler::TNode<Number> tmp25;
     370          56 :     compiler::TNode<JSArray> tmp26;
     371          56 :     compiler::TNode<FixedDoubleArray> tmp27;
     372          56 :     ca_.Bind(&block2, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
     373          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 49);
     374          56 :     compiler::TNode<String> tmp28;
     375          56 :     USE(tmp28);
     376          56 :     tmp28 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     377          56 :     CodeStubAssembler(state_).Return(tmp28);
     378             :   }
     379             : 
     380          56 :   if (block1.is_used()) {
     381          56 :     compiler::TNode<Context> tmp29;
     382          56 :     compiler::TNode<JSReceiver> tmp30;
     383          56 :     compiler::TNode<Number> tmp31;
     384          56 :     compiler::TNode<JSArray> tmp32;
     385          56 :     compiler::TNode<FixedDoubleArray> tmp33;
     386          56 :     compiler::TNode<Float64T> tmp34;
     387          56 :     ca_.Bind(&block1, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
     388          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 48);
     389          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 50);
     390          56 :     compiler::TNode<HeapNumber> tmp35;
     391          56 :     USE(tmp35);
     392          56 :     tmp35 = ca_.UncheckedCast<HeapNumber>(CodeStubAssembler(state_).AllocateHeapNumberWithValue(compiler::TNode<Float64T>{tmp34}));
     393          56 :     CodeStubAssembler(state_).Return(tmp35);
     394             :   }
     395          56 : }
     396             : 
     397         448 : TF_BUILTIN(ConvertToLocaleString, CodeStubAssembler) {
     398         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     399          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     400          56 :   USE(parameter0);
     401          56 :   compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kElement));
     402          56 :   USE(parameter1);
     403          56 :   compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kLocales));
     404          56 :   USE(parameter2);
     405          56 :   compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kOptions));
     406          56 :   USE(parameter3);
     407         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     408         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     409         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     410         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     411         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     412         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     413         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     414         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     415         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     416         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     417         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, JSReceiver, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     418         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     419          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3);
     420             : 
     421          56 :   if (block0.is_used()) {
     422          56 :     compiler::TNode<Context> tmp0;
     423          56 :     compiler::TNode<Object> tmp1;
     424          56 :     compiler::TNode<Object> tmp2;
     425          56 :     compiler::TNode<Object> tmp3;
     426          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
     427          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 65);
     428          56 :     compiler::TNode<BoolT> tmp4;
     429          56 :     USE(tmp4);
     430          56 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp1}));
     431          56 :     ca_.Branch(tmp4, &block1, &block2, tmp0, tmp1, tmp2, tmp3);
     432             :   }
     433             : 
     434          56 :   if (block1.is_used()) {
     435          56 :     compiler::TNode<Context> tmp5;
     436          56 :     compiler::TNode<Object> tmp6;
     437          56 :     compiler::TNode<Object> tmp7;
     438          56 :     compiler::TNode<Object> tmp8;
     439          56 :     ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
     440          56 :     compiler::TNode<String> tmp9;
     441          56 :     USE(tmp9);
     442          56 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     443          56 :     CodeStubAssembler(state_).Return(tmp9);
     444             :   }
     445             : 
     446          56 :   if (block2.is_used()) {
     447          56 :     compiler::TNode<Context> tmp10;
     448          56 :     compiler::TNode<Object> tmp11;
     449          56 :     compiler::TNode<Object> tmp12;
     450          56 :     compiler::TNode<Object> tmp13;
     451          56 :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13);
     452          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 67);
     453          56 :     compiler::TNode<Object> tmp14;
     454          56 :     USE(tmp14);
     455          56 :     tmp14 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("toLocaleString"));
     456          56 :     compiler::TNode<Object> tmp15;
     457          56 :     USE(tmp15);
     458          56 :     tmp15 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp11}, compiler::TNode<Object>{tmp14}));
     459          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 69);
     460          56 :     compiler::TNode<JSReceiver> tmp16;
     461          56 :     USE(tmp16);
     462         112 :     compiler::CodeAssemblerLabel label0(&ca_);
     463          56 :     tmp16 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp15}, &label0);
     464          56 :     ca_.Goto(&block5, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15, tmp16);
     465          56 :     if (label0.is_used()) {
     466          56 :       ca_.Bind(&label0);
     467          56 :       ca_.Goto(&block6, tmp10, tmp11, tmp12, tmp13, tmp15, tmp15);
     468             :     }
     469             :   }
     470             : 
     471          56 :   if (block6.is_used()) {
     472          56 :     compiler::TNode<Context> tmp17;
     473          56 :     compiler::TNode<Object> tmp18;
     474          56 :     compiler::TNode<Object> tmp19;
     475          56 :     compiler::TNode<Object> tmp20;
     476          56 :     compiler::TNode<Object> tmp21;
     477          56 :     compiler::TNode<Object> tmp22;
     478          56 :     ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
     479          56 :     ca_.Goto(&block4, tmp17, tmp18, tmp19, tmp20, tmp21);
     480             :   }
     481             : 
     482          56 :   if (block5.is_used()) {
     483          56 :     compiler::TNode<Context> tmp23;
     484          56 :     compiler::TNode<Object> tmp24;
     485          56 :     compiler::TNode<Object> tmp25;
     486          56 :     compiler::TNode<Object> tmp26;
     487          56 :     compiler::TNode<Object> tmp27;
     488          56 :     compiler::TNode<Object> tmp28;
     489          56 :     compiler::TNode<JSReceiver> tmp29;
     490          56 :     ca_.Bind(&block5, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
     491          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 70);
     492          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
     493          56 :     compiler::TNode<BoolT> tmp30;
     494          56 :     USE(tmp30);
     495          56 :     tmp30 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp25}));
     496          56 :     ca_.Branch(tmp30, &block7, &block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp29, ca_.Uninitialized<Object>());
     497             :   }
     498             : 
     499          56 :   if (block7.is_used()) {
     500          56 :     compiler::TNode<Context> tmp31;
     501          56 :     compiler::TNode<Object> tmp32;
     502          56 :     compiler::TNode<Object> tmp33;
     503          56 :     compiler::TNode<Object> tmp34;
     504          56 :     compiler::TNode<Object> tmp35;
     505          56 :     compiler::TNode<JSReceiver> tmp36;
     506          56 :     compiler::TNode<Object> tmp37;
     507          56 :     ca_.Bind(&block7, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
     508          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 72);
     509          56 :     compiler::TNode<Object> tmp38;
     510          56 :     USE(tmp38);
     511          56 :     tmp38 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp31}, compiler::TNode<JSReceiver>{tmp36}, compiler::TNode<Object>{tmp32}));
     512          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
     513          56 :     ca_.Goto(&block9, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp38);
     514             :   }
     515             : 
     516          56 :   if (block8.is_used()) {
     517          56 :     compiler::TNode<Context> tmp39;
     518          56 :     compiler::TNode<Object> tmp40;
     519          56 :     compiler::TNode<Object> tmp41;
     520          56 :     compiler::TNode<Object> tmp42;
     521          56 :     compiler::TNode<Object> tmp43;
     522          56 :     compiler::TNode<JSReceiver> tmp44;
     523          56 :     compiler::TNode<Object> tmp45;
     524          56 :     ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
     525          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
     526          56 :     compiler::TNode<BoolT> tmp46;
     527          56 :     USE(tmp46);
     528          56 :     tmp46 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp42}));
     529          56 :     ca_.Branch(tmp46, &block10, &block11, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45);
     530             :   }
     531             : 
     532          56 :   if (block10.is_used()) {
     533          56 :     compiler::TNode<Context> tmp47;
     534          56 :     compiler::TNode<Object> tmp48;
     535          56 :     compiler::TNode<Object> tmp49;
     536          56 :     compiler::TNode<Object> tmp50;
     537          56 :     compiler::TNode<Object> tmp51;
     538          56 :     compiler::TNode<JSReceiver> tmp52;
     539          56 :     compiler::TNode<Object> tmp53;
     540          56 :     ca_.Bind(&block10, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
     541          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 74);
     542          56 :     compiler::TNode<Object> tmp54;
     543          56 :     USE(tmp54);
     544          56 :     tmp54 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp47}, compiler::TNode<JSReceiver>{tmp52}, compiler::TNode<Object>{tmp48}, compiler::TNode<Object>{tmp49}));
     545          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
     546          56 :     ca_.Goto(&block12, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp54);
     547             :   }
     548             : 
     549          56 :   if (block11.is_used()) {
     550          56 :     compiler::TNode<Context> tmp55;
     551          56 :     compiler::TNode<Object> tmp56;
     552          56 :     compiler::TNode<Object> tmp57;
     553          56 :     compiler::TNode<Object> tmp58;
     554          56 :     compiler::TNode<Object> tmp59;
     555          56 :     compiler::TNode<JSReceiver> tmp60;
     556          56 :     compiler::TNode<Object> tmp61;
     557          56 :     ca_.Bind(&block11, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61);
     558          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 76);
     559          56 :     compiler::TNode<Object> tmp62;
     560          56 :     USE(tmp62);
     561          56 :     tmp62 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp55}, compiler::TNode<JSReceiver>{tmp60}, compiler::TNode<Object>{tmp56}, compiler::TNode<Object>{tmp57}, compiler::TNode<Object>{tmp58}));
     562          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 73);
     563          56 :     ca_.Goto(&block12, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp62);
     564             :   }
     565             : 
     566          56 :   if (block12.is_used()) {
     567          56 :     compiler::TNode<Context> tmp63;
     568          56 :     compiler::TNode<Object> tmp64;
     569          56 :     compiler::TNode<Object> tmp65;
     570          56 :     compiler::TNode<Object> tmp66;
     571          56 :     compiler::TNode<Object> tmp67;
     572          56 :     compiler::TNode<JSReceiver> tmp68;
     573          56 :     compiler::TNode<Object> tmp69;
     574          56 :     ca_.Bind(&block12, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
     575          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 71);
     576          56 :     ca_.Goto(&block9, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69);
     577             :   }
     578             : 
     579          56 :   if (block9.is_used()) {
     580          56 :     compiler::TNode<Context> tmp70;
     581          56 :     compiler::TNode<Object> tmp71;
     582          56 :     compiler::TNode<Object> tmp72;
     583          56 :     compiler::TNode<Object> tmp73;
     584          56 :     compiler::TNode<Object> tmp74;
     585          56 :     compiler::TNode<JSReceiver> tmp75;
     586          56 :     compiler::TNode<Object> tmp76;
     587          56 :     ca_.Bind(&block9, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76);
     588          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 78);
     589          56 :     compiler::TNode<String> tmp77;
     590          56 :     USE(tmp77);
     591          56 :     tmp77 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp70}, compiler::TNode<Object>{tmp76}));
     592          56 :     CodeStubAssembler(state_).Return(tmp77);
     593             :   }
     594             : 
     595          56 :   if (block4.is_used()) {
     596          56 :     compiler::TNode<Context> tmp78;
     597          56 :     compiler::TNode<Object> tmp79;
     598          56 :     compiler::TNode<Object> tmp80;
     599          56 :     compiler::TNode<Object> tmp81;
     600          56 :     compiler::TNode<Object> tmp82;
     601          56 :     ca_.Bind(&block4, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82);
     602          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 81);
     603          56 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp78}, MessageTemplate::kCalledNonCallable, compiler::TNode<Object>{tmp82});
     604             :   }
     605          56 : }
     606             : 
     607         112 : void ArrayJoinBuiltinsFromDSLAssembler::CannotUseSameArrayAccessor7JSArray(compiler::TNode<Context> p_context, compiler::TNode<BuiltinPtr> p_loadFn, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<Map> p_originalMap, compiler::TNode<Number> p_originalLen, compiler::CodeAssemblerLabel* label_Cannot, compiler::CodeAssemblerLabel* label_Can) {
     608         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     609         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     610         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     611         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     612         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     613         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     614         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     615         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     616         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     617         224 :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     618         224 :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     619         112 :     ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_originalMap, p_originalLen);
     620             : 
     621         112 :   if (block0.is_used()) {
     622         112 :     compiler::TNode<Context> tmp0;
     623         112 :     compiler::TNode<BuiltinPtr> tmp1;
     624         112 :     compiler::TNode<JSReceiver> tmp2;
     625         112 :     compiler::TNode<Map> tmp3;
     626         112 :     compiler::TNode<Number> tmp4;
     627         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     628         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 96);
     629         112 :     compiler::TNode<BoolT> tmp5;
     630         112 :     USE(tmp5);
     631         112 :     tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp1}, compiler::TNode<Smi>{ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor))}));
     632         112 :     ca_.Branch(tmp5, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4);
     633             :   }
     634             : 
     635         112 :   if (block3.is_used()) {
     636         112 :     compiler::TNode<Context> tmp6;
     637         112 :     compiler::TNode<BuiltinPtr> tmp7;
     638         112 :     compiler::TNode<JSReceiver> tmp8;
     639         112 :     compiler::TNode<Map> tmp9;
     640         112 :     compiler::TNode<Number> tmp10;
     641         112 :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
     642         112 :     ca_.Goto(&block2);
     643             :   }
     644             : 
     645         112 :   if (block4.is_used()) {
     646         112 :     compiler::TNode<Context> tmp11;
     647         112 :     compiler::TNode<BuiltinPtr> tmp12;
     648         112 :     compiler::TNode<JSReceiver> tmp13;
     649         112 :     compiler::TNode<Map> tmp14;
     650         112 :     compiler::TNode<Number> tmp15;
     651         112 :     ca_.Bind(&block4, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     652         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 98);
     653         112 :     compiler::TNode<JSArray> tmp16;
     654         112 :     USE(tmp16);
     655         112 :     tmp16 = ca_.UncheckedCast<JSArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast7JSArray(compiler::TNode<Context>{tmp11}, compiler::TNode<Object>{tmp13}));
     656         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 99);
     657         112 :     compiler::TNode<Map> tmp17;
     658         112 :     USE(tmp17);
     659         112 :     tmp17 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp16}));
     660         112 :     compiler::TNode<BoolT> tmp18;
     661         112 :     USE(tmp18);
     662         112 :     tmp18 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<HeapObject>{tmp14}, compiler::TNode<HeapObject>{tmp17}));
     663         112 :     ca_.Branch(tmp18, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
     664             :   }
     665             : 
     666         112 :   if (block5.is_used()) {
     667         112 :     compiler::TNode<Context> tmp19;
     668         112 :     compiler::TNode<BuiltinPtr> tmp20;
     669         112 :     compiler::TNode<JSReceiver> tmp21;
     670         112 :     compiler::TNode<Map> tmp22;
     671         112 :     compiler::TNode<Number> tmp23;
     672         112 :     compiler::TNode<JSArray> tmp24;
     673         112 :     ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
     674         112 :     ca_.Goto(&block1);
     675             :   }
     676             : 
     677         112 :   if (block6.is_used()) {
     678         112 :     compiler::TNode<Context> tmp25;
     679         112 :     compiler::TNode<BuiltinPtr> tmp26;
     680         112 :     compiler::TNode<JSReceiver> tmp27;
     681         112 :     compiler::TNode<Map> tmp28;
     682         112 :     compiler::TNode<Number> tmp29;
     683         112 :     compiler::TNode<JSArray> tmp30;
     684         112 :     ca_.Bind(&block6, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
     685         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 100);
     686         112 :     compiler::TNode<Number> tmp31;
     687         112 :     USE(tmp31);
     688         112 :     tmp31 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArrayLength(compiler::TNode<JSArray>{tmp30}));
     689         112 :     compiler::TNode<BoolT> tmp32;
     690         112 :     USE(tmp32);
     691         112 :     tmp32 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp29}, compiler::TNode<Number>{tmp31}));
     692         112 :     ca_.Branch(tmp32, &block7, &block8, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30);
     693             :   }
     694             : 
     695         112 :   if (block7.is_used()) {
     696         112 :     compiler::TNode<Context> tmp33;
     697         112 :     compiler::TNode<BuiltinPtr> tmp34;
     698         112 :     compiler::TNode<JSReceiver> tmp35;
     699         112 :     compiler::TNode<Map> tmp36;
     700         112 :     compiler::TNode<Number> tmp37;
     701         112 :     compiler::TNode<JSArray> tmp38;
     702         112 :     ca_.Bind(&block7, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
     703         112 :     ca_.Goto(&block1);
     704             :   }
     705             : 
     706         112 :   if (block8.is_used()) {
     707         112 :     compiler::TNode<Context> tmp39;
     708         112 :     compiler::TNode<BuiltinPtr> tmp40;
     709         112 :     compiler::TNode<JSReceiver> tmp41;
     710         112 :     compiler::TNode<Map> tmp42;
     711         112 :     compiler::TNode<Number> tmp43;
     712         112 :     compiler::TNode<JSArray> tmp44;
     713         112 :     ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44);
     714         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 101);
     715         112 :     compiler::TNode<BoolT> tmp45;
     716         112 :     USE(tmp45);
     717         112 :     tmp45 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
     718         112 :     ca_.Branch(tmp45, &block9, &block10, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44);
     719             :   }
     720             : 
     721         112 :   if (block9.is_used()) {
     722         112 :     compiler::TNode<Context> tmp46;
     723         112 :     compiler::TNode<BuiltinPtr> tmp47;
     724         112 :     compiler::TNode<JSReceiver> tmp48;
     725         112 :     compiler::TNode<Map> tmp49;
     726         112 :     compiler::TNode<Number> tmp50;
     727         112 :     compiler::TNode<JSArray> tmp51;
     728         112 :     ca_.Bind(&block9, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
     729         112 :     ca_.Goto(&block1);
     730             :   }
     731             : 
     732         112 :   if (block10.is_used()) {
     733         112 :     compiler::TNode<Context> tmp52;
     734         112 :     compiler::TNode<BuiltinPtr> tmp53;
     735         112 :     compiler::TNode<JSReceiver> tmp54;
     736         112 :     compiler::TNode<Map> tmp55;
     737         112 :     compiler::TNode<Number> tmp56;
     738         112 :     compiler::TNode<JSArray> tmp57;
     739         112 :     ca_.Bind(&block10, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
     740         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 102);
     741         112 :     ca_.Goto(&block2);
     742             :   }
     743             : 
     744         112 :   if (block1.is_used()) {
     745         112 :     ca_.Bind(&block1);
     746         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
     747         112 :     ca_.Goto(label_Cannot);
     748             :   }
     749             : 
     750         112 :   if (block2.is_used()) {
     751         112 :     ca_.Bind(&block2);
     752         112 :     ca_.Goto(label_Can);
     753             :   }
     754         112 : }
     755             : 
     756         112 : void ArrayJoinBuiltinsFromDSLAssembler::CannotUseSameArrayAccessor12JSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<BuiltinPtr> p_loadFn, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<Map> p_initialMap, compiler::TNode<Number> p_initialLen, compiler::CodeAssemblerLabel* label_Cannot, compiler::CodeAssemblerLabel* label_Can) {
     757         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     758         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     759         224 :   compiler::CodeAssemblerParameterizedLabel<Context, BuiltinPtr, JSReceiver, Map, Number, JSTypedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     760         224 :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     761         224 :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     762         112 :     ca_.Goto(&block0, p_context, p_loadFn, p_receiver, p_initialMap, p_initialLen);
     763             : 
     764         112 :   if (block0.is_used()) {
     765         112 :     compiler::TNode<Context> tmp0;
     766         112 :     compiler::TNode<BuiltinPtr> tmp1;
     767         112 :     compiler::TNode<JSReceiver> tmp2;
     768         112 :     compiler::TNode<Map> tmp3;
     769         112 :     compiler::TNode<Number> tmp4;
     770         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     771         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 109);
     772         112 :     compiler::TNode<JSTypedArray> tmp5;
     773         112 :     USE(tmp5);
     774         112 :     tmp5 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     775         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 110);
     776         112 :     compiler::TNode<JSArrayBuffer> tmp6;
     777         112 :     USE(tmp6);
     778         112 :     tmp6 = ca_.UncheckedCast<JSArrayBuffer>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArrayBufferViewBuffer(compiler::TNode<JSArrayBufferView>{tmp5}));
     779         112 :     compiler::TNode<BoolT> tmp7;
     780         112 :     USE(tmp7);
     781         112 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsDetachedBuffer(compiler::TNode<JSArrayBuffer>{tmp6}));
     782         112 :     ca_.Branch(tmp7, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
     783             :   }
     784             : 
     785         112 :   if (block3.is_used()) {
     786         112 :     compiler::TNode<Context> tmp8;
     787         112 :     compiler::TNode<BuiltinPtr> tmp9;
     788         112 :     compiler::TNode<JSReceiver> tmp10;
     789         112 :     compiler::TNode<Map> tmp11;
     790         112 :     compiler::TNode<Number> tmp12;
     791         112 :     compiler::TNode<JSTypedArray> tmp13;
     792         112 :     ca_.Bind(&block3, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
     793         112 :     ca_.Goto(&block1);
     794             :   }
     795             : 
     796         112 :   if (block4.is_used()) {
     797         112 :     compiler::TNode<Context> tmp14;
     798         112 :     compiler::TNode<BuiltinPtr> tmp15;
     799         112 :     compiler::TNode<JSReceiver> tmp16;
     800         112 :     compiler::TNode<Map> tmp17;
     801         112 :     compiler::TNode<Number> tmp18;
     802         112 :     compiler::TNode<JSTypedArray> tmp19;
     803         112 :     ca_.Bind(&block4, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
     804         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 111);
     805         112 :     ca_.Goto(&block2);
     806             :   }
     807             : 
     808         112 :   if (block1.is_used()) {
     809         112 :     ca_.Bind(&block1);
     810         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 87);
     811         112 :     ca_.Goto(label_Cannot);
     812             :   }
     813             : 
     814         112 :   if (block2.is_used()) {
     815         112 :     ca_.Bind(&block2);
     816         112 :     ca_.Goto(label_Can);
     817             :   }
     818         112 : }
     819             : 
     820         672 : compiler::TNode<IntPtrT> ArrayJoinBuiltinsFromDSLAssembler::AddStringLength(compiler::TNode<Context> p_context, compiler::TNode<IntPtrT> p_lenA, compiler::TNode<IntPtrT> p_lenB) {
     821        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     822        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     823        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     824        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     825        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     826        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     827        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     828        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, IntPtrT, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     829         672 :     ca_.Goto(&block0, p_context, p_lenA, p_lenB);
     830             : 
     831         672 :   if (block0.is_used()) {
     832         672 :     compiler::TNode<Context> tmp0;
     833         672 :     compiler::TNode<IntPtrT> tmp1;
     834         672 :     compiler::TNode<IntPtrT> tmp2;
     835         672 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     836         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 120);
     837         672 :     compiler::TNode<IntPtrT> tmp3;
     838         672 :     USE(tmp3);
     839        1344 :     compiler::CodeAssemblerLabel label0(&ca_);
     840         672 :     tmp3 = CodeStubAssembler(state_).TryIntPtrAdd(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp2}, &label0);
     841         672 :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp1, tmp2, tmp3);
     842         672 :     if (label0.is_used()) {
     843         672 :       ca_.Bind(&label0);
     844         672 :       ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp1, tmp2);
     845             :     }
     846             :   }
     847             : 
     848         672 :   if (block5.is_used()) {
     849         672 :     compiler::TNode<Context> tmp4;
     850         672 :     compiler::TNode<IntPtrT> tmp5;
     851         672 :     compiler::TNode<IntPtrT> tmp6;
     852         672 :     compiler::TNode<IntPtrT> tmp7;
     853         672 :     compiler::TNode<IntPtrT> tmp8;
     854         672 :     ca_.Bind(&block5, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
     855         672 :     ca_.Goto(&block3, tmp4, tmp5, tmp6);
     856             :   }
     857             : 
     858         672 :   if (block4.is_used()) {
     859         672 :     compiler::TNode<Context> tmp9;
     860         672 :     compiler::TNode<IntPtrT> tmp10;
     861         672 :     compiler::TNode<IntPtrT> tmp11;
     862         672 :     compiler::TNode<IntPtrT> tmp12;
     863         672 :     compiler::TNode<IntPtrT> tmp13;
     864         672 :     compiler::TNode<IntPtrT> tmp14;
     865         672 :     ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
     866         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 121);
     867         672 :     compiler::TNode<IntPtrT> tmp15;
     868         672 :     USE(tmp15);
     869         672 :     tmp15 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(String::kMaxLength));
     870         672 :     compiler::TNode<BoolT> tmp16;
     871         672 :     USE(tmp16);
     872         672 :     tmp16 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp15}));
     873         672 :     ca_.Branch(tmp16, &block6, &block7, tmp9, tmp10, tmp11, tmp14);
     874             :   }
     875             : 
     876         672 :   if (block6.is_used()) {
     877         672 :     compiler::TNode<Context> tmp17;
     878         672 :     compiler::TNode<IntPtrT> tmp18;
     879         672 :     compiler::TNode<IntPtrT> tmp19;
     880         672 :     compiler::TNode<IntPtrT> tmp20;
     881         672 :     ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20);
     882         672 :     ca_.Goto(&block3, tmp17, tmp18, tmp19);
     883             :   }
     884             : 
     885         672 :   if (block7.is_used()) {
     886         672 :     compiler::TNode<Context> tmp21;
     887         672 :     compiler::TNode<IntPtrT> tmp22;
     888         672 :     compiler::TNode<IntPtrT> tmp23;
     889         672 :     compiler::TNode<IntPtrT> tmp24;
     890         672 :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23, &tmp24);
     891         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 122);
     892         672 :     ca_.Goto(&block1, tmp21, tmp22, tmp23, tmp24);
     893             :   }
     894             : 
     895         672 :   if (block3.is_used()) {
     896         672 :     compiler::TNode<Context> tmp25;
     897         672 :     compiler::TNode<IntPtrT> tmp26;
     898         672 :     compiler::TNode<IntPtrT> tmp27;
     899         672 :     ca_.Bind(&block3, &tmp25, &tmp26, &tmp27);
     900         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 125);
     901         672 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp25);
     902         672 :     CodeStubAssembler(state_).Unreachable();
     903             :   }
     904             : 
     905         672 :   if (block1.is_used()) {
     906         672 :     compiler::TNode<Context> tmp29;
     907         672 :     compiler::TNode<IntPtrT> tmp30;
     908         672 :     compiler::TNode<IntPtrT> tmp31;
     909         672 :     compiler::TNode<IntPtrT> tmp32;
     910         672 :     ca_.Bind(&block1, &tmp29, &tmp30, &tmp31, &tmp32);
     911         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 117);
     912         672 :     ca_.Goto(&block8, tmp29, tmp30, tmp31, tmp32);
     913             :   }
     914             : 
     915         672 :     compiler::TNode<Context> tmp33;
     916         672 :     compiler::TNode<IntPtrT> tmp34;
     917         672 :     compiler::TNode<IntPtrT> tmp35;
     918         672 :     compiler::TNode<IntPtrT> tmp36;
     919         672 :     ca_.Bind(&block8, &tmp33, &tmp34, &tmp35, &tmp36);
     920        1344 :   return compiler::TNode<IntPtrT>{tmp36};
     921             : }
     922             : 
     923         224 : ArrayJoinBuiltinsFromDSLAssembler::Buffer ArrayJoinBuiltinsFromDSLAssembler::NewBuffer(compiler::TNode<UintPtrT> p_len, compiler::TNode<String> p_sep) {
     924         448 :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     925         448 :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     926         448 :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     927         448 :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     928         448 :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     929         448 :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, FixedArray, IntPtrT, IntPtrT, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     930         448 :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, String, FixedArray, IntPtrT, IntPtrT, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     931         224 :     ca_.Goto(&block0, p_len, p_sep);
     932             : 
     933         224 :   if (block0.is_used()) {
     934         224 :     compiler::TNode<UintPtrT> tmp0;
     935         224 :     compiler::TNode<String> tmp1;
     936         224 :     ca_.Bind(&block0, &tmp0, &tmp1);
     937         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 217);
     938         224 :     compiler::TNode<UintPtrT> tmp2;
     939         224 :     USE(tmp2);
     940         224 :     tmp2 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
     941         224 :     compiler::TNode<BoolT> tmp3;
     942         224 :     USE(tmp3);
     943         224 :     tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp0}, compiler::TNode<UintPtrT>{tmp2}));
     944         224 :     ca_.Branch(tmp3, &block2, &block3, tmp0, tmp1);
     945             :   }
     946             : 
     947         224 :   if (block2.is_used()) {
     948         224 :     compiler::TNode<UintPtrT> tmp4;
     949         224 :     compiler::TNode<String> tmp5;
     950         224 :     ca_.Bind(&block2, &tmp4, &tmp5);
     951         224 :     ca_.Goto(&block5, tmp4, tmp5);
     952             :   }
     953             : 
     954         224 :   if (block3.is_used()) {
     955         224 :     compiler::TNode<UintPtrT> tmp6;
     956         224 :     compiler::TNode<String> tmp7;
     957         224 :     ca_.Bind(&block3, &tmp6, &tmp7);
     958         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 219);
     959         224 :     compiler::TNode<IntPtrT> tmp8;
     960         224 :     USE(tmp8);
     961         224 :     tmp8 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp6}));
     962         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 217);
     963         224 :     ca_.Goto(&block4, tmp6, tmp7, tmp8);
     964             :   }
     965             : 
     966         224 :   if (block5.is_used()) {
     967         224 :     compiler::TNode<UintPtrT> tmp9;
     968         224 :     compiler::TNode<String> tmp10;
     969         224 :     ca_.Bind(&block5, &tmp9, &tmp10);
     970         224 :     compiler::TNode<IntPtrT> tmp11;
     971         224 :     USE(tmp11);
     972         224 :     tmp11 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(FixedArray::kMaxRegularLength));
     973         224 :     ca_.Goto(&block4, tmp9, tmp10, tmp11);
     974             :   }
     975             : 
     976         224 :   if (block4.is_used()) {
     977         224 :     compiler::TNode<UintPtrT> tmp12;
     978         224 :     compiler::TNode<String> tmp13;
     979         224 :     compiler::TNode<IntPtrT> tmp14;
     980         224 :     ca_.Bind(&block4, &tmp12, &tmp13, &tmp14);
     981         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 222);
     982         224 :     compiler::TNode<FixedArray> tmp15;
     983         224 :     USE(tmp15);
     984         224 :     tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateZeroedFixedArray(compiler::TNode<IntPtrT>{tmp14}));
     985         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 225);
     986         224 :     compiler::TNode<Int32T> tmp16;
     987         224 :     USE(tmp16);
     988         224 :     tmp16 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp13}));
     989         224 :     compiler::TNode<BoolT> tmp17;
     990         224 :     USE(tmp17);
     991         224 :     tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp16}));
     992         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 221);
     993         224 :     compiler::TNode<IntPtrT> tmp18;
     994         224 :     USE(tmp18);
     995         224 :     tmp18 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
     996         224 :     compiler::TNode<IntPtrT> tmp19;
     997         224 :     USE(tmp19);
     998         224 :     tmp19 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
     999         224 :     ca_.Goto(&block1, tmp12, tmp13, tmp15, tmp18, tmp19, tmp17);
    1000             :   }
    1001             : 
    1002         224 :   if (block1.is_used()) {
    1003         224 :     compiler::TNode<UintPtrT> tmp20;
    1004         224 :     compiler::TNode<String> tmp21;
    1005         224 :     compiler::TNode<FixedArray> tmp22;
    1006         224 :     compiler::TNode<IntPtrT> tmp23;
    1007         224 :     compiler::TNode<IntPtrT> tmp24;
    1008         224 :     compiler::TNode<BoolT> tmp25;
    1009         224 :     ca_.Bind(&block1, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
    1010         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 216);
    1011         224 :     ca_.Goto(&block6, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25);
    1012             :   }
    1013             : 
    1014         224 :     compiler::TNode<UintPtrT> tmp26;
    1015         224 :     compiler::TNode<String> tmp27;
    1016         224 :     compiler::TNode<FixedArray> tmp28;
    1017         224 :     compiler::TNode<IntPtrT> tmp29;
    1018         224 :     compiler::TNode<IntPtrT> tmp30;
    1019         224 :     compiler::TNode<BoolT> tmp31;
    1020         224 :     ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
    1021         448 :   return ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp28}, compiler::TNode<IntPtrT>{tmp29}, compiler::TNode<IntPtrT>{tmp30}, compiler::TNode<BoolT>{tmp31}};
    1022             : }
    1023             : 
    1024         224 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::BufferJoin(compiler::TNode<Context> p_context, ArrayJoinBuiltinsFromDSLAssembler::Buffer p_buffer, compiler::TNode<String> p_sep) {
    1025         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1026         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1027         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1028         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1029         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1030         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1031         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1032         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1033         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object, Object, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1034         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, FixedArray, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1035         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1036         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1037         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1038         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1039         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, Uint32T, String> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1040         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1041         448 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, IntPtrT, IntPtrT, BoolT, String, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1042         224 :     ca_.Goto(&block0, p_context, p_buffer.fixedArray, p_buffer.index, p_buffer.totalStringLength, p_buffer.isOneByte, p_sep);
    1043             : 
    1044         224 :   if (block0.is_used()) {
    1045         224 :     compiler::TNode<Context> tmp0;
    1046         224 :     compiler::TNode<FixedArray> tmp1;
    1047         224 :     compiler::TNode<IntPtrT> tmp2;
    1048         224 :     compiler::TNode<IntPtrT> tmp3;
    1049         224 :     compiler::TNode<BoolT> tmp4;
    1050         224 :     compiler::TNode<String> tmp5;
    1051         224 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    1052         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 232);
    1053         224 :     compiler::TNode<IntPtrT> tmp6;
    1054         224 :     USE(tmp6);
    1055         224 :     tmp6 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    1056         224 :     compiler::TNode<BoolT> tmp7;
    1057         224 :     USE(tmp7);
    1058         224 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp6}));
    1059         224 :     ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
    1060             :   }
    1061             : 
    1062         224 :   if (block2.is_used()) {
    1063         224 :     compiler::TNode<Context> tmp8;
    1064         224 :     compiler::TNode<FixedArray> tmp9;
    1065         224 :     compiler::TNode<IntPtrT> tmp10;
    1066         224 :     compiler::TNode<IntPtrT> tmp11;
    1067         224 :     compiler::TNode<BoolT> tmp12;
    1068         224 :     compiler::TNode<String> tmp13;
    1069         224 :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    1070         224 :     compiler::TNode<String> tmp14;
    1071         224 :     USE(tmp14);
    1072         224 :     tmp14 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    1073         224 :     ca_.Goto(&block1, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
    1074             :   }
    1075             : 
    1076         224 :   if (block3.is_used()) {
    1077         224 :     compiler::TNode<Context> tmp15;
    1078         224 :     compiler::TNode<FixedArray> tmp16;
    1079         224 :     compiler::TNode<IntPtrT> tmp17;
    1080         224 :     compiler::TNode<IntPtrT> tmp18;
    1081         224 :     compiler::TNode<BoolT> tmp19;
    1082         224 :     compiler::TNode<String> tmp20;
    1083         224 :     ca_.Bind(&block3, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
    1084         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 235);
    1085         224 :     compiler::TNode<IntPtrT> tmp21;
    1086         224 :     USE(tmp21);
    1087         224 :     tmp21 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    1088         224 :     compiler::TNode<BoolT> tmp22;
    1089         224 :     USE(tmp22);
    1090         224 :     tmp22 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp17}, compiler::TNode<IntPtrT>{tmp21}));
    1091         224 :     ca_.Branch(tmp22, &block4, &block5, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
    1092             :   }
    1093             : 
    1094         224 :   if (block4.is_used()) {
    1095         224 :     compiler::TNode<Context> tmp23;
    1096         224 :     compiler::TNode<FixedArray> tmp24;
    1097         224 :     compiler::TNode<IntPtrT> tmp25;
    1098         224 :     compiler::TNode<IntPtrT> tmp26;
    1099         224 :     compiler::TNode<BoolT> tmp27;
    1100         224 :     compiler::TNode<String> tmp28;
    1101         224 :     ca_.Bind(&block4, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
    1102         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 236);
    1103         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 237);
    1104         224 :     compiler::TNode<Object> tmp29;
    1105         224 :     USE(tmp29);
    1106         224 :     tmp29 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, 0));
    1107         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 240);
    1108         224 :     compiler::TNode<String> tmp30;
    1109         224 :     USE(tmp30);
    1110         448 :     compiler::CodeAssemblerLabel label0(&ca_);
    1111         224 :     tmp30 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp23}, compiler::TNode<Object>{tmp29}, &label0);
    1112         224 :     ca_.Goto(&block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29, tmp30);
    1113         224 :     if (label0.is_used()) {
    1114         224 :       ca_.Bind(&label0);
    1115         224 :       ca_.Goto(&block9, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp24, tmp29, tmp29);
    1116             :     }
    1117             :   }
    1118             : 
    1119         224 :   if (block9.is_used()) {
    1120         224 :     compiler::TNode<Context> tmp31;
    1121         224 :     compiler::TNode<FixedArray> tmp32;
    1122         224 :     compiler::TNode<IntPtrT> tmp33;
    1123         224 :     compiler::TNode<IntPtrT> tmp34;
    1124         224 :     compiler::TNode<BoolT> tmp35;
    1125         224 :     compiler::TNode<String> tmp36;
    1126         224 :     compiler::TNode<FixedArray> tmp37;
    1127         224 :     compiler::TNode<Object> tmp38;
    1128         224 :     compiler::TNode<Object> tmp39;
    1129         224 :     ca_.Bind(&block9, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
    1130         224 :     ca_.Goto(&block7, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38);
    1131             :   }
    1132             : 
    1133         224 :   if (block8.is_used()) {
    1134         224 :     compiler::TNode<Context> tmp40;
    1135         224 :     compiler::TNode<FixedArray> tmp41;
    1136         224 :     compiler::TNode<IntPtrT> tmp42;
    1137         224 :     compiler::TNode<IntPtrT> tmp43;
    1138         224 :     compiler::TNode<BoolT> tmp44;
    1139         224 :     compiler::TNode<String> tmp45;
    1140         224 :     compiler::TNode<FixedArray> tmp46;
    1141         224 :     compiler::TNode<Object> tmp47;
    1142         224 :     compiler::TNode<Object> tmp48;
    1143         224 :     compiler::TNode<String> tmp49;
    1144         224 :     ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
    1145         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 241);
    1146         224 :     ca_.Goto(&block1, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp49);
    1147             :   }
    1148             : 
    1149         224 :   if (block7.is_used()) {
    1150         224 :     compiler::TNode<Context> tmp50;
    1151         224 :     compiler::TNode<FixedArray> tmp51;
    1152         224 :     compiler::TNode<IntPtrT> tmp52;
    1153         224 :     compiler::TNode<IntPtrT> tmp53;
    1154         224 :     compiler::TNode<BoolT> tmp54;
    1155         224 :     compiler::TNode<String> tmp55;
    1156         224 :     compiler::TNode<FixedArray> tmp56;
    1157         224 :     compiler::TNode<Object> tmp57;
    1158         224 :     ca_.Bind(&block7, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
    1159         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 246);
    1160         224 :     compiler::TNode<Number> tmp58;
    1161         224 :     USE(tmp58);
    1162         448 :     compiler::CodeAssemblerLabel label0(&ca_);
    1163         224 :     tmp58 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp57)}, &label0);
    1164         224 :     ca_.Goto(&block12, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57), tmp58);
    1165         224 :     if (label0.is_used()) {
    1166         224 :       ca_.Bind(&label0);
    1167         224 :       ca_.Goto(&block13, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, ca_.UncheckedCast<Object>(tmp57));
    1168             :     }
    1169             :   }
    1170             : 
    1171         224 :   if (block13.is_used()) {
    1172         224 :     compiler::TNode<Context> tmp59;
    1173         224 :     compiler::TNode<FixedArray> tmp60;
    1174         224 :     compiler::TNode<IntPtrT> tmp61;
    1175         224 :     compiler::TNode<IntPtrT> tmp62;
    1176         224 :     compiler::TNode<BoolT> tmp63;
    1177         224 :     compiler::TNode<String> tmp64;
    1178         224 :     compiler::TNode<FixedArray> tmp65;
    1179         224 :     compiler::TNode<Object> tmp66;
    1180         224 :     compiler::TNode<Object> tmp67;
    1181         224 :     ca_.Bind(&block13, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
    1182         224 :     ca_.Goto(&block11, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66);
    1183             :   }
    1184             : 
    1185         224 :   if (block12.is_used()) {
    1186         224 :     compiler::TNode<Context> tmp68;
    1187         224 :     compiler::TNode<FixedArray> tmp69;
    1188         224 :     compiler::TNode<IntPtrT> tmp70;
    1189         224 :     compiler::TNode<IntPtrT> tmp71;
    1190         224 :     compiler::TNode<BoolT> tmp72;
    1191         224 :     compiler::TNode<String> tmp73;
    1192         224 :     compiler::TNode<FixedArray> tmp74;
    1193         224 :     compiler::TNode<Object> tmp75;
    1194         224 :     compiler::TNode<Object> tmp76;
    1195         224 :     compiler::TNode<Number> tmp77;
    1196         224 :     ca_.Bind(&block12, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
    1197         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 247);
    1198         224 :     compiler::TNode<String> tmp78;
    1199         224 :     tmp78 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp68, tmp73, tmp77));
    1200         224 :     USE(tmp78);
    1201         224 :     ca_.Goto(&block1, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp78);
    1202             :   }
    1203             : 
    1204         224 :   if (block11.is_used()) {
    1205         224 :     compiler::TNode<Context> tmp79;
    1206         224 :     compiler::TNode<FixedArray> tmp80;
    1207         224 :     compiler::TNode<IntPtrT> tmp81;
    1208         224 :     compiler::TNode<IntPtrT> tmp82;
    1209         224 :     compiler::TNode<BoolT> tmp83;
    1210         224 :     compiler::TNode<String> tmp84;
    1211         224 :     compiler::TNode<FixedArray> tmp85;
    1212         224 :     compiler::TNode<Object> tmp86;
    1213         224 :     ca_.Bind(&block11, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86);
    1214         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 249);
    1215         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 250);
    1216         224 :     CodeStubAssembler(state_).Unreachable();
    1217             :   }
    1218             : 
    1219         224 :   if (block5.is_used()) {
    1220         224 :     compiler::TNode<Context> tmp87;
    1221         224 :     compiler::TNode<FixedArray> tmp88;
    1222         224 :     compiler::TNode<IntPtrT> tmp89;
    1223         224 :     compiler::TNode<IntPtrT> tmp90;
    1224         224 :     compiler::TNode<BoolT> tmp91;
    1225         224 :     compiler::TNode<String> tmp92;
    1226         224 :     ca_.Bind(&block5, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
    1227         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 255);
    1228         224 :     compiler::TNode<UintPtrT> tmp93;
    1229         224 :     USE(tmp93);
    1230         224 :     tmp93 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).Unsigned(compiler::TNode<IntPtrT>{tmp90}));
    1231         224 :     compiler::TNode<Uint32T> tmp94;
    1232         224 :     USE(tmp94);
    1233         224 :     tmp94 = ca_.UncheckedCast<Uint32T>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATuint329ATuintptr(compiler::TNode<UintPtrT>{tmp93}));
    1234         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 256);
    1235         224 :     ca_.Branch(tmp91, &block14, &block15, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp94);
    1236             :   }
    1237             : 
    1238         224 :   if (block14.is_used()) {
    1239         224 :     compiler::TNode<Context> tmp95;
    1240         224 :     compiler::TNode<FixedArray> tmp96;
    1241         224 :     compiler::TNode<IntPtrT> tmp97;
    1242         224 :     compiler::TNode<IntPtrT> tmp98;
    1243         224 :     compiler::TNode<BoolT> tmp99;
    1244         224 :     compiler::TNode<String> tmp100;
    1245         224 :     compiler::TNode<Uint32T> tmp101;
    1246         224 :     ca_.Bind(&block14, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101);
    1247         224 :     compiler::TNode<String> tmp102;
    1248         224 :     USE(tmp102);
    1249         224 :     tmp102 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqOneByteString(compiler::TNode<Context>{tmp95}, compiler::TNode<Uint32T>{tmp101}));
    1250         224 :     ca_.Goto(&block17, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102);
    1251             :   }
    1252             : 
    1253         224 :   if (block15.is_used()) {
    1254         224 :     compiler::TNode<Context> tmp103;
    1255         224 :     compiler::TNode<FixedArray> tmp104;
    1256         224 :     compiler::TNode<IntPtrT> tmp105;
    1257         224 :     compiler::TNode<IntPtrT> tmp106;
    1258         224 :     compiler::TNode<BoolT> tmp107;
    1259         224 :     compiler::TNode<String> tmp108;
    1260         224 :     compiler::TNode<Uint32T> tmp109;
    1261         224 :     ca_.Bind(&block15, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
    1262         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 257);
    1263         224 :     compiler::TNode<String> tmp110;
    1264         224 :     USE(tmp110);
    1265         224 :     tmp110 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).AllocateSeqTwoByteString(compiler::TNode<Context>{tmp103}, compiler::TNode<Uint32T>{tmp109}));
    1266         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 256);
    1267         224 :     ca_.Goto(&block16, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110);
    1268             :   }
    1269             : 
    1270         224 :   if (block17.is_used()) {
    1271         224 :     compiler::TNode<Context> tmp111;
    1272         224 :     compiler::TNode<FixedArray> tmp112;
    1273         224 :     compiler::TNode<IntPtrT> tmp113;
    1274         224 :     compiler::TNode<IntPtrT> tmp114;
    1275         224 :     compiler::TNode<BoolT> tmp115;
    1276         224 :     compiler::TNode<String> tmp116;
    1277         224 :     compiler::TNode<Uint32T> tmp117;
    1278         224 :     compiler::TNode<String> tmp118;
    1279         224 :     ca_.Bind(&block17, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
    1280         224 :     ca_.Goto(&block16, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
    1281             :   }
    1282             : 
    1283         224 :   if (block16.is_used()) {
    1284         224 :     compiler::TNode<Context> tmp119;
    1285         224 :     compiler::TNode<FixedArray> tmp120;
    1286         224 :     compiler::TNode<IntPtrT> tmp121;
    1287         224 :     compiler::TNode<IntPtrT> tmp122;
    1288         224 :     compiler::TNode<BoolT> tmp123;
    1289         224 :     compiler::TNode<String> tmp124;
    1290         224 :     compiler::TNode<Uint32T> tmp125;
    1291         224 :     compiler::TNode<String> tmp126;
    1292         224 :     ca_.Bind(&block16, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
    1293         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 259);
    1294         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 258);
    1295         224 :     compiler::TNode<String> tmp127;
    1296         224 :     USE(tmp127);
    1297         224 :     tmp127 = ca_.UncheckedCast<String>(ArrayBuiltinsAssembler(state_).CallJSArrayArrayJoinConcatToSequentialString(compiler::TNode<FixedArray>{tmp120}, compiler::TNode<IntPtrT>{tmp121}, compiler::TNode<String>{tmp124}, compiler::TNode<String>{tmp126}));
    1298         224 :     ca_.Goto(&block1, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp127);
    1299             :   }
    1300             : 
    1301         224 :   if (block1.is_used()) {
    1302         224 :     compiler::TNode<Context> tmp128;
    1303         224 :     compiler::TNode<FixedArray> tmp129;
    1304         224 :     compiler::TNode<IntPtrT> tmp130;
    1305         224 :     compiler::TNode<IntPtrT> tmp131;
    1306         224 :     compiler::TNode<BoolT> tmp132;
    1307         224 :     compiler::TNode<String> tmp133;
    1308         224 :     compiler::TNode<String> tmp134;
    1309         224 :     ca_.Bind(&block1, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134);
    1310         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 229);
    1311         224 :     ca_.Goto(&block18, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134);
    1312             :   }
    1313             : 
    1314         224 :     compiler::TNode<Context> tmp135;
    1315         224 :     compiler::TNode<FixedArray> tmp136;
    1316         224 :     compiler::TNode<IntPtrT> tmp137;
    1317         224 :     compiler::TNode<IntPtrT> tmp138;
    1318         224 :     compiler::TNode<BoolT> tmp139;
    1319         224 :     compiler::TNode<String> tmp140;
    1320         224 :     compiler::TNode<String> tmp141;
    1321         224 :     ca_.Bind(&block18, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141);
    1322         448 :   return compiler::TNode<String>{tmp141};
    1323             : }
    1324             : 
    1325         112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoin7JSArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lenNumber, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
    1326         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1327         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1328         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSReceiver, JSArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1329         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1330         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1331         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1332         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1333         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1334         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1335         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1336         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1337         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1338         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1339         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block18(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    1340         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1341         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1342         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1343         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1344         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi, Number, Smi> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1345         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1346         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1347         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray, NumberDictionary, Smi> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1348         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1349         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1350         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1351         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr, JSArray> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1352         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1353         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1354         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1355         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1356         112 :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
    1357             : 
    1358         112 :   if (block0.is_used()) {
    1359         112 :     compiler::TNode<Context> tmp0;
    1360         112 :     compiler::TNode<JSReceiver> tmp1;
    1361         112 :     compiler::TNode<String> tmp2;
    1362         112 :     compiler::TNode<Number> tmp3;
    1363         112 :     compiler::TNode<Object> tmp4;
    1364         112 :     compiler::TNode<Object> tmp5;
    1365         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    1366         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 333);
    1367         112 :     compiler::TNode<Map> tmp6;
    1368         112 :     USE(tmp6);
    1369         112 :     tmp6 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp1}));
    1370         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 334);
    1371         112 :     compiler::TNode<Int32T> tmp7;
    1372         112 :     USE(tmp7);
    1373         112 :     tmp7 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp6}));
    1374         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 335);
    1375         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 338);
    1376         112 :     compiler::TNode<JSArray> tmp8;
    1377         112 :     USE(tmp8);
    1378         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    1379         112 :     tmp8 = BaseBuiltinsFromDSLAssembler(state_).Cast7JSArray(compiler::TNode<HeapObject>{tmp1}, &label0);
    1380         112 :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, ca_.Uninitialized<BuiltinPtr>(), tmp1, tmp8);
    1381         112 :     if (label0.is_used()) {
    1382         112 :       ca_.Bind(&label0);
    1383         112 :       ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, ca_.Uninitialized<BuiltinPtr>(), tmp1);
    1384             :     }
    1385             :   }
    1386             : 
    1387         112 :   if (block5.is_used()) {
    1388         112 :     compiler::TNode<Context> tmp9;
    1389         112 :     compiler::TNode<JSReceiver> tmp10;
    1390         112 :     compiler::TNode<String> tmp11;
    1391         112 :     compiler::TNode<Number> tmp12;
    1392         112 :     compiler::TNode<Object> tmp13;
    1393         112 :     compiler::TNode<Object> tmp14;
    1394         112 :     compiler::TNode<Map> tmp15;
    1395         112 :     compiler::TNode<Int32T> tmp16;
    1396         112 :     compiler::TNode<BuiltinPtr> tmp17;
    1397         112 :     compiler::TNode<JSReceiver> tmp18;
    1398         112 :     ca_.Bind(&block5, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
    1399         112 :     ca_.Goto(&block3, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
    1400             :   }
    1401             : 
    1402         112 :   if (block4.is_used()) {
    1403         112 :     compiler::TNode<Context> tmp19;
    1404         112 :     compiler::TNode<JSReceiver> tmp20;
    1405         112 :     compiler::TNode<String> tmp21;
    1406         112 :     compiler::TNode<Number> tmp22;
    1407         112 :     compiler::TNode<Object> tmp23;
    1408         112 :     compiler::TNode<Object> tmp24;
    1409         112 :     compiler::TNode<Map> tmp25;
    1410         112 :     compiler::TNode<Int32T> tmp26;
    1411         112 :     compiler::TNode<BuiltinPtr> tmp27;
    1412         112 :     compiler::TNode<JSReceiver> tmp28;
    1413         112 :     compiler::TNode<JSArray> tmp29;
    1414         112 :     ca_.Bind(&block4, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
    1415         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 339);
    1416         112 :     compiler::TNode<Number> tmp30;
    1417         112 :     USE(tmp30);
    1418         112 :     tmp30 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArrayLength(compiler::TNode<JSArray>{tmp29}));
    1419         112 :     compiler::TNode<BoolT> tmp31;
    1420         112 :     USE(tmp31);
    1421         112 :     tmp31 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberNotEqual(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp22}));
    1422         112 :     ca_.Branch(tmp31, &block6, &block7, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp29);
    1423             :   }
    1424             : 
    1425         112 :   if (block6.is_used()) {
    1426         112 :     compiler::TNode<Context> tmp32;
    1427         112 :     compiler::TNode<JSReceiver> tmp33;
    1428         112 :     compiler::TNode<String> tmp34;
    1429         112 :     compiler::TNode<Number> tmp35;
    1430         112 :     compiler::TNode<Object> tmp36;
    1431         112 :     compiler::TNode<Object> tmp37;
    1432         112 :     compiler::TNode<Map> tmp38;
    1433         112 :     compiler::TNode<Int32T> tmp39;
    1434         112 :     compiler::TNode<BuiltinPtr> tmp40;
    1435         112 :     compiler::TNode<JSArray> tmp41;
    1436         112 :     ca_.Bind(&block6, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41);
    1437         112 :     ca_.Goto(&block3, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40);
    1438             :   }
    1439             : 
    1440         112 :   if (block7.is_used()) {
    1441         112 :     compiler::TNode<Context> tmp42;
    1442         112 :     compiler::TNode<JSReceiver> tmp43;
    1443         112 :     compiler::TNode<String> tmp44;
    1444         112 :     compiler::TNode<Number> tmp45;
    1445         112 :     compiler::TNode<Object> tmp46;
    1446         112 :     compiler::TNode<Object> tmp47;
    1447         112 :     compiler::TNode<Map> tmp48;
    1448         112 :     compiler::TNode<Int32T> tmp49;
    1449         112 :     compiler::TNode<BuiltinPtr> tmp50;
    1450         112 :     compiler::TNode<JSArray> tmp51;
    1451         112 :     ca_.Bind(&block7, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    1452         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 340);
    1453         112 :     compiler::TNode<BoolT> tmp52;
    1454         112 :     USE(tmp52);
    1455         112 :     tmp52 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsPrototypeInitialArrayPrototype(compiler::TNode<Context>{tmp42}, compiler::TNode<Map>{tmp48}));
    1456         112 :     compiler::TNode<BoolT> tmp53;
    1457         112 :     USE(tmp53);
    1458         112 :     tmp53 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp52}));
    1459         112 :     ca_.Branch(tmp53, &block8, &block9, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51);
    1460             :   }
    1461             : 
    1462         112 :   if (block8.is_used()) {
    1463         112 :     compiler::TNode<Context> tmp54;
    1464         112 :     compiler::TNode<JSReceiver> tmp55;
    1465         112 :     compiler::TNode<String> tmp56;
    1466         112 :     compiler::TNode<Number> tmp57;
    1467         112 :     compiler::TNode<Object> tmp58;
    1468         112 :     compiler::TNode<Object> tmp59;
    1469         112 :     compiler::TNode<Map> tmp60;
    1470         112 :     compiler::TNode<Int32T> tmp61;
    1471         112 :     compiler::TNode<BuiltinPtr> tmp62;
    1472         112 :     compiler::TNode<JSArray> tmp63;
    1473         112 :     ca_.Bind(&block8, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63);
    1474         112 :     ca_.Goto(&block3, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62);
    1475             :   }
    1476             : 
    1477         112 :   if (block9.is_used()) {
    1478         112 :     compiler::TNode<Context> tmp64;
    1479         112 :     compiler::TNode<JSReceiver> tmp65;
    1480         112 :     compiler::TNode<String> tmp66;
    1481         112 :     compiler::TNode<Number> tmp67;
    1482         112 :     compiler::TNode<Object> tmp68;
    1483         112 :     compiler::TNode<Object> tmp69;
    1484         112 :     compiler::TNode<Map> tmp70;
    1485         112 :     compiler::TNode<Int32T> tmp71;
    1486         112 :     compiler::TNode<BuiltinPtr> tmp72;
    1487         112 :     compiler::TNode<JSArray> tmp73;
    1488         112 :     ca_.Bind(&block9, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73);
    1489         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 341);
    1490         112 :     compiler::TNode<BoolT> tmp74;
    1491         112 :     USE(tmp74);
    1492         112 :     tmp74 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
    1493         112 :     ca_.Branch(tmp74, &block10, &block11, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
    1494             :   }
    1495             : 
    1496         112 :   if (block10.is_used()) {
    1497         112 :     compiler::TNode<Context> tmp75;
    1498         112 :     compiler::TNode<JSReceiver> tmp76;
    1499         112 :     compiler::TNode<String> tmp77;
    1500         112 :     compiler::TNode<Number> tmp78;
    1501         112 :     compiler::TNode<Object> tmp79;
    1502         112 :     compiler::TNode<Object> tmp80;
    1503         112 :     compiler::TNode<Map> tmp81;
    1504         112 :     compiler::TNode<Int32T> tmp82;
    1505         112 :     compiler::TNode<BuiltinPtr> tmp83;
    1506         112 :     compiler::TNode<JSArray> tmp84;
    1507         112 :     ca_.Bind(&block10, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84);
    1508         112 :     ca_.Goto(&block3, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83);
    1509             :   }
    1510             : 
    1511         112 :   if (block11.is_used()) {
    1512         112 :     compiler::TNode<Context> tmp85;
    1513         112 :     compiler::TNode<JSReceiver> tmp86;
    1514         112 :     compiler::TNode<String> tmp87;
    1515         112 :     compiler::TNode<Number> tmp88;
    1516         112 :     compiler::TNode<Object> tmp89;
    1517         112 :     compiler::TNode<Object> tmp90;
    1518         112 :     compiler::TNode<Map> tmp91;
    1519         112 :     compiler::TNode<Int32T> tmp92;
    1520         112 :     compiler::TNode<BuiltinPtr> tmp93;
    1521         112 :     compiler::TNode<JSArray> tmp94;
    1522         112 :     ca_.Bind(&block11, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94);
    1523         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
    1524         112 :     compiler::TNode<BoolT> tmp95;
    1525         112 :     USE(tmp95);
    1526         112 :     tmp95 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp92}, HOLEY_ELEMENTS));
    1527         112 :     ca_.Branch(tmp95, &block12, &block13, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94);
    1528             :   }
    1529             : 
    1530         112 :   if (block12.is_used()) {
    1531         112 :     compiler::TNode<Context> tmp96;
    1532         112 :     compiler::TNode<JSReceiver> tmp97;
    1533         112 :     compiler::TNode<String> tmp98;
    1534         112 :     compiler::TNode<Number> tmp99;
    1535         112 :     compiler::TNode<Object> tmp100;
    1536         112 :     compiler::TNode<Object> tmp101;
    1537         112 :     compiler::TNode<Map> tmp102;
    1538         112 :     compiler::TNode<Int32T> tmp103;
    1539         112 :     compiler::TNode<BuiltinPtr> tmp104;
    1540         112 :     compiler::TNode<JSArray> tmp105;
    1541         112 :     ca_.Bind(&block12, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105);
    1542         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 344);
    1543         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
    1544         112 :     ca_.Goto(&block14, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATFastSmiOrObjectElements)), tmp105);
    1545             :   }
    1546             : 
    1547         112 :   if (block13.is_used()) {
    1548         112 :     compiler::TNode<Context> tmp106;
    1549         112 :     compiler::TNode<JSReceiver> tmp107;
    1550         112 :     compiler::TNode<String> tmp108;
    1551         112 :     compiler::TNode<Number> tmp109;
    1552         112 :     compiler::TNode<Object> tmp110;
    1553         112 :     compiler::TNode<Object> tmp111;
    1554         112 :     compiler::TNode<Map> tmp112;
    1555         112 :     compiler::TNode<Int32T> tmp113;
    1556         112 :     compiler::TNode<BuiltinPtr> tmp114;
    1557         112 :     compiler::TNode<JSArray> tmp115;
    1558         112 :     ca_.Bind(&block13, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
    1559         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
    1560         112 :     compiler::TNode<BoolT> tmp116;
    1561         112 :     USE(tmp116);
    1562         112 :     tmp116 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindLessThanOrEqual(compiler::TNode<Int32T>{tmp113}, HOLEY_DOUBLE_ELEMENTS));
    1563         112 :     ca_.Branch(tmp116, &block15, &block16, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115);
    1564             :   }
    1565             : 
    1566         112 :   if (block15.is_used()) {
    1567         112 :     compiler::TNode<Context> tmp117;
    1568         112 :     compiler::TNode<JSReceiver> tmp118;
    1569         112 :     compiler::TNode<String> tmp119;
    1570         112 :     compiler::TNode<Number> tmp120;
    1571         112 :     compiler::TNode<Object> tmp121;
    1572         112 :     compiler::TNode<Object> tmp122;
    1573         112 :     compiler::TNode<Map> tmp123;
    1574         112 :     compiler::TNode<Int32T> tmp124;
    1575         112 :     compiler::TNode<BuiltinPtr> tmp125;
    1576         112 :     compiler::TNode<JSArray> tmp126;
    1577         112 :     ca_.Bind(&block15, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
    1578         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 346);
    1579         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
    1580         112 :     ca_.Goto(&block17, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATFastDoubleElements)), tmp126);
    1581             :   }
    1582             : 
    1583         112 :   if (block16.is_used()) {
    1584         112 :     compiler::TNode<Context> tmp127;
    1585         112 :     compiler::TNode<JSReceiver> tmp128;
    1586         112 :     compiler::TNode<String> tmp129;
    1587         112 :     compiler::TNode<Number> tmp130;
    1588         112 :     compiler::TNode<Object> tmp131;
    1589         112 :     compiler::TNode<Object> tmp132;
    1590         112 :     compiler::TNode<Map> tmp133;
    1591         112 :     compiler::TNode<Int32T> tmp134;
    1592         112 :     compiler::TNode<BuiltinPtr> tmp135;
    1593         112 :     compiler::TNode<JSArray> tmp136;
    1594         112 :     ca_.Bind(&block16, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136);
    1595         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 347);
    1596         112 :     compiler::TNode<Int32T> tmp137;
    1597         112 :     USE(tmp137);
    1598         112 :     tmp137 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(DICTIONARY_ELEMENTS));
    1599         112 :     compiler::TNode<BoolT> tmp138;
    1600         112 :     USE(tmp138);
    1601         112 :     tmp138 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp134}, compiler::TNode<Int32T>{tmp137}));
    1602         112 :     ca_.Branch(tmp138, &block18, &block19, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136);
    1603             :   }
    1604             : 
    1605         112 :   if (block18.is_used()) {
    1606         112 :     compiler::TNode<Context> tmp139;
    1607         112 :     compiler::TNode<JSReceiver> tmp140;
    1608         112 :     compiler::TNode<String> tmp141;
    1609         112 :     compiler::TNode<Number> tmp142;
    1610         112 :     compiler::TNode<Object> tmp143;
    1611         112 :     compiler::TNode<Object> tmp144;
    1612         112 :     compiler::TNode<Map> tmp145;
    1613         112 :     compiler::TNode<Int32T> tmp146;
    1614         112 :     compiler::TNode<BuiltinPtr> tmp147;
    1615         112 :     compiler::TNode<JSArray> tmp148;
    1616         112 :     ca_.Bind(&block18, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148);
    1617         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 350);
    1618         112 :     compiler::TNode<FixedArrayBase> tmp149;
    1619         112 :     USE(tmp149);
    1620         112 :     tmp149 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp148}));
    1621         112 :     compiler::TNode<NumberDictionary> tmp150;
    1622         112 :     USE(tmp150);
    1623         112 :     tmp150 = ca_.UncheckedCast<NumberDictionary>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast18ATNumberDictionary(compiler::TNode<Context>{tmp139}, compiler::TNode<Object>{tmp149}));
    1624         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 349);
    1625         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 351);
    1626         112 :     compiler::TNode<Smi> tmp151;
    1627         112 :     USE(tmp151);
    1628         112 :     tmp151 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).GetNumberDictionaryNumberOfElements(compiler::TNode<NumberDictionary>{tmp150}));
    1629         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 352);
    1630         112 :     compiler::TNode<Smi> tmp152;
    1631         112 :     USE(tmp152);
    1632         112 :     tmp152 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
    1633         112 :     compiler::TNode<BoolT> tmp153;
    1634         112 :     USE(tmp153);
    1635         112 :     tmp153 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp151}, compiler::TNode<Smi>{tmp152}));
    1636         112 :     ca_.Branch(tmp153, &block21, &block22, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp150, tmp151);
    1637             :   }
    1638             : 
    1639         112 :   if (block21.is_used()) {
    1640         112 :     compiler::TNode<Context> tmp154;
    1641         112 :     compiler::TNode<JSReceiver> tmp155;
    1642         112 :     compiler::TNode<String> tmp156;
    1643         112 :     compiler::TNode<Number> tmp157;
    1644         112 :     compiler::TNode<Object> tmp158;
    1645         112 :     compiler::TNode<Object> tmp159;
    1646         112 :     compiler::TNode<Map> tmp160;
    1647         112 :     compiler::TNode<Int32T> tmp161;
    1648         112 :     compiler::TNode<BuiltinPtr> tmp162;
    1649         112 :     compiler::TNode<JSArray> tmp163;
    1650         112 :     compiler::TNode<NumberDictionary> tmp164;
    1651         112 :     compiler::TNode<Smi> tmp165;
    1652         112 :     ca_.Bind(&block21, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
    1653         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 353);
    1654         112 :     compiler::TNode<String> tmp166;
    1655         112 :     USE(tmp166);
    1656         112 :     tmp166 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    1657         112 :     compiler::TNode<BoolT> tmp167;
    1658         112 :     USE(tmp167);
    1659         112 :     tmp167 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp156}, compiler::TNode<HeapObject>{tmp166}));
    1660         112 :     ca_.Branch(tmp167, &block24, &block25, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165);
    1661             :   }
    1662             : 
    1663         112 :   if (block24.is_used()) {
    1664         112 :     compiler::TNode<Context> tmp168;
    1665         112 :     compiler::TNode<JSReceiver> tmp169;
    1666         112 :     compiler::TNode<String> tmp170;
    1667         112 :     compiler::TNode<Number> tmp171;
    1668         112 :     compiler::TNode<Object> tmp172;
    1669         112 :     compiler::TNode<Object> tmp173;
    1670         112 :     compiler::TNode<Map> tmp174;
    1671         112 :     compiler::TNode<Int32T> tmp175;
    1672         112 :     compiler::TNode<BuiltinPtr> tmp176;
    1673         112 :     compiler::TNode<JSArray> tmp177;
    1674         112 :     compiler::TNode<NumberDictionary> tmp178;
    1675         112 :     compiler::TNode<Smi> tmp179;
    1676         112 :     ca_.Bind(&block24, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179);
    1677         112 :     compiler::TNode<String> tmp180;
    1678         112 :     USE(tmp180);
    1679         112 :     tmp180 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    1680         112 :     ca_.Goto(&block1, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp180);
    1681             :   }
    1682             : 
    1683         112 :   if (block25.is_used()) {
    1684         112 :     compiler::TNode<Context> tmp181;
    1685         112 :     compiler::TNode<JSReceiver> tmp182;
    1686         112 :     compiler::TNode<String> tmp183;
    1687         112 :     compiler::TNode<Number> tmp184;
    1688         112 :     compiler::TNode<Object> tmp185;
    1689         112 :     compiler::TNode<Object> tmp186;
    1690         112 :     compiler::TNode<Map> tmp187;
    1691         112 :     compiler::TNode<Int32T> tmp188;
    1692         112 :     compiler::TNode<BuiltinPtr> tmp189;
    1693         112 :     compiler::TNode<JSArray> tmp190;
    1694         112 :     compiler::TNode<NumberDictionary> tmp191;
    1695         112 :     compiler::TNode<Smi> tmp192;
    1696         112 :     ca_.Bind(&block25, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192);
    1697         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 356);
    1698         112 :     compiler::TNode<Number> tmp193;
    1699         112 :     USE(tmp193);
    1700         112 :     tmp193 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
    1701         112 :     compiler::TNode<Number> tmp194;
    1702         112 :     USE(tmp194);
    1703         112 :     tmp194 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp184}, compiler::TNode<Number>{tmp193}));
    1704         112 :     compiler::TNode<Smi> tmp195;
    1705         112 :     USE(tmp195);
    1706         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    1707         112 :     tmp195 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp194}, &label0);
    1708         112 :     ca_.Goto(&block28, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp194, tmp195);
    1709         112 :     if (label0.is_used()) {
    1710         112 :       ca_.Bind(&label0);
    1711         112 :       ca_.Goto(&block29, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp194);
    1712             :     }
    1713             :   }
    1714             : 
    1715         112 :   if (block29.is_used()) {
    1716         112 :     compiler::TNode<Context> tmp196;
    1717         112 :     compiler::TNode<JSReceiver> tmp197;
    1718         112 :     compiler::TNode<String> tmp198;
    1719         112 :     compiler::TNode<Number> tmp199;
    1720         112 :     compiler::TNode<Object> tmp200;
    1721         112 :     compiler::TNode<Object> tmp201;
    1722         112 :     compiler::TNode<Map> tmp202;
    1723         112 :     compiler::TNode<Int32T> tmp203;
    1724         112 :     compiler::TNode<BuiltinPtr> tmp204;
    1725         112 :     compiler::TNode<JSArray> tmp205;
    1726         112 :     compiler::TNode<NumberDictionary> tmp206;
    1727         112 :     compiler::TNode<Smi> tmp207;
    1728         112 :     compiler::TNode<Number> tmp208;
    1729         112 :     ca_.Bind(&block29, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208);
    1730         112 :     ca_.Goto(&block27, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207);
    1731             :   }
    1732             : 
    1733         112 :   if (block28.is_used()) {
    1734         112 :     compiler::TNode<Context> tmp209;
    1735         112 :     compiler::TNode<JSReceiver> tmp210;
    1736         112 :     compiler::TNode<String> tmp211;
    1737         112 :     compiler::TNode<Number> tmp212;
    1738         112 :     compiler::TNode<Object> tmp213;
    1739         112 :     compiler::TNode<Object> tmp214;
    1740         112 :     compiler::TNode<Map> tmp215;
    1741         112 :     compiler::TNode<Int32T> tmp216;
    1742         112 :     compiler::TNode<BuiltinPtr> tmp217;
    1743         112 :     compiler::TNode<JSArray> tmp218;
    1744         112 :     compiler::TNode<NumberDictionary> tmp219;
    1745         112 :     compiler::TNode<Smi> tmp220;
    1746         112 :     compiler::TNode<Number> tmp221;
    1747         112 :     compiler::TNode<Smi> tmp222;
    1748         112 :     ca_.Bind(&block28, &tmp209, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222);
    1749         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 355);
    1750         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 357);
    1751         112 :     compiler::TNode<String> tmp223;
    1752         112 :     tmp223 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kStringRepeat, tmp209, tmp211, tmp222));
    1753         112 :     USE(tmp223);
    1754         112 :     ca_.Goto(&block1, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp223);
    1755             :   }
    1756             : 
    1757         112 :   if (block27.is_used()) {
    1758         112 :     compiler::TNode<Context> tmp224;
    1759         112 :     compiler::TNode<JSReceiver> tmp225;
    1760         112 :     compiler::TNode<String> tmp226;
    1761         112 :     compiler::TNode<Number> tmp227;
    1762         112 :     compiler::TNode<Object> tmp228;
    1763         112 :     compiler::TNode<Object> tmp229;
    1764         112 :     compiler::TNode<Map> tmp230;
    1765         112 :     compiler::TNode<Int32T> tmp231;
    1766         112 :     compiler::TNode<BuiltinPtr> tmp232;
    1767         112 :     compiler::TNode<JSArray> tmp233;
    1768         112 :     compiler::TNode<NumberDictionary> tmp234;
    1769         112 :     compiler::TNode<Smi> tmp235;
    1770         112 :     ca_.Bind(&block27, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235);
    1771         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 360);
    1772         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp224);
    1773         112 :     CodeStubAssembler(state_).Unreachable();
    1774             :   }
    1775             : 
    1776         112 :   if (block22.is_used()) {
    1777         112 :     compiler::TNode<Context> tmp237;
    1778         112 :     compiler::TNode<JSReceiver> tmp238;
    1779         112 :     compiler::TNode<String> tmp239;
    1780         112 :     compiler::TNode<Number> tmp240;
    1781         112 :     compiler::TNode<Object> tmp241;
    1782         112 :     compiler::TNode<Object> tmp242;
    1783         112 :     compiler::TNode<Map> tmp243;
    1784         112 :     compiler::TNode<Int32T> tmp244;
    1785         112 :     compiler::TNode<BuiltinPtr> tmp245;
    1786         112 :     compiler::TNode<JSArray> tmp246;
    1787         112 :     compiler::TNode<NumberDictionary> tmp247;
    1788         112 :     compiler::TNode<Smi> tmp248;
    1789         112 :     ca_.Bind(&block22, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248);
    1790         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 363);
    1791         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 352);
    1792         112 :     ca_.Goto(&block23, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement20ATDictionaryElements)), tmp246, tmp247, tmp248);
    1793             :   }
    1794             : 
    1795         112 :   if (block23.is_used()) {
    1796         112 :     compiler::TNode<Context> tmp249;
    1797         112 :     compiler::TNode<JSReceiver> tmp250;
    1798         112 :     compiler::TNode<String> tmp251;
    1799         112 :     compiler::TNode<Number> tmp252;
    1800         112 :     compiler::TNode<Object> tmp253;
    1801         112 :     compiler::TNode<Object> tmp254;
    1802         112 :     compiler::TNode<Map> tmp255;
    1803         112 :     compiler::TNode<Int32T> tmp256;
    1804         112 :     compiler::TNode<BuiltinPtr> tmp257;
    1805         112 :     compiler::TNode<JSArray> tmp258;
    1806         112 :     compiler::TNode<NumberDictionary> tmp259;
    1807         112 :     compiler::TNode<Smi> tmp260;
    1808         112 :     ca_.Bind(&block23, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260);
    1809         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 348);
    1810         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 347);
    1811         112 :     ca_.Goto(&block20, tmp249, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258);
    1812             :   }
    1813             : 
    1814         112 :   if (block19.is_used()) {
    1815         112 :     compiler::TNode<Context> tmp261;
    1816         112 :     compiler::TNode<JSReceiver> tmp262;
    1817         112 :     compiler::TNode<String> tmp263;
    1818         112 :     compiler::TNode<Number> tmp264;
    1819         112 :     compiler::TNode<Object> tmp265;
    1820         112 :     compiler::TNode<Object> tmp266;
    1821         112 :     compiler::TNode<Map> tmp267;
    1822         112 :     compiler::TNode<Int32T> tmp268;
    1823         112 :     compiler::TNode<BuiltinPtr> tmp269;
    1824         112 :     compiler::TNode<JSArray> tmp270;
    1825         112 :     ca_.Bind(&block19, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270);
    1826         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 367);
    1827         112 :     ca_.Goto(&block3, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269);
    1828             :   }
    1829             : 
    1830         112 :   if (block20.is_used()) {
    1831         112 :     compiler::TNode<Context> tmp271;
    1832         112 :     compiler::TNode<JSReceiver> tmp272;
    1833         112 :     compiler::TNode<String> tmp273;
    1834         112 :     compiler::TNode<Number> tmp274;
    1835         112 :     compiler::TNode<Object> tmp275;
    1836         112 :     compiler::TNode<Object> tmp276;
    1837         112 :     compiler::TNode<Map> tmp277;
    1838         112 :     compiler::TNode<Int32T> tmp278;
    1839         112 :     compiler::TNode<BuiltinPtr> tmp279;
    1840         112 :     compiler::TNode<JSArray> tmp280;
    1841         112 :     ca_.Bind(&block20, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280);
    1842         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 345);
    1843         112 :     ca_.Goto(&block17, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280);
    1844             :   }
    1845             : 
    1846         112 :   if (block17.is_used()) {
    1847         112 :     compiler::TNode<Context> tmp281;
    1848         112 :     compiler::TNode<JSReceiver> tmp282;
    1849         112 :     compiler::TNode<String> tmp283;
    1850         112 :     compiler::TNode<Number> tmp284;
    1851         112 :     compiler::TNode<Object> tmp285;
    1852         112 :     compiler::TNode<Object> tmp286;
    1853         112 :     compiler::TNode<Map> tmp287;
    1854         112 :     compiler::TNode<Int32T> tmp288;
    1855         112 :     compiler::TNode<BuiltinPtr> tmp289;
    1856         112 :     compiler::TNode<JSArray> tmp290;
    1857         112 :     ca_.Bind(&block17, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290);
    1858         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 343);
    1859         112 :     ca_.Goto(&block14, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290);
    1860             :   }
    1861             : 
    1862         112 :   if (block14.is_used()) {
    1863         112 :     compiler::TNode<Context> tmp291;
    1864         112 :     compiler::TNode<JSReceiver> tmp292;
    1865         112 :     compiler::TNode<String> tmp293;
    1866         112 :     compiler::TNode<Number> tmp294;
    1867         112 :     compiler::TNode<Object> tmp295;
    1868         112 :     compiler::TNode<Object> tmp296;
    1869         112 :     compiler::TNode<Map> tmp297;
    1870         112 :     compiler::TNode<Int32T> tmp298;
    1871         112 :     compiler::TNode<BuiltinPtr> tmp299;
    1872         112 :     compiler::TNode<JSArray> tmp300;
    1873         112 :     ca_.Bind(&block14, &tmp291, &tmp292, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300);
    1874         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 337);
    1875         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 370);
    1876         112 :     ca_.Goto(&block2, tmp291, tmp292, tmp293, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299);
    1877             :   }
    1878             : 
    1879         112 :   if (block3.is_used()) {
    1880         112 :     compiler::TNode<Context> tmp301;
    1881         112 :     compiler::TNode<JSReceiver> tmp302;
    1882         112 :     compiler::TNode<String> tmp303;
    1883         112 :     compiler::TNode<Number> tmp304;
    1884         112 :     compiler::TNode<Object> tmp305;
    1885         112 :     compiler::TNode<Object> tmp306;
    1886         112 :     compiler::TNode<Map> tmp307;
    1887         112 :     compiler::TNode<Int32T> tmp308;
    1888         112 :     compiler::TNode<BuiltinPtr> tmp309;
    1889         112 :     ca_.Bind(&block3, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309);
    1890         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 371);
    1891         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 337);
    1892         112 :     ca_.Goto(&block2, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)));
    1893             :   }
    1894             : 
    1895         112 :   if (block2.is_used()) {
    1896         112 :     compiler::TNode<Context> tmp310;
    1897         112 :     compiler::TNode<JSReceiver> tmp311;
    1898         112 :     compiler::TNode<String> tmp312;
    1899         112 :     compiler::TNode<Number> tmp313;
    1900         112 :     compiler::TNode<Object> tmp314;
    1901         112 :     compiler::TNode<Object> tmp315;
    1902         112 :     compiler::TNode<Map> tmp316;
    1903         112 :     compiler::TNode<Int32T> tmp317;
    1904         112 :     compiler::TNode<BuiltinPtr> tmp318;
    1905         112 :     ca_.Bind(&block2, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318);
    1906         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 374);
    1907         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 373);
    1908         112 :     compiler::TNode<String> tmp319;
    1909         112 :     USE(tmp319);
    1910         112 :     tmp319 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoinImpl7JSArray(compiler::TNode<Context>{tmp310}, compiler::TNode<JSReceiver>{tmp311}, compiler::TNode<String>{tmp312}, compiler::TNode<Number>{tmp313}, p_useToLocaleString, compiler::TNode<Object>{tmp314}, compiler::TNode<Object>{tmp315}, compiler::TNode<BuiltinPtr>{tmp318}));
    1911         112 :     ca_.Goto(&block1, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp319);
    1912             :   }
    1913             : 
    1914         112 :   if (block1.is_used()) {
    1915         112 :     compiler::TNode<Context> tmp320;
    1916         112 :     compiler::TNode<JSReceiver> tmp321;
    1917         112 :     compiler::TNode<String> tmp322;
    1918         112 :     compiler::TNode<Number> tmp323;
    1919         112 :     compiler::TNode<Object> tmp324;
    1920         112 :     compiler::TNode<Object> tmp325;
    1921         112 :     compiler::TNode<Object> tmp326;
    1922         112 :     ca_.Bind(&block1, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326);
    1923         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 326);
    1924         112 :     ca_.Goto(&block30, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326);
    1925             :   }
    1926             : 
    1927         112 :     compiler::TNode<Context> tmp327;
    1928         112 :     compiler::TNode<JSReceiver> tmp328;
    1929         112 :     compiler::TNode<String> tmp329;
    1930         112 :     compiler::TNode<Number> tmp330;
    1931         112 :     compiler::TNode<Object> tmp331;
    1932         112 :     compiler::TNode<Object> tmp332;
    1933         112 :     compiler::TNode<Object> tmp333;
    1934         112 :     ca_.Bind(&block30, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333);
    1935         224 :   return compiler::TNode<Object>{tmp333};
    1936             : }
    1937             : 
    1938         112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoin12JSTypedArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lenNumber, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
    1939         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1940         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1941         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1942         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1943         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1944         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1945         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1946         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1947         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1948         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1949         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1950         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1951         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1952         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1953         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1954         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1955         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1956         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1957         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1958         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1959         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1960         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1961         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1962         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1963         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1964         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1965         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1966         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1967         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block33(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1968         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1969         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1970         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1971         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1972         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1973         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1974         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1975         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Map, Int32T, BuiltinPtr> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1976         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1977         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, Object> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1978         112 :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lenNumber, p_locales, p_options);
    1979             : 
    1980         112 :   if (block0.is_used()) {
    1981         112 :     compiler::TNode<Context> tmp0;
    1982         112 :     compiler::TNode<JSReceiver> tmp1;
    1983         112 :     compiler::TNode<String> tmp2;
    1984         112 :     compiler::TNode<Number> tmp3;
    1985         112 :     compiler::TNode<Object> tmp4;
    1986         112 :     compiler::TNode<Object> tmp5;
    1987         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    1988         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 380);
    1989         112 :     compiler::TNode<Map> tmp6;
    1990         112 :     USE(tmp6);
    1991         112 :     tmp6 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp1}));
    1992         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 381);
    1993         112 :     compiler::TNode<Int32T> tmp7;
    1994         112 :     USE(tmp7);
    1995         112 :     tmp7 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp6}));
    1996         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 382);
    1997         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
    1998         112 :     compiler::TNode<BoolT> tmp8;
    1999         112 :     USE(tmp8);
    2000         112 :     tmp8 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindGreaterThan(compiler::TNode<Int32T>{tmp7}, UINT32_ELEMENTS));
    2001         112 :     ca_.Branch(tmp8, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, ca_.Uninitialized<BuiltinPtr>());
    2002             :   }
    2003             : 
    2004         112 :   if (block2.is_used()) {
    2005         112 :     compiler::TNode<Context> tmp9;
    2006         112 :     compiler::TNode<JSReceiver> tmp10;
    2007         112 :     compiler::TNode<String> tmp11;
    2008         112 :     compiler::TNode<Number> tmp12;
    2009         112 :     compiler::TNode<Object> tmp13;
    2010         112 :     compiler::TNode<Object> tmp14;
    2011         112 :     compiler::TNode<Map> tmp15;
    2012         112 :     compiler::TNode<Int32T> tmp16;
    2013         112 :     compiler::TNode<BuiltinPtr> tmp17;
    2014         112 :     ca_.Bind(&block2, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17);
    2015         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
    2016         112 :     compiler::TNode<Int32T> tmp18;
    2017         112 :     USE(tmp18);
    2018         112 :     tmp18 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT32_ELEMENTS));
    2019         112 :     compiler::TNode<BoolT> tmp19;
    2020         112 :     USE(tmp19);
    2021         112 :     tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp16}, compiler::TNode<Int32T>{tmp18}));
    2022         112 :     ca_.Branch(tmp19, &block5, &block6, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
    2023             :   }
    2024             : 
    2025         112 :   if (block5.is_used()) {
    2026         112 :     compiler::TNode<Context> tmp20;
    2027         112 :     compiler::TNode<JSReceiver> tmp21;
    2028         112 :     compiler::TNode<String> tmp22;
    2029         112 :     compiler::TNode<Number> tmp23;
    2030         112 :     compiler::TNode<Object> tmp24;
    2031         112 :     compiler::TNode<Object> tmp25;
    2032         112 :     compiler::TNode<Map> tmp26;
    2033         112 :     compiler::TNode<Int32T> tmp27;
    2034         112 :     compiler::TNode<BuiltinPtr> tmp28;
    2035         112 :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
    2036         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 386);
    2037         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
    2038         112 :     ca_.Goto(&block7, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt32Array)));
    2039             :   }
    2040             : 
    2041         112 :   if (block6.is_used()) {
    2042         112 :     compiler::TNode<Context> tmp29;
    2043         112 :     compiler::TNode<JSReceiver> tmp30;
    2044         112 :     compiler::TNode<String> tmp31;
    2045         112 :     compiler::TNode<Number> tmp32;
    2046         112 :     compiler::TNode<Object> tmp33;
    2047         112 :     compiler::TNode<Object> tmp34;
    2048         112 :     compiler::TNode<Map> tmp35;
    2049         112 :     compiler::TNode<Int32T> tmp36;
    2050         112 :     compiler::TNode<BuiltinPtr> tmp37;
    2051         112 :     ca_.Bind(&block6, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
    2052         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
    2053         112 :     compiler::TNode<Int32T> tmp38;
    2054         112 :     USE(tmp38);
    2055         112 :     tmp38 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT32_ELEMENTS));
    2056         112 :     compiler::TNode<BoolT> tmp39;
    2057         112 :     USE(tmp39);
    2058         112 :     tmp39 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp36}, compiler::TNode<Int32T>{tmp38}));
    2059         112 :     ca_.Branch(tmp39, &block8, &block9, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37);
    2060             :   }
    2061             : 
    2062         112 :   if (block8.is_used()) {
    2063         112 :     compiler::TNode<Context> tmp40;
    2064         112 :     compiler::TNode<JSReceiver> tmp41;
    2065         112 :     compiler::TNode<String> tmp42;
    2066         112 :     compiler::TNode<Number> tmp43;
    2067         112 :     compiler::TNode<Object> tmp44;
    2068         112 :     compiler::TNode<Object> tmp45;
    2069         112 :     compiler::TNode<Map> tmp46;
    2070         112 :     compiler::TNode<Int32T> tmp47;
    2071         112 :     compiler::TNode<BuiltinPtr> tmp48;
    2072         112 :     ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48);
    2073         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 388);
    2074         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
    2075         112 :     ca_.Goto(&block10, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat32Array)));
    2076             :   }
    2077             : 
    2078         112 :   if (block9.is_used()) {
    2079         112 :     compiler::TNode<Context> tmp49;
    2080         112 :     compiler::TNode<JSReceiver> tmp50;
    2081         112 :     compiler::TNode<String> tmp51;
    2082         112 :     compiler::TNode<Number> tmp52;
    2083         112 :     compiler::TNode<Object> tmp53;
    2084         112 :     compiler::TNode<Object> tmp54;
    2085         112 :     compiler::TNode<Map> tmp55;
    2086         112 :     compiler::TNode<Int32T> tmp56;
    2087         112 :     compiler::TNode<BuiltinPtr> tmp57;
    2088         112 :     ca_.Bind(&block9, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
    2089         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
    2090         112 :     compiler::TNode<Int32T> tmp58;
    2091         112 :     USE(tmp58);
    2092         112 :     tmp58 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(FLOAT64_ELEMENTS));
    2093         112 :     compiler::TNode<BoolT> tmp59;
    2094         112 :     USE(tmp59);
    2095         112 :     tmp59 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp56}, compiler::TNode<Int32T>{tmp58}));
    2096         112 :     ca_.Branch(tmp59, &block11, &block12, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57);
    2097             :   }
    2098             : 
    2099         112 :   if (block11.is_used()) {
    2100         112 :     compiler::TNode<Context> tmp60;
    2101         112 :     compiler::TNode<JSReceiver> tmp61;
    2102         112 :     compiler::TNode<String> tmp62;
    2103         112 :     compiler::TNode<Number> tmp63;
    2104         112 :     compiler::TNode<Object> tmp64;
    2105         112 :     compiler::TNode<Object> tmp65;
    2106         112 :     compiler::TNode<Map> tmp66;
    2107         112 :     compiler::TNode<Int32T> tmp67;
    2108         112 :     compiler::TNode<BuiltinPtr> tmp68;
    2109         112 :     ca_.Bind(&block11, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68);
    2110         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 390);
    2111         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
    2112         112 :     ca_.Goto(&block13, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement19ATFixedFloat64Array)));
    2113             :   }
    2114             : 
    2115         112 :   if (block12.is_used()) {
    2116         112 :     compiler::TNode<Context> tmp69;
    2117         112 :     compiler::TNode<JSReceiver> tmp70;
    2118         112 :     compiler::TNode<String> tmp71;
    2119         112 :     compiler::TNode<Number> tmp72;
    2120         112 :     compiler::TNode<Object> tmp73;
    2121         112 :     compiler::TNode<Object> tmp74;
    2122         112 :     compiler::TNode<Map> tmp75;
    2123         112 :     compiler::TNode<Int32T> tmp76;
    2124         112 :     compiler::TNode<BuiltinPtr> tmp77;
    2125         112 :     ca_.Bind(&block12, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
    2126         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
    2127         112 :     compiler::TNode<Int32T> tmp78;
    2128         112 :     USE(tmp78);
    2129         112 :     tmp78 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_CLAMPED_ELEMENTS));
    2130         112 :     compiler::TNode<BoolT> tmp79;
    2131         112 :     USE(tmp79);
    2132         112 :     tmp79 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp76}, compiler::TNode<Int32T>{tmp78}));
    2133         112 :     ca_.Branch(tmp79, &block14, &block15, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77);
    2134             :   }
    2135             : 
    2136         112 :   if (block14.is_used()) {
    2137         112 :     compiler::TNode<Context> tmp80;
    2138         112 :     compiler::TNode<JSReceiver> tmp81;
    2139         112 :     compiler::TNode<String> tmp82;
    2140         112 :     compiler::TNode<Number> tmp83;
    2141         112 :     compiler::TNode<Object> tmp84;
    2142         112 :     compiler::TNode<Object> tmp85;
    2143         112 :     compiler::TNode<Map> tmp86;
    2144         112 :     compiler::TNode<Int32T> tmp87;
    2145         112 :     compiler::TNode<BuiltinPtr> tmp88;
    2146         112 :     ca_.Bind(&block14, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88);
    2147         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 392);
    2148         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
    2149         112 :     ca_.Goto(&block16, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement24ATFixedUint8ClampedArray)));
    2150             :   }
    2151             : 
    2152         112 :   if (block15.is_used()) {
    2153         112 :     compiler::TNode<Context> tmp89;
    2154         112 :     compiler::TNode<JSReceiver> tmp90;
    2155         112 :     compiler::TNode<String> tmp91;
    2156         112 :     compiler::TNode<Number> tmp92;
    2157         112 :     compiler::TNode<Object> tmp93;
    2158         112 :     compiler::TNode<Object> tmp94;
    2159         112 :     compiler::TNode<Map> tmp95;
    2160         112 :     compiler::TNode<Int32T> tmp96;
    2161         112 :     compiler::TNode<BuiltinPtr> tmp97;
    2162         112 :     ca_.Bind(&block15, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
    2163         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
    2164         112 :     compiler::TNode<Int32T> tmp98;
    2165         112 :     USE(tmp98);
    2166         112 :     tmp98 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGUINT64_ELEMENTS));
    2167         112 :     compiler::TNode<BoolT> tmp99;
    2168         112 :     USE(tmp99);
    2169         112 :     tmp99 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp96}, compiler::TNode<Int32T>{tmp98}));
    2170         112 :     ca_.Branch(tmp99, &block17, &block18, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97);
    2171             :   }
    2172             : 
    2173         112 :   if (block17.is_used()) {
    2174         112 :     compiler::TNode<Context> tmp100;
    2175         112 :     compiler::TNode<JSReceiver> tmp101;
    2176         112 :     compiler::TNode<String> tmp102;
    2177         112 :     compiler::TNode<Number> tmp103;
    2178         112 :     compiler::TNode<Object> tmp104;
    2179         112 :     compiler::TNode<Object> tmp105;
    2180         112 :     compiler::TNode<Map> tmp106;
    2181         112 :     compiler::TNode<Int32T> tmp107;
    2182         112 :     compiler::TNode<BuiltinPtr> tmp108;
    2183         112 :     ca_.Bind(&block17, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108);
    2184         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 394);
    2185         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
    2186         112 :     ca_.Goto(&block19, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement21ATFixedBigUint64Array)));
    2187             :   }
    2188             : 
    2189         112 :   if (block18.is_used()) {
    2190         112 :     compiler::TNode<Context> tmp109;
    2191         112 :     compiler::TNode<JSReceiver> tmp110;
    2192         112 :     compiler::TNode<String> tmp111;
    2193         112 :     compiler::TNode<Number> tmp112;
    2194         112 :     compiler::TNode<Object> tmp113;
    2195         112 :     compiler::TNode<Object> tmp114;
    2196         112 :     compiler::TNode<Map> tmp115;
    2197         112 :     compiler::TNode<Int32T> tmp116;
    2198         112 :     compiler::TNode<BuiltinPtr> tmp117;
    2199         112 :     ca_.Bind(&block18, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117);
    2200         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 395);
    2201         112 :     compiler::TNode<Int32T> tmp118;
    2202         112 :     USE(tmp118);
    2203         112 :     tmp118 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(BIGINT64_ELEMENTS));
    2204         112 :     compiler::TNode<BoolT> tmp119;
    2205         112 :     USE(tmp119);
    2206         112 :     tmp119 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp116}, compiler::TNode<Int32T>{tmp118}));
    2207         112 :     ca_.Branch(tmp119, &block20, &block21, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117);
    2208             :   }
    2209             : 
    2210         112 :   if (block20.is_used()) {
    2211         112 :     compiler::TNode<Context> tmp120;
    2212         112 :     compiler::TNode<JSReceiver> tmp121;
    2213         112 :     compiler::TNode<String> tmp122;
    2214         112 :     compiler::TNode<Number> tmp123;
    2215         112 :     compiler::TNode<Object> tmp124;
    2216         112 :     compiler::TNode<Object> tmp125;
    2217         112 :     compiler::TNode<Map> tmp126;
    2218         112 :     compiler::TNode<Int32T> tmp127;
    2219         112 :     compiler::TNode<BuiltinPtr> tmp128;
    2220         112 :     ca_.Bind(&block20, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128);
    2221         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 396);
    2222         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 395);
    2223         112 :     ca_.Goto(&block22, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement20ATFixedBigInt64Array)));
    2224             :   }
    2225             : 
    2226         112 :   if (block21.is_used()) {
    2227         112 :     compiler::TNode<Context> tmp129;
    2228         112 :     compiler::TNode<JSReceiver> tmp130;
    2229         112 :     compiler::TNode<String> tmp131;
    2230         112 :     compiler::TNode<Number> tmp132;
    2231         112 :     compiler::TNode<Object> tmp133;
    2232         112 :     compiler::TNode<Object> tmp134;
    2233         112 :     compiler::TNode<Map> tmp135;
    2234         112 :     compiler::TNode<Int32T> tmp136;
    2235         112 :     compiler::TNode<BuiltinPtr> tmp137;
    2236         112 :     ca_.Bind(&block21, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137);
    2237         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 398);
    2238         112 :     CodeStubAssembler(state_).Unreachable();
    2239             :   }
    2240             : 
    2241         112 :   if (block22.is_used()) {
    2242         112 :     compiler::TNode<Context> tmp138;
    2243         112 :     compiler::TNode<JSReceiver> tmp139;
    2244         112 :     compiler::TNode<String> tmp140;
    2245         112 :     compiler::TNode<Number> tmp141;
    2246         112 :     compiler::TNode<Object> tmp142;
    2247         112 :     compiler::TNode<Object> tmp143;
    2248         112 :     compiler::TNode<Map> tmp144;
    2249         112 :     compiler::TNode<Int32T> tmp145;
    2250         112 :     compiler::TNode<BuiltinPtr> tmp146;
    2251         112 :     ca_.Bind(&block22, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
    2252         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 393);
    2253         112 :     ca_.Goto(&block19, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146);
    2254             :   }
    2255             : 
    2256         112 :   if (block19.is_used()) {
    2257         112 :     compiler::TNode<Context> tmp147;
    2258         112 :     compiler::TNode<JSReceiver> tmp148;
    2259         112 :     compiler::TNode<String> tmp149;
    2260         112 :     compiler::TNode<Number> tmp150;
    2261         112 :     compiler::TNode<Object> tmp151;
    2262         112 :     compiler::TNode<Object> tmp152;
    2263         112 :     compiler::TNode<Map> tmp153;
    2264         112 :     compiler::TNode<Int32T> tmp154;
    2265         112 :     compiler::TNode<BuiltinPtr> tmp155;
    2266         112 :     ca_.Bind(&block19, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155);
    2267         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 391);
    2268         112 :     ca_.Goto(&block16, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155);
    2269             :   }
    2270             : 
    2271         112 :   if (block16.is_used()) {
    2272         112 :     compiler::TNode<Context> tmp156;
    2273         112 :     compiler::TNode<JSReceiver> tmp157;
    2274         112 :     compiler::TNode<String> tmp158;
    2275         112 :     compiler::TNode<Number> tmp159;
    2276         112 :     compiler::TNode<Object> tmp160;
    2277         112 :     compiler::TNode<Object> tmp161;
    2278         112 :     compiler::TNode<Map> tmp162;
    2279         112 :     compiler::TNode<Int32T> tmp163;
    2280         112 :     compiler::TNode<BuiltinPtr> tmp164;
    2281         112 :     ca_.Bind(&block16, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164);
    2282         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 389);
    2283         112 :     ca_.Goto(&block13, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164);
    2284             :   }
    2285             : 
    2286         112 :   if (block13.is_used()) {
    2287         112 :     compiler::TNode<Context> tmp165;
    2288         112 :     compiler::TNode<JSReceiver> tmp166;
    2289         112 :     compiler::TNode<String> tmp167;
    2290         112 :     compiler::TNode<Number> tmp168;
    2291         112 :     compiler::TNode<Object> tmp169;
    2292         112 :     compiler::TNode<Object> tmp170;
    2293         112 :     compiler::TNode<Map> tmp171;
    2294         112 :     compiler::TNode<Int32T> tmp172;
    2295         112 :     compiler::TNode<BuiltinPtr> tmp173;
    2296         112 :     ca_.Bind(&block13, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173);
    2297         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 387);
    2298         112 :     ca_.Goto(&block10, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173);
    2299             :   }
    2300             : 
    2301         112 :   if (block10.is_used()) {
    2302         112 :     compiler::TNode<Context> tmp174;
    2303         112 :     compiler::TNode<JSReceiver> tmp175;
    2304         112 :     compiler::TNode<String> tmp176;
    2305         112 :     compiler::TNode<Number> tmp177;
    2306         112 :     compiler::TNode<Object> tmp178;
    2307         112 :     compiler::TNode<Object> tmp179;
    2308         112 :     compiler::TNode<Map> tmp180;
    2309         112 :     compiler::TNode<Int32T> tmp181;
    2310         112 :     compiler::TNode<BuiltinPtr> tmp182;
    2311         112 :     ca_.Bind(&block10, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182);
    2312         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 385);
    2313         112 :     ca_.Goto(&block7, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182);
    2314             :   }
    2315             : 
    2316         112 :   if (block7.is_used()) {
    2317         112 :     compiler::TNode<Context> tmp183;
    2318         112 :     compiler::TNode<JSReceiver> tmp184;
    2319         112 :     compiler::TNode<String> tmp185;
    2320         112 :     compiler::TNode<Number> tmp186;
    2321         112 :     compiler::TNode<Object> tmp187;
    2322         112 :     compiler::TNode<Object> tmp188;
    2323         112 :     compiler::TNode<Map> tmp189;
    2324         112 :     compiler::TNode<Int32T> tmp190;
    2325         112 :     compiler::TNode<BuiltinPtr> tmp191;
    2326         112 :     ca_.Bind(&block7, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191);
    2327         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
    2328         112 :     ca_.Goto(&block4, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191);
    2329             :   }
    2330             : 
    2331         112 :   if (block3.is_used()) {
    2332         112 :     compiler::TNode<Context> tmp192;
    2333         112 :     compiler::TNode<JSReceiver> tmp193;
    2334         112 :     compiler::TNode<String> tmp194;
    2335         112 :     compiler::TNode<Number> tmp195;
    2336         112 :     compiler::TNode<Object> tmp196;
    2337         112 :     compiler::TNode<Object> tmp197;
    2338         112 :     compiler::TNode<Map> tmp198;
    2339         112 :     compiler::TNode<Int32T> tmp199;
    2340         112 :     compiler::TNode<BuiltinPtr> tmp200;
    2341         112 :     ca_.Bind(&block3, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200);
    2342         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
    2343         112 :     compiler::TNode<Int32T> tmp201;
    2344         112 :     USE(tmp201);
    2345         112 :     tmp201 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT8_ELEMENTS));
    2346         112 :     compiler::TNode<BoolT> tmp202;
    2347         112 :     USE(tmp202);
    2348         112 :     tmp202 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp199}, compiler::TNode<Int32T>{tmp201}));
    2349         112 :     ca_.Branch(tmp202, &block23, &block24, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200);
    2350             :   }
    2351             : 
    2352         112 :   if (block23.is_used()) {
    2353         112 :     compiler::TNode<Context> tmp203;
    2354         112 :     compiler::TNode<JSReceiver> tmp204;
    2355         112 :     compiler::TNode<String> tmp205;
    2356         112 :     compiler::TNode<Number> tmp206;
    2357         112 :     compiler::TNode<Object> tmp207;
    2358         112 :     compiler::TNode<Object> tmp208;
    2359         112 :     compiler::TNode<Map> tmp209;
    2360         112 :     compiler::TNode<Int32T> tmp210;
    2361         112 :     compiler::TNode<BuiltinPtr> tmp211;
    2362         112 :     ca_.Bind(&block23, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211);
    2363         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 402);
    2364         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
    2365         112 :     ca_.Goto(&block25, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedUint8Array)));
    2366             :   }
    2367             : 
    2368         112 :   if (block24.is_used()) {
    2369         112 :     compiler::TNode<Context> tmp212;
    2370         112 :     compiler::TNode<JSReceiver> tmp213;
    2371         112 :     compiler::TNode<String> tmp214;
    2372         112 :     compiler::TNode<Number> tmp215;
    2373         112 :     compiler::TNode<Object> tmp216;
    2374         112 :     compiler::TNode<Object> tmp217;
    2375         112 :     compiler::TNode<Map> tmp218;
    2376         112 :     compiler::TNode<Int32T> tmp219;
    2377         112 :     compiler::TNode<BuiltinPtr> tmp220;
    2378         112 :     ca_.Bind(&block24, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220);
    2379         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
    2380         112 :     compiler::TNode<Int32T> tmp221;
    2381         112 :     USE(tmp221);
    2382         112 :     tmp221 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT8_ELEMENTS));
    2383         112 :     compiler::TNode<BoolT> tmp222;
    2384         112 :     USE(tmp222);
    2385         112 :     tmp222 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp219}, compiler::TNode<Int32T>{tmp221}));
    2386         112 :     ca_.Branch(tmp222, &block26, &block27, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220);
    2387             :   }
    2388             : 
    2389         112 :   if (block26.is_used()) {
    2390         112 :     compiler::TNode<Context> tmp223;
    2391         112 :     compiler::TNode<JSReceiver> tmp224;
    2392         112 :     compiler::TNode<String> tmp225;
    2393         112 :     compiler::TNode<Number> tmp226;
    2394         112 :     compiler::TNode<Object> tmp227;
    2395         112 :     compiler::TNode<Object> tmp228;
    2396         112 :     compiler::TNode<Map> tmp229;
    2397         112 :     compiler::TNode<Int32T> tmp230;
    2398         112 :     compiler::TNode<BuiltinPtr> tmp231;
    2399         112 :     ca_.Bind(&block26, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231);
    2400         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 404);
    2401         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
    2402         112 :     ca_.Goto(&block28, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement16ATFixedInt8Array)));
    2403             :   }
    2404             : 
    2405         112 :   if (block27.is_used()) {
    2406         112 :     compiler::TNode<Context> tmp232;
    2407         112 :     compiler::TNode<JSReceiver> tmp233;
    2408         112 :     compiler::TNode<String> tmp234;
    2409         112 :     compiler::TNode<Number> tmp235;
    2410         112 :     compiler::TNode<Object> tmp236;
    2411         112 :     compiler::TNode<Object> tmp237;
    2412         112 :     compiler::TNode<Map> tmp238;
    2413         112 :     compiler::TNode<Int32T> tmp239;
    2414         112 :     compiler::TNode<BuiltinPtr> tmp240;
    2415         112 :     ca_.Bind(&block27, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240);
    2416         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
    2417         112 :     compiler::TNode<Int32T> tmp241;
    2418         112 :     USE(tmp241);
    2419         112 :     tmp241 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT16_ELEMENTS));
    2420         112 :     compiler::TNode<BoolT> tmp242;
    2421         112 :     USE(tmp242);
    2422         112 :     tmp242 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp239}, compiler::TNode<Int32T>{tmp241}));
    2423         112 :     ca_.Branch(tmp242, &block29, &block30, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240);
    2424             :   }
    2425             : 
    2426         112 :   if (block29.is_used()) {
    2427         112 :     compiler::TNode<Context> tmp243;
    2428         112 :     compiler::TNode<JSReceiver> tmp244;
    2429         112 :     compiler::TNode<String> tmp245;
    2430         112 :     compiler::TNode<Number> tmp246;
    2431         112 :     compiler::TNode<Object> tmp247;
    2432         112 :     compiler::TNode<Object> tmp248;
    2433         112 :     compiler::TNode<Map> tmp249;
    2434         112 :     compiler::TNode<Int32T> tmp250;
    2435         112 :     compiler::TNode<BuiltinPtr> tmp251;
    2436         112 :     ca_.Bind(&block29, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251);
    2437         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 406);
    2438         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
    2439         112 :     ca_.Goto(&block31, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint16Array)));
    2440             :   }
    2441             : 
    2442         112 :   if (block30.is_used()) {
    2443         112 :     compiler::TNode<Context> tmp252;
    2444         112 :     compiler::TNode<JSReceiver> tmp253;
    2445         112 :     compiler::TNode<String> tmp254;
    2446         112 :     compiler::TNode<Number> tmp255;
    2447         112 :     compiler::TNode<Object> tmp256;
    2448         112 :     compiler::TNode<Object> tmp257;
    2449         112 :     compiler::TNode<Map> tmp258;
    2450         112 :     compiler::TNode<Int32T> tmp259;
    2451         112 :     compiler::TNode<BuiltinPtr> tmp260;
    2452         112 :     ca_.Bind(&block30, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260);
    2453         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
    2454         112 :     compiler::TNode<Int32T> tmp261;
    2455         112 :     USE(tmp261);
    2456         112 :     tmp261 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(INT16_ELEMENTS));
    2457         112 :     compiler::TNode<BoolT> tmp262;
    2458         112 :     USE(tmp262);
    2459         112 :     tmp262 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp259}, compiler::TNode<Int32T>{tmp261}));
    2460         112 :     ca_.Branch(tmp262, &block32, &block33, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260);
    2461             :   }
    2462             : 
    2463         112 :   if (block32.is_used()) {
    2464         112 :     compiler::TNode<Context> tmp263;
    2465         112 :     compiler::TNode<JSReceiver> tmp264;
    2466         112 :     compiler::TNode<String> tmp265;
    2467         112 :     compiler::TNode<Number> tmp266;
    2468         112 :     compiler::TNode<Object> tmp267;
    2469         112 :     compiler::TNode<Object> tmp268;
    2470         112 :     compiler::TNode<Map> tmp269;
    2471         112 :     compiler::TNode<Int32T> tmp270;
    2472         112 :     compiler::TNode<BuiltinPtr> tmp271;
    2473         112 :     ca_.Bind(&block32, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271);
    2474         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 408);
    2475         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
    2476         112 :     ca_.Goto(&block34, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement17ATFixedInt16Array)));
    2477             :   }
    2478             : 
    2479         112 :   if (block33.is_used()) {
    2480         112 :     compiler::TNode<Context> tmp272;
    2481         112 :     compiler::TNode<JSReceiver> tmp273;
    2482         112 :     compiler::TNode<String> tmp274;
    2483         112 :     compiler::TNode<Number> tmp275;
    2484         112 :     compiler::TNode<Object> tmp276;
    2485         112 :     compiler::TNode<Object> tmp277;
    2486         112 :     compiler::TNode<Map> tmp278;
    2487         112 :     compiler::TNode<Int32T> tmp279;
    2488         112 :     compiler::TNode<BuiltinPtr> tmp280;
    2489         112 :     ca_.Bind(&block33, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280);
    2490         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 409);
    2491         112 :     compiler::TNode<Int32T> tmp281;
    2492         112 :     USE(tmp281);
    2493         112 :     tmp281 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(UINT32_ELEMENTS));
    2494         112 :     compiler::TNode<BoolT> tmp282;
    2495         112 :     USE(tmp282);
    2496         112 :     tmp282 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp279}, compiler::TNode<Int32T>{tmp281}));
    2497         112 :     ca_.Branch(tmp282, &block35, &block36, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280);
    2498             :   }
    2499             : 
    2500         112 :   if (block35.is_used()) {
    2501         112 :     compiler::TNode<Context> tmp283;
    2502         112 :     compiler::TNode<JSReceiver> tmp284;
    2503         112 :     compiler::TNode<String> tmp285;
    2504         112 :     compiler::TNode<Number> tmp286;
    2505         112 :     compiler::TNode<Object> tmp287;
    2506         112 :     compiler::TNode<Object> tmp288;
    2507         112 :     compiler::TNode<Map> tmp289;
    2508         112 :     compiler::TNode<Int32T> tmp290;
    2509         112 :     compiler::TNode<BuiltinPtr> tmp291;
    2510         112 :     ca_.Bind(&block35, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291);
    2511         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 410);
    2512         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 409);
    2513         112 :     ca_.Goto(&block37, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinTypedElement18ATFixedUint32Array)));
    2514             :   }
    2515             : 
    2516         112 :   if (block36.is_used()) {
    2517         112 :     compiler::TNode<Context> tmp292;
    2518         112 :     compiler::TNode<JSReceiver> tmp293;
    2519         112 :     compiler::TNode<String> tmp294;
    2520         112 :     compiler::TNode<Number> tmp295;
    2521         112 :     compiler::TNode<Object> tmp296;
    2522         112 :     compiler::TNode<Object> tmp297;
    2523         112 :     compiler::TNode<Map> tmp298;
    2524         112 :     compiler::TNode<Int32T> tmp299;
    2525         112 :     compiler::TNode<BuiltinPtr> tmp300;
    2526         112 :     ca_.Bind(&block36, &tmp292, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300);
    2527         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 412);
    2528         112 :     CodeStubAssembler(state_).Unreachable();
    2529             :   }
    2530             : 
    2531         112 :   if (block37.is_used()) {
    2532         112 :     compiler::TNode<Context> tmp301;
    2533         112 :     compiler::TNode<JSReceiver> tmp302;
    2534         112 :     compiler::TNode<String> tmp303;
    2535         112 :     compiler::TNode<Number> tmp304;
    2536         112 :     compiler::TNode<Object> tmp305;
    2537         112 :     compiler::TNode<Object> tmp306;
    2538         112 :     compiler::TNode<Map> tmp307;
    2539         112 :     compiler::TNode<Int32T> tmp308;
    2540         112 :     compiler::TNode<BuiltinPtr> tmp309;
    2541         112 :     ca_.Bind(&block37, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309);
    2542         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 407);
    2543         112 :     ca_.Goto(&block34, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309);
    2544             :   }
    2545             : 
    2546         112 :   if (block34.is_used()) {
    2547         112 :     compiler::TNode<Context> tmp310;
    2548         112 :     compiler::TNode<JSReceiver> tmp311;
    2549         112 :     compiler::TNode<String> tmp312;
    2550         112 :     compiler::TNode<Number> tmp313;
    2551         112 :     compiler::TNode<Object> tmp314;
    2552         112 :     compiler::TNode<Object> tmp315;
    2553         112 :     compiler::TNode<Map> tmp316;
    2554         112 :     compiler::TNode<Int32T> tmp317;
    2555         112 :     compiler::TNode<BuiltinPtr> tmp318;
    2556         112 :     ca_.Bind(&block34, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318);
    2557         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 405);
    2558         112 :     ca_.Goto(&block31, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318);
    2559             :   }
    2560             : 
    2561         112 :   if (block31.is_used()) {
    2562         112 :     compiler::TNode<Context> tmp319;
    2563         112 :     compiler::TNode<JSReceiver> tmp320;
    2564         112 :     compiler::TNode<String> tmp321;
    2565         112 :     compiler::TNode<Number> tmp322;
    2566         112 :     compiler::TNode<Object> tmp323;
    2567         112 :     compiler::TNode<Object> tmp324;
    2568         112 :     compiler::TNode<Map> tmp325;
    2569         112 :     compiler::TNode<Int32T> tmp326;
    2570         112 :     compiler::TNode<BuiltinPtr> tmp327;
    2571         112 :     ca_.Bind(&block31, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327);
    2572         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 403);
    2573         112 :     ca_.Goto(&block28, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327);
    2574             :   }
    2575             : 
    2576         112 :   if (block28.is_used()) {
    2577         112 :     compiler::TNode<Context> tmp328;
    2578         112 :     compiler::TNode<JSReceiver> tmp329;
    2579         112 :     compiler::TNode<String> tmp330;
    2580         112 :     compiler::TNode<Number> tmp331;
    2581         112 :     compiler::TNode<Object> tmp332;
    2582         112 :     compiler::TNode<Object> tmp333;
    2583         112 :     compiler::TNode<Map> tmp334;
    2584         112 :     compiler::TNode<Int32T> tmp335;
    2585         112 :     compiler::TNode<BuiltinPtr> tmp336;
    2586         112 :     ca_.Bind(&block28, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336);
    2587         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 401);
    2588         112 :     ca_.Goto(&block25, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334, tmp335, tmp336);
    2589             :   }
    2590             : 
    2591         112 :   if (block25.is_used()) {
    2592         112 :     compiler::TNode<Context> tmp337;
    2593         112 :     compiler::TNode<JSReceiver> tmp338;
    2594         112 :     compiler::TNode<String> tmp339;
    2595         112 :     compiler::TNode<Number> tmp340;
    2596         112 :     compiler::TNode<Object> tmp341;
    2597         112 :     compiler::TNode<Object> tmp342;
    2598         112 :     compiler::TNode<Map> tmp343;
    2599         112 :     compiler::TNode<Int32T> tmp344;
    2600         112 :     compiler::TNode<BuiltinPtr> tmp345;
    2601         112 :     ca_.Bind(&block25, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345);
    2602         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 384);
    2603         112 :     ca_.Goto(&block4, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345);
    2604             :   }
    2605             : 
    2606         112 :   if (block4.is_used()) {
    2607         112 :     compiler::TNode<Context> tmp346;
    2608         112 :     compiler::TNode<JSReceiver> tmp347;
    2609         112 :     compiler::TNode<String> tmp348;
    2610         112 :     compiler::TNode<Number> tmp349;
    2611         112 :     compiler::TNode<Object> tmp350;
    2612         112 :     compiler::TNode<Object> tmp351;
    2613         112 :     compiler::TNode<Map> tmp352;
    2614         112 :     compiler::TNode<Int32T> tmp353;
    2615         112 :     compiler::TNode<BuiltinPtr> tmp354;
    2616         112 :     ca_.Bind(&block4, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354);
    2617         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 416);
    2618         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 415);
    2619         112 :     compiler::TNode<String> tmp355;
    2620         112 :     USE(tmp355);
    2621         112 :     tmp355 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoinImpl12JSTypedArray(compiler::TNode<Context>{tmp346}, compiler::TNode<JSReceiver>{tmp347}, compiler::TNode<String>{tmp348}, compiler::TNode<Number>{tmp349}, p_useToLocaleString, compiler::TNode<Object>{tmp350}, compiler::TNode<Object>{tmp351}, compiler::TNode<BuiltinPtr>{tmp354}));
    2622         112 :     ca_.Goto(&block1, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp355);
    2623             :   }
    2624             : 
    2625         112 :   if (block1.is_used()) {
    2626         112 :     compiler::TNode<Context> tmp356;
    2627         112 :     compiler::TNode<JSReceiver> tmp357;
    2628         112 :     compiler::TNode<String> tmp358;
    2629         112 :     compiler::TNode<Number> tmp359;
    2630         112 :     compiler::TNode<Object> tmp360;
    2631         112 :     compiler::TNode<Object> tmp361;
    2632         112 :     compiler::TNode<Object> tmp362;
    2633         112 :     ca_.Bind(&block1, &tmp356, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362);
    2634         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 326);
    2635         112 :     ca_.Goto(&block38, tmp356, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362);
    2636             :   }
    2637             : 
    2638         112 :     compiler::TNode<Context> tmp363;
    2639         112 :     compiler::TNode<JSReceiver> tmp364;
    2640         112 :     compiler::TNode<String> tmp365;
    2641         112 :     compiler::TNode<Number> tmp366;
    2642         112 :     compiler::TNode<Object> tmp367;
    2643         112 :     compiler::TNode<Object> tmp368;
    2644         112 :     compiler::TNode<Object> tmp369;
    2645         112 :     ca_.Bind(&block38, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369);
    2646         224 :   return compiler::TNode<Object>{tmp369};
    2647             : }
    2648             : 
    2649         672 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::LoadJoinStack(compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_IfUninitialized) {
    2650        1344 :   compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2651        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2652        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2653        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2654        1344 :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2655        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2656         672 :     ca_.Goto(&block0, p_context);
    2657             : 
    2658         672 :   if (block0.is_used()) {
    2659         672 :     compiler::TNode<Context> tmp0;
    2660         672 :     ca_.Bind(&block0, &tmp0);
    2661         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 428);
    2662         672 :     compiler::TNode<Context> tmp1;
    2663         672 :     USE(tmp1);
    2664         672 :     tmp1 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
    2665         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 430);
    2666         672 :     compiler::TNode<IntPtrT> tmp2;
    2667         672 :     USE(tmp2);
    2668         672 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
    2669         672 :     compiler::TNode<Object> tmp3;
    2670         672 :     USE(tmp3);
    2671         672 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp1}, compiler::TNode<IntPtrT>{tmp2}));
    2672         672 :     compiler::TNode<HeapObject> tmp4;
    2673         672 :     USE(tmp4);
    2674         672 :     tmp4 = ca_.UncheckedCast<HeapObject>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp3}));
    2675         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 429);
    2676         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 431);
    2677         672 :     compiler::TNode<Oddball> tmp5;
    2678         672 :     USE(tmp5);
    2679         672 :     tmp5 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    2680         672 :     compiler::TNode<BoolT> tmp6;
    2681         672 :     USE(tmp6);
    2682         672 :     tmp6 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp4}, compiler::TNode<HeapObject>{tmp5}));
    2683         672 :     ca_.Branch(tmp6, &block3, &block4, tmp0, tmp1, tmp4);
    2684             :   }
    2685             : 
    2686         672 :   if (block3.is_used()) {
    2687         672 :     compiler::TNode<Context> tmp7;
    2688         672 :     compiler::TNode<Context> tmp8;
    2689         672 :     compiler::TNode<HeapObject> tmp9;
    2690         672 :     ca_.Bind(&block3, &tmp7, &tmp8, &tmp9);
    2691         672 :     ca_.Goto(&block1);
    2692             :   }
    2693             : 
    2694         672 :   if (block4.is_used()) {
    2695         672 :     compiler::TNode<Context> tmp10;
    2696         672 :     compiler::TNode<Context> tmp11;
    2697         672 :     compiler::TNode<HeapObject> tmp12;
    2698         672 :     ca_.Bind(&block4, &tmp10, &tmp11, &tmp12);
    2699         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 433);
    2700         672 :     compiler::TNode<FixedArray> tmp13;
    2701         672 :     USE(tmp13);
    2702         672 :     tmp13 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp12}));
    2703         672 :     ca_.Goto(&block2, tmp10, tmp13);
    2704             :   }
    2705             : 
    2706         672 :   if (block2.is_used()) {
    2707         672 :     compiler::TNode<Context> tmp14;
    2708         672 :     compiler::TNode<FixedArray> tmp15;
    2709         672 :     ca_.Bind(&block2, &tmp14, &tmp15);
    2710         672 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 426);
    2711         672 :     ca_.Goto(&block5, tmp14, tmp15);
    2712             :   }
    2713             : 
    2714         672 :   if (block1.is_used()) {
    2715         672 :     ca_.Bind(&block1);
    2716         672 :     ca_.Goto(label_IfUninitialized);
    2717             :   }
    2718             : 
    2719         672 :     compiler::TNode<Context> tmp16;
    2720         672 :     compiler::TNode<FixedArray> tmp17;
    2721         672 :     ca_.Bind(&block5, &tmp16, &tmp17);
    2722        1344 :   return compiler::TNode<FixedArray>{tmp17};
    2723             : }
    2724             : 
    2725         336 : void ArrayJoinBuiltinsFromDSLAssembler::SetJoinStack(compiler::TNode<Context> p_context, compiler::TNode<FixedArray> p_stack) {
    2726         672 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2727         672 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2728         672 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2729         336 :     ca_.Goto(&block0, p_context, p_stack);
    2730             : 
    2731         336 :   if (block0.is_used()) {
    2732         336 :     compiler::TNode<Context> tmp0;
    2733         336 :     compiler::TNode<FixedArray> tmp1;
    2734         336 :     ca_.Bind(&block0, &tmp0, &tmp1);
    2735         336 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 437);
    2736         336 :     compiler::TNode<Context> tmp2;
    2737         336 :     USE(tmp2);
    2738         336 :     tmp2 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
    2739         336 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 438);
    2740         336 :     compiler::TNode<IntPtrT> tmp3;
    2741         336 :     USE(tmp3);
    2742         336 :     tmp3 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ARRAY_JOIN_STACK_INDEX));
    2743         336 :     CodeStubAssembler(state_).StoreContextElement(compiler::TNode<Context>{tmp2}, compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<Object>{tmp1});
    2744         336 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 436);
    2745         336 :     ca_.Goto(&block1, tmp0, tmp1);
    2746             :   }
    2747             : 
    2748         336 :   if (block1.is_used()) {
    2749         336 :     compiler::TNode<Context> tmp4;
    2750         336 :     compiler::TNode<FixedArray> tmp5;
    2751         336 :     ca_.Bind(&block1, &tmp4, &tmp5);
    2752         336 :     ca_.Goto(&block2, tmp4, tmp5);
    2753             :   }
    2754             : 
    2755         336 :     compiler::TNode<Context> tmp6;
    2756         336 :     compiler::TNode<FixedArray> tmp7;
    2757         336 :     ca_.Bind(&block2, &tmp6, &tmp7);
    2758         336 : }
    2759             : 
    2760         392 : TF_BUILTIN(JoinStackPush, CodeStubAssembler) {
    2761         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    2762          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    2763          56 :   USE(parameter0);
    2764          56 :   compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
    2765          56 :   USE(parameter1);
    2766          56 :   compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    2767          56 :   USE(parameter2);
    2768         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2769         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2770         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2771         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2772         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2773         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2774         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2775         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2776         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2777          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    2778             : 
    2779          56 :   if (block0.is_used()) {
    2780          56 :     compiler::TNode<Context> tmp0;
    2781          56 :     compiler::TNode<FixedArray> tmp1;
    2782          56 :     compiler::TNode<JSReceiver> tmp2;
    2783          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    2784          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 446);
    2785          56 :     compiler::TNode<IntPtrT> tmp3;
    2786          56 :     USE(tmp3);
    2787          56 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
    2788          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 447);
    2789          56 :     compiler::TNode<IntPtrT> tmp4;
    2790          56 :     USE(tmp4);
    2791          56 :     tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    2792          56 :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
    2793             :   }
    2794             : 
    2795          56 :   if (block3.is_used()) {
    2796          56 :     compiler::TNode<Context> tmp5;
    2797          56 :     compiler::TNode<FixedArray> tmp6;
    2798          56 :     compiler::TNode<JSReceiver> tmp7;
    2799          56 :     compiler::TNode<IntPtrT> tmp8;
    2800          56 :     compiler::TNode<IntPtrT> tmp9;
    2801          56 :     ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
    2802          56 :     compiler::TNode<BoolT> tmp10;
    2803          56 :     USE(tmp10);
    2804          56 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
    2805          56 :     ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
    2806             :   }
    2807             : 
    2808          56 :   if (block1.is_used()) {
    2809          56 :     compiler::TNode<Context> tmp11;
    2810          56 :     compiler::TNode<FixedArray> tmp12;
    2811          56 :     compiler::TNode<JSReceiver> tmp13;
    2812          56 :     compiler::TNode<IntPtrT> tmp14;
    2813          56 :     compiler::TNode<IntPtrT> tmp15;
    2814          56 :     ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
    2815          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 448);
    2816          56 :     compiler::TNode<Object> tmp16;
    2817          56 :     USE(tmp16);
    2818          56 :     tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
    2819          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 451);
    2820          56 :     compiler::TNode<Oddball> tmp17;
    2821          56 :     USE(tmp17);
    2822          56 :     tmp17 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    2823          56 :     compiler::TNode<BoolT> tmp18;
    2824          56 :     USE(tmp18);
    2825          56 :     tmp18 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp17}));
    2826          56 :     ca_.Branch(tmp18, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16);
    2827             :   }
    2828             : 
    2829          56 :   if (block5.is_used()) {
    2830          56 :     compiler::TNode<Context> tmp19;
    2831          56 :     compiler::TNode<FixedArray> tmp20;
    2832          56 :     compiler::TNode<JSReceiver> tmp21;
    2833          56 :     compiler::TNode<IntPtrT> tmp22;
    2834          56 :     compiler::TNode<IntPtrT> tmp23;
    2835          56 :     compiler::TNode<Object> tmp24;
    2836          56 :     ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
    2837          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 452);
    2838          56 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp20}, compiler::TNode<IntPtrT>{tmp23}, compiler::TNode<HeapObject>{tmp21});
    2839          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 453);
    2840          56 :     compiler::TNode<Oddball> tmp25;
    2841          56 :     USE(tmp25);
    2842          56 :     tmp25 = BaseBuiltinsFromDSLAssembler(state_).True();
    2843          56 :     CodeStubAssembler(state_).Return(tmp25);
    2844             :   }
    2845             : 
    2846          56 :   if (block6.is_used()) {
    2847          56 :     compiler::TNode<Context> tmp26;
    2848          56 :     compiler::TNode<FixedArray> tmp27;
    2849          56 :     compiler::TNode<JSReceiver> tmp28;
    2850          56 :     compiler::TNode<IntPtrT> tmp29;
    2851          56 :     compiler::TNode<IntPtrT> tmp30;
    2852          56 :     compiler::TNode<Object> tmp31;
    2853          56 :     ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
    2854          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 457);
    2855          56 :     compiler::TNode<BoolT> tmp32;
    2856          56 :     USE(tmp32);
    2857          56 :     tmp32 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp28}, compiler::TNode<Object>{tmp31}));
    2858          56 :     ca_.Branch(tmp32, &block7, &block8, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31);
    2859             :   }
    2860             : 
    2861          56 :   if (block7.is_used()) {
    2862          56 :     compiler::TNode<Context> tmp33;
    2863          56 :     compiler::TNode<FixedArray> tmp34;
    2864          56 :     compiler::TNode<JSReceiver> tmp35;
    2865          56 :     compiler::TNode<IntPtrT> tmp36;
    2866          56 :     compiler::TNode<IntPtrT> tmp37;
    2867          56 :     compiler::TNode<Object> tmp38;
    2868          56 :     ca_.Bind(&block7, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
    2869          56 :     compiler::TNode<Oddball> tmp39;
    2870          56 :     USE(tmp39);
    2871          56 :     tmp39 = BaseBuiltinsFromDSLAssembler(state_).False();
    2872          56 :     CodeStubAssembler(state_).Return(tmp39);
    2873             :   }
    2874             : 
    2875          56 :   if (block8.is_used()) {
    2876          56 :     compiler::TNode<Context> tmp40;
    2877          56 :     compiler::TNode<FixedArray> tmp41;
    2878          56 :     compiler::TNode<JSReceiver> tmp42;
    2879          56 :     compiler::TNode<IntPtrT> tmp43;
    2880          56 :     compiler::TNode<IntPtrT> tmp44;
    2881          56 :     compiler::TNode<Object> tmp45;
    2882          56 :     ca_.Bind(&block8, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
    2883          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 447);
    2884          56 :     ca_.Goto(&block4, tmp40, tmp41, tmp42, tmp43, tmp44);
    2885             :   }
    2886             : 
    2887          56 :   if (block4.is_used()) {
    2888          56 :     compiler::TNode<Context> tmp46;
    2889          56 :     compiler::TNode<FixedArray> tmp47;
    2890          56 :     compiler::TNode<JSReceiver> tmp48;
    2891          56 :     compiler::TNode<IntPtrT> tmp49;
    2892          56 :     compiler::TNode<IntPtrT> tmp50;
    2893          56 :     ca_.Bind(&block4, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
    2894          56 :     compiler::TNode<IntPtrT> tmp51;
    2895          56 :     USE(tmp51);
    2896          56 :     tmp51 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    2897          56 :     compiler::TNode<IntPtrT> tmp52;
    2898          56 :     USE(tmp52);
    2899          56 :     tmp52 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp50}, compiler::TNode<IntPtrT>{tmp51}));
    2900          56 :     ca_.Goto(&block3, tmp46, tmp47, tmp48, tmp49, tmp52);
    2901             :   }
    2902             : 
    2903          56 :   if (block2.is_used()) {
    2904          56 :     compiler::TNode<Context> tmp53;
    2905          56 :     compiler::TNode<FixedArray> tmp54;
    2906          56 :     compiler::TNode<JSReceiver> tmp55;
    2907          56 :     compiler::TNode<IntPtrT> tmp56;
    2908          56 :     compiler::TNode<IntPtrT> tmp57;
    2909          56 :     ca_.Bind(&block2, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
    2910          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 462);
    2911          56 :     compiler::TNode<FixedArray> tmp58;
    2912          56 :     USE(tmp58);
    2913          56 :     tmp58 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray>{tmp54}, compiler::TNode<IntPtrT>{tmp56}, compiler::TNode<JSReceiver>{tmp55}));
    2914          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 461);
    2915          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 463);
    2916          56 :     ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp53}, compiler::TNode<FixedArray>{tmp58});
    2917          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 464);
    2918          56 :     compiler::TNode<Oddball> tmp59;
    2919          56 :     USE(tmp59);
    2920          56 :     tmp59 = BaseBuiltinsFromDSLAssembler(state_).True();
    2921          56 :     CodeStubAssembler(state_).Return(tmp59);
    2922             :   }
    2923          56 : }
    2924             : 
    2925         224 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPushInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::CodeAssemblerLabel* label_ReceiverAdded, compiler::CodeAssemblerLabel* label_ReceiverNotAdded) {
    2926         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2927         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2928         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2929         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2930         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2931         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block10(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    2932         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2933         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2934         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2935         448 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2936         448 :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2937         448 :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2938         224 :     ca_.Goto(&block0, p_context, p_receiver);
    2939             : 
    2940         224 :   if (block0.is_used()) {
    2941         224 :     compiler::TNode<Context> tmp0;
    2942         224 :     compiler::TNode<JSReceiver> tmp1;
    2943         224 :     ca_.Bind(&block0, &tmp0, &tmp1);
    2944         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 474);
    2945         224 :     compiler::TNode<FixedArray> tmp2;
    2946         224 :     USE(tmp2);
    2947         448 :     compiler::CodeAssemblerLabel label0(&ca_);
    2948         224 :     tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
    2949         224 :     ca_.Goto(&block5, tmp0, tmp1, tmp2);
    2950         224 :     if (label0.is_used()) {
    2951         224 :       ca_.Bind(&label0);
    2952         224 :       ca_.Goto(&block6, tmp0, tmp1);
    2953             :     }
    2954             :   }
    2955             : 
    2956         224 :   if (block6.is_used()) {
    2957         224 :     compiler::TNode<Context> tmp3;
    2958         224 :     compiler::TNode<JSReceiver> tmp4;
    2959         224 :     ca_.Bind(&block6, &tmp3, &tmp4);
    2960         224 :     ca_.Goto(&block4, tmp3, tmp4);
    2961             :   }
    2962             : 
    2963         224 :   if (block5.is_used()) {
    2964         224 :     compiler::TNode<Context> tmp5;
    2965         224 :     compiler::TNode<JSReceiver> tmp6;
    2966         224 :     compiler::TNode<FixedArray> tmp7;
    2967         224 :     ca_.Bind(&block5, &tmp5, &tmp6, &tmp7);
    2968         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
    2969         224 :     compiler::TNode<Object> tmp8;
    2970         224 :     USE(tmp8);
    2971         224 :     tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp7}, 0));
    2972         224 :     compiler::TNode<Oddball> tmp9;
    2973         224 :     USE(tmp9);
    2974         224 :     tmp9 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    2975         224 :     compiler::TNode<BoolT> tmp10;
    2976         224 :     USE(tmp10);
    2977         224 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp8}, compiler::TNode<HeapObject>{tmp9}));
    2978         224 :     ca_.Branch(tmp10, &block7, &block8, tmp5, tmp6, tmp7);
    2979             :   }
    2980             : 
    2981         224 :   if (block7.is_used()) {
    2982         224 :     compiler::TNode<Context> tmp11;
    2983         224 :     compiler::TNode<JSReceiver> tmp12;
    2984         224 :     compiler::TNode<FixedArray> tmp13;
    2985         224 :     ca_.Bind(&block7, &tmp11, &tmp12, &tmp13);
    2986         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 477);
    2987         224 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp13}, 0, compiler::TNode<HeapObject>{tmp12});
    2988         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
    2989         224 :     ca_.Goto(&block9, tmp11, tmp12, tmp13);
    2990             :   }
    2991             : 
    2992         224 :   if (block8.is_used()) {
    2993         224 :     compiler::TNode<Context> tmp14;
    2994         224 :     compiler::TNode<JSReceiver> tmp15;
    2995         224 :     compiler::TNode<FixedArray> tmp16;
    2996         224 :     ca_.Bind(&block8, &tmp14, &tmp15, &tmp16);
    2997         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 478);
    2998         224 :     compiler::TNode<Oddball> tmp17;
    2999         224 :     tmp17 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPush, tmp14, tmp16, tmp15));
    3000         224 :     USE(tmp17);
    3001         224 :     compiler::TNode<Oddball> tmp18;
    3002         224 :     USE(tmp18);
    3003         224 :     tmp18 = BaseBuiltinsFromDSLAssembler(state_).False();
    3004         224 :     compiler::TNode<BoolT> tmp19;
    3005         224 :     USE(tmp19);
    3006         224 :     tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp17}, compiler::TNode<HeapObject>{tmp18}));
    3007         224 :     ca_.Branch(tmp19, &block10, &block11, tmp14, tmp15, tmp16);
    3008             :   }
    3009             : 
    3010         224 :   if (block10.is_used()) {
    3011         224 :     compiler::TNode<Context> tmp20;
    3012         224 :     compiler::TNode<JSReceiver> tmp21;
    3013         224 :     compiler::TNode<FixedArray> tmp22;
    3014         224 :     ca_.Bind(&block10, &tmp20, &tmp21, &tmp22);
    3015         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 480);
    3016         224 :     ca_.Goto(&block2);
    3017             :   }
    3018             : 
    3019         224 :   if (block11.is_used()) {
    3020         224 :     compiler::TNode<Context> tmp23;
    3021         224 :     compiler::TNode<JSReceiver> tmp24;
    3022         224 :     compiler::TNode<FixedArray> tmp25;
    3023         224 :     ca_.Bind(&block11, &tmp23, &tmp24, &tmp25);
    3024         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 476);
    3025         224 :     ca_.Goto(&block9, tmp23, tmp24, tmp25);
    3026             :   }
    3027             : 
    3028         224 :   if (block9.is_used()) {
    3029         224 :     compiler::TNode<Context> tmp26;
    3030         224 :     compiler::TNode<JSReceiver> tmp27;
    3031         224 :     compiler::TNode<FixedArray> tmp28;
    3032         224 :     ca_.Bind(&block9, &tmp26, &tmp27, &tmp28);
    3033         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
    3034         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 483);
    3035         224 :     ca_.Goto(&block3, tmp26, tmp27);
    3036             :   }
    3037             : 
    3038         224 :   if (block4.is_used()) {
    3039         224 :     compiler::TNode<Context> tmp29;
    3040         224 :     compiler::TNode<JSReceiver> tmp30;
    3041         224 :     ca_.Bind(&block4, &tmp29, &tmp30);
    3042         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 485);
    3043         224 :     compiler::TNode<IntPtrT> tmp31;
    3044         224 :     USE(tmp31);
    3045         224 :     tmp31 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3046         224 :     compiler::TNode<FixedArray> tmp32;
    3047         224 :     USE(tmp32);
    3048         224 :     tmp32 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp31}, CodeStubAssembler::kNone));
    3049         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 484);
    3050         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 486);
    3051         224 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp32}, 0, compiler::TNode<HeapObject>{tmp30});
    3052         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 487);
    3053         224 :     ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp29}, compiler::TNode<FixedArray>{tmp32});
    3054         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 483);
    3055         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 473);
    3056         224 :     ca_.Goto(&block3, tmp29, tmp30);
    3057             :   }
    3058             : 
    3059         224 :   if (block3.is_used()) {
    3060         224 :     compiler::TNode<Context> tmp33;
    3061         224 :     compiler::TNode<JSReceiver> tmp34;
    3062         224 :     ca_.Bind(&block3, &tmp33, &tmp34);
    3063         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 489);
    3064         224 :     ca_.Goto(&block1);
    3065             :   }
    3066             : 
    3067         224 :   if (block1.is_used()) {
    3068         224 :     ca_.Bind(&block1);
    3069         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 470);
    3070         224 :     ca_.Goto(label_ReceiverAdded);
    3071             :   }
    3072             : 
    3073         224 :   if (block2.is_used()) {
    3074         224 :     ca_.Bind(&block2);
    3075         224 :     ca_.Goto(label_ReceiverNotAdded);
    3076             :   }
    3077         224 : }
    3078             : 
    3079         392 : TF_BUILTIN(JoinStackPop, CodeStubAssembler) {
    3080         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3081          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3082          56 :   USE(parameter0);
    3083          56 :   compiler::TNode<FixedArray> parameter1 = UncheckedCast<FixedArray>(Parameter(Descriptor::kStack));
    3084          56 :   USE(parameter1);
    3085          56 :   compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    3086          56 :   USE(parameter2);
    3087         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3088         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3089         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3090         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3091         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3092         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3093         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3094         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3095         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3096         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3097         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArray, JSReceiver, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3098          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    3099             : 
    3100          56 :   if (block0.is_used()) {
    3101          56 :     compiler::TNode<Context> tmp0;
    3102          56 :     compiler::TNode<FixedArray> tmp1;
    3103          56 :     compiler::TNode<JSReceiver> tmp2;
    3104          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    3105          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 496);
    3106          56 :     compiler::TNode<IntPtrT> tmp3;
    3107          56 :     USE(tmp3);
    3108          56 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp1}));
    3109          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 497);
    3110          56 :     compiler::TNode<IntPtrT> tmp4;
    3111          56 :     USE(tmp4);
    3112          56 :     tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3113          56 :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4);
    3114             :   }
    3115             : 
    3116          56 :   if (block3.is_used()) {
    3117          56 :     compiler::TNode<Context> tmp5;
    3118          56 :     compiler::TNode<FixedArray> tmp6;
    3119          56 :     compiler::TNode<JSReceiver> tmp7;
    3120          56 :     compiler::TNode<IntPtrT> tmp8;
    3121          56 :     compiler::TNode<IntPtrT> tmp9;
    3122          56 :     ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
    3123          56 :     compiler::TNode<BoolT> tmp10;
    3124          56 :     USE(tmp10);
    3125          56 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp8}));
    3126          56 :     ca_.Branch(tmp10, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9);
    3127             :   }
    3128             : 
    3129          56 :   if (block1.is_used()) {
    3130          56 :     compiler::TNode<Context> tmp11;
    3131          56 :     compiler::TNode<FixedArray> tmp12;
    3132          56 :     compiler::TNode<JSReceiver> tmp13;
    3133          56 :     compiler::TNode<IntPtrT> tmp14;
    3134          56 :     compiler::TNode<IntPtrT> tmp15;
    3135          56 :     ca_.Bind(&block1, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
    3136          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 498);
    3137          56 :     compiler::TNode<Object> tmp16;
    3138          56 :     USE(tmp16);
    3139          56 :     tmp16 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, compiler::TNode<IntPtrT>{tmp15}));
    3140          56 :     compiler::TNode<BoolT> tmp17;
    3141          56 :     USE(tmp17);
    3142          56 :     tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp16}, compiler::TNode<HeapObject>{tmp13}));
    3143          56 :     ca_.Branch(tmp17, &block5, &block6, tmp11, tmp12, tmp13, tmp14, tmp15);
    3144             :   }
    3145             : 
    3146          56 :   if (block5.is_used()) {
    3147          56 :     compiler::TNode<Context> tmp18;
    3148          56 :     compiler::TNode<FixedArray> tmp19;
    3149          56 :     compiler::TNode<JSReceiver> tmp20;
    3150          56 :     compiler::TNode<IntPtrT> tmp21;
    3151          56 :     compiler::TNode<IntPtrT> tmp22;
    3152          56 :     ca_.Bind(&block5, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
    3153          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
    3154          56 :     compiler::TNode<IntPtrT> tmp23;
    3155          56 :     USE(tmp23);
    3156          56 :     tmp23 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3157          56 :     compiler::TNode<BoolT> tmp24;
    3158          56 :     USE(tmp24);
    3159          56 :     tmp24 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp22}, compiler::TNode<IntPtrT>{tmp23}));
    3160          56 :     ca_.Branch(tmp24, &block9, &block8, tmp18, tmp19, tmp20, tmp21, tmp22);
    3161             :   }
    3162             : 
    3163          56 :   if (block9.is_used()) {
    3164          56 :     compiler::TNode<Context> tmp25;
    3165          56 :     compiler::TNode<FixedArray> tmp26;
    3166          56 :     compiler::TNode<JSReceiver> tmp27;
    3167          56 :     compiler::TNode<IntPtrT> tmp28;
    3168          56 :     compiler::TNode<IntPtrT> tmp29;
    3169          56 :     ca_.Bind(&block9, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
    3170          56 :     compiler::TNode<IntPtrT> tmp30;
    3171          56 :     USE(tmp30);
    3172          56 :     tmp30 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3173          56 :     compiler::TNode<BoolT> tmp31;
    3174          56 :     USE(tmp31);
    3175          56 :     tmp31 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp28}, compiler::TNode<IntPtrT>{tmp30}));
    3176          56 :     ca_.Branch(tmp31, &block7, &block8, tmp25, tmp26, tmp27, tmp28, tmp29);
    3177             :   }
    3178             : 
    3179          56 :   if (block7.is_used()) {
    3180          56 :     compiler::TNode<Context> tmp32;
    3181          56 :     compiler::TNode<FixedArray> tmp33;
    3182          56 :     compiler::TNode<JSReceiver> tmp34;
    3183          56 :     compiler::TNode<IntPtrT> tmp35;
    3184          56 :     compiler::TNode<IntPtrT> tmp36;
    3185          56 :     ca_.Bind(&block7, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
    3186          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 503);
    3187          56 :     compiler::TNode<IntPtrT> tmp37;
    3188          56 :     USE(tmp37);
    3189          56 :     tmp37 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3190          56 :     compiler::TNode<FixedArray> tmp38;
    3191          56 :     USE(tmp38);
    3192          56 :     tmp38 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).AllocateFixedArrayWithHoles(compiler::TNode<IntPtrT>{tmp37}, CodeStubAssembler::kNone));
    3193          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 502);
    3194          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 504);
    3195          56 :     ArrayJoinBuiltinsFromDSLAssembler(state_).SetJoinStack(compiler::TNode<Context>{tmp32}, compiler::TNode<FixedArray>{tmp38});
    3196          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
    3197          56 :     ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35, tmp36);
    3198             :   }
    3199             : 
    3200          56 :   if (block8.is_used()) {
    3201          56 :     compiler::TNode<Context> tmp39;
    3202          56 :     compiler::TNode<FixedArray> tmp40;
    3203          56 :     compiler::TNode<JSReceiver> tmp41;
    3204          56 :     compiler::TNode<IntPtrT> tmp42;
    3205          56 :     compiler::TNode<IntPtrT> tmp43;
    3206          56 :     ca_.Bind(&block8, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    3207          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 507);
    3208          56 :     compiler::TNode<Oddball> tmp44;
    3209          56 :     USE(tmp44);
    3210          56 :     tmp44 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    3211          56 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp40}, compiler::TNode<IntPtrT>{tmp43}, compiler::TNode<HeapObject>{tmp44});
    3212          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 501);
    3213          56 :     ca_.Goto(&block10, tmp39, tmp40, tmp41, tmp42, tmp43);
    3214             :   }
    3215             : 
    3216          56 :   if (block10.is_used()) {
    3217          56 :     compiler::TNode<Context> tmp45;
    3218          56 :     compiler::TNode<FixedArray> tmp46;
    3219          56 :     compiler::TNode<JSReceiver> tmp47;
    3220          56 :     compiler::TNode<IntPtrT> tmp48;
    3221          56 :     compiler::TNode<IntPtrT> tmp49;
    3222          56 :     ca_.Bind(&block10, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
    3223          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 509);
    3224          56 :     compiler::TNode<Oddball> tmp50;
    3225          56 :     USE(tmp50);
    3226          56 :     tmp50 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3227          56 :     CodeStubAssembler(state_).Return(tmp50);
    3228             :   }
    3229             : 
    3230          56 :   if (block6.is_used()) {
    3231          56 :     compiler::TNode<Context> tmp51;
    3232          56 :     compiler::TNode<FixedArray> tmp52;
    3233          56 :     compiler::TNode<JSReceiver> tmp53;
    3234          56 :     compiler::TNode<IntPtrT> tmp54;
    3235          56 :     compiler::TNode<IntPtrT> tmp55;
    3236          56 :     ca_.Bind(&block6, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55);
    3237          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 497);
    3238          56 :     ca_.Goto(&block4, tmp51, tmp52, tmp53, tmp54, tmp55);
    3239             :   }
    3240             : 
    3241          56 :   if (block4.is_used()) {
    3242          56 :     compiler::TNode<Context> tmp56;
    3243          56 :     compiler::TNode<FixedArray> tmp57;
    3244          56 :     compiler::TNode<JSReceiver> tmp58;
    3245          56 :     compiler::TNode<IntPtrT> tmp59;
    3246          56 :     compiler::TNode<IntPtrT> tmp60;
    3247          56 :     ca_.Bind(&block4, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60);
    3248          56 :     compiler::TNode<IntPtrT> tmp61;
    3249          56 :     USE(tmp61);
    3250          56 :     tmp61 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    3251          56 :     compiler::TNode<IntPtrT> tmp62;
    3252          56 :     USE(tmp62);
    3253          56 :     tmp62 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp60}, compiler::TNode<IntPtrT>{tmp61}));
    3254          56 :     ca_.Goto(&block3, tmp56, tmp57, tmp58, tmp59, tmp62);
    3255             :   }
    3256             : 
    3257          56 :   if (block2.is_used()) {
    3258          56 :     compiler::TNode<Context> tmp63;
    3259          56 :     compiler::TNode<FixedArray> tmp64;
    3260          56 :     compiler::TNode<JSReceiver> tmp65;
    3261          56 :     compiler::TNode<IntPtrT> tmp66;
    3262          56 :     compiler::TNode<IntPtrT> tmp67;
    3263          56 :     ca_.Bind(&block2, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
    3264          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 512);
    3265          56 :     CodeStubAssembler(state_).Unreachable();
    3266             :   }
    3267          56 : }
    3268             : 
    3269         448 : void ArrayJoinBuiltinsFromDSLAssembler::JoinStackPopInline(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver) {
    3270         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3271         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3272         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3273         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3274         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3275         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3276         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3277         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3278         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, FixedArray, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3279         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3280         896 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3281         448 :     ca_.Goto(&block0, p_context, p_receiver);
    3282             : 
    3283         448 :   if (block0.is_used()) {
    3284         448 :     compiler::TNode<Context> tmp0;
    3285         448 :     compiler::TNode<JSReceiver> tmp1;
    3286         448 :     ca_.Bind(&block0, &tmp0, &tmp1);
    3287         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 517);
    3288         448 :     compiler::TNode<FixedArray> tmp2;
    3289         448 :     USE(tmp2);
    3290         896 :     compiler::CodeAssemblerLabel label0(&ca_);
    3291         448 :     tmp2 = ArrayJoinBuiltinsFromDSLAssembler(state_).LoadJoinStack(compiler::TNode<Context>{tmp0}, &label0);
    3292         448 :     ca_.Goto(&block4, tmp0, tmp1, tmp2);
    3293         448 :     if (label0.is_used()) {
    3294         448 :       ca_.Bind(&label0);
    3295         448 :       ca_.Goto(&block5, tmp0, tmp1);
    3296             :     }
    3297             :   }
    3298             : 
    3299         448 :   if (block5.is_used()) {
    3300         448 :     compiler::TNode<Context> tmp3;
    3301         448 :     compiler::TNode<JSReceiver> tmp4;
    3302         448 :     ca_.Bind(&block5, &tmp3, &tmp4);
    3303         448 :     ca_.Goto(&block3, tmp3, tmp4);
    3304             :   }
    3305             : 
    3306         448 :   if (block4.is_used()) {
    3307         448 :     compiler::TNode<Context> tmp5;
    3308         448 :     compiler::TNode<JSReceiver> tmp6;
    3309         448 :     compiler::TNode<FixedArray> tmp7;
    3310         448 :     ca_.Bind(&block4, &tmp5, &tmp6, &tmp7);
    3311         448 :     ca_.Goto(&block2, tmp5, tmp6, tmp7);
    3312             :   }
    3313             : 
    3314         448 :   if (block3.is_used()) {
    3315         448 :     compiler::TNode<Context> tmp8;
    3316         448 :     compiler::TNode<JSReceiver> tmp9;
    3317         448 :     ca_.Bind(&block3, &tmp8, &tmp9);
    3318         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 518);
    3319         448 :     CodeStubAssembler(state_).Unreachable();
    3320             :   }
    3321             : 
    3322         448 :   if (block2.is_used()) {
    3323         448 :     compiler::TNode<Context> tmp10;
    3324         448 :     compiler::TNode<JSReceiver> tmp11;
    3325         448 :     compiler::TNode<FixedArray> tmp12;
    3326         448 :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
    3327         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 517);
    3328         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 519);
    3329         448 :     compiler::TNode<IntPtrT> tmp13;
    3330         448 :     USE(tmp13);
    3331         448 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp12}));
    3332         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
    3333         448 :     compiler::TNode<Object> tmp14;
    3334         448 :     USE(tmp14);
    3335         448 :     tmp14 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp12}, 0));
    3336         448 :     compiler::TNode<BoolT> tmp15;
    3337         448 :     USE(tmp15);
    3338         448 :     tmp15 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp14}, compiler::TNode<HeapObject>{tmp11}));
    3339         448 :     ca_.Branch(tmp15, &block8, &block7, tmp10, tmp11, tmp12, tmp13);
    3340             :   }
    3341             : 
    3342         448 :   if (block8.is_used()) {
    3343         448 :     compiler::TNode<Context> tmp16;
    3344         448 :     compiler::TNode<JSReceiver> tmp17;
    3345         448 :     compiler::TNode<FixedArray> tmp18;
    3346         448 :     compiler::TNode<IntPtrT> tmp19;
    3347         448 :     ca_.Bind(&block8, &tmp16, &tmp17, &tmp18, &tmp19);
    3348         448 :     compiler::TNode<IntPtrT> tmp20;
    3349         448 :     USE(tmp20);
    3350         448 :     tmp20 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(JSArray::kMinJoinStackSize));
    3351         448 :     compiler::TNode<BoolT> tmp21;
    3352         448 :     USE(tmp21);
    3353         448 :     tmp21 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp19}, compiler::TNode<IntPtrT>{tmp20}));
    3354         448 :     ca_.Branch(tmp21, &block6, &block7, tmp16, tmp17, tmp18, tmp19);
    3355             :   }
    3356             : 
    3357         448 :   if (block6.is_used()) {
    3358         448 :     compiler::TNode<Context> tmp22;
    3359         448 :     compiler::TNode<JSReceiver> tmp23;
    3360         448 :     compiler::TNode<FixedArray> tmp24;
    3361         448 :     compiler::TNode<IntPtrT> tmp25;
    3362         448 :     ca_.Bind(&block6, &tmp22, &tmp23, &tmp24, &tmp25);
    3363         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 524);
    3364         448 :     compiler::TNode<Oddball> tmp26;
    3365         448 :     USE(tmp26);
    3366         448 :     tmp26 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    3367         448 :     compiler::TNode<IntPtrT> tmp27;
    3368         448 :     USE(tmp27);
    3369         448 :     tmp27 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3370         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp24}, compiler::TNode<IntPtrT>{tmp27}, compiler::TNode<Object>{tmp26}, SKIP_WRITE_BARRIER);
    3371         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
    3372         448 :     ca_.Goto(&block9, tmp22, tmp23, tmp24, tmp25);
    3373             :   }
    3374             : 
    3375         448 :   if (block7.is_used()) {
    3376         448 :     compiler::TNode<Context> tmp28;
    3377         448 :     compiler::TNode<JSReceiver> tmp29;
    3378         448 :     compiler::TNode<FixedArray> tmp30;
    3379         448 :     compiler::TNode<IntPtrT> tmp31;
    3380         448 :     ca_.Bind(&block7, &tmp28, &tmp29, &tmp30, &tmp31);
    3381         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 527);
    3382         448 :     compiler::TNode<Object> tmp32;
    3383         448 :     tmp32 = CodeStubAssembler(state_).CallBuiltin(Builtins::kJoinStackPop, tmp28, tmp30, tmp29);
    3384         448 :     USE(tmp32);
    3385         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 523);
    3386         448 :     ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31);
    3387             :   }
    3388             : 
    3389         448 :   if (block9.is_used()) {
    3390         448 :     compiler::TNode<Context> tmp33;
    3391         448 :     compiler::TNode<JSReceiver> tmp34;
    3392         448 :     compiler::TNode<FixedArray> tmp35;
    3393         448 :     compiler::TNode<IntPtrT> tmp36;
    3394         448 :     ca_.Bind(&block9, &tmp33, &tmp34, &tmp35, &tmp36);
    3395         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 516);
    3396         448 :     ca_.Goto(&block1, tmp33, tmp34);
    3397             :   }
    3398             : 
    3399         448 :   if (block1.is_used()) {
    3400         448 :     compiler::TNode<Context> tmp37;
    3401         448 :     compiler::TNode<JSReceiver> tmp38;
    3402         448 :     ca_.Bind(&block1, &tmp37, &tmp38);
    3403         448 :     ca_.Goto(&block10, tmp37, tmp38);
    3404             :   }
    3405             : 
    3406         448 :     compiler::TNode<Context> tmp39;
    3407         448 :     compiler::TNode<JSReceiver> tmp40;
    3408         448 :     ca_.Bind(&block10, &tmp39, &tmp40);
    3409         448 : }
    3410             : 
    3411         336 : TF_BUILTIN(ArrayPrototypeJoin, CodeStubAssembler) {
    3412         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3413          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3414          56 :   USE(parameter0);
    3415          56 :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3416          56 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
    3417          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
    3418          56 : auto arguments = &arguments_impl;
    3419          56 : USE(arguments);
    3420          56 : USE(parameter1);
    3421         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3422         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3423         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3424         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3425         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3426          56 :     ca_.Goto(&block0, parameter0, parameter1);
    3427             : 
    3428          56 :   if (block0.is_used()) {
    3429          56 :     compiler::TNode<Context> tmp0;
    3430          56 :     compiler::TNode<Object> tmp1;
    3431          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
    3432          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 561);
    3433          56 :     compiler::TNode<IntPtrT> tmp2;
    3434          56 :     USE(tmp2);
    3435          56 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3436          56 :     compiler::TNode<Object> tmp3;
    3437          56 :     USE(tmp3);
    3438          56 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
    3439          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 564);
    3440          56 :     compiler::TNode<JSReceiver> tmp4;
    3441          56 :     USE(tmp4);
    3442          56 :     tmp4 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    3443          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 567);
    3444          56 :     compiler::TNode<Number> tmp5;
    3445          56 :     USE(tmp5);
    3446          56 :     tmp5 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
    3447          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 571);
    3448          56 :     compiler::TNode<Number> tmp6;
    3449          56 :     USE(tmp6);
    3450          56 :     tmp6 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
    3451         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    3452         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    3453          56 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp5}, compiler::TNode<Number>{tmp6}, &label0, &label1);
    3454          56 :     if (label0.is_used()) {
    3455          56 :       ca_.Bind(&label0);
    3456          56 :       ca_.Goto(&block3, tmp0, tmp1, tmp3, tmp4, tmp5, tmp5);
    3457             :     }
    3458          56 :     if (label1.is_used()) {
    3459          56 :       ca_.Bind(&label1);
    3460          56 :       ca_.Goto(&block4, tmp0, tmp1, tmp3, tmp4, tmp5, tmp5);
    3461             :     }
    3462             :   }
    3463             : 
    3464          56 :   if (block3.is_used()) {
    3465          56 :     compiler::TNode<Context> tmp7;
    3466          56 :     compiler::TNode<Object> tmp8;
    3467          56 :     compiler::TNode<Object> tmp9;
    3468          56 :     compiler::TNode<JSReceiver> tmp10;
    3469          56 :     compiler::TNode<Number> tmp11;
    3470          56 :     compiler::TNode<Number> tmp12;
    3471          56 :     ca_.Bind(&block3, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12);
    3472          56 :     ca_.Goto(&block1, tmp7, tmp8, tmp9, tmp10, tmp11);
    3473             :   }
    3474             : 
    3475          56 :   if (block4.is_used()) {
    3476          56 :     compiler::TNode<Context> tmp13;
    3477          56 :     compiler::TNode<Object> tmp14;
    3478          56 :     compiler::TNode<Object> tmp15;
    3479          56 :     compiler::TNode<JSReceiver> tmp16;
    3480          56 :     compiler::TNode<Number> tmp17;
    3481          56 :     compiler::TNode<Number> tmp18;
    3482          56 :     ca_.Bind(&block4, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
    3483          56 :     ca_.Goto(&block2, tmp13, tmp14, tmp15, tmp16, tmp17);
    3484             :   }
    3485             : 
    3486          56 :   if (block1.is_used()) {
    3487          56 :     compiler::TNode<Context> tmp19;
    3488          56 :     compiler::TNode<Object> tmp20;
    3489          56 :     compiler::TNode<Object> tmp21;
    3490          56 :     compiler::TNode<JSReceiver> tmp22;
    3491          56 :     compiler::TNode<Number> tmp23;
    3492          56 :     ca_.Bind(&block1, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23);
    3493          56 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp19}, MessageTemplate::kInvalidArrayLength);
    3494             :   }
    3495             : 
    3496          56 :   if (block2.is_used()) {
    3497          56 :     compiler::TNode<Context> tmp24;
    3498          56 :     compiler::TNode<Object> tmp25;
    3499          56 :     compiler::TNode<Object> tmp26;
    3500          56 :     compiler::TNode<JSReceiver> tmp27;
    3501          56 :     compiler::TNode<Number> tmp28;
    3502          56 :     ca_.Bind(&block2, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
    3503          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 574);
    3504          56 :     compiler::TNode<Oddball> tmp29;
    3505          56 :     USE(tmp29);
    3506          56 :     tmp29 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3507          56 :     compiler::TNode<Oddball> tmp30;
    3508          56 :     USE(tmp30);
    3509          56 :     tmp30 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3510          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 573);
    3511          56 :     compiler::TNode<Object> tmp31;
    3512          56 :     USE(tmp31);
    3513          56 :     tmp31 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin7JSArray(compiler::TNode<Context>{tmp24}, false, compiler::TNode<JSReceiver>{tmp27}, compiler::TNode<Number>{tmp28}, compiler::TNode<Object>{tmp26}, compiler::TNode<Object>{tmp29}, compiler::TNode<Object>{tmp30}));
    3514          56 :     arguments->PopAndReturn(tmp31);
    3515             :   }
    3516          56 : }
    3517             : 
    3518         336 : TF_BUILTIN(ArrayPrototypeToLocaleString, CodeStubAssembler) {
    3519         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3520          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3521          56 :   USE(parameter0);
    3522          56 :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3523          56 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
    3524          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
    3525          56 : auto arguments = &arguments_impl;
    3526          56 : USE(arguments);
    3527          56 : USE(parameter1);
    3528         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3529         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3530         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3531         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3532         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3533          56 :     ca_.Goto(&block0, parameter0, parameter1);
    3534             : 
    3535          56 :   if (block0.is_used()) {
    3536          56 :     compiler::TNode<Context> tmp0;
    3537          56 :     compiler::TNode<Object> tmp1;
    3538          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
    3539          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 580);
    3540          56 :     compiler::TNode<IntPtrT> tmp2;
    3541          56 :     USE(tmp2);
    3542          56 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3543          56 :     compiler::TNode<Object> tmp3;
    3544          56 :     USE(tmp3);
    3545          56 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
    3546          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 581);
    3547          56 :     compiler::TNode<IntPtrT> tmp4;
    3548          56 :     USE(tmp4);
    3549          56 :     tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    3550          56 :     compiler::TNode<Object> tmp5;
    3551          56 :     USE(tmp5);
    3552          56 :     tmp5 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp4}));
    3553          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 584);
    3554          56 :     compiler::TNode<JSReceiver> tmp6;
    3555          56 :     USE(tmp6);
    3556          56 :     tmp6 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    3557          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 587);
    3558          56 :     compiler::TNode<Number> tmp7;
    3559          56 :     USE(tmp7);
    3560          56 :     tmp7 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp6}));
    3561          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 591);
    3562          56 :     compiler::TNode<Number> tmp8;
    3563          56 :     USE(tmp8);
    3564          56 :     tmp8 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi18ATconstexpr_uint32((CodeStubAssembler(state_).ConstexprUint32Add(JSArray::kMaxArrayIndex, 1))));
    3565         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    3566         112 :     compiler::CodeAssemblerLabel label1(&ca_);
    3567          56 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp7}, compiler::TNode<Number>{tmp8}, &label0, &label1);
    3568          56 :     if (label0.is_used()) {
    3569          56 :       ca_.Bind(&label0);
    3570          56 :       ca_.Goto(&block3, tmp0, tmp1, tmp3, tmp5, tmp6, tmp7, tmp7);
    3571             :     }
    3572          56 :     if (label1.is_used()) {
    3573          56 :       ca_.Bind(&label1);
    3574          56 :       ca_.Goto(&block4, tmp0, tmp1, tmp3, tmp5, tmp6, tmp7, tmp7);
    3575             :     }
    3576             :   }
    3577             : 
    3578          56 :   if (block3.is_used()) {
    3579          56 :     compiler::TNode<Context> tmp9;
    3580          56 :     compiler::TNode<Object> tmp10;
    3581          56 :     compiler::TNode<Object> tmp11;
    3582          56 :     compiler::TNode<Object> tmp12;
    3583          56 :     compiler::TNode<JSReceiver> tmp13;
    3584          56 :     compiler::TNode<Number> tmp14;
    3585          56 :     compiler::TNode<Number> tmp15;
    3586          56 :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
    3587          56 :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
    3588             :   }
    3589             : 
    3590          56 :   if (block4.is_used()) {
    3591          56 :     compiler::TNode<Context> tmp16;
    3592          56 :     compiler::TNode<Object> tmp17;
    3593          56 :     compiler::TNode<Object> tmp18;
    3594          56 :     compiler::TNode<Object> tmp19;
    3595          56 :     compiler::TNode<JSReceiver> tmp20;
    3596          56 :     compiler::TNode<Number> tmp21;
    3597          56 :     compiler::TNode<Number> tmp22;
    3598          56 :     ca_.Bind(&block4, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
    3599          56 :     ca_.Goto(&block2, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21);
    3600             :   }
    3601             : 
    3602          56 :   if (block1.is_used()) {
    3603          56 :     compiler::TNode<Context> tmp23;
    3604          56 :     compiler::TNode<Object> tmp24;
    3605          56 :     compiler::TNode<Object> tmp25;
    3606          56 :     compiler::TNode<Object> tmp26;
    3607          56 :     compiler::TNode<JSReceiver> tmp27;
    3608          56 :     compiler::TNode<Number> tmp28;
    3609          56 :     ca_.Bind(&block1, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
    3610          56 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp23}, MessageTemplate::kInvalidArrayLength);
    3611             :   }
    3612             : 
    3613          56 :   if (block2.is_used()) {
    3614          56 :     compiler::TNode<Context> tmp29;
    3615          56 :     compiler::TNode<Object> tmp30;
    3616          56 :     compiler::TNode<Object> tmp31;
    3617          56 :     compiler::TNode<Object> tmp32;
    3618          56 :     compiler::TNode<JSReceiver> tmp33;
    3619          56 :     compiler::TNode<Number> tmp34;
    3620          56 :     ca_.Bind(&block2, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
    3621          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 594);
    3622          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 593);
    3623          56 :     compiler::TNode<Object> tmp35;
    3624          56 :     USE(tmp35);
    3625          56 :     tmp35 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
    3626          56 :     compiler::TNode<Object> tmp36;
    3627          56 :     USE(tmp36);
    3628          56 :     tmp36 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin7JSArray(compiler::TNode<Context>{tmp29}, true, compiler::TNode<JSReceiver>{tmp33}, compiler::TNode<Number>{tmp34}, compiler::TNode<Object>{tmp35}, compiler::TNode<Object>{tmp31}, compiler::TNode<Object>{tmp32}));
    3629          56 :     arguments->PopAndReturn(tmp36);
    3630             :   }
    3631          56 : }
    3632             : 
    3633         336 : TF_BUILTIN(ArrayPrototypeToString, CodeStubAssembler) {
    3634         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3635          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3636          56 :   USE(parameter0);
    3637          56 :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3638          56 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
    3639          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
    3640          56 : auto arguments = &arguments_impl;
    3641          56 : USE(arguments);
    3642          56 : USE(parameter1);
    3643         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3644         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3645         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3646         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3647          56 :     ca_.Goto(&block0, parameter0, parameter1);
    3648             : 
    3649          56 :   if (block0.is_used()) {
    3650          56 :     compiler::TNode<Context> tmp0;
    3651          56 :     compiler::TNode<Object> tmp1;
    3652          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
    3653          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 601);
    3654          56 :     compiler::TNode<JSReceiver> tmp2;
    3655          56 :     USE(tmp2);
    3656          56 :     tmp2 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    3657          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 604);
    3658          56 :     compiler::TNode<Object> tmp3;
    3659          56 :     USE(tmp3);
    3660          56 :     tmp3 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string("join"));
    3661          56 :     compiler::TNode<Object> tmp4;
    3662          56 :     USE(tmp4);
    3663          56 :     tmp4 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}, compiler::TNode<Object>{tmp3}));
    3664          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 608);
    3665          56 :     compiler::TNode<JSReceiver> tmp5;
    3666          56 :     USE(tmp5);
    3667         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    3668          56 :     tmp5 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}, &label0);
    3669          56 :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp4, tmp4, tmp5);
    3670          56 :     if (label0.is_used()) {
    3671          56 :       ca_.Bind(&label0);
    3672          56 :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp4, tmp4);
    3673             :     }
    3674             :   }
    3675             : 
    3676          56 :   if (block4.is_used()) {
    3677          56 :     compiler::TNode<Context> tmp6;
    3678          56 :     compiler::TNode<Object> tmp7;
    3679          56 :     compiler::TNode<JSReceiver> tmp8;
    3680          56 :     compiler::TNode<Object> tmp9;
    3681          56 :     compiler::TNode<Object> tmp10;
    3682          56 :     ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
    3683          56 :     ca_.Goto(&block2, tmp6, tmp7, tmp8, tmp9);
    3684             :   }
    3685             : 
    3686          56 :   if (block3.is_used()) {
    3687          56 :     compiler::TNode<Context> tmp11;
    3688          56 :     compiler::TNode<Object> tmp12;
    3689          56 :     compiler::TNode<JSReceiver> tmp13;
    3690          56 :     compiler::TNode<Object> tmp14;
    3691          56 :     compiler::TNode<Object> tmp15;
    3692          56 :     compiler::TNode<JSReceiver> tmp16;
    3693          56 :     ca_.Bind(&block3, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
    3694          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 611);
    3695          56 :     compiler::TNode<Object> tmp17;
    3696          56 :     USE(tmp17);
    3697          56 :     tmp17 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp11}, compiler::TNode<JSReceiver>{tmp16}, compiler::TNode<Object>{tmp13}));
    3698          56 :     arguments->PopAndReturn(tmp17);
    3699             :   }
    3700             : 
    3701          56 :   if (block2.is_used()) {
    3702          56 :     compiler::TNode<Context> tmp18;
    3703          56 :     compiler::TNode<Object> tmp19;
    3704          56 :     compiler::TNode<JSReceiver> tmp20;
    3705          56 :     compiler::TNode<Object> tmp21;
    3706          56 :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20, &tmp21);
    3707          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 614);
    3708          56 :     compiler::TNode<Object> tmp22;
    3709          56 :     tmp22 = CodeStubAssembler(state_).CallBuiltin(Builtins::kObjectToString, tmp18, tmp20);
    3710          56 :     USE(tmp22);
    3711          56 :     arguments->PopAndReturn(tmp22);
    3712             :   }
    3713          56 : }
    3714             : 
    3715         336 : TF_BUILTIN(TypedArrayPrototypeJoin, CodeStubAssembler) {
    3716         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3717          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3718          56 :   USE(parameter0);
    3719          56 :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3720          56 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
    3721          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
    3722          56 : auto arguments = &arguments_impl;
    3723          56 : USE(arguments);
    3724          56 : USE(parameter1);
    3725         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3726          56 :     ca_.Goto(&block0, parameter0, parameter1);
    3727             : 
    3728          56 :   if (block0.is_used()) {
    3729          56 :     compiler::TNode<Context> tmp0;
    3730          56 :     compiler::TNode<Object> tmp1;
    3731          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
    3732          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 621);
    3733          56 :     compiler::TNode<IntPtrT> tmp2;
    3734          56 :     USE(tmp2);
    3735          56 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3736          56 :     compiler::TNode<Object> tmp3;
    3737          56 :     USE(tmp3);
    3738          56 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
    3739          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 626);
    3740          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 625);
    3741          56 :     compiler::TNode<JSTypedArray> tmp4;
    3742          56 :     USE(tmp4);
    3743          56 :     tmp4 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.join"));
    3744          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 627);
    3745          56 :     compiler::TNode<Smi> tmp5;
    3746          56 :     USE(tmp5);
    3747          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).LoadJSTypedArrayLength(compiler::TNode<JSTypedArray>{tmp4}));
    3748          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 630);
    3749          56 :     compiler::TNode<Oddball> tmp6;
    3750          56 :     USE(tmp6);
    3751          56 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3752          56 :     compiler::TNode<Oddball> tmp7;
    3753          56 :     USE(tmp7);
    3754          56 :     tmp7 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    3755          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 629);
    3756          56 :     compiler::TNode<Object> tmp8;
    3757          56 :     USE(tmp8);
    3758          56 :     tmp8 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp0}, false, compiler::TNode<JSReceiver>{tmp4}, compiler::TNode<Number>{tmp5}, compiler::TNode<Object>{tmp3}, compiler::TNode<Object>{tmp6}, compiler::TNode<Object>{tmp7}));
    3759          56 :     arguments->PopAndReturn(tmp8);
    3760             :   }
    3761          56 : }
    3762             : 
    3763         336 : TF_BUILTIN(TypedArrayPrototypeToLocaleString, CodeStubAssembler) {
    3764         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3765          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3766          56 :   USE(parameter0);
    3767          56 :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    3768          56 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
    3769          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
    3770          56 : auto arguments = &arguments_impl;
    3771          56 : USE(arguments);
    3772          56 : USE(parameter1);
    3773         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3774          56 :     ca_.Goto(&block0, parameter0, parameter1);
    3775             : 
    3776          56 :   if (block0.is_used()) {
    3777          56 :     compiler::TNode<Context> tmp0;
    3778          56 :     compiler::TNode<Object> tmp1;
    3779          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
    3780          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 636);
    3781          56 :     compiler::TNode<IntPtrT> tmp2;
    3782          56 :     USE(tmp2);
    3783          56 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3784          56 :     compiler::TNode<Object> tmp3;
    3785          56 :     USE(tmp3);
    3786          56 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
    3787          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 637);
    3788          56 :     compiler::TNode<IntPtrT> tmp4;
    3789          56 :     USE(tmp4);
    3790          56 :     tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    3791          56 :     compiler::TNode<Object> tmp5;
    3792          56 :     USE(tmp5);
    3793          56 :     tmp5 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp4}));
    3794          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 642);
    3795          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 641);
    3796          56 :     compiler::TNode<JSTypedArray> tmp6;
    3797          56 :     USE(tmp6);
    3798          56 :     tmp6 = ca_.UncheckedCast<JSTypedArray>(TypedArrayBuiltinsAssembler(state_).ValidateTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, "%TypedArray%.prototype.toLocaleString"));
    3799          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 643);
    3800          56 :     compiler::TNode<Smi> tmp7;
    3801          56 :     USE(tmp7);
    3802          56 :     tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).LoadJSTypedArrayLength(compiler::TNode<JSTypedArray>{tmp6}));
    3803          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 646);
    3804          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 645);
    3805          56 :     compiler::TNode<Object> tmp8;
    3806          56 :     USE(tmp8);
    3807          56 :     tmp8 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(","));
    3808          56 :     compiler::TNode<Object> tmp9;
    3809          56 :     USE(tmp9);
    3810          56 :     tmp9 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp0}, true, compiler::TNode<JSReceiver>{tmp6}, compiler::TNode<Number>{tmp7}, compiler::TNode<Object>{tmp8}, compiler::TNode<Object>{tmp3}, compiler::TNode<Object>{tmp5}));
    3811          56 :     arguments->PopAndReturn(tmp9);
    3812             :   }
    3813          56 : }
    3814             : 
    3815         392 : TF_BUILTIN(LoadJoinElement25ATGenericElementsAccessor, CodeStubAssembler) {
    3816         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    3817          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    3818          56 :   USE(parameter0);
    3819          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    3820          56 :   USE(parameter1);
    3821          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    3822          56 :   USE(parameter2);
    3823         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3824          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    3825             : 
    3826          56 :   if (block0.is_used()) {
    3827          56 :     compiler::TNode<Context> tmp0;
    3828          56 :     compiler::TNode<JSReceiver> tmp1;
    3829          56 :     compiler::TNode<Number> tmp2;
    3830          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    3831          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 16);
    3832          56 :     compiler::TNode<Object> tmp3;
    3833          56 :     USE(tmp3);
    3834          56 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}));
    3835          56 :     CodeStubAssembler(state_).Return(tmp3);
    3836             :   }
    3837          56 : }
    3838             : 
    3839         112 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoinImpl7JSArray(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lengthNumber, bool p_useToLocaleString, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options, compiler::TNode<BuiltinPtr> p_initialLoadFn) {
    3840         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3841         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3842         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3843         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3844         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3845         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3846         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3847         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3848         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3849         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3850         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3851         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3852         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3853         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3854         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3855         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3856         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3857         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3858         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3859         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, Number> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3860         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3861         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3862         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3863         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3864         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3865         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3866         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3867         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3868         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3869         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block33(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3870         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3871         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block35(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3872         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3873         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3874         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3875         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3876         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block40(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3877         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3878         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block39(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3879         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block41(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3880         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3881         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block43(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    3882         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block44(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3883         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3884         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3885         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3886         112 :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
    3887             : 
    3888         112 :   if (block0.is_used()) {
    3889         112 :     compiler::TNode<Context> tmp0;
    3890         112 :     compiler::TNode<JSReceiver> tmp1;
    3891         112 :     compiler::TNode<String> tmp2;
    3892         112 :     compiler::TNode<Number> tmp3;
    3893         112 :     compiler::TNode<Object> tmp4;
    3894         112 :     compiler::TNode<Object> tmp5;
    3895         112 :     compiler::TNode<BuiltinPtr> tmp6;
    3896         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
    3897         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
    3898         112 :     compiler::TNode<Map> tmp7;
    3899         112 :     USE(tmp7);
    3900         112 :     tmp7 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp1}));
    3901         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
    3902         112 :     compiler::TNode<UintPtrT> tmp8;
    3903         112 :     USE(tmp8);
    3904         112 :     tmp8 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr22UT12ATHeapNumber5ATSmi(compiler::TNode<Number>{tmp3}));
    3905         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
    3906         112 :     compiler::TNode<IntPtrT> tmp9;
    3907         112 :     USE(tmp9);
    3908         112 :     tmp9 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
    3909         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 269);
    3910         112 :     compiler::TNode<IntPtrT> tmp10;
    3911         112 :     USE(tmp10);
    3912         112 :     tmp10 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    3913         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 270);
    3914         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
    3915         112 :     compiler::TNode<FixedArray> tmp11;
    3916         112 :     USE(tmp11);
    3917         112 :     compiler::TNode<IntPtrT> tmp12;
    3918         112 :     USE(tmp12);
    3919         112 :     compiler::TNode<IntPtrT> tmp13;
    3920         112 :     USE(tmp13);
    3921         112 :     compiler::TNode<BoolT> tmp14;
    3922         112 :     USE(tmp14);
    3923         112 :     std::tie(tmp11, tmp12, tmp13, tmp14) = ArrayJoinBuiltinsFromDSLAssembler(state_).NewBuffer(compiler::TNode<UintPtrT>{tmp8}, compiler::TNode<String>{tmp2}).Flatten();
    3924         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
    3925         112 :     compiler::TNode<UintPtrT> tmp15;
    3926         112 :     USE(tmp15);
    3927         112 :     tmp15 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    3928         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
    3929         112 :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp6, tmp11, tmp12, tmp13, tmp14, tmp15);
    3930             :   }
    3931             : 
    3932         112 :   if (block4.is_used()) {
    3933         112 :     compiler::TNode<Context> tmp16;
    3934         112 :     compiler::TNode<JSReceiver> tmp17;
    3935         112 :     compiler::TNode<String> tmp18;
    3936         112 :     compiler::TNode<Number> tmp19;
    3937         112 :     compiler::TNode<Object> tmp20;
    3938         112 :     compiler::TNode<Object> tmp21;
    3939         112 :     compiler::TNode<BuiltinPtr> tmp22;
    3940         112 :     compiler::TNode<Map> tmp23;
    3941         112 :     compiler::TNode<UintPtrT> tmp24;
    3942         112 :     compiler::TNode<IntPtrT> tmp25;
    3943         112 :     compiler::TNode<IntPtrT> tmp26;
    3944         112 :     compiler::TNode<BuiltinPtr> tmp27;
    3945         112 :     compiler::TNode<FixedArray> tmp28;
    3946         112 :     compiler::TNode<IntPtrT> tmp29;
    3947         112 :     compiler::TNode<IntPtrT> tmp30;
    3948         112 :     compiler::TNode<BoolT> tmp31;
    3949         112 :     compiler::TNode<UintPtrT> tmp32;
    3950         112 :     ca_.Bind(&block4, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32);
    3951         112 :     compiler::TNode<BoolT> tmp33;
    3952         112 :     USE(tmp33);
    3953         112 :     tmp33 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp32}, compiler::TNode<UintPtrT>{tmp24}));
    3954         112 :     ca_.Branch(tmp33, &block2, &block3, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32);
    3955             :   }
    3956             : 
    3957         112 :   if (block2.is_used()) {
    3958         112 :     compiler::TNode<Context> tmp34;
    3959         112 :     compiler::TNode<JSReceiver> tmp35;
    3960         112 :     compiler::TNode<String> tmp36;
    3961         112 :     compiler::TNode<Number> tmp37;
    3962         112 :     compiler::TNode<Object> tmp38;
    3963         112 :     compiler::TNode<Object> tmp39;
    3964         112 :     compiler::TNode<BuiltinPtr> tmp40;
    3965         112 :     compiler::TNode<Map> tmp41;
    3966         112 :     compiler::TNode<UintPtrT> tmp42;
    3967         112 :     compiler::TNode<IntPtrT> tmp43;
    3968         112 :     compiler::TNode<IntPtrT> tmp44;
    3969         112 :     compiler::TNode<BuiltinPtr> tmp45;
    3970         112 :     compiler::TNode<FixedArray> tmp46;
    3971         112 :     compiler::TNode<IntPtrT> tmp47;
    3972         112 :     compiler::TNode<IntPtrT> tmp48;
    3973         112 :     compiler::TNode<BoolT> tmp49;
    3974         112 :     compiler::TNode<UintPtrT> tmp50;
    3975         112 :     ca_.Bind(&block2, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
    3976         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 279);
    3977         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    3978         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    3979         224 :     compiler::CodeAssemblerLabel label1(&ca_);
    3980         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).CannotUseSameArrayAccessor7JSArray(compiler::TNode<Context>{tmp34}, compiler::TNode<BuiltinPtr>{tmp45}, compiler::TNode<JSReceiver>{tmp35}, compiler::TNode<Map>{tmp41}, compiler::TNode<Number>{tmp37}, &label0, &label1);
    3981         112 :     if (label0.is_used()) {
    3982         112 :       ca_.Bind(&label0);
    3983         112 :       ca_.Goto(&block7, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp45, tmp35, tmp41, tmp37);
    3984             :     }
    3985         112 :     if (label1.is_used()) {
    3986         112 :       ca_.Bind(&label1);
    3987         112 :       ca_.Goto(&block8, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp45, tmp35, tmp41, tmp37);
    3988             :     }
    3989             :   }
    3990             : 
    3991         112 :   if (block7.is_used()) {
    3992         112 :     compiler::TNode<Context> tmp51;
    3993         112 :     compiler::TNode<JSReceiver> tmp52;
    3994         112 :     compiler::TNode<String> tmp53;
    3995         112 :     compiler::TNode<Number> tmp54;
    3996         112 :     compiler::TNode<Object> tmp55;
    3997         112 :     compiler::TNode<Object> tmp56;
    3998         112 :     compiler::TNode<BuiltinPtr> tmp57;
    3999         112 :     compiler::TNode<Map> tmp58;
    4000         112 :     compiler::TNode<UintPtrT> tmp59;
    4001         112 :     compiler::TNode<IntPtrT> tmp60;
    4002         112 :     compiler::TNode<IntPtrT> tmp61;
    4003         112 :     compiler::TNode<BuiltinPtr> tmp62;
    4004         112 :     compiler::TNode<FixedArray> tmp63;
    4005         112 :     compiler::TNode<IntPtrT> tmp64;
    4006         112 :     compiler::TNode<IntPtrT> tmp65;
    4007         112 :     compiler::TNode<BoolT> tmp66;
    4008         112 :     compiler::TNode<UintPtrT> tmp67;
    4009         112 :     compiler::TNode<BuiltinPtr> tmp68;
    4010         112 :     compiler::TNode<JSReceiver> tmp69;
    4011         112 :     compiler::TNode<Map> tmp70;
    4012         112 :     compiler::TNode<Number> tmp71;
    4013         112 :     ca_.Bind(&block7, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71);
    4014         112 :     ca_.Goto(&block5, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67);
    4015             :   }
    4016             : 
    4017         112 :   if (block8.is_used()) {
    4018         112 :     compiler::TNode<Context> tmp72;
    4019         112 :     compiler::TNode<JSReceiver> tmp73;
    4020         112 :     compiler::TNode<String> tmp74;
    4021         112 :     compiler::TNode<Number> tmp75;
    4022         112 :     compiler::TNode<Object> tmp76;
    4023         112 :     compiler::TNode<Object> tmp77;
    4024         112 :     compiler::TNode<BuiltinPtr> tmp78;
    4025         112 :     compiler::TNode<Map> tmp79;
    4026         112 :     compiler::TNode<UintPtrT> tmp80;
    4027         112 :     compiler::TNode<IntPtrT> tmp81;
    4028         112 :     compiler::TNode<IntPtrT> tmp82;
    4029         112 :     compiler::TNode<BuiltinPtr> tmp83;
    4030         112 :     compiler::TNode<FixedArray> tmp84;
    4031         112 :     compiler::TNode<IntPtrT> tmp85;
    4032         112 :     compiler::TNode<IntPtrT> tmp86;
    4033         112 :     compiler::TNode<BoolT> tmp87;
    4034         112 :     compiler::TNode<UintPtrT> tmp88;
    4035         112 :     compiler::TNode<BuiltinPtr> tmp89;
    4036         112 :     compiler::TNode<JSReceiver> tmp90;
    4037         112 :     compiler::TNode<Map> tmp91;
    4038         112 :     compiler::TNode<Number> tmp92;
    4039         112 :     ca_.Bind(&block8, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
    4040         112 :     ca_.Goto(&block6, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88);
    4041             :   }
    4042             : 
    4043         112 :   if (block5.is_used()) {
    4044         112 :     compiler::TNode<Context> tmp93;
    4045         112 :     compiler::TNode<JSReceiver> tmp94;
    4046         112 :     compiler::TNode<String> tmp95;
    4047         112 :     compiler::TNode<Number> tmp96;
    4048         112 :     compiler::TNode<Object> tmp97;
    4049         112 :     compiler::TNode<Object> tmp98;
    4050         112 :     compiler::TNode<BuiltinPtr> tmp99;
    4051         112 :     compiler::TNode<Map> tmp100;
    4052         112 :     compiler::TNode<UintPtrT> tmp101;
    4053         112 :     compiler::TNode<IntPtrT> tmp102;
    4054         112 :     compiler::TNode<IntPtrT> tmp103;
    4055         112 :     compiler::TNode<BuiltinPtr> tmp104;
    4056         112 :     compiler::TNode<FixedArray> tmp105;
    4057         112 :     compiler::TNode<IntPtrT> tmp106;
    4058         112 :     compiler::TNode<IntPtrT> tmp107;
    4059         112 :     compiler::TNode<BoolT> tmp108;
    4060         112 :     compiler::TNode<UintPtrT> tmp109;
    4061         112 :     ca_.Bind(&block5, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
    4062         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
    4063         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    4064         112 :     ca_.Goto(&block6, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)), tmp105, tmp106, tmp107, tmp108, tmp109);
    4065             :   }
    4066             : 
    4067         112 :   if (block6.is_used()) {
    4068         112 :     compiler::TNode<Context> tmp110;
    4069         112 :     compiler::TNode<JSReceiver> tmp111;
    4070         112 :     compiler::TNode<String> tmp112;
    4071         112 :     compiler::TNode<Number> tmp113;
    4072         112 :     compiler::TNode<Object> tmp114;
    4073         112 :     compiler::TNode<Object> tmp115;
    4074         112 :     compiler::TNode<BuiltinPtr> tmp116;
    4075         112 :     compiler::TNode<Map> tmp117;
    4076         112 :     compiler::TNode<UintPtrT> tmp118;
    4077         112 :     compiler::TNode<IntPtrT> tmp119;
    4078         112 :     compiler::TNode<IntPtrT> tmp120;
    4079         112 :     compiler::TNode<BuiltinPtr> tmp121;
    4080         112 :     compiler::TNode<FixedArray> tmp122;
    4081         112 :     compiler::TNode<IntPtrT> tmp123;
    4082         112 :     compiler::TNode<IntPtrT> tmp124;
    4083         112 :     compiler::TNode<BoolT> tmp125;
    4084         112 :     compiler::TNode<UintPtrT> tmp126;
    4085         112 :     ca_.Bind(&block6, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
    4086         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
    4087         112 :     compiler::TNode<UintPtrT> tmp127;
    4088         112 :     USE(tmp127);
    4089         112 :     tmp127 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    4090         112 :     compiler::TNode<BoolT> tmp128;
    4091         112 :     USE(tmp128);
    4092         112 :     tmp128 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp126}, compiler::TNode<UintPtrT>{tmp127}));
    4093         112 :     ca_.Branch(tmp128, &block9, &block10, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126);
    4094             :   }
    4095             : 
    4096         112 :   if (block9.is_used()) {
    4097         112 :     compiler::TNode<Context> tmp129;
    4098         112 :     compiler::TNode<JSReceiver> tmp130;
    4099         112 :     compiler::TNode<String> tmp131;
    4100         112 :     compiler::TNode<Number> tmp132;
    4101         112 :     compiler::TNode<Object> tmp133;
    4102         112 :     compiler::TNode<Object> tmp134;
    4103         112 :     compiler::TNode<BuiltinPtr> tmp135;
    4104         112 :     compiler::TNode<Map> tmp136;
    4105         112 :     compiler::TNode<UintPtrT> tmp137;
    4106         112 :     compiler::TNode<IntPtrT> tmp138;
    4107         112 :     compiler::TNode<IntPtrT> tmp139;
    4108         112 :     compiler::TNode<BuiltinPtr> tmp140;
    4109         112 :     compiler::TNode<FixedArray> tmp141;
    4110         112 :     compiler::TNode<IntPtrT> tmp142;
    4111         112 :     compiler::TNode<IntPtrT> tmp143;
    4112         112 :     compiler::TNode<BoolT> tmp144;
    4113         112 :     compiler::TNode<UintPtrT> tmp145;
    4114         112 :     ca_.Bind(&block9, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145);
    4115         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 286);
    4116         112 :     compiler::TNode<IntPtrT> tmp146;
    4117         112 :     USE(tmp146);
    4118         112 :     tmp146 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    4119         112 :     compiler::TNode<IntPtrT> tmp147;
    4120         112 :     USE(tmp147);
    4121         112 :     tmp147 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp139}, compiler::TNode<IntPtrT>{tmp146}));
    4122         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
    4123         112 :     ca_.Goto(&block10, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp147, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145);
    4124             :   }
    4125             : 
    4126         112 :   if (block10.is_used()) {
    4127         112 :     compiler::TNode<Context> tmp148;
    4128         112 :     compiler::TNode<JSReceiver> tmp149;
    4129         112 :     compiler::TNode<String> tmp150;
    4130         112 :     compiler::TNode<Number> tmp151;
    4131         112 :     compiler::TNode<Object> tmp152;
    4132         112 :     compiler::TNode<Object> tmp153;
    4133         112 :     compiler::TNode<BuiltinPtr> tmp154;
    4134         112 :     compiler::TNode<Map> tmp155;
    4135         112 :     compiler::TNode<UintPtrT> tmp156;
    4136         112 :     compiler::TNode<IntPtrT> tmp157;
    4137         112 :     compiler::TNode<IntPtrT> tmp158;
    4138         112 :     compiler::TNode<BuiltinPtr> tmp159;
    4139         112 :     compiler::TNode<FixedArray> tmp160;
    4140         112 :     compiler::TNode<IntPtrT> tmp161;
    4141         112 :     compiler::TNode<IntPtrT> tmp162;
    4142         112 :     compiler::TNode<BoolT> tmp163;
    4143         112 :     compiler::TNode<UintPtrT> tmp164;
    4144         112 :     ca_.Bind(&block10, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164);
    4145         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 290);
    4146         112 :     compiler::TNode<UintPtrT> tmp165;
    4147         112 :     USE(tmp165);
    4148         112 :     tmp165 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
    4149         112 :     compiler::TNode<UintPtrT> tmp166;
    4150         112 :     USE(tmp166);
    4151         112 :     tmp166 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp164}, compiler::TNode<UintPtrT>{tmp165}));
    4152         112 :     compiler::TNode<Number> tmp167;
    4153         112 :     USE(tmp167);
    4154         112 :     tmp167 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert22UT12ATHeapNumber5ATSmi9ATuintptr(compiler::TNode<UintPtrT>{tmp164}));
    4155         112 :     compiler::TNode<Object> tmp168 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp159, tmp148, tmp149, tmp167); 
    4156         112 :     USE(tmp168);
    4157         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
    4158         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    4159         112 :     if ((p_useToLocaleString)) {
    4160          56 :       ca_.Goto(&block11, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp166, tmp168, ca_.Uninitialized<String>());
    4161             :     } else {
    4162          56 :       ca_.Goto(&block12, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp166, tmp168, ca_.Uninitialized<String>());
    4163             :     }
    4164             :   }
    4165             : 
    4166         112 :   if (block11.is_used()) {
    4167          56 :     compiler::TNode<Context> tmp169;
    4168          56 :     compiler::TNode<JSReceiver> tmp170;
    4169          56 :     compiler::TNode<String> tmp171;
    4170          56 :     compiler::TNode<Number> tmp172;
    4171          56 :     compiler::TNode<Object> tmp173;
    4172          56 :     compiler::TNode<Object> tmp174;
    4173          56 :     compiler::TNode<BuiltinPtr> tmp175;
    4174          56 :     compiler::TNode<Map> tmp176;
    4175          56 :     compiler::TNode<UintPtrT> tmp177;
    4176          56 :     compiler::TNode<IntPtrT> tmp178;
    4177          56 :     compiler::TNode<IntPtrT> tmp179;
    4178          56 :     compiler::TNode<BuiltinPtr> tmp180;
    4179          56 :     compiler::TNode<FixedArray> tmp181;
    4180          56 :     compiler::TNode<IntPtrT> tmp182;
    4181          56 :     compiler::TNode<IntPtrT> tmp183;
    4182          56 :     compiler::TNode<BoolT> tmp184;
    4183          56 :     compiler::TNode<UintPtrT> tmp185;
    4184          56 :     compiler::TNode<Object> tmp186;
    4185          56 :     compiler::TNode<String> tmp187;
    4186          56 :     ca_.Bind(&block11, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187);
    4187          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
    4188          56 :     compiler::TNode<String> tmp188;
    4189          56 :     tmp188 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp169, tmp186, tmp173, tmp174));
    4190          56 :     USE(tmp188);
    4191          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
    4192          56 :     compiler::TNode<String> tmp189;
    4193          56 :     USE(tmp189);
    4194          56 :     tmp189 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    4195          56 :     compiler::TNode<BoolT> tmp190;
    4196          56 :     USE(tmp190);
    4197          56 :     tmp190 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp188}, compiler::TNode<HeapObject>{tmp189}));
    4198          56 :     ca_.Branch(tmp190, &block14, &block15, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp188);
    4199             :   }
    4200             : 
    4201         112 :   if (block14.is_used()) {
    4202          56 :     compiler::TNode<Context> tmp191;
    4203          56 :     compiler::TNode<JSReceiver> tmp192;
    4204          56 :     compiler::TNode<String> tmp193;
    4205          56 :     compiler::TNode<Number> tmp194;
    4206          56 :     compiler::TNode<Object> tmp195;
    4207          56 :     compiler::TNode<Object> tmp196;
    4208          56 :     compiler::TNode<BuiltinPtr> tmp197;
    4209          56 :     compiler::TNode<Map> tmp198;
    4210          56 :     compiler::TNode<UintPtrT> tmp199;
    4211          56 :     compiler::TNode<IntPtrT> tmp200;
    4212          56 :     compiler::TNode<IntPtrT> tmp201;
    4213          56 :     compiler::TNode<BuiltinPtr> tmp202;
    4214          56 :     compiler::TNode<FixedArray> tmp203;
    4215          56 :     compiler::TNode<IntPtrT> tmp204;
    4216          56 :     compiler::TNode<IntPtrT> tmp205;
    4217          56 :     compiler::TNode<BoolT> tmp206;
    4218          56 :     compiler::TNode<UintPtrT> tmp207;
    4219          56 :     compiler::TNode<Object> tmp208;
    4220          56 :     compiler::TNode<String> tmp209;
    4221          56 :     ca_.Bind(&block14, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209);
    4222          56 :     ca_.Goto(&block4, tmp191, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207);
    4223             :   }
    4224             : 
    4225         112 :   if (block15.is_used()) {
    4226          56 :     compiler::TNode<Context> tmp210;
    4227          56 :     compiler::TNode<JSReceiver> tmp211;
    4228          56 :     compiler::TNode<String> tmp212;
    4229          56 :     compiler::TNode<Number> tmp213;
    4230          56 :     compiler::TNode<Object> tmp214;
    4231          56 :     compiler::TNode<Object> tmp215;
    4232          56 :     compiler::TNode<BuiltinPtr> tmp216;
    4233          56 :     compiler::TNode<Map> tmp217;
    4234          56 :     compiler::TNode<UintPtrT> tmp218;
    4235          56 :     compiler::TNode<IntPtrT> tmp219;
    4236          56 :     compiler::TNode<IntPtrT> tmp220;
    4237          56 :     compiler::TNode<BuiltinPtr> tmp221;
    4238          56 :     compiler::TNode<FixedArray> tmp222;
    4239          56 :     compiler::TNode<IntPtrT> tmp223;
    4240          56 :     compiler::TNode<IntPtrT> tmp224;
    4241          56 :     compiler::TNode<BoolT> tmp225;
    4242          56 :     compiler::TNode<UintPtrT> tmp226;
    4243          56 :     compiler::TNode<Object> tmp227;
    4244          56 :     compiler::TNode<String> tmp228;
    4245          56 :     ca_.Bind(&block15, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228);
    4246          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    4247          56 :     ca_.Goto(&block13, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228);
    4248             :   }
    4249             : 
    4250         112 :   if (block12.is_used()) {
    4251          56 :     compiler::TNode<Context> tmp229;
    4252          56 :     compiler::TNode<JSReceiver> tmp230;
    4253          56 :     compiler::TNode<String> tmp231;
    4254          56 :     compiler::TNode<Number> tmp232;
    4255          56 :     compiler::TNode<Object> tmp233;
    4256          56 :     compiler::TNode<Object> tmp234;
    4257          56 :     compiler::TNode<BuiltinPtr> tmp235;
    4258          56 :     compiler::TNode<Map> tmp236;
    4259          56 :     compiler::TNode<UintPtrT> tmp237;
    4260          56 :     compiler::TNode<IntPtrT> tmp238;
    4261          56 :     compiler::TNode<IntPtrT> tmp239;
    4262          56 :     compiler::TNode<BuiltinPtr> tmp240;
    4263          56 :     compiler::TNode<FixedArray> tmp241;
    4264          56 :     compiler::TNode<IntPtrT> tmp242;
    4265          56 :     compiler::TNode<IntPtrT> tmp243;
    4266          56 :     compiler::TNode<BoolT> tmp244;
    4267          56 :     compiler::TNode<UintPtrT> tmp245;
    4268          56 :     compiler::TNode<Object> tmp246;
    4269          56 :     compiler::TNode<String> tmp247;
    4270          56 :     ca_.Bind(&block12, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247);
    4271          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    4272          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    4273          56 :     compiler::TNode<String> tmp248;
    4274          56 :     USE(tmp248);
    4275         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    4276          56 :     tmp248 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp229}, compiler::TNode<Object>{tmp246}, &label0);
    4277          56 :     ca_.Goto(&block18, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp246, tmp246, tmp248);
    4278          56 :     if (label0.is_used()) {
    4279          56 :       ca_.Bind(&label0);
    4280          56 :       ca_.Goto(&block19, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp246, tmp246);
    4281             :     }
    4282             :   }
    4283             : 
    4284         112 :   if (block19.is_used()) {
    4285          56 :     compiler::TNode<Context> tmp249;
    4286          56 :     compiler::TNode<JSReceiver> tmp250;
    4287          56 :     compiler::TNode<String> tmp251;
    4288          56 :     compiler::TNode<Number> tmp252;
    4289          56 :     compiler::TNode<Object> tmp253;
    4290          56 :     compiler::TNode<Object> tmp254;
    4291          56 :     compiler::TNode<BuiltinPtr> tmp255;
    4292          56 :     compiler::TNode<Map> tmp256;
    4293          56 :     compiler::TNode<UintPtrT> tmp257;
    4294          56 :     compiler::TNode<IntPtrT> tmp258;
    4295          56 :     compiler::TNode<IntPtrT> tmp259;
    4296          56 :     compiler::TNode<BuiltinPtr> tmp260;
    4297          56 :     compiler::TNode<FixedArray> tmp261;
    4298          56 :     compiler::TNode<IntPtrT> tmp262;
    4299          56 :     compiler::TNode<IntPtrT> tmp263;
    4300          56 :     compiler::TNode<BoolT> tmp264;
    4301          56 :     compiler::TNode<UintPtrT> tmp265;
    4302          56 :     compiler::TNode<Object> tmp266;
    4303          56 :     compiler::TNode<String> tmp267;
    4304          56 :     compiler::TNode<Object> tmp268;
    4305          56 :     compiler::TNode<Object> tmp269;
    4306          56 :     ca_.Bind(&block19, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269);
    4307          56 :     ca_.Goto(&block17, tmp249, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268);
    4308             :   }
    4309             : 
    4310         112 :   if (block18.is_used()) {
    4311          56 :     compiler::TNode<Context> tmp270;
    4312          56 :     compiler::TNode<JSReceiver> tmp271;
    4313          56 :     compiler::TNode<String> tmp272;
    4314          56 :     compiler::TNode<Number> tmp273;
    4315          56 :     compiler::TNode<Object> tmp274;
    4316          56 :     compiler::TNode<Object> tmp275;
    4317          56 :     compiler::TNode<BuiltinPtr> tmp276;
    4318          56 :     compiler::TNode<Map> tmp277;
    4319          56 :     compiler::TNode<UintPtrT> tmp278;
    4320          56 :     compiler::TNode<IntPtrT> tmp279;
    4321          56 :     compiler::TNode<IntPtrT> tmp280;
    4322          56 :     compiler::TNode<BuiltinPtr> tmp281;
    4323          56 :     compiler::TNode<FixedArray> tmp282;
    4324          56 :     compiler::TNode<IntPtrT> tmp283;
    4325          56 :     compiler::TNode<IntPtrT> tmp284;
    4326          56 :     compiler::TNode<BoolT> tmp285;
    4327          56 :     compiler::TNode<UintPtrT> tmp286;
    4328          56 :     compiler::TNode<Object> tmp287;
    4329          56 :     compiler::TNode<String> tmp288;
    4330          56 :     compiler::TNode<Object> tmp289;
    4331          56 :     compiler::TNode<Object> tmp290;
    4332          56 :     compiler::TNode<String> tmp291;
    4333          56 :     ca_.Bind(&block18, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291);
    4334          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
    4335          56 :     compiler::TNode<String> tmp292;
    4336          56 :     USE(tmp292);
    4337          56 :     tmp292 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    4338          56 :     compiler::TNode<BoolT> tmp293;
    4339          56 :     USE(tmp293);
    4340          56 :     tmp293 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp291}, compiler::TNode<HeapObject>{tmp292}));
    4341          56 :     ca_.Branch(tmp293, &block20, &block21, tmp270, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp291);
    4342             :   }
    4343             : 
    4344         112 :   if (block20.is_used()) {
    4345          56 :     compiler::TNode<Context> tmp294;
    4346          56 :     compiler::TNode<JSReceiver> tmp295;
    4347          56 :     compiler::TNode<String> tmp296;
    4348          56 :     compiler::TNode<Number> tmp297;
    4349          56 :     compiler::TNode<Object> tmp298;
    4350          56 :     compiler::TNode<Object> tmp299;
    4351          56 :     compiler::TNode<BuiltinPtr> tmp300;
    4352          56 :     compiler::TNode<Map> tmp301;
    4353          56 :     compiler::TNode<UintPtrT> tmp302;
    4354          56 :     compiler::TNode<IntPtrT> tmp303;
    4355          56 :     compiler::TNode<IntPtrT> tmp304;
    4356          56 :     compiler::TNode<BuiltinPtr> tmp305;
    4357          56 :     compiler::TNode<FixedArray> tmp306;
    4358          56 :     compiler::TNode<IntPtrT> tmp307;
    4359          56 :     compiler::TNode<IntPtrT> tmp308;
    4360          56 :     compiler::TNode<BoolT> tmp309;
    4361          56 :     compiler::TNode<UintPtrT> tmp310;
    4362          56 :     compiler::TNode<Object> tmp311;
    4363          56 :     compiler::TNode<String> tmp312;
    4364          56 :     compiler::TNode<Object> tmp313;
    4365          56 :     compiler::TNode<String> tmp314;
    4366          56 :     ca_.Bind(&block20, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314);
    4367          56 :     ca_.Goto(&block4, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310);
    4368             :   }
    4369             : 
    4370         112 :   if (block21.is_used()) {
    4371          56 :     compiler::TNode<Context> tmp315;
    4372          56 :     compiler::TNode<JSReceiver> tmp316;
    4373          56 :     compiler::TNode<String> tmp317;
    4374          56 :     compiler::TNode<Number> tmp318;
    4375          56 :     compiler::TNode<Object> tmp319;
    4376          56 :     compiler::TNode<Object> tmp320;
    4377          56 :     compiler::TNode<BuiltinPtr> tmp321;
    4378          56 :     compiler::TNode<Map> tmp322;
    4379          56 :     compiler::TNode<UintPtrT> tmp323;
    4380          56 :     compiler::TNode<IntPtrT> tmp324;
    4381          56 :     compiler::TNode<IntPtrT> tmp325;
    4382          56 :     compiler::TNode<BuiltinPtr> tmp326;
    4383          56 :     compiler::TNode<FixedArray> tmp327;
    4384          56 :     compiler::TNode<IntPtrT> tmp328;
    4385          56 :     compiler::TNode<IntPtrT> tmp329;
    4386          56 :     compiler::TNode<BoolT> tmp330;
    4387          56 :     compiler::TNode<UintPtrT> tmp331;
    4388          56 :     compiler::TNode<Object> tmp332;
    4389          56 :     compiler::TNode<String> tmp333;
    4390          56 :     compiler::TNode<Object> tmp334;
    4391          56 :     compiler::TNode<String> tmp335;
    4392          56 :     ca_.Bind(&block21, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335);
    4393          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
    4394          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    4395          56 :     ca_.Goto(&block16, tmp315, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp335, tmp334);
    4396             :   }
    4397             : 
    4398         112 :   if (block17.is_used()) {
    4399          56 :     compiler::TNode<Context> tmp336;
    4400          56 :     compiler::TNode<JSReceiver> tmp337;
    4401          56 :     compiler::TNode<String> tmp338;
    4402          56 :     compiler::TNode<Number> tmp339;
    4403          56 :     compiler::TNode<Object> tmp340;
    4404          56 :     compiler::TNode<Object> tmp341;
    4405          56 :     compiler::TNode<BuiltinPtr> tmp342;
    4406          56 :     compiler::TNode<Map> tmp343;
    4407          56 :     compiler::TNode<UintPtrT> tmp344;
    4408          56 :     compiler::TNode<IntPtrT> tmp345;
    4409          56 :     compiler::TNode<IntPtrT> tmp346;
    4410          56 :     compiler::TNode<BuiltinPtr> tmp347;
    4411          56 :     compiler::TNode<FixedArray> tmp348;
    4412          56 :     compiler::TNode<IntPtrT> tmp349;
    4413          56 :     compiler::TNode<IntPtrT> tmp350;
    4414          56 :     compiler::TNode<BoolT> tmp351;
    4415          56 :     compiler::TNode<UintPtrT> tmp352;
    4416          56 :     compiler::TNode<Object> tmp353;
    4417          56 :     compiler::TNode<String> tmp354;
    4418          56 :     compiler::TNode<Object> tmp355;
    4419          56 :     ca_.Bind(&block17, &tmp336, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355);
    4420          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    4421          56 :     compiler::TNode<Number> tmp356;
    4422          56 :     USE(tmp356);
    4423         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    4424          56 :     tmp356 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp355)}, &label0);
    4425          56 :     ca_.Goto(&block24, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, ca_.UncheckedCast<Object>(tmp355), tmp356);
    4426          56 :     if (label0.is_used()) {
    4427          56 :       ca_.Bind(&label0);
    4428          56 :       ca_.Goto(&block25, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, ca_.UncheckedCast<Object>(tmp355));
    4429             :     }
    4430             :   }
    4431             : 
    4432         112 :   if (block25.is_used()) {
    4433          56 :     compiler::TNode<Context> tmp357;
    4434          56 :     compiler::TNode<JSReceiver> tmp358;
    4435          56 :     compiler::TNode<String> tmp359;
    4436          56 :     compiler::TNode<Number> tmp360;
    4437          56 :     compiler::TNode<Object> tmp361;
    4438          56 :     compiler::TNode<Object> tmp362;
    4439          56 :     compiler::TNode<BuiltinPtr> tmp363;
    4440          56 :     compiler::TNode<Map> tmp364;
    4441          56 :     compiler::TNode<UintPtrT> tmp365;
    4442          56 :     compiler::TNode<IntPtrT> tmp366;
    4443          56 :     compiler::TNode<IntPtrT> tmp367;
    4444          56 :     compiler::TNode<BuiltinPtr> tmp368;
    4445          56 :     compiler::TNode<FixedArray> tmp369;
    4446          56 :     compiler::TNode<IntPtrT> tmp370;
    4447          56 :     compiler::TNode<IntPtrT> tmp371;
    4448          56 :     compiler::TNode<BoolT> tmp372;
    4449          56 :     compiler::TNode<UintPtrT> tmp373;
    4450          56 :     compiler::TNode<Object> tmp374;
    4451          56 :     compiler::TNode<String> tmp375;
    4452          56 :     compiler::TNode<Object> tmp376;
    4453          56 :     compiler::TNode<Object> tmp377;
    4454          56 :     ca_.Bind(&block25, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377);
    4455          56 :     ca_.Goto(&block23, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376);
    4456             :   }
    4457             : 
    4458         112 :   if (block24.is_used()) {
    4459          56 :     compiler::TNode<Context> tmp378;
    4460          56 :     compiler::TNode<JSReceiver> tmp379;
    4461          56 :     compiler::TNode<String> tmp380;
    4462          56 :     compiler::TNode<Number> tmp381;
    4463          56 :     compiler::TNode<Object> tmp382;
    4464          56 :     compiler::TNode<Object> tmp383;
    4465          56 :     compiler::TNode<BuiltinPtr> tmp384;
    4466          56 :     compiler::TNode<Map> tmp385;
    4467          56 :     compiler::TNode<UintPtrT> tmp386;
    4468          56 :     compiler::TNode<IntPtrT> tmp387;
    4469          56 :     compiler::TNode<IntPtrT> tmp388;
    4470          56 :     compiler::TNode<BuiltinPtr> tmp389;
    4471          56 :     compiler::TNode<FixedArray> tmp390;
    4472          56 :     compiler::TNode<IntPtrT> tmp391;
    4473          56 :     compiler::TNode<IntPtrT> tmp392;
    4474          56 :     compiler::TNode<BoolT> tmp393;
    4475          56 :     compiler::TNode<UintPtrT> tmp394;
    4476          56 :     compiler::TNode<Object> tmp395;
    4477          56 :     compiler::TNode<String> tmp396;
    4478          56 :     compiler::TNode<Object> tmp397;
    4479          56 :     compiler::TNode<Object> tmp398;
    4480          56 :     compiler::TNode<Number> tmp399;
    4481          56 :     ca_.Bind(&block24, &tmp378, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397, &tmp398, &tmp399);
    4482          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
    4483          56 :     compiler::TNode<String> tmp400;
    4484          56 :     USE(tmp400);
    4485          56 :     tmp400 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp399}));
    4486          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    4487          56 :     ca_.Goto(&block22, tmp378, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp400, tmp397);
    4488             :   }
    4489             : 
    4490         112 :   if (block23.is_used()) {
    4491          56 :     compiler::TNode<Context> tmp401;
    4492          56 :     compiler::TNode<JSReceiver> tmp402;
    4493          56 :     compiler::TNode<String> tmp403;
    4494          56 :     compiler::TNode<Number> tmp404;
    4495          56 :     compiler::TNode<Object> tmp405;
    4496          56 :     compiler::TNode<Object> tmp406;
    4497          56 :     compiler::TNode<BuiltinPtr> tmp407;
    4498          56 :     compiler::TNode<Map> tmp408;
    4499          56 :     compiler::TNode<UintPtrT> tmp409;
    4500          56 :     compiler::TNode<IntPtrT> tmp410;
    4501          56 :     compiler::TNode<IntPtrT> tmp411;
    4502          56 :     compiler::TNode<BuiltinPtr> tmp412;
    4503          56 :     compiler::TNode<FixedArray> tmp413;
    4504          56 :     compiler::TNode<IntPtrT> tmp414;
    4505          56 :     compiler::TNode<IntPtrT> tmp415;
    4506          56 :     compiler::TNode<BoolT> tmp416;
    4507          56 :     compiler::TNode<UintPtrT> tmp417;
    4508          56 :     compiler::TNode<Object> tmp418;
    4509          56 :     compiler::TNode<String> tmp419;
    4510          56 :     compiler::TNode<Object> tmp420;
    4511          56 :     ca_.Bind(&block23, &tmp401, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420);
    4512          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 307);
    4513          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 308);
    4514          56 :     compiler::TNode<BoolT> tmp421;
    4515          56 :     USE(tmp421);
    4516          56 :     tmp421 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp420)}));
    4517          56 :     ca_.Branch(tmp421, &block26, &block27, tmp401, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, ca_.UncheckedCast<HeapObject>(tmp420));
    4518             :   }
    4519             : 
    4520         112 :   if (block26.is_used()) {
    4521          56 :     compiler::TNode<Context> tmp422;
    4522          56 :     compiler::TNode<JSReceiver> tmp423;
    4523          56 :     compiler::TNode<String> tmp424;
    4524          56 :     compiler::TNode<Number> tmp425;
    4525          56 :     compiler::TNode<Object> tmp426;
    4526          56 :     compiler::TNode<Object> tmp427;
    4527          56 :     compiler::TNode<BuiltinPtr> tmp428;
    4528          56 :     compiler::TNode<Map> tmp429;
    4529          56 :     compiler::TNode<UintPtrT> tmp430;
    4530          56 :     compiler::TNode<IntPtrT> tmp431;
    4531          56 :     compiler::TNode<IntPtrT> tmp432;
    4532          56 :     compiler::TNode<BuiltinPtr> tmp433;
    4533          56 :     compiler::TNode<FixedArray> tmp434;
    4534          56 :     compiler::TNode<IntPtrT> tmp435;
    4535          56 :     compiler::TNode<IntPtrT> tmp436;
    4536          56 :     compiler::TNode<BoolT> tmp437;
    4537          56 :     compiler::TNode<UintPtrT> tmp438;
    4538          56 :     compiler::TNode<Object> tmp439;
    4539          56 :     compiler::TNode<String> tmp440;
    4540          56 :     compiler::TNode<Object> tmp441;
    4541          56 :     compiler::TNode<HeapObject> tmp442;
    4542          56 :     ca_.Bind(&block26, &tmp422, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442);
    4543          56 :     ca_.Goto(&block4, tmp422, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438);
    4544             :   }
    4545             : 
    4546         112 :   if (block27.is_used()) {
    4547          56 :     compiler::TNode<Context> tmp443;
    4548          56 :     compiler::TNode<JSReceiver> tmp444;
    4549          56 :     compiler::TNode<String> tmp445;
    4550          56 :     compiler::TNode<Number> tmp446;
    4551          56 :     compiler::TNode<Object> tmp447;
    4552          56 :     compiler::TNode<Object> tmp448;
    4553          56 :     compiler::TNode<BuiltinPtr> tmp449;
    4554          56 :     compiler::TNode<Map> tmp450;
    4555          56 :     compiler::TNode<UintPtrT> tmp451;
    4556          56 :     compiler::TNode<IntPtrT> tmp452;
    4557          56 :     compiler::TNode<IntPtrT> tmp453;
    4558          56 :     compiler::TNode<BuiltinPtr> tmp454;
    4559          56 :     compiler::TNode<FixedArray> tmp455;
    4560          56 :     compiler::TNode<IntPtrT> tmp456;
    4561          56 :     compiler::TNode<IntPtrT> tmp457;
    4562          56 :     compiler::TNode<BoolT> tmp458;
    4563          56 :     compiler::TNode<UintPtrT> tmp459;
    4564          56 :     compiler::TNode<Object> tmp460;
    4565          56 :     compiler::TNode<String> tmp461;
    4566          56 :     compiler::TNode<Object> tmp462;
    4567          56 :     compiler::TNode<HeapObject> tmp463;
    4568          56 :     ca_.Bind(&block27, &tmp443, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463);
    4569          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 309);
    4570          56 :     compiler::TNode<String> tmp464;
    4571          56 :     tmp464 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp443, tmp463));
    4572          56 :     USE(tmp464);
    4573          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    4574          56 :     ca_.Goto(&block22, tmp443, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp464, tmp462);
    4575             :   }
    4576             : 
    4577         112 :   if (block22.is_used()) {
    4578          56 :     compiler::TNode<Context> tmp465;
    4579          56 :     compiler::TNode<JSReceiver> tmp466;
    4580          56 :     compiler::TNode<String> tmp467;
    4581          56 :     compiler::TNode<Number> tmp468;
    4582          56 :     compiler::TNode<Object> tmp469;
    4583          56 :     compiler::TNode<Object> tmp470;
    4584          56 :     compiler::TNode<BuiltinPtr> tmp471;
    4585          56 :     compiler::TNode<Map> tmp472;
    4586          56 :     compiler::TNode<UintPtrT> tmp473;
    4587          56 :     compiler::TNode<IntPtrT> tmp474;
    4588          56 :     compiler::TNode<IntPtrT> tmp475;
    4589          56 :     compiler::TNode<BuiltinPtr> tmp476;
    4590          56 :     compiler::TNode<FixedArray> tmp477;
    4591          56 :     compiler::TNode<IntPtrT> tmp478;
    4592          56 :     compiler::TNode<IntPtrT> tmp479;
    4593          56 :     compiler::TNode<BoolT> tmp480;
    4594          56 :     compiler::TNode<UintPtrT> tmp481;
    4595          56 :     compiler::TNode<Object> tmp482;
    4596          56 :     compiler::TNode<String> tmp483;
    4597          56 :     compiler::TNode<Object> tmp484;
    4598          56 :     ca_.Bind(&block22, &tmp465, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483, &tmp484);
    4599          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    4600          56 :     ca_.Goto(&block16, tmp465, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484);
    4601             :   }
    4602             : 
    4603         112 :   if (block16.is_used()) {
    4604          56 :     compiler::TNode<Context> tmp485;
    4605          56 :     compiler::TNode<JSReceiver> tmp486;
    4606          56 :     compiler::TNode<String> tmp487;
    4607          56 :     compiler::TNode<Number> tmp488;
    4608          56 :     compiler::TNode<Object> tmp489;
    4609          56 :     compiler::TNode<Object> tmp490;
    4610          56 :     compiler::TNode<BuiltinPtr> tmp491;
    4611          56 :     compiler::TNode<Map> tmp492;
    4612          56 :     compiler::TNode<UintPtrT> tmp493;
    4613          56 :     compiler::TNode<IntPtrT> tmp494;
    4614          56 :     compiler::TNode<IntPtrT> tmp495;
    4615          56 :     compiler::TNode<BuiltinPtr> tmp496;
    4616          56 :     compiler::TNode<FixedArray> tmp497;
    4617          56 :     compiler::TNode<IntPtrT> tmp498;
    4618          56 :     compiler::TNode<IntPtrT> tmp499;
    4619          56 :     compiler::TNode<BoolT> tmp500;
    4620          56 :     compiler::TNode<UintPtrT> tmp501;
    4621          56 :     compiler::TNode<Object> tmp502;
    4622          56 :     compiler::TNode<String> tmp503;
    4623          56 :     compiler::TNode<Object> tmp504;
    4624          56 :     ca_.Bind(&block16, &tmp485, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504);
    4625          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    4626          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    4627          56 :     ca_.Goto(&block13, tmp485, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503);
    4628             :   }
    4629             : 
    4630         112 :   if (block13.is_used()) {
    4631         112 :     compiler::TNode<Context> tmp505;
    4632         112 :     compiler::TNode<JSReceiver> tmp506;
    4633         112 :     compiler::TNode<String> tmp507;
    4634         112 :     compiler::TNode<Number> tmp508;
    4635         112 :     compiler::TNode<Object> tmp509;
    4636         112 :     compiler::TNode<Object> tmp510;
    4637         112 :     compiler::TNode<BuiltinPtr> tmp511;
    4638         112 :     compiler::TNode<Map> tmp512;
    4639         112 :     compiler::TNode<UintPtrT> tmp513;
    4640         112 :     compiler::TNode<IntPtrT> tmp514;
    4641         112 :     compiler::TNode<IntPtrT> tmp515;
    4642         112 :     compiler::TNode<BuiltinPtr> tmp516;
    4643         112 :     compiler::TNode<FixedArray> tmp517;
    4644         112 :     compiler::TNode<IntPtrT> tmp518;
    4645         112 :     compiler::TNode<IntPtrT> tmp519;
    4646         112 :     compiler::TNode<BoolT> tmp520;
    4647         112 :     compiler::TNode<UintPtrT> tmp521;
    4648         112 :     compiler::TNode<Object> tmp522;
    4649         112 :     compiler::TNode<String> tmp523;
    4650         112 :     ca_.Bind(&block13, &tmp505, &tmp506, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523);
    4651         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
    4652         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
    4653         112 :     compiler::TNode<IntPtrT> tmp524;
    4654         112 :     USE(tmp524);
    4655         112 :     tmp524 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    4656         112 :     compiler::TNode<BoolT> tmp525;
    4657         112 :     USE(tmp525);
    4658         112 :     tmp525 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp518}, compiler::TNode<IntPtrT>{tmp524}));
    4659         112 :     compiler::TNode<IntPtrT> tmp526;
    4660         112 :     USE(tmp526);
    4661         112 :     tmp526 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    4662         112 :     compiler::TNode<BoolT> tmp527;
    4663         112 :     USE(tmp527);
    4664         112 :     tmp527 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp515}, compiler::TNode<IntPtrT>{tmp526}));
    4665         112 :     compiler::TNode<BoolT> tmp528;
    4666         112 :     USE(tmp528);
    4667         112 :     tmp528 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp525}, compiler::TNode<BoolT>{tmp527}));
    4668         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
    4669         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
    4670         112 :     compiler::TNode<IntPtrT> tmp529;
    4671         112 :     USE(tmp529);
    4672         112 :     tmp529 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    4673         112 :     compiler::TNode<BoolT> tmp530;
    4674         112 :     USE(tmp530);
    4675         112 :     tmp530 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp515}, compiler::TNode<IntPtrT>{tmp529}));
    4676         112 :     ca_.Branch(tmp530, &block30, &block32, tmp505, tmp506, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp522, tmp523, tmp523, tmp515, tmp514, tmp505, tmp523, tmp515, tmp514, tmp528, tmp515, tmp514, tmp528, tmp505, tmp515, tmp514, tmp528);
    4677             :   }
    4678             : 
    4679         112 :   if (block32.is_used()) {
    4680         112 :     compiler::TNode<Context> tmp531;
    4681         112 :     compiler::TNode<JSReceiver> tmp532;
    4682         112 :     compiler::TNode<String> tmp533;
    4683         112 :     compiler::TNode<Number> tmp534;
    4684         112 :     compiler::TNode<Object> tmp535;
    4685         112 :     compiler::TNode<Object> tmp536;
    4686         112 :     compiler::TNode<BuiltinPtr> tmp537;
    4687         112 :     compiler::TNode<Map> tmp538;
    4688         112 :     compiler::TNode<UintPtrT> tmp539;
    4689         112 :     compiler::TNode<IntPtrT> tmp540;
    4690         112 :     compiler::TNode<IntPtrT> tmp541;
    4691         112 :     compiler::TNode<BuiltinPtr> tmp542;
    4692         112 :     compiler::TNode<FixedArray> tmp543;
    4693         112 :     compiler::TNode<IntPtrT> tmp544;
    4694         112 :     compiler::TNode<IntPtrT> tmp545;
    4695         112 :     compiler::TNode<BoolT> tmp546;
    4696         112 :     compiler::TNode<UintPtrT> tmp547;
    4697         112 :     compiler::TNode<Object> tmp548;
    4698         112 :     compiler::TNode<String> tmp549;
    4699         112 :     compiler::TNode<String> tmp550;
    4700         112 :     compiler::TNode<IntPtrT> tmp551;
    4701         112 :     compiler::TNode<IntPtrT> tmp552;
    4702         112 :     compiler::TNode<Context> tmp553;
    4703         112 :     compiler::TNode<String> tmp554;
    4704         112 :     compiler::TNode<IntPtrT> tmp555;
    4705         112 :     compiler::TNode<IntPtrT> tmp556;
    4706         112 :     compiler::TNode<BoolT> tmp557;
    4707         112 :     compiler::TNode<IntPtrT> tmp558;
    4708         112 :     compiler::TNode<IntPtrT> tmp559;
    4709         112 :     compiler::TNode<BoolT> tmp560;
    4710         112 :     compiler::TNode<Context> tmp561;
    4711         112 :     compiler::TNode<IntPtrT> tmp562;
    4712         112 :     compiler::TNode<IntPtrT> tmp563;
    4713         112 :     compiler::TNode<BoolT> tmp564;
    4714         112 :     ca_.Bind(&block32, &tmp531, &tmp532, &tmp533, &tmp534, &tmp535, &tmp536, &tmp537, &tmp538, &tmp539, &tmp540, &tmp541, &tmp542, &tmp543, &tmp544, &tmp545, &tmp546, &tmp547, &tmp548, &tmp549, &tmp550, &tmp551, &tmp552, &tmp553, &tmp554, &tmp555, &tmp556, &tmp557, &tmp558, &tmp559, &tmp560, &tmp561, &tmp562, &tmp563, &tmp564);
    4715         112 :     compiler::TNode<IntPtrT> tmp565;
    4716         112 :     USE(tmp565);
    4717         112 :     tmp565 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    4718         112 :     compiler::TNode<BoolT> tmp566;
    4719         112 :     USE(tmp566);
    4720         112 :     tmp566 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp563}, compiler::TNode<IntPtrT>{tmp565}));
    4721         112 :     ca_.Branch(tmp566, &block30, &block31, tmp531, tmp532, tmp533, tmp534, tmp535, tmp536, tmp537, tmp538, tmp539, tmp540, tmp541, tmp542, tmp543, tmp544, tmp545, tmp546, tmp547, tmp548, tmp549, tmp550, tmp551, tmp552, tmp553, tmp554, tmp555, tmp556, tmp557, tmp558, tmp559, tmp560, tmp561, tmp562, tmp563, tmp564);
    4722             :   }
    4723             : 
    4724         112 :   if (block30.is_used()) {
    4725         112 :     compiler::TNode<Context> tmp567;
    4726         112 :     compiler::TNode<JSReceiver> tmp568;
    4727         112 :     compiler::TNode<String> tmp569;
    4728         112 :     compiler::TNode<Number> tmp570;
    4729         112 :     compiler::TNode<Object> tmp571;
    4730         112 :     compiler::TNode<Object> tmp572;
    4731         112 :     compiler::TNode<BuiltinPtr> tmp573;
    4732         112 :     compiler::TNode<Map> tmp574;
    4733         112 :     compiler::TNode<UintPtrT> tmp575;
    4734         112 :     compiler::TNode<IntPtrT> tmp576;
    4735         112 :     compiler::TNode<IntPtrT> tmp577;
    4736         112 :     compiler::TNode<BuiltinPtr> tmp578;
    4737         112 :     compiler::TNode<FixedArray> tmp579;
    4738         112 :     compiler::TNode<IntPtrT> tmp580;
    4739         112 :     compiler::TNode<IntPtrT> tmp581;
    4740         112 :     compiler::TNode<BoolT> tmp582;
    4741         112 :     compiler::TNode<UintPtrT> tmp583;
    4742         112 :     compiler::TNode<Object> tmp584;
    4743         112 :     compiler::TNode<String> tmp585;
    4744         112 :     compiler::TNode<String> tmp586;
    4745         112 :     compiler::TNode<IntPtrT> tmp587;
    4746         112 :     compiler::TNode<IntPtrT> tmp588;
    4747         112 :     compiler::TNode<Context> tmp589;
    4748         112 :     compiler::TNode<String> tmp590;
    4749         112 :     compiler::TNode<IntPtrT> tmp591;
    4750         112 :     compiler::TNode<IntPtrT> tmp592;
    4751         112 :     compiler::TNode<BoolT> tmp593;
    4752         112 :     compiler::TNode<IntPtrT> tmp594;
    4753         112 :     compiler::TNode<IntPtrT> tmp595;
    4754         112 :     compiler::TNode<BoolT> tmp596;
    4755         112 :     compiler::TNode<Context> tmp597;
    4756         112 :     compiler::TNode<IntPtrT> tmp598;
    4757         112 :     compiler::TNode<IntPtrT> tmp599;
    4758         112 :     compiler::TNode<BoolT> tmp600;
    4759         112 :     ca_.Bind(&block30, &tmp567, &tmp568, &tmp569, &tmp570, &tmp571, &tmp572, &tmp573, &tmp574, &tmp575, &tmp576, &tmp577, &tmp578, &tmp579, &tmp580, &tmp581, &tmp582, &tmp583, &tmp584, &tmp585, &tmp586, &tmp587, &tmp588, &tmp589, &tmp590, &tmp591, &tmp592, &tmp593, &tmp594, &tmp595, &tmp596, &tmp597, &tmp598, &tmp599, &tmp600);
    4760         112 :     ca_.Goto(&block29, tmp567, tmp568, tmp569, tmp570, tmp571, tmp572, tmp573, tmp574, tmp575, tmp576, tmp577, tmp578, tmp579, tmp580, tmp581, tmp582, tmp583, tmp584, tmp585, tmp586, tmp587, tmp588, tmp589, tmp590, tmp591, tmp592, tmp593, tmp594, tmp595, tmp596, tmp597, tmp598, tmp599, tmp600);
    4761             :   }
    4762             : 
    4763         112 :   if (block31.is_used()) {
    4764         112 :     compiler::TNode<Context> tmp601;
    4765         112 :     compiler::TNode<JSReceiver> tmp602;
    4766         112 :     compiler::TNode<String> tmp603;
    4767         112 :     compiler::TNode<Number> tmp604;
    4768         112 :     compiler::TNode<Object> tmp605;
    4769         112 :     compiler::TNode<Object> tmp606;
    4770         112 :     compiler::TNode<BuiltinPtr> tmp607;
    4771         112 :     compiler::TNode<Map> tmp608;
    4772         112 :     compiler::TNode<UintPtrT> tmp609;
    4773         112 :     compiler::TNode<IntPtrT> tmp610;
    4774         112 :     compiler::TNode<IntPtrT> tmp611;
    4775         112 :     compiler::TNode<BuiltinPtr> tmp612;
    4776         112 :     compiler::TNode<FixedArray> tmp613;
    4777         112 :     compiler::TNode<IntPtrT> tmp614;
    4778         112 :     compiler::TNode<IntPtrT> tmp615;
    4779         112 :     compiler::TNode<BoolT> tmp616;
    4780         112 :     compiler::TNode<UintPtrT> tmp617;
    4781         112 :     compiler::TNode<Object> tmp618;
    4782         112 :     compiler::TNode<String> tmp619;
    4783         112 :     compiler::TNode<String> tmp620;
    4784         112 :     compiler::TNode<IntPtrT> tmp621;
    4785         112 :     compiler::TNode<IntPtrT> tmp622;
    4786         112 :     compiler::TNode<Context> tmp623;
    4787         112 :     compiler::TNode<String> tmp624;
    4788         112 :     compiler::TNode<IntPtrT> tmp625;
    4789         112 :     compiler::TNode<IntPtrT> tmp626;
    4790         112 :     compiler::TNode<BoolT> tmp627;
    4791         112 :     compiler::TNode<IntPtrT> tmp628;
    4792         112 :     compiler::TNode<IntPtrT> tmp629;
    4793         112 :     compiler::TNode<BoolT> tmp630;
    4794         112 :     compiler::TNode<Context> tmp631;
    4795         112 :     compiler::TNode<IntPtrT> tmp632;
    4796         112 :     compiler::TNode<IntPtrT> tmp633;
    4797         112 :     compiler::TNode<BoolT> tmp634;
    4798         112 :     ca_.Bind(&block31, &tmp601, &tmp602, &tmp603, &tmp604, &tmp605, &tmp606, &tmp607, &tmp608, &tmp609, &tmp610, &tmp611, &tmp612, &tmp613, &tmp614, &tmp615, &tmp616, &tmp617, &tmp618, &tmp619, &tmp620, &tmp621, &tmp622, &tmp623, &tmp624, &tmp625, &tmp626, &tmp627, &tmp628, &tmp629, &tmp630, &tmp631, &tmp632, &tmp633, &tmp634);
    4799         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    4800         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    4801         112 :     compiler::TNode<IntPtrT> tmp635;
    4802         112 :     USE(tmp635);
    4803         112 :     tmp635 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp633}, compiler::TNode<IntPtrT>{tmp632}));
    4804         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
    4805         112 :     compiler::TNode<IntPtrT> tmp636;
    4806         112 :     USE(tmp636);
    4807         112 :     tmp636 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp635}, compiler::TNode<IntPtrT>{tmp633}));
    4808         112 :     compiler::TNode<BoolT> tmp637;
    4809         112 :     USE(tmp637);
    4810         112 :     tmp637 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp636}, compiler::TNode<IntPtrT>{tmp632}));
    4811         112 :     ca_.Branch(tmp637, &block33, &block34, tmp601, tmp602, tmp603, tmp604, tmp605, tmp606, tmp607, tmp608, tmp609, tmp610, tmp611, tmp612, tmp613, tmp614, tmp615, tmp616, tmp617, tmp618, tmp619, tmp620, tmp621, tmp622, tmp623, tmp624, tmp625, tmp626, tmp627, tmp628, tmp629, tmp630, tmp631, tmp632, tmp633, tmp634, tmp632, tmp635);
    4812             :   }
    4813             : 
    4814         112 :   if (block33.is_used()) {
    4815         112 :     compiler::TNode<Context> tmp638;
    4816         112 :     compiler::TNode<JSReceiver> tmp639;
    4817         112 :     compiler::TNode<String> tmp640;
    4818         112 :     compiler::TNode<Number> tmp641;
    4819         112 :     compiler::TNode<Object> tmp642;
    4820         112 :     compiler::TNode<Object> tmp643;
    4821         112 :     compiler::TNode<BuiltinPtr> tmp644;
    4822         112 :     compiler::TNode<Map> tmp645;
    4823         112 :     compiler::TNode<UintPtrT> tmp646;
    4824         112 :     compiler::TNode<IntPtrT> tmp647;
    4825         112 :     compiler::TNode<IntPtrT> tmp648;
    4826         112 :     compiler::TNode<BuiltinPtr> tmp649;
    4827         112 :     compiler::TNode<FixedArray> tmp650;
    4828         112 :     compiler::TNode<IntPtrT> tmp651;
    4829         112 :     compiler::TNode<IntPtrT> tmp652;
    4830         112 :     compiler::TNode<BoolT> tmp653;
    4831         112 :     compiler::TNode<UintPtrT> tmp654;
    4832         112 :     compiler::TNode<Object> tmp655;
    4833         112 :     compiler::TNode<String> tmp656;
    4834         112 :     compiler::TNode<String> tmp657;
    4835         112 :     compiler::TNode<IntPtrT> tmp658;
    4836         112 :     compiler::TNode<IntPtrT> tmp659;
    4837         112 :     compiler::TNode<Context> tmp660;
    4838         112 :     compiler::TNode<String> tmp661;
    4839         112 :     compiler::TNode<IntPtrT> tmp662;
    4840         112 :     compiler::TNode<IntPtrT> tmp663;
    4841         112 :     compiler::TNode<BoolT> tmp664;
    4842         112 :     compiler::TNode<IntPtrT> tmp665;
    4843         112 :     compiler::TNode<IntPtrT> tmp666;
    4844         112 :     compiler::TNode<BoolT> tmp667;
    4845         112 :     compiler::TNode<Context> tmp668;
    4846         112 :     compiler::TNode<IntPtrT> tmp669;
    4847         112 :     compiler::TNode<IntPtrT> tmp670;
    4848         112 :     compiler::TNode<BoolT> tmp671;
    4849         112 :     compiler::TNode<IntPtrT> tmp672;
    4850         112 :     compiler::TNode<IntPtrT> tmp673;
    4851         112 :     ca_.Bind(&block33, &tmp638, &tmp639, &tmp640, &tmp641, &tmp642, &tmp643, &tmp644, &tmp645, &tmp646, &tmp647, &tmp648, &tmp649, &tmp650, &tmp651, &tmp652, &tmp653, &tmp654, &tmp655, &tmp656, &tmp657, &tmp658, &tmp659, &tmp660, &tmp661, &tmp662, &tmp663, &tmp664, &tmp665, &tmp666, &tmp667, &tmp668, &tmp669, &tmp670, &tmp671, &tmp672, &tmp673);
    4852         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
    4853         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp668);
    4854         112 :     CodeStubAssembler(state_).Unreachable();
    4855             :   }
    4856             : 
    4857         112 :   if (block34.is_used()) {
    4858         112 :     compiler::TNode<Context> tmp675;
    4859         112 :     compiler::TNode<JSReceiver> tmp676;
    4860         112 :     compiler::TNode<String> tmp677;
    4861         112 :     compiler::TNode<Number> tmp678;
    4862         112 :     compiler::TNode<Object> tmp679;
    4863         112 :     compiler::TNode<Object> tmp680;
    4864         112 :     compiler::TNode<BuiltinPtr> tmp681;
    4865         112 :     compiler::TNode<Map> tmp682;
    4866         112 :     compiler::TNode<UintPtrT> tmp683;
    4867         112 :     compiler::TNode<IntPtrT> tmp684;
    4868         112 :     compiler::TNode<IntPtrT> tmp685;
    4869         112 :     compiler::TNode<BuiltinPtr> tmp686;
    4870         112 :     compiler::TNode<FixedArray> tmp687;
    4871         112 :     compiler::TNode<IntPtrT> tmp688;
    4872         112 :     compiler::TNode<IntPtrT> tmp689;
    4873         112 :     compiler::TNode<BoolT> tmp690;
    4874         112 :     compiler::TNode<UintPtrT> tmp691;
    4875         112 :     compiler::TNode<Object> tmp692;
    4876         112 :     compiler::TNode<String> tmp693;
    4877         112 :     compiler::TNode<String> tmp694;
    4878         112 :     compiler::TNode<IntPtrT> tmp695;
    4879         112 :     compiler::TNode<IntPtrT> tmp696;
    4880         112 :     compiler::TNode<Context> tmp697;
    4881         112 :     compiler::TNode<String> tmp698;
    4882         112 :     compiler::TNode<IntPtrT> tmp699;
    4883         112 :     compiler::TNode<IntPtrT> tmp700;
    4884         112 :     compiler::TNode<BoolT> tmp701;
    4885         112 :     compiler::TNode<IntPtrT> tmp702;
    4886         112 :     compiler::TNode<IntPtrT> tmp703;
    4887         112 :     compiler::TNode<BoolT> tmp704;
    4888         112 :     compiler::TNode<Context> tmp705;
    4889         112 :     compiler::TNode<IntPtrT> tmp706;
    4890         112 :     compiler::TNode<IntPtrT> tmp707;
    4891         112 :     compiler::TNode<BoolT> tmp708;
    4892         112 :     compiler::TNode<IntPtrT> tmp709;
    4893         112 :     compiler::TNode<IntPtrT> tmp710;
    4894         112 :     ca_.Bind(&block34, &tmp675, &tmp676, &tmp677, &tmp678, &tmp679, &tmp680, &tmp681, &tmp682, &tmp683, &tmp684, &tmp685, &tmp686, &tmp687, &tmp688, &tmp689, &tmp690, &tmp691, &tmp692, &tmp693, &tmp694, &tmp695, &tmp696, &tmp697, &tmp698, &tmp699, &tmp700, &tmp701, &tmp702, &tmp703, &tmp704, &tmp705, &tmp706, &tmp707, &tmp708, &tmp709, &tmp710);
    4895         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    4896         112 :     compiler::TNode<IntPtrT> tmp711;
    4897         112 :     USE(tmp711);
    4898         112 :     tmp711 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp705}, compiler::TNode<IntPtrT>{tmp689}, compiler::TNode<IntPtrT>{tmp710}));
    4899         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    4900         112 :     ca_.Branch(tmp708, &block35, &block36, tmp675, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp686, tmp687, tmp688, tmp711, tmp690, tmp691, tmp692, tmp693, tmp694, tmp695, tmp696, tmp697, tmp698, tmp699, tmp700, tmp701, tmp702, tmp703, tmp704, tmp705, tmp706, tmp707, tmp708, tmp709, tmp710);
    4901             :   }
    4902             : 
    4903         112 :   if (block35.is_used()) {
    4904         112 :     compiler::TNode<Context> tmp712;
    4905         112 :     compiler::TNode<JSReceiver> tmp713;
    4906         112 :     compiler::TNode<String> tmp714;
    4907         112 :     compiler::TNode<Number> tmp715;
    4908         112 :     compiler::TNode<Object> tmp716;
    4909         112 :     compiler::TNode<Object> tmp717;
    4910         112 :     compiler::TNode<BuiltinPtr> tmp718;
    4911         112 :     compiler::TNode<Map> tmp719;
    4912         112 :     compiler::TNode<UintPtrT> tmp720;
    4913         112 :     compiler::TNode<IntPtrT> tmp721;
    4914         112 :     compiler::TNode<IntPtrT> tmp722;
    4915         112 :     compiler::TNode<BuiltinPtr> tmp723;
    4916         112 :     compiler::TNode<FixedArray> tmp724;
    4917         112 :     compiler::TNode<IntPtrT> tmp725;
    4918         112 :     compiler::TNode<IntPtrT> tmp726;
    4919         112 :     compiler::TNode<BoolT> tmp727;
    4920         112 :     compiler::TNode<UintPtrT> tmp728;
    4921         112 :     compiler::TNode<Object> tmp729;
    4922         112 :     compiler::TNode<String> tmp730;
    4923         112 :     compiler::TNode<String> tmp731;
    4924         112 :     compiler::TNode<IntPtrT> tmp732;
    4925         112 :     compiler::TNode<IntPtrT> tmp733;
    4926         112 :     compiler::TNode<Context> tmp734;
    4927         112 :     compiler::TNode<String> tmp735;
    4928         112 :     compiler::TNode<IntPtrT> tmp736;
    4929         112 :     compiler::TNode<IntPtrT> tmp737;
    4930         112 :     compiler::TNode<BoolT> tmp738;
    4931         112 :     compiler::TNode<IntPtrT> tmp739;
    4932         112 :     compiler::TNode<IntPtrT> tmp740;
    4933         112 :     compiler::TNode<BoolT> tmp741;
    4934         112 :     compiler::TNode<Context> tmp742;
    4935         112 :     compiler::TNode<IntPtrT> tmp743;
    4936         112 :     compiler::TNode<IntPtrT> tmp744;
    4937         112 :     compiler::TNode<BoolT> tmp745;
    4938         112 :     compiler::TNode<IntPtrT> tmp746;
    4939         112 :     compiler::TNode<IntPtrT> tmp747;
    4940         112 :     ca_.Bind(&block35, &tmp712, &tmp713, &tmp714, &tmp715, &tmp716, &tmp717, &tmp718, &tmp719, &tmp720, &tmp721, &tmp722, &tmp723, &tmp724, &tmp725, &tmp726, &tmp727, &tmp728, &tmp729, &tmp730, &tmp731, &tmp732, &tmp733, &tmp734, &tmp735, &tmp736, &tmp737, &tmp738, &tmp739, &tmp740, &tmp741, &tmp742, &tmp743, &tmp744, &tmp745, &tmp746, &tmp747);
    4941         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    4942         112 :     compiler::TNode<IntPtrT> tmp748;
    4943         112 :     USE(tmp748);
    4944         112 :     tmp748 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    4945         112 :     compiler::TNode<IntPtrT> tmp749;
    4946         112 :     USE(tmp749);
    4947         112 :     tmp749 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp725}, compiler::TNode<IntPtrT>{tmp748}));
    4948         112 :     compiler::TNode<Smi> tmp750;
    4949         112 :     USE(tmp750);
    4950         112 :     tmp750 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp746}));
    4951         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    4952         112 :     compiler::TNode<FixedArray> tmp751;
    4953         112 :     USE(tmp751);
    4954         112 :     tmp751 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp724}, compiler::TNode<IntPtrT>{tmp725}, compiler::TNode<Smi>{tmp750}));
    4955         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    4956         112 :     ca_.Goto(&block36, tmp712, tmp713, tmp714, tmp715, tmp716, tmp717, tmp718, tmp719, tmp720, tmp721, tmp722, tmp723, tmp751, tmp749, tmp726, tmp727, tmp728, tmp729, tmp730, tmp731, tmp732, tmp733, tmp734, tmp735, tmp736, tmp737, tmp738, tmp739, tmp740, tmp741, tmp742, tmp743, tmp744, tmp745, tmp746, tmp747);
    4957             :   }
    4958             : 
    4959         112 :   if (block36.is_used()) {
    4960         112 :     compiler::TNode<Context> tmp752;
    4961         112 :     compiler::TNode<JSReceiver> tmp753;
    4962         112 :     compiler::TNode<String> tmp754;
    4963         112 :     compiler::TNode<Number> tmp755;
    4964         112 :     compiler::TNode<Object> tmp756;
    4965         112 :     compiler::TNode<Object> tmp757;
    4966         112 :     compiler::TNode<BuiltinPtr> tmp758;
    4967         112 :     compiler::TNode<Map> tmp759;
    4968         112 :     compiler::TNode<UintPtrT> tmp760;
    4969         112 :     compiler::TNode<IntPtrT> tmp761;
    4970         112 :     compiler::TNode<IntPtrT> tmp762;
    4971         112 :     compiler::TNode<BuiltinPtr> tmp763;
    4972         112 :     compiler::TNode<FixedArray> tmp764;
    4973         112 :     compiler::TNode<IntPtrT> tmp765;
    4974         112 :     compiler::TNode<IntPtrT> tmp766;
    4975         112 :     compiler::TNode<BoolT> tmp767;
    4976         112 :     compiler::TNode<UintPtrT> tmp768;
    4977         112 :     compiler::TNode<Object> tmp769;
    4978         112 :     compiler::TNode<String> tmp770;
    4979         112 :     compiler::TNode<String> tmp771;
    4980         112 :     compiler::TNode<IntPtrT> tmp772;
    4981         112 :     compiler::TNode<IntPtrT> tmp773;
    4982         112 :     compiler::TNode<Context> tmp774;
    4983         112 :     compiler::TNode<String> tmp775;
    4984         112 :     compiler::TNode<IntPtrT> tmp776;
    4985         112 :     compiler::TNode<IntPtrT> tmp777;
    4986         112 :     compiler::TNode<BoolT> tmp778;
    4987         112 :     compiler::TNode<IntPtrT> tmp779;
    4988         112 :     compiler::TNode<IntPtrT> tmp780;
    4989         112 :     compiler::TNode<BoolT> tmp781;
    4990         112 :     compiler::TNode<Context> tmp782;
    4991         112 :     compiler::TNode<IntPtrT> tmp783;
    4992         112 :     compiler::TNode<IntPtrT> tmp784;
    4993         112 :     compiler::TNode<BoolT> tmp785;
    4994         112 :     compiler::TNode<IntPtrT> tmp786;
    4995         112 :     compiler::TNode<IntPtrT> tmp787;
    4996         112 :     ca_.Bind(&block36, &tmp752, &tmp753, &tmp754, &tmp755, &tmp756, &tmp757, &tmp758, &tmp759, &tmp760, &tmp761, &tmp762, &tmp763, &tmp764, &tmp765, &tmp766, &tmp767, &tmp768, &tmp769, &tmp770, &tmp771, &tmp772, &tmp773, &tmp774, &tmp775, &tmp776, &tmp777, &tmp778, &tmp779, &tmp780, &tmp781, &tmp782, &tmp783, &tmp784, &tmp785, &tmp786, &tmp787);
    4997         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    4998         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
    4999         112 :     ca_.Goto(&block29, tmp752, tmp753, tmp754, tmp755, tmp756, tmp757, tmp758, tmp759, tmp760, tmp761, tmp762, tmp763, tmp764, tmp765, tmp766, tmp767, tmp768, tmp769, tmp770, tmp771, tmp772, tmp773, tmp774, tmp775, tmp776, tmp777, tmp778, tmp779, tmp780, tmp781, tmp782, tmp783, tmp784, tmp785);
    5000             :   }
    5001             : 
    5002         112 :   if (block29.is_used()) {
    5003         112 :     compiler::TNode<Context> tmp788;
    5004         112 :     compiler::TNode<JSReceiver> tmp789;
    5005         112 :     compiler::TNode<String> tmp790;
    5006         112 :     compiler::TNode<Number> tmp791;
    5007         112 :     compiler::TNode<Object> tmp792;
    5008         112 :     compiler::TNode<Object> tmp793;
    5009         112 :     compiler::TNode<BuiltinPtr> tmp794;
    5010         112 :     compiler::TNode<Map> tmp795;
    5011         112 :     compiler::TNode<UintPtrT> tmp796;
    5012         112 :     compiler::TNode<IntPtrT> tmp797;
    5013         112 :     compiler::TNode<IntPtrT> tmp798;
    5014         112 :     compiler::TNode<BuiltinPtr> tmp799;
    5015         112 :     compiler::TNode<FixedArray> tmp800;
    5016         112 :     compiler::TNode<IntPtrT> tmp801;
    5017         112 :     compiler::TNode<IntPtrT> tmp802;
    5018         112 :     compiler::TNode<BoolT> tmp803;
    5019         112 :     compiler::TNode<UintPtrT> tmp804;
    5020         112 :     compiler::TNode<Object> tmp805;
    5021         112 :     compiler::TNode<String> tmp806;
    5022         112 :     compiler::TNode<String> tmp807;
    5023         112 :     compiler::TNode<IntPtrT> tmp808;
    5024         112 :     compiler::TNode<IntPtrT> tmp809;
    5025         112 :     compiler::TNode<Context> tmp810;
    5026         112 :     compiler::TNode<String> tmp811;
    5027         112 :     compiler::TNode<IntPtrT> tmp812;
    5028         112 :     compiler::TNode<IntPtrT> tmp813;
    5029         112 :     compiler::TNode<BoolT> tmp814;
    5030         112 :     compiler::TNode<IntPtrT> tmp815;
    5031         112 :     compiler::TNode<IntPtrT> tmp816;
    5032         112 :     compiler::TNode<BoolT> tmp817;
    5033         112 :     compiler::TNode<Context> tmp818;
    5034         112 :     compiler::TNode<IntPtrT> tmp819;
    5035         112 :     compiler::TNode<IntPtrT> tmp820;
    5036         112 :     compiler::TNode<BoolT> tmp821;
    5037         112 :     ca_.Bind(&block29, &tmp788, &tmp789, &tmp790, &tmp791, &tmp792, &tmp793, &tmp794, &tmp795, &tmp796, &tmp797, &tmp798, &tmp799, &tmp800, &tmp801, &tmp802, &tmp803, &tmp804, &tmp805, &tmp806, &tmp807, &tmp808, &tmp809, &tmp810, &tmp811, &tmp812, &tmp813, &tmp814, &tmp815, &tmp816, &tmp817, &tmp818, &tmp819, &tmp820, &tmp821);
    5038         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
    5039         112 :     compiler::TNode<IntPtrT> tmp822;
    5040         112 :     USE(tmp822);
    5041         112 :     tmp822 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp811}));
    5042         112 :     compiler::TNode<IntPtrT> tmp823;
    5043         112 :     USE(tmp823);
    5044         112 :     tmp823 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp810}, compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<IntPtrT>{tmp822}));
    5045         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
    5046         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 164);
    5047         112 :     compiler::TNode<IntPtrT> tmp824;
    5048         112 :     USE(tmp824);
    5049         112 :     tmp824 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    5050         112 :     compiler::TNode<IntPtrT> tmp825;
    5051         112 :     USE(tmp825);
    5052         112 :     tmp825 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp801}, compiler::TNode<IntPtrT>{tmp824}));
    5053         112 :     compiler::TNode<FixedArray> tmp826;
    5054         112 :     USE(tmp826);
    5055         112 :     tmp826 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray6String(compiler::TNode<FixedArray>{tmp800}, compiler::TNode<IntPtrT>{tmp801}, compiler::TNode<String>{tmp811}));
    5056         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
    5057         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 166);
    5058         112 :     compiler::TNode<Int32T> tmp827;
    5059         112 :     USE(tmp827);
    5060         112 :     tmp827 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp811}));
    5061         112 :     compiler::TNode<BoolT> tmp828;
    5062         112 :     USE(tmp828);
    5063         112 :     tmp828 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp827}));
    5064         112 :     compiler::TNode<BoolT> tmp829;
    5065         112 :     USE(tmp829);
    5066         112 :     tmp829 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp828}, compiler::TNode<BoolT>{tmp803}));
    5067         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 165);
    5068         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
    5069         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
    5070         112 :     ca_.Goto(&block28, tmp788, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp795, tmp796, tmp797, tmp798, tmp799, tmp826, tmp825, tmp823, tmp829, tmp804, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813);
    5071             :   }
    5072             : 
    5073         112 :   if (block28.is_used()) {
    5074         112 :     compiler::TNode<Context> tmp830;
    5075         112 :     compiler::TNode<JSReceiver> tmp831;
    5076         112 :     compiler::TNode<String> tmp832;
    5077         112 :     compiler::TNode<Number> tmp833;
    5078         112 :     compiler::TNode<Object> tmp834;
    5079         112 :     compiler::TNode<Object> tmp835;
    5080         112 :     compiler::TNode<BuiltinPtr> tmp836;
    5081         112 :     compiler::TNode<Map> tmp837;
    5082         112 :     compiler::TNode<UintPtrT> tmp838;
    5083         112 :     compiler::TNode<IntPtrT> tmp839;
    5084         112 :     compiler::TNode<IntPtrT> tmp840;
    5085         112 :     compiler::TNode<BuiltinPtr> tmp841;
    5086         112 :     compiler::TNode<FixedArray> tmp842;
    5087         112 :     compiler::TNode<IntPtrT> tmp843;
    5088         112 :     compiler::TNode<IntPtrT> tmp844;
    5089         112 :     compiler::TNode<BoolT> tmp845;
    5090         112 :     compiler::TNode<UintPtrT> tmp846;
    5091         112 :     compiler::TNode<Object> tmp847;
    5092         112 :     compiler::TNode<String> tmp848;
    5093         112 :     compiler::TNode<String> tmp849;
    5094         112 :     compiler::TNode<IntPtrT> tmp850;
    5095         112 :     compiler::TNode<IntPtrT> tmp851;
    5096         112 :     compiler::TNode<Context> tmp852;
    5097         112 :     compiler::TNode<String> tmp853;
    5098         112 :     compiler::TNode<IntPtrT> tmp854;
    5099         112 :     compiler::TNode<IntPtrT> tmp855;
    5100         112 :     ca_.Bind(&block28, &tmp830, &tmp831, &tmp832, &tmp833, &tmp834, &tmp835, &tmp836, &tmp837, &tmp838, &tmp839, &tmp840, &tmp841, &tmp842, &tmp843, &tmp844, &tmp845, &tmp846, &tmp847, &tmp848, &tmp849, &tmp850, &tmp851, &tmp852, &tmp853, &tmp854, &tmp855);
    5101         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 316);
    5102         112 :     compiler::TNode<IntPtrT> tmp856;
    5103         112 :     USE(tmp856);
    5104         112 :     tmp856 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5105         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
    5106         112 :     ca_.Goto(&block4, tmp830, tmp831, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp856, tmp841, tmp842, tmp843, tmp844, tmp845, tmp846);
    5107             :   }
    5108             : 
    5109         112 :   if (block3.is_used()) {
    5110         112 :     compiler::TNode<Context> tmp857;
    5111         112 :     compiler::TNode<JSReceiver> tmp858;
    5112         112 :     compiler::TNode<String> tmp859;
    5113         112 :     compiler::TNode<Number> tmp860;
    5114         112 :     compiler::TNode<Object> tmp861;
    5115         112 :     compiler::TNode<Object> tmp862;
    5116         112 :     compiler::TNode<BuiltinPtr> tmp863;
    5117         112 :     compiler::TNode<Map> tmp864;
    5118         112 :     compiler::TNode<UintPtrT> tmp865;
    5119         112 :     compiler::TNode<IntPtrT> tmp866;
    5120         112 :     compiler::TNode<IntPtrT> tmp867;
    5121         112 :     compiler::TNode<BuiltinPtr> tmp868;
    5122         112 :     compiler::TNode<FixedArray> tmp869;
    5123         112 :     compiler::TNode<IntPtrT> tmp870;
    5124         112 :     compiler::TNode<IntPtrT> tmp871;
    5125         112 :     compiler::TNode<BoolT> tmp872;
    5126         112 :     compiler::TNode<UintPtrT> tmp873;
    5127         112 :     ca_.Bind(&block3, &tmp857, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873);
    5128         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    5129         112 :     compiler::TNode<BoolT> tmp874;
    5130         112 :     USE(tmp874);
    5131         112 :     tmp874 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
    5132         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
    5133         112 :     compiler::TNode<IntPtrT> tmp875;
    5134         112 :     USE(tmp875);
    5135         112 :     tmp875 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5136         112 :     compiler::TNode<BoolT> tmp876;
    5137         112 :     USE(tmp876);
    5138         112 :     tmp876 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp867}, compiler::TNode<IntPtrT>{tmp875}));
    5139         112 :     ca_.Branch(tmp876, &block38, &block40, tmp857, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp867, tmp866, tmp857, tmp867, tmp866, tmp874);
    5140             :   }
    5141             : 
    5142         112 :   if (block40.is_used()) {
    5143         112 :     compiler::TNode<Context> tmp877;
    5144         112 :     compiler::TNode<JSReceiver> tmp878;
    5145         112 :     compiler::TNode<String> tmp879;
    5146         112 :     compiler::TNode<Number> tmp880;
    5147         112 :     compiler::TNode<Object> tmp881;
    5148         112 :     compiler::TNode<Object> tmp882;
    5149         112 :     compiler::TNode<BuiltinPtr> tmp883;
    5150         112 :     compiler::TNode<Map> tmp884;
    5151         112 :     compiler::TNode<UintPtrT> tmp885;
    5152         112 :     compiler::TNode<IntPtrT> tmp886;
    5153         112 :     compiler::TNode<IntPtrT> tmp887;
    5154         112 :     compiler::TNode<BuiltinPtr> tmp888;
    5155         112 :     compiler::TNode<FixedArray> tmp889;
    5156         112 :     compiler::TNode<IntPtrT> tmp890;
    5157         112 :     compiler::TNode<IntPtrT> tmp891;
    5158         112 :     compiler::TNode<BoolT> tmp892;
    5159         112 :     compiler::TNode<UintPtrT> tmp893;
    5160         112 :     compiler::TNode<IntPtrT> tmp894;
    5161         112 :     compiler::TNode<IntPtrT> tmp895;
    5162         112 :     compiler::TNode<Context> tmp896;
    5163         112 :     compiler::TNode<IntPtrT> tmp897;
    5164         112 :     compiler::TNode<IntPtrT> tmp898;
    5165         112 :     compiler::TNode<BoolT> tmp899;
    5166         112 :     ca_.Bind(&block40, &tmp877, &tmp878, &tmp879, &tmp880, &tmp881, &tmp882, &tmp883, &tmp884, &tmp885, &tmp886, &tmp887, &tmp888, &tmp889, &tmp890, &tmp891, &tmp892, &tmp893, &tmp894, &tmp895, &tmp896, &tmp897, &tmp898, &tmp899);
    5167         112 :     compiler::TNode<IntPtrT> tmp900;
    5168         112 :     USE(tmp900);
    5169         112 :     tmp900 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5170         112 :     compiler::TNode<BoolT> tmp901;
    5171         112 :     USE(tmp901);
    5172         112 :     tmp901 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp898}, compiler::TNode<IntPtrT>{tmp900}));
    5173         112 :     ca_.Branch(tmp901, &block38, &block39, tmp877, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889, tmp890, tmp891, tmp892, tmp893, tmp894, tmp895, tmp896, tmp897, tmp898, tmp899);
    5174             :   }
    5175             : 
    5176         112 :   if (block38.is_used()) {
    5177         112 :     compiler::TNode<Context> tmp902;
    5178         112 :     compiler::TNode<JSReceiver> tmp903;
    5179         112 :     compiler::TNode<String> tmp904;
    5180         112 :     compiler::TNode<Number> tmp905;
    5181         112 :     compiler::TNode<Object> tmp906;
    5182         112 :     compiler::TNode<Object> tmp907;
    5183         112 :     compiler::TNode<BuiltinPtr> tmp908;
    5184         112 :     compiler::TNode<Map> tmp909;
    5185         112 :     compiler::TNode<UintPtrT> tmp910;
    5186         112 :     compiler::TNode<IntPtrT> tmp911;
    5187         112 :     compiler::TNode<IntPtrT> tmp912;
    5188         112 :     compiler::TNode<BuiltinPtr> tmp913;
    5189         112 :     compiler::TNode<FixedArray> tmp914;
    5190         112 :     compiler::TNode<IntPtrT> tmp915;
    5191         112 :     compiler::TNode<IntPtrT> tmp916;
    5192         112 :     compiler::TNode<BoolT> tmp917;
    5193         112 :     compiler::TNode<UintPtrT> tmp918;
    5194         112 :     compiler::TNode<IntPtrT> tmp919;
    5195         112 :     compiler::TNode<IntPtrT> tmp920;
    5196         112 :     compiler::TNode<Context> tmp921;
    5197         112 :     compiler::TNode<IntPtrT> tmp922;
    5198         112 :     compiler::TNode<IntPtrT> tmp923;
    5199         112 :     compiler::TNode<BoolT> tmp924;
    5200         112 :     ca_.Bind(&block38, &tmp902, &tmp903, &tmp904, &tmp905, &tmp906, &tmp907, &tmp908, &tmp909, &tmp910, &tmp911, &tmp912, &tmp913, &tmp914, &tmp915, &tmp916, &tmp917, &tmp918, &tmp919, &tmp920, &tmp921, &tmp922, &tmp923, &tmp924);
    5201         112 :     ca_.Goto(&block37, tmp902, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919, tmp920, tmp921, tmp922, tmp923, tmp924);
    5202             :   }
    5203             : 
    5204         112 :   if (block39.is_used()) {
    5205         112 :     compiler::TNode<Context> tmp925;
    5206         112 :     compiler::TNode<JSReceiver> tmp926;
    5207         112 :     compiler::TNode<String> tmp927;
    5208         112 :     compiler::TNode<Number> tmp928;
    5209         112 :     compiler::TNode<Object> tmp929;
    5210         112 :     compiler::TNode<Object> tmp930;
    5211         112 :     compiler::TNode<BuiltinPtr> tmp931;
    5212         112 :     compiler::TNode<Map> tmp932;
    5213         112 :     compiler::TNode<UintPtrT> tmp933;
    5214         112 :     compiler::TNode<IntPtrT> tmp934;
    5215         112 :     compiler::TNode<IntPtrT> tmp935;
    5216         112 :     compiler::TNode<BuiltinPtr> tmp936;
    5217         112 :     compiler::TNode<FixedArray> tmp937;
    5218         112 :     compiler::TNode<IntPtrT> tmp938;
    5219         112 :     compiler::TNode<IntPtrT> tmp939;
    5220         112 :     compiler::TNode<BoolT> tmp940;
    5221         112 :     compiler::TNode<UintPtrT> tmp941;
    5222         112 :     compiler::TNode<IntPtrT> tmp942;
    5223         112 :     compiler::TNode<IntPtrT> tmp943;
    5224         112 :     compiler::TNode<Context> tmp944;
    5225         112 :     compiler::TNode<IntPtrT> tmp945;
    5226         112 :     compiler::TNode<IntPtrT> tmp946;
    5227         112 :     compiler::TNode<BoolT> tmp947;
    5228         112 :     ca_.Bind(&block39, &tmp925, &tmp926, &tmp927, &tmp928, &tmp929, &tmp930, &tmp931, &tmp932, &tmp933, &tmp934, &tmp935, &tmp936, &tmp937, &tmp938, &tmp939, &tmp940, &tmp941, &tmp942, &tmp943, &tmp944, &tmp945, &tmp946, &tmp947);
    5229         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    5230         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    5231         112 :     compiler::TNode<IntPtrT> tmp948;
    5232         112 :     USE(tmp948);
    5233         112 :     tmp948 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp946}, compiler::TNode<IntPtrT>{tmp945}));
    5234         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
    5235         112 :     compiler::TNode<IntPtrT> tmp949;
    5236         112 :     USE(tmp949);
    5237         112 :     tmp949 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp948}, compiler::TNode<IntPtrT>{tmp946}));
    5238         112 :     compiler::TNode<BoolT> tmp950;
    5239         112 :     USE(tmp950);
    5240         112 :     tmp950 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp949}, compiler::TNode<IntPtrT>{tmp945}));
    5241         112 :     ca_.Branch(tmp950, &block41, &block42, tmp925, tmp926, tmp927, tmp928, tmp929, tmp930, tmp931, tmp932, tmp933, tmp934, tmp935, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp946, tmp947, tmp945, tmp948);
    5242             :   }
    5243             : 
    5244         112 :   if (block41.is_used()) {
    5245         112 :     compiler::TNode<Context> tmp951;
    5246         112 :     compiler::TNode<JSReceiver> tmp952;
    5247         112 :     compiler::TNode<String> tmp953;
    5248         112 :     compiler::TNode<Number> tmp954;
    5249         112 :     compiler::TNode<Object> tmp955;
    5250         112 :     compiler::TNode<Object> tmp956;
    5251         112 :     compiler::TNode<BuiltinPtr> tmp957;
    5252         112 :     compiler::TNode<Map> tmp958;
    5253         112 :     compiler::TNode<UintPtrT> tmp959;
    5254         112 :     compiler::TNode<IntPtrT> tmp960;
    5255         112 :     compiler::TNode<IntPtrT> tmp961;
    5256         112 :     compiler::TNode<BuiltinPtr> tmp962;
    5257         112 :     compiler::TNode<FixedArray> tmp963;
    5258         112 :     compiler::TNode<IntPtrT> tmp964;
    5259         112 :     compiler::TNode<IntPtrT> tmp965;
    5260         112 :     compiler::TNode<BoolT> tmp966;
    5261         112 :     compiler::TNode<UintPtrT> tmp967;
    5262         112 :     compiler::TNode<IntPtrT> tmp968;
    5263         112 :     compiler::TNode<IntPtrT> tmp969;
    5264         112 :     compiler::TNode<Context> tmp970;
    5265         112 :     compiler::TNode<IntPtrT> tmp971;
    5266         112 :     compiler::TNode<IntPtrT> tmp972;
    5267         112 :     compiler::TNode<BoolT> tmp973;
    5268         112 :     compiler::TNode<IntPtrT> tmp974;
    5269         112 :     compiler::TNode<IntPtrT> tmp975;
    5270         112 :     ca_.Bind(&block41, &tmp951, &tmp952, &tmp953, &tmp954, &tmp955, &tmp956, &tmp957, &tmp958, &tmp959, &tmp960, &tmp961, &tmp962, &tmp963, &tmp964, &tmp965, &tmp966, &tmp967, &tmp968, &tmp969, &tmp970, &tmp971, &tmp972, &tmp973, &tmp974, &tmp975);
    5271         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
    5272         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp970);
    5273         112 :     CodeStubAssembler(state_).Unreachable();
    5274             :   }
    5275             : 
    5276         112 :   if (block42.is_used()) {
    5277         112 :     compiler::TNode<Context> tmp977;
    5278         112 :     compiler::TNode<JSReceiver> tmp978;
    5279         112 :     compiler::TNode<String> tmp979;
    5280         112 :     compiler::TNode<Number> tmp980;
    5281         112 :     compiler::TNode<Object> tmp981;
    5282         112 :     compiler::TNode<Object> tmp982;
    5283         112 :     compiler::TNode<BuiltinPtr> tmp983;
    5284         112 :     compiler::TNode<Map> tmp984;
    5285         112 :     compiler::TNode<UintPtrT> tmp985;
    5286         112 :     compiler::TNode<IntPtrT> tmp986;
    5287         112 :     compiler::TNode<IntPtrT> tmp987;
    5288         112 :     compiler::TNode<BuiltinPtr> tmp988;
    5289         112 :     compiler::TNode<FixedArray> tmp989;
    5290         112 :     compiler::TNode<IntPtrT> tmp990;
    5291         112 :     compiler::TNode<IntPtrT> tmp991;
    5292         112 :     compiler::TNode<BoolT> tmp992;
    5293         112 :     compiler::TNode<UintPtrT> tmp993;
    5294         112 :     compiler::TNode<IntPtrT> tmp994;
    5295         112 :     compiler::TNode<IntPtrT> tmp995;
    5296         112 :     compiler::TNode<Context> tmp996;
    5297         112 :     compiler::TNode<IntPtrT> tmp997;
    5298         112 :     compiler::TNode<IntPtrT> tmp998;
    5299         112 :     compiler::TNode<BoolT> tmp999;
    5300         112 :     compiler::TNode<IntPtrT> tmp1000;
    5301         112 :     compiler::TNode<IntPtrT> tmp1001;
    5302         112 :     ca_.Bind(&block42, &tmp977, &tmp978, &tmp979, &tmp980, &tmp981, &tmp982, &tmp983, &tmp984, &tmp985, &tmp986, &tmp987, &tmp988, &tmp989, &tmp990, &tmp991, &tmp992, &tmp993, &tmp994, &tmp995, &tmp996, &tmp997, &tmp998, &tmp999, &tmp1000, &tmp1001);
    5303         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    5304         112 :     compiler::TNode<IntPtrT> tmp1002;
    5305         112 :     USE(tmp1002);
    5306         112 :     tmp1002 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp996}, compiler::TNode<IntPtrT>{tmp991}, compiler::TNode<IntPtrT>{tmp1001}));
    5307         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    5308         112 :     ca_.Branch(tmp999, &block43, &block44, tmp977, tmp978, tmp979, tmp980, tmp981, tmp982, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989, tmp990, tmp1002, tmp992, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001);
    5309             :   }
    5310             : 
    5311         112 :   if (block43.is_used()) {
    5312         112 :     compiler::TNode<Context> tmp1003;
    5313         112 :     compiler::TNode<JSReceiver> tmp1004;
    5314         112 :     compiler::TNode<String> tmp1005;
    5315         112 :     compiler::TNode<Number> tmp1006;
    5316         112 :     compiler::TNode<Object> tmp1007;
    5317         112 :     compiler::TNode<Object> tmp1008;
    5318         112 :     compiler::TNode<BuiltinPtr> tmp1009;
    5319         112 :     compiler::TNode<Map> tmp1010;
    5320         112 :     compiler::TNode<UintPtrT> tmp1011;
    5321         112 :     compiler::TNode<IntPtrT> tmp1012;
    5322         112 :     compiler::TNode<IntPtrT> tmp1013;
    5323         112 :     compiler::TNode<BuiltinPtr> tmp1014;
    5324         112 :     compiler::TNode<FixedArray> tmp1015;
    5325         112 :     compiler::TNode<IntPtrT> tmp1016;
    5326         112 :     compiler::TNode<IntPtrT> tmp1017;
    5327         112 :     compiler::TNode<BoolT> tmp1018;
    5328         112 :     compiler::TNode<UintPtrT> tmp1019;
    5329         112 :     compiler::TNode<IntPtrT> tmp1020;
    5330         112 :     compiler::TNode<IntPtrT> tmp1021;
    5331         112 :     compiler::TNode<Context> tmp1022;
    5332         112 :     compiler::TNode<IntPtrT> tmp1023;
    5333         112 :     compiler::TNode<IntPtrT> tmp1024;
    5334         112 :     compiler::TNode<BoolT> tmp1025;
    5335         112 :     compiler::TNode<IntPtrT> tmp1026;
    5336         112 :     compiler::TNode<IntPtrT> tmp1027;
    5337         112 :     ca_.Bind(&block43, &tmp1003, &tmp1004, &tmp1005, &tmp1006, &tmp1007, &tmp1008, &tmp1009, &tmp1010, &tmp1011, &tmp1012, &tmp1013, &tmp1014, &tmp1015, &tmp1016, &tmp1017, &tmp1018, &tmp1019, &tmp1020, &tmp1021, &tmp1022, &tmp1023, &tmp1024, &tmp1025, &tmp1026, &tmp1027);
    5338         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    5339         112 :     compiler::TNode<IntPtrT> tmp1028;
    5340         112 :     USE(tmp1028);
    5341         112 :     tmp1028 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    5342         112 :     compiler::TNode<IntPtrT> tmp1029;
    5343         112 :     USE(tmp1029);
    5344         112 :     tmp1029 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1016}, compiler::TNode<IntPtrT>{tmp1028}));
    5345         112 :     compiler::TNode<Smi> tmp1030;
    5346         112 :     USE(tmp1030);
    5347         112 :     tmp1030 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1026}));
    5348         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    5349         112 :     compiler::TNode<FixedArray> tmp1031;
    5350         112 :     USE(tmp1031);
    5351         112 :     tmp1031 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1015}, compiler::TNode<IntPtrT>{tmp1016}, compiler::TNode<Smi>{tmp1030}));
    5352         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    5353         112 :     ca_.Goto(&block44, tmp1003, tmp1004, tmp1005, tmp1006, tmp1007, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1031, tmp1029, tmp1017, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027);
    5354             :   }
    5355             : 
    5356         112 :   if (block44.is_used()) {
    5357         112 :     compiler::TNode<Context> tmp1032;
    5358         112 :     compiler::TNode<JSReceiver> tmp1033;
    5359         112 :     compiler::TNode<String> tmp1034;
    5360         112 :     compiler::TNode<Number> tmp1035;
    5361         112 :     compiler::TNode<Object> tmp1036;
    5362         112 :     compiler::TNode<Object> tmp1037;
    5363         112 :     compiler::TNode<BuiltinPtr> tmp1038;
    5364         112 :     compiler::TNode<Map> tmp1039;
    5365         112 :     compiler::TNode<UintPtrT> tmp1040;
    5366         112 :     compiler::TNode<IntPtrT> tmp1041;
    5367         112 :     compiler::TNode<IntPtrT> tmp1042;
    5368         112 :     compiler::TNode<BuiltinPtr> tmp1043;
    5369         112 :     compiler::TNode<FixedArray> tmp1044;
    5370         112 :     compiler::TNode<IntPtrT> tmp1045;
    5371         112 :     compiler::TNode<IntPtrT> tmp1046;
    5372         112 :     compiler::TNode<BoolT> tmp1047;
    5373         112 :     compiler::TNode<UintPtrT> tmp1048;
    5374         112 :     compiler::TNode<IntPtrT> tmp1049;
    5375         112 :     compiler::TNode<IntPtrT> tmp1050;
    5376         112 :     compiler::TNode<Context> tmp1051;
    5377         112 :     compiler::TNode<IntPtrT> tmp1052;
    5378         112 :     compiler::TNode<IntPtrT> tmp1053;
    5379         112 :     compiler::TNode<BoolT> tmp1054;
    5380         112 :     compiler::TNode<IntPtrT> tmp1055;
    5381         112 :     compiler::TNode<IntPtrT> tmp1056;
    5382         112 :     ca_.Bind(&block44, &tmp1032, &tmp1033, &tmp1034, &tmp1035, &tmp1036, &tmp1037, &tmp1038, &tmp1039, &tmp1040, &tmp1041, &tmp1042, &tmp1043, &tmp1044, &tmp1045, &tmp1046, &tmp1047, &tmp1048, &tmp1049, &tmp1050, &tmp1051, &tmp1052, &tmp1053, &tmp1054, &tmp1055, &tmp1056);
    5383         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    5384         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    5385         112 :     ca_.Goto(&block37, tmp1032, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1054);
    5386             :   }
    5387             : 
    5388         112 :   if (block37.is_used()) {
    5389         112 :     compiler::TNode<Context> tmp1057;
    5390         112 :     compiler::TNode<JSReceiver> tmp1058;
    5391         112 :     compiler::TNode<String> tmp1059;
    5392         112 :     compiler::TNode<Number> tmp1060;
    5393         112 :     compiler::TNode<Object> tmp1061;
    5394         112 :     compiler::TNode<Object> tmp1062;
    5395         112 :     compiler::TNode<BuiltinPtr> tmp1063;
    5396         112 :     compiler::TNode<Map> tmp1064;
    5397         112 :     compiler::TNode<UintPtrT> tmp1065;
    5398         112 :     compiler::TNode<IntPtrT> tmp1066;
    5399         112 :     compiler::TNode<IntPtrT> tmp1067;
    5400         112 :     compiler::TNode<BuiltinPtr> tmp1068;
    5401         112 :     compiler::TNode<FixedArray> tmp1069;
    5402         112 :     compiler::TNode<IntPtrT> tmp1070;
    5403         112 :     compiler::TNode<IntPtrT> tmp1071;
    5404         112 :     compiler::TNode<BoolT> tmp1072;
    5405         112 :     compiler::TNode<UintPtrT> tmp1073;
    5406         112 :     compiler::TNode<IntPtrT> tmp1074;
    5407         112 :     compiler::TNode<IntPtrT> tmp1075;
    5408         112 :     compiler::TNode<Context> tmp1076;
    5409         112 :     compiler::TNode<IntPtrT> tmp1077;
    5410         112 :     compiler::TNode<IntPtrT> tmp1078;
    5411         112 :     compiler::TNode<BoolT> tmp1079;
    5412         112 :     ca_.Bind(&block37, &tmp1057, &tmp1058, &tmp1059, &tmp1060, &tmp1061, &tmp1062, &tmp1063, &tmp1064, &tmp1065, &tmp1066, &tmp1067, &tmp1068, &tmp1069, &tmp1070, &tmp1071, &tmp1072, &tmp1073, &tmp1074, &tmp1075, &tmp1076, &tmp1077, &tmp1078, &tmp1079);
    5413         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
    5414         112 :     compiler::TNode<String> tmp1080;
    5415         112 :     USE(tmp1080);
    5416         112 :     tmp1080 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).BufferJoin(compiler::TNode<Context>{tmp1057}, ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp1069}, compiler::TNode<IntPtrT>{tmp1070}, compiler::TNode<IntPtrT>{tmp1071}, compiler::TNode<BoolT>{tmp1072}}, compiler::TNode<String>{tmp1059}));
    5417         112 :     ca_.Goto(&block1, tmp1057, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1080);
    5418             :   }
    5419             : 
    5420         112 :   if (block1.is_used()) {
    5421         112 :     compiler::TNode<Context> tmp1081;
    5422         112 :     compiler::TNode<JSReceiver> tmp1082;
    5423         112 :     compiler::TNode<String> tmp1083;
    5424         112 :     compiler::TNode<Number> tmp1084;
    5425         112 :     compiler::TNode<Object> tmp1085;
    5426         112 :     compiler::TNode<Object> tmp1086;
    5427         112 :     compiler::TNode<BuiltinPtr> tmp1087;
    5428         112 :     compiler::TNode<String> tmp1088;
    5429         112 :     ca_.Bind(&block1, &tmp1081, &tmp1082, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088);
    5430         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 262);
    5431         112 :     ca_.Goto(&block45, tmp1081, tmp1082, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088);
    5432             :   }
    5433             : 
    5434         112 :     compiler::TNode<Context> tmp1089;
    5435         112 :     compiler::TNode<JSReceiver> tmp1090;
    5436         112 :     compiler::TNode<String> tmp1091;
    5437         112 :     compiler::TNode<Number> tmp1092;
    5438         112 :     compiler::TNode<Object> tmp1093;
    5439         112 :     compiler::TNode<Object> tmp1094;
    5440         112 :     compiler::TNode<BuiltinPtr> tmp1095;
    5441         112 :     compiler::TNode<String> tmp1096;
    5442         112 :     ca_.Bind(&block45, &tmp1089, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096);
    5443         224 :   return compiler::TNode<String>{tmp1096};
    5444             : }
    5445             : 
    5446         392 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt32Array, CodeStubAssembler) {
    5447         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5448          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5449          56 :   USE(parameter0);
    5450          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5451          56 :   USE(parameter1);
    5452          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5453          56 :   USE(parameter2);
    5454         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5455          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5456             : 
    5457          56 :   if (block0.is_used()) {
    5458          56 :     compiler::TNode<Context> tmp0;
    5459          56 :     compiler::TNode<JSReceiver> tmp1;
    5460          56 :     compiler::TNode<Number> tmp2;
    5461          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5462          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5463          56 :     compiler::TNode<JSTypedArray> tmp3;
    5464          56 :     USE(tmp3);
    5465          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5466          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5467          56 :     compiler::TNode<RawPtrT> tmp4;
    5468          56 :     USE(tmp4);
    5469          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5470          56 :     compiler::TNode<Smi> tmp5;
    5471          56 :     USE(tmp5);
    5472          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5473          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5474          56 :     compiler::TNode<Object> tmp6;
    5475          56 :     USE(tmp6);
    5476          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt32Array()), CodeStubAssembler::SMI_PARAMETERS));
    5477          56 :     CodeStubAssembler(state_).Return(tmp6);
    5478             :   }
    5479          56 : }
    5480             : 
    5481         392 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat32Array, CodeStubAssembler) {
    5482         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5483          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5484          56 :   USE(parameter0);
    5485          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5486          56 :   USE(parameter1);
    5487          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5488          56 :   USE(parameter2);
    5489         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5490          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5491             : 
    5492          56 :   if (block0.is_used()) {
    5493          56 :     compiler::TNode<Context> tmp0;
    5494          56 :     compiler::TNode<JSReceiver> tmp1;
    5495          56 :     compiler::TNode<Number> tmp2;
    5496          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5497          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5498          56 :     compiler::TNode<JSTypedArray> tmp3;
    5499          56 :     USE(tmp3);
    5500          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5501          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5502          56 :     compiler::TNode<RawPtrT> tmp4;
    5503          56 :     USE(tmp4);
    5504          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5505          56 :     compiler::TNode<Smi> tmp5;
    5506          56 :     USE(tmp5);
    5507          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5508          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5509          56 :     compiler::TNode<Object> tmp6;
    5510          56 :     USE(tmp6);
    5511          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat32Array()), CodeStubAssembler::SMI_PARAMETERS));
    5512          56 :     CodeStubAssembler(state_).Return(tmp6);
    5513             :   }
    5514          56 : }
    5515             : 
    5516         392 : TF_BUILTIN(LoadJoinTypedElement19ATFixedFloat64Array, CodeStubAssembler) {
    5517         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5518          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5519          56 :   USE(parameter0);
    5520          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5521          56 :   USE(parameter1);
    5522          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5523          56 :   USE(parameter2);
    5524         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5525          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5526             : 
    5527          56 :   if (block0.is_used()) {
    5528          56 :     compiler::TNode<Context> tmp0;
    5529          56 :     compiler::TNode<JSReceiver> tmp1;
    5530          56 :     compiler::TNode<Number> tmp2;
    5531          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5532          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5533          56 :     compiler::TNode<JSTypedArray> tmp3;
    5534          56 :     USE(tmp3);
    5535          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5536          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5537          56 :     compiler::TNode<RawPtrT> tmp4;
    5538          56 :     USE(tmp4);
    5539          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5540          56 :     compiler::TNode<Smi> tmp5;
    5541          56 :     USE(tmp5);
    5542          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5543          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5544          56 :     compiler::TNode<Object> tmp6;
    5545          56 :     USE(tmp6);
    5546          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType19ATFixedFloat64Array()), CodeStubAssembler::SMI_PARAMETERS));
    5547          56 :     CodeStubAssembler(state_).Return(tmp6);
    5548             :   }
    5549          56 : }
    5550             : 
    5551         392 : TF_BUILTIN(LoadJoinTypedElement24ATFixedUint8ClampedArray, CodeStubAssembler) {
    5552         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5553          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5554          56 :   USE(parameter0);
    5555          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5556          56 :   USE(parameter1);
    5557          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5558          56 :   USE(parameter2);
    5559         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5560          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5561             : 
    5562          56 :   if (block0.is_used()) {
    5563          56 :     compiler::TNode<Context> tmp0;
    5564          56 :     compiler::TNode<JSReceiver> tmp1;
    5565          56 :     compiler::TNode<Number> tmp2;
    5566          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5567          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5568          56 :     compiler::TNode<JSTypedArray> tmp3;
    5569          56 :     USE(tmp3);
    5570          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5571          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5572          56 :     compiler::TNode<RawPtrT> tmp4;
    5573          56 :     USE(tmp4);
    5574          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5575          56 :     compiler::TNode<Smi> tmp5;
    5576          56 :     USE(tmp5);
    5577          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5578          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5579          56 :     compiler::TNode<Object> tmp6;
    5580          56 :     USE(tmp6);
    5581          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType24ATFixedUint8ClampedArray()), CodeStubAssembler::SMI_PARAMETERS));
    5582          56 :     CodeStubAssembler(state_).Return(tmp6);
    5583             :   }
    5584          56 : }
    5585             : 
    5586         392 : TF_BUILTIN(LoadJoinTypedElement21ATFixedBigUint64Array, CodeStubAssembler) {
    5587         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5588          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5589          56 :   USE(parameter0);
    5590          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5591          56 :   USE(parameter1);
    5592          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5593          56 :   USE(parameter2);
    5594         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5595          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5596             : 
    5597          56 :   if (block0.is_used()) {
    5598          56 :     compiler::TNode<Context> tmp0;
    5599          56 :     compiler::TNode<JSReceiver> tmp1;
    5600          56 :     compiler::TNode<Number> tmp2;
    5601          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5602          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5603          56 :     compiler::TNode<JSTypedArray> tmp3;
    5604          56 :     USE(tmp3);
    5605          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5606          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5607          56 :     compiler::TNode<RawPtrT> tmp4;
    5608          56 :     USE(tmp4);
    5609          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5610          56 :     compiler::TNode<Smi> tmp5;
    5611          56 :     USE(tmp5);
    5612          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5613          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5614          56 :     compiler::TNode<Object> tmp6;
    5615          56 :     USE(tmp6);
    5616          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType21ATFixedBigUint64Array()), CodeStubAssembler::SMI_PARAMETERS));
    5617          56 :     CodeStubAssembler(state_).Return(tmp6);
    5618             :   }
    5619          56 : }
    5620             : 
    5621         392 : TF_BUILTIN(LoadJoinTypedElement20ATFixedBigInt64Array, CodeStubAssembler) {
    5622         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5623          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5624          56 :   USE(parameter0);
    5625          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5626          56 :   USE(parameter1);
    5627          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5628          56 :   USE(parameter2);
    5629         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5630          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5631             : 
    5632          56 :   if (block0.is_used()) {
    5633          56 :     compiler::TNode<Context> tmp0;
    5634          56 :     compiler::TNode<JSReceiver> tmp1;
    5635          56 :     compiler::TNode<Number> tmp2;
    5636          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5637          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5638          56 :     compiler::TNode<JSTypedArray> tmp3;
    5639          56 :     USE(tmp3);
    5640          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5641          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5642          56 :     compiler::TNode<RawPtrT> tmp4;
    5643          56 :     USE(tmp4);
    5644          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5645          56 :     compiler::TNode<Smi> tmp5;
    5646          56 :     USE(tmp5);
    5647          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5648          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5649          56 :     compiler::TNode<Object> tmp6;
    5650          56 :     USE(tmp6);
    5651          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType20ATFixedBigInt64Array()), CodeStubAssembler::SMI_PARAMETERS));
    5652          56 :     CodeStubAssembler(state_).Return(tmp6);
    5653             :   }
    5654          56 : }
    5655             : 
    5656         392 : TF_BUILTIN(LoadJoinTypedElement17ATFixedUint8Array, CodeStubAssembler) {
    5657         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5658          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5659          56 :   USE(parameter0);
    5660          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5661          56 :   USE(parameter1);
    5662          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5663          56 :   USE(parameter2);
    5664         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5665          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5666             : 
    5667          56 :   if (block0.is_used()) {
    5668          56 :     compiler::TNode<Context> tmp0;
    5669          56 :     compiler::TNode<JSReceiver> tmp1;
    5670          56 :     compiler::TNode<Number> tmp2;
    5671          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5672          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5673          56 :     compiler::TNode<JSTypedArray> tmp3;
    5674          56 :     USE(tmp3);
    5675          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5676          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5677          56 :     compiler::TNode<RawPtrT> tmp4;
    5678          56 :     USE(tmp4);
    5679          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5680          56 :     compiler::TNode<Smi> tmp5;
    5681          56 :     USE(tmp5);
    5682          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5683          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5684          56 :     compiler::TNode<Object> tmp6;
    5685          56 :     USE(tmp6);
    5686          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedUint8Array()), CodeStubAssembler::SMI_PARAMETERS));
    5687          56 :     CodeStubAssembler(state_).Return(tmp6);
    5688             :   }
    5689          56 : }
    5690             : 
    5691         392 : TF_BUILTIN(LoadJoinTypedElement16ATFixedInt8Array, CodeStubAssembler) {
    5692         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5693          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5694          56 :   USE(parameter0);
    5695          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5696          56 :   USE(parameter1);
    5697          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5698          56 :   USE(parameter2);
    5699         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5700          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5701             : 
    5702          56 :   if (block0.is_used()) {
    5703          56 :     compiler::TNode<Context> tmp0;
    5704          56 :     compiler::TNode<JSReceiver> tmp1;
    5705          56 :     compiler::TNode<Number> tmp2;
    5706          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5707          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5708          56 :     compiler::TNode<JSTypedArray> tmp3;
    5709          56 :     USE(tmp3);
    5710          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5711          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5712          56 :     compiler::TNode<RawPtrT> tmp4;
    5713          56 :     USE(tmp4);
    5714          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5715          56 :     compiler::TNode<Smi> tmp5;
    5716          56 :     USE(tmp5);
    5717          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5718          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5719          56 :     compiler::TNode<Object> tmp6;
    5720          56 :     USE(tmp6);
    5721          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType16ATFixedInt8Array()), CodeStubAssembler::SMI_PARAMETERS));
    5722          56 :     CodeStubAssembler(state_).Return(tmp6);
    5723             :   }
    5724          56 : }
    5725             : 
    5726         392 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint16Array, CodeStubAssembler) {
    5727         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5728          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5729          56 :   USE(parameter0);
    5730          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5731          56 :   USE(parameter1);
    5732          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5733          56 :   USE(parameter2);
    5734         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5735          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5736             : 
    5737          56 :   if (block0.is_used()) {
    5738          56 :     compiler::TNode<Context> tmp0;
    5739          56 :     compiler::TNode<JSReceiver> tmp1;
    5740          56 :     compiler::TNode<Number> tmp2;
    5741          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5742          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5743          56 :     compiler::TNode<JSTypedArray> tmp3;
    5744          56 :     USE(tmp3);
    5745          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5746          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5747          56 :     compiler::TNode<RawPtrT> tmp4;
    5748          56 :     USE(tmp4);
    5749          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5750          56 :     compiler::TNode<Smi> tmp5;
    5751          56 :     USE(tmp5);
    5752          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5753          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5754          56 :     compiler::TNode<Object> tmp6;
    5755          56 :     USE(tmp6);
    5756          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint16Array()), CodeStubAssembler::SMI_PARAMETERS));
    5757          56 :     CodeStubAssembler(state_).Return(tmp6);
    5758             :   }
    5759          56 : }
    5760             : 
    5761         392 : TF_BUILTIN(LoadJoinTypedElement17ATFixedInt16Array, CodeStubAssembler) {
    5762         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5763          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5764          56 :   USE(parameter0);
    5765          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5766          56 :   USE(parameter1);
    5767          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5768          56 :   USE(parameter2);
    5769         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5770          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5771             : 
    5772          56 :   if (block0.is_used()) {
    5773          56 :     compiler::TNode<Context> tmp0;
    5774          56 :     compiler::TNode<JSReceiver> tmp1;
    5775          56 :     compiler::TNode<Number> tmp2;
    5776          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5777          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5778          56 :     compiler::TNode<JSTypedArray> tmp3;
    5779          56 :     USE(tmp3);
    5780          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5781          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5782          56 :     compiler::TNode<RawPtrT> tmp4;
    5783          56 :     USE(tmp4);
    5784          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5785          56 :     compiler::TNode<Smi> tmp5;
    5786          56 :     USE(tmp5);
    5787          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5788          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5789          56 :     compiler::TNode<Object> tmp6;
    5790          56 :     USE(tmp6);
    5791          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType17ATFixedInt16Array()), CodeStubAssembler::SMI_PARAMETERS));
    5792          56 :     CodeStubAssembler(state_).Return(tmp6);
    5793             :   }
    5794          56 : }
    5795             : 
    5796         392 : TF_BUILTIN(LoadJoinTypedElement18ATFixedUint32Array, CodeStubAssembler) {
    5797         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    5798          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    5799          56 :   USE(parameter0);
    5800          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
    5801          56 :   USE(parameter1);
    5802          56 :   compiler::TNode<Number> parameter2 = UncheckedCast<Number>(Parameter(Descriptor::kK));
    5803          56 :   USE(parameter2);
    5804         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5805          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
    5806             : 
    5807          56 :   if (block0.is_used()) {
    5808          56 :     compiler::TNode<Context> tmp0;
    5809          56 :     compiler::TNode<JSReceiver> tmp1;
    5810          56 :     compiler::TNode<Number> tmp2;
    5811          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5812          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 55);
    5813          56 :     compiler::TNode<JSTypedArray> tmp3;
    5814          56 :     USE(tmp3);
    5815          56 :     tmp3 = ca_.UncheckedCast<JSTypedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast12JSTypedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    5816          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 58);
    5817          56 :     compiler::TNode<RawPtrT> tmp4;
    5818          56 :     USE(tmp4);
    5819          56 :     tmp4 = ca_.UncheckedCast<RawPtrT>(TypedArrayBuiltinsAssembler(state_).LoadDataPtr(compiler::TNode<JSTypedArray>{tmp3}));
    5820          56 :     compiler::TNode<Smi> tmp5;
    5821          56 :     USE(tmp5);
    5822          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    5823          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 57);
    5824          56 :     compiler::TNode<Object> tmp6;
    5825          56 :     USE(tmp6);
    5826          56 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedTypedArrayElementAsTagged(compiler::TNode<RawPtrT>{tmp4}, compiler::TNode<Smi>{tmp5}, (TypedArrayBuiltinsFromDSLAssembler(state_).KindForArrayType18ATFixedUint32Array()), CodeStubAssembler::SMI_PARAMETERS));
    5827          56 :     CodeStubAssembler(state_).Return(tmp6);
    5828             :   }
    5829          56 : }
    5830             : 
    5831         112 : compiler::TNode<String> ArrayJoinBuiltinsFromDSLAssembler::ArrayJoinImpl12JSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_receiver, compiler::TNode<String> p_sep, compiler::TNode<Number> p_lengthNumber, bool p_useToLocaleString, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options, compiler::TNode<BuiltinPtr> p_initialLoadFn) {
    5832         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5833         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5834         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5835         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5836         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, BuiltinPtr, JSReceiver, Map, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5837         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5838         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5839         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5840         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5841         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5842         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5843         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5844         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5845         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5846         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, String> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5847         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5848         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, String> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5849         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5850         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5851         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, Object, Number> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5852         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5853         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5854         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object, HeapObject> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5855         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5856         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5857         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5858         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5859         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5860         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5861         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block33(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5862         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5863         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block35(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5864         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5865         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT, BoolT, Context, IntPtrT, IntPtrT, BoolT> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5866         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, Object, String, String, IntPtrT, IntPtrT, Context, String, IntPtrT, IntPtrT> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5867         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5868         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block40(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5869         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5870         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block39(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5871         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block41(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5872         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5873         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block43(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5874         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT, IntPtrT, IntPtrT> block44(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5875         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, Map, UintPtrT, IntPtrT, IntPtrT, BuiltinPtr, FixedArray, IntPtrT, IntPtrT, BoolT, UintPtrT, IntPtrT, IntPtrT, Context, IntPtrT, IntPtrT, BoolT> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5876         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5877         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, String, Number, Object, Object, BuiltinPtr, String> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5878         112 :     ca_.Goto(&block0, p_context, p_receiver, p_sep, p_lengthNumber, p_locales, p_options, p_initialLoadFn);
    5879             : 
    5880         112 :   if (block0.is_used()) {
    5881         112 :     compiler::TNode<Context> tmp0;
    5882         112 :     compiler::TNode<JSReceiver> tmp1;
    5883         112 :     compiler::TNode<String> tmp2;
    5884         112 :     compiler::TNode<Number> tmp3;
    5885         112 :     compiler::TNode<Object> tmp4;
    5886         112 :     compiler::TNode<Object> tmp5;
    5887         112 :     compiler::TNode<BuiltinPtr> tmp6;
    5888         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
    5889         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 266);
    5890         112 :     compiler::TNode<Map> tmp7;
    5891         112 :     USE(tmp7);
    5892         112 :     tmp7 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp1}));
    5893         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 267);
    5894         112 :     compiler::TNode<UintPtrT> tmp8;
    5895         112 :     USE(tmp8);
    5896         112 :     tmp8 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATuintptr22UT12ATHeapNumber5ATSmi(compiler::TNode<Number>{tmp3}));
    5897         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 268);
    5898         112 :     compiler::TNode<IntPtrT> tmp9;
    5899         112 :     USE(tmp9);
    5900         112 :     tmp9 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp2}));
    5901         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 269);
    5902         112 :     compiler::TNode<IntPtrT> tmp10;
    5903         112 :     USE(tmp10);
    5904         112 :     tmp10 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    5905         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 270);
    5906         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 271);
    5907         112 :     compiler::TNode<FixedArray> tmp11;
    5908         112 :     USE(tmp11);
    5909         112 :     compiler::TNode<IntPtrT> tmp12;
    5910         112 :     USE(tmp12);
    5911         112 :     compiler::TNode<IntPtrT> tmp13;
    5912         112 :     USE(tmp13);
    5913         112 :     compiler::TNode<BoolT> tmp14;
    5914         112 :     USE(tmp14);
    5915         112 :     std::tie(tmp11, tmp12, tmp13, tmp14) = ArrayJoinBuiltinsFromDSLAssembler(state_).NewBuffer(compiler::TNode<UintPtrT>{tmp8}, compiler::TNode<String>{tmp2}).Flatten();
    5916         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 274);
    5917         112 :     compiler::TNode<UintPtrT> tmp15;
    5918         112 :     USE(tmp15);
    5919         112 :     tmp15 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    5920         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
    5921         112 :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp6, tmp11, tmp12, tmp13, tmp14, tmp15);
    5922             :   }
    5923             : 
    5924         112 :   if (block4.is_used()) {
    5925         112 :     compiler::TNode<Context> tmp16;
    5926         112 :     compiler::TNode<JSReceiver> tmp17;
    5927         112 :     compiler::TNode<String> tmp18;
    5928         112 :     compiler::TNode<Number> tmp19;
    5929         112 :     compiler::TNode<Object> tmp20;
    5930         112 :     compiler::TNode<Object> tmp21;
    5931         112 :     compiler::TNode<BuiltinPtr> tmp22;
    5932         112 :     compiler::TNode<Map> tmp23;
    5933         112 :     compiler::TNode<UintPtrT> tmp24;
    5934         112 :     compiler::TNode<IntPtrT> tmp25;
    5935         112 :     compiler::TNode<IntPtrT> tmp26;
    5936         112 :     compiler::TNode<BuiltinPtr> tmp27;
    5937         112 :     compiler::TNode<FixedArray> tmp28;
    5938         112 :     compiler::TNode<IntPtrT> tmp29;
    5939         112 :     compiler::TNode<IntPtrT> tmp30;
    5940         112 :     compiler::TNode<BoolT> tmp31;
    5941         112 :     compiler::TNode<UintPtrT> tmp32;
    5942         112 :     ca_.Bind(&block4, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32);
    5943         112 :     compiler::TNode<BoolT> tmp33;
    5944         112 :     USE(tmp33);
    5945         112 :     tmp33 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrLessThan(compiler::TNode<UintPtrT>{tmp32}, compiler::TNode<UintPtrT>{tmp24}));
    5946         112 :     ca_.Branch(tmp33, &block2, &block3, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32);
    5947             :   }
    5948             : 
    5949         112 :   if (block2.is_used()) {
    5950         112 :     compiler::TNode<Context> tmp34;
    5951         112 :     compiler::TNode<JSReceiver> tmp35;
    5952         112 :     compiler::TNode<String> tmp36;
    5953         112 :     compiler::TNode<Number> tmp37;
    5954         112 :     compiler::TNode<Object> tmp38;
    5955         112 :     compiler::TNode<Object> tmp39;
    5956         112 :     compiler::TNode<BuiltinPtr> tmp40;
    5957         112 :     compiler::TNode<Map> tmp41;
    5958         112 :     compiler::TNode<UintPtrT> tmp42;
    5959         112 :     compiler::TNode<IntPtrT> tmp43;
    5960         112 :     compiler::TNode<IntPtrT> tmp44;
    5961         112 :     compiler::TNode<BuiltinPtr> tmp45;
    5962         112 :     compiler::TNode<FixedArray> tmp46;
    5963         112 :     compiler::TNode<IntPtrT> tmp47;
    5964         112 :     compiler::TNode<IntPtrT> tmp48;
    5965         112 :     compiler::TNode<BoolT> tmp49;
    5966         112 :     compiler::TNode<UintPtrT> tmp50;
    5967         112 :     ca_.Bind(&block2, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
    5968         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 279);
    5969         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    5970         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    5971         224 :     compiler::CodeAssemblerLabel label1(&ca_);
    5972         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).CannotUseSameArrayAccessor12JSTypedArray(compiler::TNode<Context>{tmp34}, compiler::TNode<BuiltinPtr>{tmp45}, compiler::TNode<JSReceiver>{tmp35}, compiler::TNode<Map>{tmp41}, compiler::TNode<Number>{tmp37}, &label0, &label1);
    5973         112 :     if (label0.is_used()) {
    5974         112 :       ca_.Bind(&label0);
    5975         112 :       ca_.Goto(&block7, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp45, tmp35, tmp41, tmp37);
    5976             :     }
    5977         112 :     if (label1.is_used()) {
    5978         112 :       ca_.Bind(&label1);
    5979         112 :       ca_.Goto(&block8, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp45, tmp35, tmp41, tmp37);
    5980             :     }
    5981             :   }
    5982             : 
    5983         112 :   if (block7.is_used()) {
    5984         112 :     compiler::TNode<Context> tmp51;
    5985         112 :     compiler::TNode<JSReceiver> tmp52;
    5986         112 :     compiler::TNode<String> tmp53;
    5987         112 :     compiler::TNode<Number> tmp54;
    5988         112 :     compiler::TNode<Object> tmp55;
    5989         112 :     compiler::TNode<Object> tmp56;
    5990         112 :     compiler::TNode<BuiltinPtr> tmp57;
    5991         112 :     compiler::TNode<Map> tmp58;
    5992         112 :     compiler::TNode<UintPtrT> tmp59;
    5993         112 :     compiler::TNode<IntPtrT> tmp60;
    5994         112 :     compiler::TNode<IntPtrT> tmp61;
    5995         112 :     compiler::TNode<BuiltinPtr> tmp62;
    5996         112 :     compiler::TNode<FixedArray> tmp63;
    5997         112 :     compiler::TNode<IntPtrT> tmp64;
    5998         112 :     compiler::TNode<IntPtrT> tmp65;
    5999         112 :     compiler::TNode<BoolT> tmp66;
    6000         112 :     compiler::TNode<UintPtrT> tmp67;
    6001         112 :     compiler::TNode<BuiltinPtr> tmp68;
    6002         112 :     compiler::TNode<JSReceiver> tmp69;
    6003         112 :     compiler::TNode<Map> tmp70;
    6004         112 :     compiler::TNode<Number> tmp71;
    6005         112 :     ca_.Bind(&block7, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71);
    6006         112 :     ca_.Goto(&block5, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67);
    6007             :   }
    6008             : 
    6009         112 :   if (block8.is_used()) {
    6010         112 :     compiler::TNode<Context> tmp72;
    6011         112 :     compiler::TNode<JSReceiver> tmp73;
    6012         112 :     compiler::TNode<String> tmp74;
    6013         112 :     compiler::TNode<Number> tmp75;
    6014         112 :     compiler::TNode<Object> tmp76;
    6015         112 :     compiler::TNode<Object> tmp77;
    6016         112 :     compiler::TNode<BuiltinPtr> tmp78;
    6017         112 :     compiler::TNode<Map> tmp79;
    6018         112 :     compiler::TNode<UintPtrT> tmp80;
    6019         112 :     compiler::TNode<IntPtrT> tmp81;
    6020         112 :     compiler::TNode<IntPtrT> tmp82;
    6021         112 :     compiler::TNode<BuiltinPtr> tmp83;
    6022         112 :     compiler::TNode<FixedArray> tmp84;
    6023         112 :     compiler::TNode<IntPtrT> tmp85;
    6024         112 :     compiler::TNode<IntPtrT> tmp86;
    6025         112 :     compiler::TNode<BoolT> tmp87;
    6026         112 :     compiler::TNode<UintPtrT> tmp88;
    6027         112 :     compiler::TNode<BuiltinPtr> tmp89;
    6028         112 :     compiler::TNode<JSReceiver> tmp90;
    6029         112 :     compiler::TNode<Map> tmp91;
    6030         112 :     compiler::TNode<Number> tmp92;
    6031         112 :     ca_.Bind(&block8, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
    6032         112 :     ca_.Goto(&block6, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88);
    6033             :   }
    6034             : 
    6035         112 :   if (block5.is_used()) {
    6036         112 :     compiler::TNode<Context> tmp93;
    6037         112 :     compiler::TNode<JSReceiver> tmp94;
    6038         112 :     compiler::TNode<String> tmp95;
    6039         112 :     compiler::TNode<Number> tmp96;
    6040         112 :     compiler::TNode<Object> tmp97;
    6041         112 :     compiler::TNode<Object> tmp98;
    6042         112 :     compiler::TNode<BuiltinPtr> tmp99;
    6043         112 :     compiler::TNode<Map> tmp100;
    6044         112 :     compiler::TNode<UintPtrT> tmp101;
    6045         112 :     compiler::TNode<IntPtrT> tmp102;
    6046         112 :     compiler::TNode<IntPtrT> tmp103;
    6047         112 :     compiler::TNode<BuiltinPtr> tmp104;
    6048         112 :     compiler::TNode<FixedArray> tmp105;
    6049         112 :     compiler::TNode<IntPtrT> tmp106;
    6050         112 :     compiler::TNode<IntPtrT> tmp107;
    6051         112 :     compiler::TNode<BoolT> tmp108;
    6052         112 :     compiler::TNode<UintPtrT> tmp109;
    6053         112 :     ca_.Bind(&block5, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
    6054         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 281);
    6055         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 278);
    6056         112 :     ca_.Goto(&block6, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, ca_.UncheckedCast<BuiltinPtr>(ca_.SmiConstant(Builtins::kLoadJoinElement25ATGenericElementsAccessor)), tmp105, tmp106, tmp107, tmp108, tmp109);
    6057             :   }
    6058             : 
    6059         112 :   if (block6.is_used()) {
    6060         112 :     compiler::TNode<Context> tmp110;
    6061         112 :     compiler::TNode<JSReceiver> tmp111;
    6062         112 :     compiler::TNode<String> tmp112;
    6063         112 :     compiler::TNode<Number> tmp113;
    6064         112 :     compiler::TNode<Object> tmp114;
    6065         112 :     compiler::TNode<Object> tmp115;
    6066         112 :     compiler::TNode<BuiltinPtr> tmp116;
    6067         112 :     compiler::TNode<Map> tmp117;
    6068         112 :     compiler::TNode<UintPtrT> tmp118;
    6069         112 :     compiler::TNode<IntPtrT> tmp119;
    6070         112 :     compiler::TNode<IntPtrT> tmp120;
    6071         112 :     compiler::TNode<BuiltinPtr> tmp121;
    6072         112 :     compiler::TNode<FixedArray> tmp122;
    6073         112 :     compiler::TNode<IntPtrT> tmp123;
    6074         112 :     compiler::TNode<IntPtrT> tmp124;
    6075         112 :     compiler::TNode<BoolT> tmp125;
    6076         112 :     compiler::TNode<UintPtrT> tmp126;
    6077         112 :     ca_.Bind(&block6, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
    6078         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
    6079         112 :     compiler::TNode<UintPtrT> tmp127;
    6080         112 :     USE(tmp127);
    6081         112 :     tmp127 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(0));
    6082         112 :     compiler::TNode<BoolT> tmp128;
    6083         112 :     USE(tmp128);
    6084         112 :     tmp128 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).UintPtrGreaterThan(compiler::TNode<UintPtrT>{tmp126}, compiler::TNode<UintPtrT>{tmp127}));
    6085         112 :     ca_.Branch(tmp128, &block9, &block10, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126);
    6086             :   }
    6087             : 
    6088         112 :   if (block9.is_used()) {
    6089         112 :     compiler::TNode<Context> tmp129;
    6090         112 :     compiler::TNode<JSReceiver> tmp130;
    6091         112 :     compiler::TNode<String> tmp131;
    6092         112 :     compiler::TNode<Number> tmp132;
    6093         112 :     compiler::TNode<Object> tmp133;
    6094         112 :     compiler::TNode<Object> tmp134;
    6095         112 :     compiler::TNode<BuiltinPtr> tmp135;
    6096         112 :     compiler::TNode<Map> tmp136;
    6097         112 :     compiler::TNode<UintPtrT> tmp137;
    6098         112 :     compiler::TNode<IntPtrT> tmp138;
    6099         112 :     compiler::TNode<IntPtrT> tmp139;
    6100         112 :     compiler::TNode<BuiltinPtr> tmp140;
    6101         112 :     compiler::TNode<FixedArray> tmp141;
    6102         112 :     compiler::TNode<IntPtrT> tmp142;
    6103         112 :     compiler::TNode<IntPtrT> tmp143;
    6104         112 :     compiler::TNode<BoolT> tmp144;
    6105         112 :     compiler::TNode<UintPtrT> tmp145;
    6106         112 :     ca_.Bind(&block9, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145);
    6107         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 286);
    6108         112 :     compiler::TNode<IntPtrT> tmp146;
    6109         112 :     USE(tmp146);
    6110         112 :     tmp146 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    6111         112 :     compiler::TNode<IntPtrT> tmp147;
    6112         112 :     USE(tmp147);
    6113         112 :     tmp147 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp139}, compiler::TNode<IntPtrT>{tmp146}));
    6114         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 284);
    6115         112 :     ca_.Goto(&block10, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp147, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145);
    6116             :   }
    6117             : 
    6118         112 :   if (block10.is_used()) {
    6119         112 :     compiler::TNode<Context> tmp148;
    6120         112 :     compiler::TNode<JSReceiver> tmp149;
    6121         112 :     compiler::TNode<String> tmp150;
    6122         112 :     compiler::TNode<Number> tmp151;
    6123         112 :     compiler::TNode<Object> tmp152;
    6124         112 :     compiler::TNode<Object> tmp153;
    6125         112 :     compiler::TNode<BuiltinPtr> tmp154;
    6126         112 :     compiler::TNode<Map> tmp155;
    6127         112 :     compiler::TNode<UintPtrT> tmp156;
    6128         112 :     compiler::TNode<IntPtrT> tmp157;
    6129         112 :     compiler::TNode<IntPtrT> tmp158;
    6130         112 :     compiler::TNode<BuiltinPtr> tmp159;
    6131         112 :     compiler::TNode<FixedArray> tmp160;
    6132         112 :     compiler::TNode<IntPtrT> tmp161;
    6133         112 :     compiler::TNode<IntPtrT> tmp162;
    6134         112 :     compiler::TNode<BoolT> tmp163;
    6135         112 :     compiler::TNode<UintPtrT> tmp164;
    6136         112 :     ca_.Bind(&block10, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164);
    6137         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 290);
    6138         112 :     compiler::TNode<UintPtrT> tmp165;
    6139         112 :     USE(tmp165);
    6140         112 :     tmp165 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr17ATconstexpr_int31(1));
    6141         112 :     compiler::TNode<UintPtrT> tmp166;
    6142         112 :     USE(tmp166);
    6143         112 :     tmp166 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).UintPtrAdd(compiler::TNode<UintPtrT>{tmp164}, compiler::TNode<UintPtrT>{tmp165}));
    6144         112 :     compiler::TNode<Number> tmp167;
    6145         112 :     USE(tmp167);
    6146         112 :     tmp167 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Convert22UT12ATHeapNumber5ATSmi9ATuintptr(compiler::TNode<UintPtrT>{tmp164}));
    6147         112 :     compiler::TNode<Object> tmp168 = CodeStubAssembler(state_).CallBuiltinPointer(Builtins::CallableFor(ca_.isolate(),ExampleBuiltinForTorqueFunctionPointerType(0)).descriptor(), tmp159, tmp148, tmp149, tmp167); 
    6148         112 :     USE(tmp168);
    6149         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 294);
    6150         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    6151         112 :     if ((p_useToLocaleString)) {
    6152          56 :       ca_.Goto(&block11, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp166, tmp168, ca_.Uninitialized<String>());
    6153             :     } else {
    6154          56 :       ca_.Goto(&block12, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp166, tmp168, ca_.Uninitialized<String>());
    6155             :     }
    6156             :   }
    6157             : 
    6158         112 :   if (block11.is_used()) {
    6159          56 :     compiler::TNode<Context> tmp169;
    6160          56 :     compiler::TNode<JSReceiver> tmp170;
    6161          56 :     compiler::TNode<String> tmp171;
    6162          56 :     compiler::TNode<Number> tmp172;
    6163          56 :     compiler::TNode<Object> tmp173;
    6164          56 :     compiler::TNode<Object> tmp174;
    6165          56 :     compiler::TNode<BuiltinPtr> tmp175;
    6166          56 :     compiler::TNode<Map> tmp176;
    6167          56 :     compiler::TNode<UintPtrT> tmp177;
    6168          56 :     compiler::TNode<IntPtrT> tmp178;
    6169          56 :     compiler::TNode<IntPtrT> tmp179;
    6170          56 :     compiler::TNode<BuiltinPtr> tmp180;
    6171          56 :     compiler::TNode<FixedArray> tmp181;
    6172          56 :     compiler::TNode<IntPtrT> tmp182;
    6173          56 :     compiler::TNode<IntPtrT> tmp183;
    6174          56 :     compiler::TNode<BoolT> tmp184;
    6175          56 :     compiler::TNode<UintPtrT> tmp185;
    6176          56 :     compiler::TNode<Object> tmp186;
    6177          56 :     compiler::TNode<String> tmp187;
    6178          56 :     ca_.Bind(&block11, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187);
    6179          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 296);
    6180          56 :     compiler::TNode<String> tmp188;
    6181          56 :     tmp188 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kConvertToLocaleString, tmp169, tmp186, tmp173, tmp174));
    6182          56 :     USE(tmp188);
    6183          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 297);
    6184          56 :     compiler::TNode<String> tmp189;
    6185          56 :     USE(tmp189);
    6186          56 :     tmp189 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    6187          56 :     compiler::TNode<BoolT> tmp190;
    6188          56 :     USE(tmp190);
    6189          56 :     tmp190 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp188}, compiler::TNode<HeapObject>{tmp189}));
    6190          56 :     ca_.Branch(tmp190, &block14, &block15, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp188);
    6191             :   }
    6192             : 
    6193         112 :   if (block14.is_used()) {
    6194          56 :     compiler::TNode<Context> tmp191;
    6195          56 :     compiler::TNode<JSReceiver> tmp192;
    6196          56 :     compiler::TNode<String> tmp193;
    6197          56 :     compiler::TNode<Number> tmp194;
    6198          56 :     compiler::TNode<Object> tmp195;
    6199          56 :     compiler::TNode<Object> tmp196;
    6200          56 :     compiler::TNode<BuiltinPtr> tmp197;
    6201          56 :     compiler::TNode<Map> tmp198;
    6202          56 :     compiler::TNode<UintPtrT> tmp199;
    6203          56 :     compiler::TNode<IntPtrT> tmp200;
    6204          56 :     compiler::TNode<IntPtrT> tmp201;
    6205          56 :     compiler::TNode<BuiltinPtr> tmp202;
    6206          56 :     compiler::TNode<FixedArray> tmp203;
    6207          56 :     compiler::TNode<IntPtrT> tmp204;
    6208          56 :     compiler::TNode<IntPtrT> tmp205;
    6209          56 :     compiler::TNode<BoolT> tmp206;
    6210          56 :     compiler::TNode<UintPtrT> tmp207;
    6211          56 :     compiler::TNode<Object> tmp208;
    6212          56 :     compiler::TNode<String> tmp209;
    6213          56 :     ca_.Bind(&block14, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209);
    6214          56 :     ca_.Goto(&block4, tmp191, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207);
    6215             :   }
    6216             : 
    6217         112 :   if (block15.is_used()) {
    6218          56 :     compiler::TNode<Context> tmp210;
    6219          56 :     compiler::TNode<JSReceiver> tmp211;
    6220          56 :     compiler::TNode<String> tmp212;
    6221          56 :     compiler::TNode<Number> tmp213;
    6222          56 :     compiler::TNode<Object> tmp214;
    6223          56 :     compiler::TNode<Object> tmp215;
    6224          56 :     compiler::TNode<BuiltinPtr> tmp216;
    6225          56 :     compiler::TNode<Map> tmp217;
    6226          56 :     compiler::TNode<UintPtrT> tmp218;
    6227          56 :     compiler::TNode<IntPtrT> tmp219;
    6228          56 :     compiler::TNode<IntPtrT> tmp220;
    6229          56 :     compiler::TNode<BuiltinPtr> tmp221;
    6230          56 :     compiler::TNode<FixedArray> tmp222;
    6231          56 :     compiler::TNode<IntPtrT> tmp223;
    6232          56 :     compiler::TNode<IntPtrT> tmp224;
    6233          56 :     compiler::TNode<BoolT> tmp225;
    6234          56 :     compiler::TNode<UintPtrT> tmp226;
    6235          56 :     compiler::TNode<Object> tmp227;
    6236          56 :     compiler::TNode<String> tmp228;
    6237          56 :     ca_.Bind(&block15, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228);
    6238          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    6239          56 :     ca_.Goto(&block13, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228);
    6240             :   }
    6241             : 
    6242         112 :   if (block12.is_used()) {
    6243          56 :     compiler::TNode<Context> tmp229;
    6244          56 :     compiler::TNode<JSReceiver> tmp230;
    6245          56 :     compiler::TNode<String> tmp231;
    6246          56 :     compiler::TNode<Number> tmp232;
    6247          56 :     compiler::TNode<Object> tmp233;
    6248          56 :     compiler::TNode<Object> tmp234;
    6249          56 :     compiler::TNode<BuiltinPtr> tmp235;
    6250          56 :     compiler::TNode<Map> tmp236;
    6251          56 :     compiler::TNode<UintPtrT> tmp237;
    6252          56 :     compiler::TNode<IntPtrT> tmp238;
    6253          56 :     compiler::TNode<IntPtrT> tmp239;
    6254          56 :     compiler::TNode<BuiltinPtr> tmp240;
    6255          56 :     compiler::TNode<FixedArray> tmp241;
    6256          56 :     compiler::TNode<IntPtrT> tmp242;
    6257          56 :     compiler::TNode<IntPtrT> tmp243;
    6258          56 :     compiler::TNode<BoolT> tmp244;
    6259          56 :     compiler::TNode<UintPtrT> tmp245;
    6260          56 :     compiler::TNode<Object> tmp246;
    6261          56 :     compiler::TNode<String> tmp247;
    6262          56 :     ca_.Bind(&block12, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247);
    6263          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    6264          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    6265          56 :     compiler::TNode<String> tmp248;
    6266          56 :     USE(tmp248);
    6267         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    6268          56 :     tmp248 = BaseBuiltinsFromDSLAssembler(state_).Cast6String(compiler::TNode<Context>{tmp229}, compiler::TNode<Object>{tmp246}, &label0);
    6269          56 :     ca_.Goto(&block18, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp246, tmp246, tmp248);
    6270          56 :     if (label0.is_used()) {
    6271          56 :       ca_.Bind(&label0);
    6272          56 :       ca_.Goto(&block19, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp246, tmp246);
    6273             :     }
    6274             :   }
    6275             : 
    6276         112 :   if (block19.is_used()) {
    6277          56 :     compiler::TNode<Context> tmp249;
    6278          56 :     compiler::TNode<JSReceiver> tmp250;
    6279          56 :     compiler::TNode<String> tmp251;
    6280          56 :     compiler::TNode<Number> tmp252;
    6281          56 :     compiler::TNode<Object> tmp253;
    6282          56 :     compiler::TNode<Object> tmp254;
    6283          56 :     compiler::TNode<BuiltinPtr> tmp255;
    6284          56 :     compiler::TNode<Map> tmp256;
    6285          56 :     compiler::TNode<UintPtrT> tmp257;
    6286          56 :     compiler::TNode<IntPtrT> tmp258;
    6287          56 :     compiler::TNode<IntPtrT> tmp259;
    6288          56 :     compiler::TNode<BuiltinPtr> tmp260;
    6289          56 :     compiler::TNode<FixedArray> tmp261;
    6290          56 :     compiler::TNode<IntPtrT> tmp262;
    6291          56 :     compiler::TNode<IntPtrT> tmp263;
    6292          56 :     compiler::TNode<BoolT> tmp264;
    6293          56 :     compiler::TNode<UintPtrT> tmp265;
    6294          56 :     compiler::TNode<Object> tmp266;
    6295          56 :     compiler::TNode<String> tmp267;
    6296          56 :     compiler::TNode<Object> tmp268;
    6297          56 :     compiler::TNode<Object> tmp269;
    6298          56 :     ca_.Bind(&block19, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269);
    6299          56 :     ca_.Goto(&block17, tmp249, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268);
    6300             :   }
    6301             : 
    6302         112 :   if (block18.is_used()) {
    6303          56 :     compiler::TNode<Context> tmp270;
    6304          56 :     compiler::TNode<JSReceiver> tmp271;
    6305          56 :     compiler::TNode<String> tmp272;
    6306          56 :     compiler::TNode<Number> tmp273;
    6307          56 :     compiler::TNode<Object> tmp274;
    6308          56 :     compiler::TNode<Object> tmp275;
    6309          56 :     compiler::TNode<BuiltinPtr> tmp276;
    6310          56 :     compiler::TNode<Map> tmp277;
    6311          56 :     compiler::TNode<UintPtrT> tmp278;
    6312          56 :     compiler::TNode<IntPtrT> tmp279;
    6313          56 :     compiler::TNode<IntPtrT> tmp280;
    6314          56 :     compiler::TNode<BuiltinPtr> tmp281;
    6315          56 :     compiler::TNode<FixedArray> tmp282;
    6316          56 :     compiler::TNode<IntPtrT> tmp283;
    6317          56 :     compiler::TNode<IntPtrT> tmp284;
    6318          56 :     compiler::TNode<BoolT> tmp285;
    6319          56 :     compiler::TNode<UintPtrT> tmp286;
    6320          56 :     compiler::TNode<Object> tmp287;
    6321          56 :     compiler::TNode<String> tmp288;
    6322          56 :     compiler::TNode<Object> tmp289;
    6323          56 :     compiler::TNode<Object> tmp290;
    6324          56 :     compiler::TNode<String> tmp291;
    6325          56 :     ca_.Bind(&block18, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291);
    6326          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 301);
    6327          56 :     compiler::TNode<String> tmp292;
    6328          56 :     USE(tmp292);
    6329          56 :     tmp292 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    6330          56 :     compiler::TNode<BoolT> tmp293;
    6331          56 :     USE(tmp293);
    6332          56 :     tmp293 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp291}, compiler::TNode<HeapObject>{tmp292}));
    6333          56 :     ca_.Branch(tmp293, &block20, &block21, tmp270, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp291);
    6334             :   }
    6335             : 
    6336         112 :   if (block20.is_used()) {
    6337          56 :     compiler::TNode<Context> tmp294;
    6338          56 :     compiler::TNode<JSReceiver> tmp295;
    6339          56 :     compiler::TNode<String> tmp296;
    6340          56 :     compiler::TNode<Number> tmp297;
    6341          56 :     compiler::TNode<Object> tmp298;
    6342          56 :     compiler::TNode<Object> tmp299;
    6343          56 :     compiler::TNode<BuiltinPtr> tmp300;
    6344          56 :     compiler::TNode<Map> tmp301;
    6345          56 :     compiler::TNode<UintPtrT> tmp302;
    6346          56 :     compiler::TNode<IntPtrT> tmp303;
    6347          56 :     compiler::TNode<IntPtrT> tmp304;
    6348          56 :     compiler::TNode<BuiltinPtr> tmp305;
    6349          56 :     compiler::TNode<FixedArray> tmp306;
    6350          56 :     compiler::TNode<IntPtrT> tmp307;
    6351          56 :     compiler::TNode<IntPtrT> tmp308;
    6352          56 :     compiler::TNode<BoolT> tmp309;
    6353          56 :     compiler::TNode<UintPtrT> tmp310;
    6354          56 :     compiler::TNode<Object> tmp311;
    6355          56 :     compiler::TNode<String> tmp312;
    6356          56 :     compiler::TNode<Object> tmp313;
    6357          56 :     compiler::TNode<String> tmp314;
    6358          56 :     ca_.Bind(&block20, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314);
    6359          56 :     ca_.Goto(&block4, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310);
    6360             :   }
    6361             : 
    6362         112 :   if (block21.is_used()) {
    6363          56 :     compiler::TNode<Context> tmp315;
    6364          56 :     compiler::TNode<JSReceiver> tmp316;
    6365          56 :     compiler::TNode<String> tmp317;
    6366          56 :     compiler::TNode<Number> tmp318;
    6367          56 :     compiler::TNode<Object> tmp319;
    6368          56 :     compiler::TNode<Object> tmp320;
    6369          56 :     compiler::TNode<BuiltinPtr> tmp321;
    6370          56 :     compiler::TNode<Map> tmp322;
    6371          56 :     compiler::TNode<UintPtrT> tmp323;
    6372          56 :     compiler::TNode<IntPtrT> tmp324;
    6373          56 :     compiler::TNode<IntPtrT> tmp325;
    6374          56 :     compiler::TNode<BuiltinPtr> tmp326;
    6375          56 :     compiler::TNode<FixedArray> tmp327;
    6376          56 :     compiler::TNode<IntPtrT> tmp328;
    6377          56 :     compiler::TNode<IntPtrT> tmp329;
    6378          56 :     compiler::TNode<BoolT> tmp330;
    6379          56 :     compiler::TNode<UintPtrT> tmp331;
    6380          56 :     compiler::TNode<Object> tmp332;
    6381          56 :     compiler::TNode<String> tmp333;
    6382          56 :     compiler::TNode<Object> tmp334;
    6383          56 :     compiler::TNode<String> tmp335;
    6384          56 :     ca_.Bind(&block21, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335);
    6385          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 302);
    6386          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    6387          56 :     ca_.Goto(&block16, tmp315, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp335, tmp334);
    6388             :   }
    6389             : 
    6390         112 :   if (block17.is_used()) {
    6391          56 :     compiler::TNode<Context> tmp336;
    6392          56 :     compiler::TNode<JSReceiver> tmp337;
    6393          56 :     compiler::TNode<String> tmp338;
    6394          56 :     compiler::TNode<Number> tmp339;
    6395          56 :     compiler::TNode<Object> tmp340;
    6396          56 :     compiler::TNode<Object> tmp341;
    6397          56 :     compiler::TNode<BuiltinPtr> tmp342;
    6398          56 :     compiler::TNode<Map> tmp343;
    6399          56 :     compiler::TNode<UintPtrT> tmp344;
    6400          56 :     compiler::TNode<IntPtrT> tmp345;
    6401          56 :     compiler::TNode<IntPtrT> tmp346;
    6402          56 :     compiler::TNode<BuiltinPtr> tmp347;
    6403          56 :     compiler::TNode<FixedArray> tmp348;
    6404          56 :     compiler::TNode<IntPtrT> tmp349;
    6405          56 :     compiler::TNode<IntPtrT> tmp350;
    6406          56 :     compiler::TNode<BoolT> tmp351;
    6407          56 :     compiler::TNode<UintPtrT> tmp352;
    6408          56 :     compiler::TNode<Object> tmp353;
    6409          56 :     compiler::TNode<String> tmp354;
    6410          56 :     compiler::TNode<Object> tmp355;
    6411          56 :     ca_.Bind(&block17, &tmp336, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355);
    6412          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    6413          56 :     compiler::TNode<Number> tmp356;
    6414          56 :     USE(tmp356);
    6415         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    6416          56 :     tmp356 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp355)}, &label0);
    6417          56 :     ca_.Goto(&block24, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, ca_.UncheckedCast<Object>(tmp355), tmp356);
    6418          56 :     if (label0.is_used()) {
    6419          56 :       ca_.Bind(&label0);
    6420          56 :       ca_.Goto(&block25, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, ca_.UncheckedCast<Object>(tmp355));
    6421             :     }
    6422             :   }
    6423             : 
    6424         112 :   if (block25.is_used()) {
    6425          56 :     compiler::TNode<Context> tmp357;
    6426          56 :     compiler::TNode<JSReceiver> tmp358;
    6427          56 :     compiler::TNode<String> tmp359;
    6428          56 :     compiler::TNode<Number> tmp360;
    6429          56 :     compiler::TNode<Object> tmp361;
    6430          56 :     compiler::TNode<Object> tmp362;
    6431          56 :     compiler::TNode<BuiltinPtr> tmp363;
    6432          56 :     compiler::TNode<Map> tmp364;
    6433          56 :     compiler::TNode<UintPtrT> tmp365;
    6434          56 :     compiler::TNode<IntPtrT> tmp366;
    6435          56 :     compiler::TNode<IntPtrT> tmp367;
    6436          56 :     compiler::TNode<BuiltinPtr> tmp368;
    6437          56 :     compiler::TNode<FixedArray> tmp369;
    6438          56 :     compiler::TNode<IntPtrT> tmp370;
    6439          56 :     compiler::TNode<IntPtrT> tmp371;
    6440          56 :     compiler::TNode<BoolT> tmp372;
    6441          56 :     compiler::TNode<UintPtrT> tmp373;
    6442          56 :     compiler::TNode<Object> tmp374;
    6443          56 :     compiler::TNode<String> tmp375;
    6444          56 :     compiler::TNode<Object> tmp376;
    6445          56 :     compiler::TNode<Object> tmp377;
    6446          56 :     ca_.Bind(&block25, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377);
    6447          56 :     ca_.Goto(&block23, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376);
    6448             :   }
    6449             : 
    6450         112 :   if (block24.is_used()) {
    6451          56 :     compiler::TNode<Context> tmp378;
    6452          56 :     compiler::TNode<JSReceiver> tmp379;
    6453          56 :     compiler::TNode<String> tmp380;
    6454          56 :     compiler::TNode<Number> tmp381;
    6455          56 :     compiler::TNode<Object> tmp382;
    6456          56 :     compiler::TNode<Object> tmp383;
    6457          56 :     compiler::TNode<BuiltinPtr> tmp384;
    6458          56 :     compiler::TNode<Map> tmp385;
    6459          56 :     compiler::TNode<UintPtrT> tmp386;
    6460          56 :     compiler::TNode<IntPtrT> tmp387;
    6461          56 :     compiler::TNode<IntPtrT> tmp388;
    6462          56 :     compiler::TNode<BuiltinPtr> tmp389;
    6463          56 :     compiler::TNode<FixedArray> tmp390;
    6464          56 :     compiler::TNode<IntPtrT> tmp391;
    6465          56 :     compiler::TNode<IntPtrT> tmp392;
    6466          56 :     compiler::TNode<BoolT> tmp393;
    6467          56 :     compiler::TNode<UintPtrT> tmp394;
    6468          56 :     compiler::TNode<Object> tmp395;
    6469          56 :     compiler::TNode<String> tmp396;
    6470          56 :     compiler::TNode<Object> tmp397;
    6471          56 :     compiler::TNode<Object> tmp398;
    6472          56 :     compiler::TNode<Number> tmp399;
    6473          56 :     ca_.Bind(&block24, &tmp378, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397, &tmp398, &tmp399);
    6474          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 305);
    6475          56 :     compiler::TNode<String> tmp400;
    6476          56 :     USE(tmp400);
    6477          56 :     tmp400 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).NumberToString(compiler::TNode<Number>{tmp399}));
    6478          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    6479          56 :     ca_.Goto(&block22, tmp378, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp400, tmp397);
    6480             :   }
    6481             : 
    6482         112 :   if (block23.is_used()) {
    6483          56 :     compiler::TNode<Context> tmp401;
    6484          56 :     compiler::TNode<JSReceiver> tmp402;
    6485          56 :     compiler::TNode<String> tmp403;
    6486          56 :     compiler::TNode<Number> tmp404;
    6487          56 :     compiler::TNode<Object> tmp405;
    6488          56 :     compiler::TNode<Object> tmp406;
    6489          56 :     compiler::TNode<BuiltinPtr> tmp407;
    6490          56 :     compiler::TNode<Map> tmp408;
    6491          56 :     compiler::TNode<UintPtrT> tmp409;
    6492          56 :     compiler::TNode<IntPtrT> tmp410;
    6493          56 :     compiler::TNode<IntPtrT> tmp411;
    6494          56 :     compiler::TNode<BuiltinPtr> tmp412;
    6495          56 :     compiler::TNode<FixedArray> tmp413;
    6496          56 :     compiler::TNode<IntPtrT> tmp414;
    6497          56 :     compiler::TNode<IntPtrT> tmp415;
    6498          56 :     compiler::TNode<BoolT> tmp416;
    6499          56 :     compiler::TNode<UintPtrT> tmp417;
    6500          56 :     compiler::TNode<Object> tmp418;
    6501          56 :     compiler::TNode<String> tmp419;
    6502          56 :     compiler::TNode<Object> tmp420;
    6503          56 :     ca_.Bind(&block23, &tmp401, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420);
    6504          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 307);
    6505          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 308);
    6506          56 :     compiler::TNode<BoolT> tmp421;
    6507          56 :     USE(tmp421);
    6508          56 :     tmp421 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{ca_.UncheckedCast<HeapObject>(tmp420)}));
    6509          56 :     ca_.Branch(tmp421, &block26, &block27, tmp401, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, ca_.UncheckedCast<HeapObject>(tmp420));
    6510             :   }
    6511             : 
    6512         112 :   if (block26.is_used()) {
    6513          56 :     compiler::TNode<Context> tmp422;
    6514          56 :     compiler::TNode<JSReceiver> tmp423;
    6515          56 :     compiler::TNode<String> tmp424;
    6516          56 :     compiler::TNode<Number> tmp425;
    6517          56 :     compiler::TNode<Object> tmp426;
    6518          56 :     compiler::TNode<Object> tmp427;
    6519          56 :     compiler::TNode<BuiltinPtr> tmp428;
    6520          56 :     compiler::TNode<Map> tmp429;
    6521          56 :     compiler::TNode<UintPtrT> tmp430;
    6522          56 :     compiler::TNode<IntPtrT> tmp431;
    6523          56 :     compiler::TNode<IntPtrT> tmp432;
    6524          56 :     compiler::TNode<BuiltinPtr> tmp433;
    6525          56 :     compiler::TNode<FixedArray> tmp434;
    6526          56 :     compiler::TNode<IntPtrT> tmp435;
    6527          56 :     compiler::TNode<IntPtrT> tmp436;
    6528          56 :     compiler::TNode<BoolT> tmp437;
    6529          56 :     compiler::TNode<UintPtrT> tmp438;
    6530          56 :     compiler::TNode<Object> tmp439;
    6531          56 :     compiler::TNode<String> tmp440;
    6532          56 :     compiler::TNode<Object> tmp441;
    6533          56 :     compiler::TNode<HeapObject> tmp442;
    6534          56 :     ca_.Bind(&block26, &tmp422, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442);
    6535          56 :     ca_.Goto(&block4, tmp422, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438);
    6536             :   }
    6537             : 
    6538         112 :   if (block27.is_used()) {
    6539          56 :     compiler::TNode<Context> tmp443;
    6540          56 :     compiler::TNode<JSReceiver> tmp444;
    6541          56 :     compiler::TNode<String> tmp445;
    6542          56 :     compiler::TNode<Number> tmp446;
    6543          56 :     compiler::TNode<Object> tmp447;
    6544          56 :     compiler::TNode<Object> tmp448;
    6545          56 :     compiler::TNode<BuiltinPtr> tmp449;
    6546          56 :     compiler::TNode<Map> tmp450;
    6547          56 :     compiler::TNode<UintPtrT> tmp451;
    6548          56 :     compiler::TNode<IntPtrT> tmp452;
    6549          56 :     compiler::TNode<IntPtrT> tmp453;
    6550          56 :     compiler::TNode<BuiltinPtr> tmp454;
    6551          56 :     compiler::TNode<FixedArray> tmp455;
    6552          56 :     compiler::TNode<IntPtrT> tmp456;
    6553          56 :     compiler::TNode<IntPtrT> tmp457;
    6554          56 :     compiler::TNode<BoolT> tmp458;
    6555          56 :     compiler::TNode<UintPtrT> tmp459;
    6556          56 :     compiler::TNode<Object> tmp460;
    6557          56 :     compiler::TNode<String> tmp461;
    6558          56 :     compiler::TNode<Object> tmp462;
    6559          56 :     compiler::TNode<HeapObject> tmp463;
    6560          56 :     ca_.Bind(&block27, &tmp443, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463);
    6561          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 309);
    6562          56 :     compiler::TNode<String> tmp464;
    6563          56 :     tmp464 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToString, tmp443, tmp463));
    6564          56 :     USE(tmp464);
    6565          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 304);
    6566          56 :     ca_.Goto(&block22, tmp443, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp464, tmp462);
    6567             :   }
    6568             : 
    6569         112 :   if (block22.is_used()) {
    6570          56 :     compiler::TNode<Context> tmp465;
    6571          56 :     compiler::TNode<JSReceiver> tmp466;
    6572          56 :     compiler::TNode<String> tmp467;
    6573          56 :     compiler::TNode<Number> tmp468;
    6574          56 :     compiler::TNode<Object> tmp469;
    6575          56 :     compiler::TNode<Object> tmp470;
    6576          56 :     compiler::TNode<BuiltinPtr> tmp471;
    6577          56 :     compiler::TNode<Map> tmp472;
    6578          56 :     compiler::TNode<UintPtrT> tmp473;
    6579          56 :     compiler::TNode<IntPtrT> tmp474;
    6580          56 :     compiler::TNode<IntPtrT> tmp475;
    6581          56 :     compiler::TNode<BuiltinPtr> tmp476;
    6582          56 :     compiler::TNode<FixedArray> tmp477;
    6583          56 :     compiler::TNode<IntPtrT> tmp478;
    6584          56 :     compiler::TNode<IntPtrT> tmp479;
    6585          56 :     compiler::TNode<BoolT> tmp480;
    6586          56 :     compiler::TNode<UintPtrT> tmp481;
    6587          56 :     compiler::TNode<Object> tmp482;
    6588          56 :     compiler::TNode<String> tmp483;
    6589          56 :     compiler::TNode<Object> tmp484;
    6590          56 :     ca_.Bind(&block22, &tmp465, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483, &tmp484);
    6591          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 300);
    6592          56 :     ca_.Goto(&block16, tmp465, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484);
    6593             :   }
    6594             : 
    6595         112 :   if (block16.is_used()) {
    6596          56 :     compiler::TNode<Context> tmp485;
    6597          56 :     compiler::TNode<JSReceiver> tmp486;
    6598          56 :     compiler::TNode<String> tmp487;
    6599          56 :     compiler::TNode<Number> tmp488;
    6600          56 :     compiler::TNode<Object> tmp489;
    6601          56 :     compiler::TNode<Object> tmp490;
    6602          56 :     compiler::TNode<BuiltinPtr> tmp491;
    6603          56 :     compiler::TNode<Map> tmp492;
    6604          56 :     compiler::TNode<UintPtrT> tmp493;
    6605          56 :     compiler::TNode<IntPtrT> tmp494;
    6606          56 :     compiler::TNode<IntPtrT> tmp495;
    6607          56 :     compiler::TNode<BuiltinPtr> tmp496;
    6608          56 :     compiler::TNode<FixedArray> tmp497;
    6609          56 :     compiler::TNode<IntPtrT> tmp498;
    6610          56 :     compiler::TNode<IntPtrT> tmp499;
    6611          56 :     compiler::TNode<BoolT> tmp500;
    6612          56 :     compiler::TNode<UintPtrT> tmp501;
    6613          56 :     compiler::TNode<Object> tmp502;
    6614          56 :     compiler::TNode<String> tmp503;
    6615          56 :     compiler::TNode<Object> tmp504;
    6616          56 :     ca_.Bind(&block16, &tmp485, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504);
    6617          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 299);
    6618          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 295);
    6619          56 :     ca_.Goto(&block13, tmp485, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503);
    6620             :   }
    6621             : 
    6622         112 :   if (block13.is_used()) {
    6623         112 :     compiler::TNode<Context> tmp505;
    6624         112 :     compiler::TNode<JSReceiver> tmp506;
    6625         112 :     compiler::TNode<String> tmp507;
    6626         112 :     compiler::TNode<Number> tmp508;
    6627         112 :     compiler::TNode<Object> tmp509;
    6628         112 :     compiler::TNode<Object> tmp510;
    6629         112 :     compiler::TNode<BuiltinPtr> tmp511;
    6630         112 :     compiler::TNode<Map> tmp512;
    6631         112 :     compiler::TNode<UintPtrT> tmp513;
    6632         112 :     compiler::TNode<IntPtrT> tmp514;
    6633         112 :     compiler::TNode<IntPtrT> tmp515;
    6634         112 :     compiler::TNode<BuiltinPtr> tmp516;
    6635         112 :     compiler::TNode<FixedArray> tmp517;
    6636         112 :     compiler::TNode<IntPtrT> tmp518;
    6637         112 :     compiler::TNode<IntPtrT> tmp519;
    6638         112 :     compiler::TNode<BoolT> tmp520;
    6639         112 :     compiler::TNode<UintPtrT> tmp521;
    6640         112 :     compiler::TNode<Object> tmp522;
    6641         112 :     compiler::TNode<String> tmp523;
    6642         112 :     ca_.Bind(&block13, &tmp505, &tmp506, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523);
    6643         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
    6644         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 158);
    6645         112 :     compiler::TNode<IntPtrT> tmp524;
    6646         112 :     USE(tmp524);
    6647         112 :     tmp524 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6648         112 :     compiler::TNode<BoolT> tmp525;
    6649         112 :     USE(tmp525);
    6650         112 :     tmp525 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp518}, compiler::TNode<IntPtrT>{tmp524}));
    6651         112 :     compiler::TNode<IntPtrT> tmp526;
    6652         112 :     USE(tmp526);
    6653         112 :     tmp526 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    6654         112 :     compiler::TNode<BoolT> tmp527;
    6655         112 :     USE(tmp527);
    6656         112 :     tmp527 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp515}, compiler::TNode<IntPtrT>{tmp526}));
    6657         112 :     compiler::TNode<BoolT> tmp528;
    6658         112 :     USE(tmp528);
    6659         112 :     tmp528 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32Or(compiler::TNode<BoolT>{tmp525}, compiler::TNode<BoolT>{tmp527}));
    6660         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
    6661         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
    6662         112 :     compiler::TNode<IntPtrT> tmp529;
    6663         112 :     USE(tmp529);
    6664         112 :     tmp529 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6665         112 :     compiler::TNode<BoolT> tmp530;
    6666         112 :     USE(tmp530);
    6667         112 :     tmp530 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp515}, compiler::TNode<IntPtrT>{tmp529}));
    6668         112 :     ca_.Branch(tmp530, &block30, &block32, tmp505, tmp506, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp522, tmp523, tmp523, tmp515, tmp514, tmp505, tmp523, tmp515, tmp514, tmp528, tmp515, tmp514, tmp528, tmp505, tmp515, tmp514, tmp528);
    6669             :   }
    6670             : 
    6671         112 :   if (block32.is_used()) {
    6672         112 :     compiler::TNode<Context> tmp531;
    6673         112 :     compiler::TNode<JSReceiver> tmp532;
    6674         112 :     compiler::TNode<String> tmp533;
    6675         112 :     compiler::TNode<Number> tmp534;
    6676         112 :     compiler::TNode<Object> tmp535;
    6677         112 :     compiler::TNode<Object> tmp536;
    6678         112 :     compiler::TNode<BuiltinPtr> tmp537;
    6679         112 :     compiler::TNode<Map> tmp538;
    6680         112 :     compiler::TNode<UintPtrT> tmp539;
    6681         112 :     compiler::TNode<IntPtrT> tmp540;
    6682         112 :     compiler::TNode<IntPtrT> tmp541;
    6683         112 :     compiler::TNode<BuiltinPtr> tmp542;
    6684         112 :     compiler::TNode<FixedArray> tmp543;
    6685         112 :     compiler::TNode<IntPtrT> tmp544;
    6686         112 :     compiler::TNode<IntPtrT> tmp545;
    6687         112 :     compiler::TNode<BoolT> tmp546;
    6688         112 :     compiler::TNode<UintPtrT> tmp547;
    6689         112 :     compiler::TNode<Object> tmp548;
    6690         112 :     compiler::TNode<String> tmp549;
    6691         112 :     compiler::TNode<String> tmp550;
    6692         112 :     compiler::TNode<IntPtrT> tmp551;
    6693         112 :     compiler::TNode<IntPtrT> tmp552;
    6694         112 :     compiler::TNode<Context> tmp553;
    6695         112 :     compiler::TNode<String> tmp554;
    6696         112 :     compiler::TNode<IntPtrT> tmp555;
    6697         112 :     compiler::TNode<IntPtrT> tmp556;
    6698         112 :     compiler::TNode<BoolT> tmp557;
    6699         112 :     compiler::TNode<IntPtrT> tmp558;
    6700         112 :     compiler::TNode<IntPtrT> tmp559;
    6701         112 :     compiler::TNode<BoolT> tmp560;
    6702         112 :     compiler::TNode<Context> tmp561;
    6703         112 :     compiler::TNode<IntPtrT> tmp562;
    6704         112 :     compiler::TNode<IntPtrT> tmp563;
    6705         112 :     compiler::TNode<BoolT> tmp564;
    6706         112 :     ca_.Bind(&block32, &tmp531, &tmp532, &tmp533, &tmp534, &tmp535, &tmp536, &tmp537, &tmp538, &tmp539, &tmp540, &tmp541, &tmp542, &tmp543, &tmp544, &tmp545, &tmp546, &tmp547, &tmp548, &tmp549, &tmp550, &tmp551, &tmp552, &tmp553, &tmp554, &tmp555, &tmp556, &tmp557, &tmp558, &tmp559, &tmp560, &tmp561, &tmp562, &tmp563, &tmp564);
    6707         112 :     compiler::TNode<IntPtrT> tmp565;
    6708         112 :     USE(tmp565);
    6709         112 :     tmp565 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    6710         112 :     compiler::TNode<BoolT> tmp566;
    6711         112 :     USE(tmp566);
    6712         112 :     tmp566 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp563}, compiler::TNode<IntPtrT>{tmp565}));
    6713         112 :     ca_.Branch(tmp566, &block30, &block31, tmp531, tmp532, tmp533, tmp534, tmp535, tmp536, tmp537, tmp538, tmp539, tmp540, tmp541, tmp542, tmp543, tmp544, tmp545, tmp546, tmp547, tmp548, tmp549, tmp550, tmp551, tmp552, tmp553, tmp554, tmp555, tmp556, tmp557, tmp558, tmp559, tmp560, tmp561, tmp562, tmp563, tmp564);
    6714             :   }
    6715             : 
    6716         112 :   if (block30.is_used()) {
    6717         112 :     compiler::TNode<Context> tmp567;
    6718         112 :     compiler::TNode<JSReceiver> tmp568;
    6719         112 :     compiler::TNode<String> tmp569;
    6720         112 :     compiler::TNode<Number> tmp570;
    6721         112 :     compiler::TNode<Object> tmp571;
    6722         112 :     compiler::TNode<Object> tmp572;
    6723         112 :     compiler::TNode<BuiltinPtr> tmp573;
    6724         112 :     compiler::TNode<Map> tmp574;
    6725         112 :     compiler::TNode<UintPtrT> tmp575;
    6726         112 :     compiler::TNode<IntPtrT> tmp576;
    6727         112 :     compiler::TNode<IntPtrT> tmp577;
    6728         112 :     compiler::TNode<BuiltinPtr> tmp578;
    6729         112 :     compiler::TNode<FixedArray> tmp579;
    6730         112 :     compiler::TNode<IntPtrT> tmp580;
    6731         112 :     compiler::TNode<IntPtrT> tmp581;
    6732         112 :     compiler::TNode<BoolT> tmp582;
    6733         112 :     compiler::TNode<UintPtrT> tmp583;
    6734         112 :     compiler::TNode<Object> tmp584;
    6735         112 :     compiler::TNode<String> tmp585;
    6736         112 :     compiler::TNode<String> tmp586;
    6737         112 :     compiler::TNode<IntPtrT> tmp587;
    6738         112 :     compiler::TNode<IntPtrT> tmp588;
    6739         112 :     compiler::TNode<Context> tmp589;
    6740         112 :     compiler::TNode<String> tmp590;
    6741         112 :     compiler::TNode<IntPtrT> tmp591;
    6742         112 :     compiler::TNode<IntPtrT> tmp592;
    6743         112 :     compiler::TNode<BoolT> tmp593;
    6744         112 :     compiler::TNode<IntPtrT> tmp594;
    6745         112 :     compiler::TNode<IntPtrT> tmp595;
    6746         112 :     compiler::TNode<BoolT> tmp596;
    6747         112 :     compiler::TNode<Context> tmp597;
    6748         112 :     compiler::TNode<IntPtrT> tmp598;
    6749         112 :     compiler::TNode<IntPtrT> tmp599;
    6750         112 :     compiler::TNode<BoolT> tmp600;
    6751         112 :     ca_.Bind(&block30, &tmp567, &tmp568, &tmp569, &tmp570, &tmp571, &tmp572, &tmp573, &tmp574, &tmp575, &tmp576, &tmp577, &tmp578, &tmp579, &tmp580, &tmp581, &tmp582, &tmp583, &tmp584, &tmp585, &tmp586, &tmp587, &tmp588, &tmp589, &tmp590, &tmp591, &tmp592, &tmp593, &tmp594, &tmp595, &tmp596, &tmp597, &tmp598, &tmp599, &tmp600);
    6752         112 :     ca_.Goto(&block29, tmp567, tmp568, tmp569, tmp570, tmp571, tmp572, tmp573, tmp574, tmp575, tmp576, tmp577, tmp578, tmp579, tmp580, tmp581, tmp582, tmp583, tmp584, tmp585, tmp586, tmp587, tmp588, tmp589, tmp590, tmp591, tmp592, tmp593, tmp594, tmp595, tmp596, tmp597, tmp598, tmp599, tmp600);
    6753             :   }
    6754             : 
    6755         112 :   if (block31.is_used()) {
    6756         112 :     compiler::TNode<Context> tmp601;
    6757         112 :     compiler::TNode<JSReceiver> tmp602;
    6758         112 :     compiler::TNode<String> tmp603;
    6759         112 :     compiler::TNode<Number> tmp604;
    6760         112 :     compiler::TNode<Object> tmp605;
    6761         112 :     compiler::TNode<Object> tmp606;
    6762         112 :     compiler::TNode<BuiltinPtr> tmp607;
    6763         112 :     compiler::TNode<Map> tmp608;
    6764         112 :     compiler::TNode<UintPtrT> tmp609;
    6765         112 :     compiler::TNode<IntPtrT> tmp610;
    6766         112 :     compiler::TNode<IntPtrT> tmp611;
    6767         112 :     compiler::TNode<BuiltinPtr> tmp612;
    6768         112 :     compiler::TNode<FixedArray> tmp613;
    6769         112 :     compiler::TNode<IntPtrT> tmp614;
    6770         112 :     compiler::TNode<IntPtrT> tmp615;
    6771         112 :     compiler::TNode<BoolT> tmp616;
    6772         112 :     compiler::TNode<UintPtrT> tmp617;
    6773         112 :     compiler::TNode<Object> tmp618;
    6774         112 :     compiler::TNode<String> tmp619;
    6775         112 :     compiler::TNode<String> tmp620;
    6776         112 :     compiler::TNode<IntPtrT> tmp621;
    6777         112 :     compiler::TNode<IntPtrT> tmp622;
    6778         112 :     compiler::TNode<Context> tmp623;
    6779         112 :     compiler::TNode<String> tmp624;
    6780         112 :     compiler::TNode<IntPtrT> tmp625;
    6781         112 :     compiler::TNode<IntPtrT> tmp626;
    6782         112 :     compiler::TNode<BoolT> tmp627;
    6783         112 :     compiler::TNode<IntPtrT> tmp628;
    6784         112 :     compiler::TNode<IntPtrT> tmp629;
    6785         112 :     compiler::TNode<BoolT> tmp630;
    6786         112 :     compiler::TNode<Context> tmp631;
    6787         112 :     compiler::TNode<IntPtrT> tmp632;
    6788         112 :     compiler::TNode<IntPtrT> tmp633;
    6789         112 :     compiler::TNode<BoolT> tmp634;
    6790         112 :     ca_.Bind(&block31, &tmp601, &tmp602, &tmp603, &tmp604, &tmp605, &tmp606, &tmp607, &tmp608, &tmp609, &tmp610, &tmp611, &tmp612, &tmp613, &tmp614, &tmp615, &tmp616, &tmp617, &tmp618, &tmp619, &tmp620, &tmp621, &tmp622, &tmp623, &tmp624, &tmp625, &tmp626, &tmp627, &tmp628, &tmp629, &tmp630, &tmp631, &tmp632, &tmp633, &tmp634);
    6791         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    6792         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    6793         112 :     compiler::TNode<IntPtrT> tmp635;
    6794         112 :     USE(tmp635);
    6795         112 :     tmp635 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp633}, compiler::TNode<IntPtrT>{tmp632}));
    6796         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
    6797         112 :     compiler::TNode<IntPtrT> tmp636;
    6798         112 :     USE(tmp636);
    6799         112 :     tmp636 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp635}, compiler::TNode<IntPtrT>{tmp633}));
    6800         112 :     compiler::TNode<BoolT> tmp637;
    6801         112 :     USE(tmp637);
    6802         112 :     tmp637 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp636}, compiler::TNode<IntPtrT>{tmp632}));
    6803         112 :     ca_.Branch(tmp637, &block33, &block34, tmp601, tmp602, tmp603, tmp604, tmp605, tmp606, tmp607, tmp608, tmp609, tmp610, tmp611, tmp612, tmp613, tmp614, tmp615, tmp616, tmp617, tmp618, tmp619, tmp620, tmp621, tmp622, tmp623, tmp624, tmp625, tmp626, tmp627, tmp628, tmp629, tmp630, tmp631, tmp632, tmp633, tmp634, tmp632, tmp635);
    6804             :   }
    6805             : 
    6806         112 :   if (block33.is_used()) {
    6807         112 :     compiler::TNode<Context> tmp638;
    6808         112 :     compiler::TNode<JSReceiver> tmp639;
    6809         112 :     compiler::TNode<String> tmp640;
    6810         112 :     compiler::TNode<Number> tmp641;
    6811         112 :     compiler::TNode<Object> tmp642;
    6812         112 :     compiler::TNode<Object> tmp643;
    6813         112 :     compiler::TNode<BuiltinPtr> tmp644;
    6814         112 :     compiler::TNode<Map> tmp645;
    6815         112 :     compiler::TNode<UintPtrT> tmp646;
    6816         112 :     compiler::TNode<IntPtrT> tmp647;
    6817         112 :     compiler::TNode<IntPtrT> tmp648;
    6818         112 :     compiler::TNode<BuiltinPtr> tmp649;
    6819         112 :     compiler::TNode<FixedArray> tmp650;
    6820         112 :     compiler::TNode<IntPtrT> tmp651;
    6821         112 :     compiler::TNode<IntPtrT> tmp652;
    6822         112 :     compiler::TNode<BoolT> tmp653;
    6823         112 :     compiler::TNode<UintPtrT> tmp654;
    6824         112 :     compiler::TNode<Object> tmp655;
    6825         112 :     compiler::TNode<String> tmp656;
    6826         112 :     compiler::TNode<String> tmp657;
    6827         112 :     compiler::TNode<IntPtrT> tmp658;
    6828         112 :     compiler::TNode<IntPtrT> tmp659;
    6829         112 :     compiler::TNode<Context> tmp660;
    6830         112 :     compiler::TNode<String> tmp661;
    6831         112 :     compiler::TNode<IntPtrT> tmp662;
    6832         112 :     compiler::TNode<IntPtrT> tmp663;
    6833         112 :     compiler::TNode<BoolT> tmp664;
    6834         112 :     compiler::TNode<IntPtrT> tmp665;
    6835         112 :     compiler::TNode<IntPtrT> tmp666;
    6836         112 :     compiler::TNode<BoolT> tmp667;
    6837         112 :     compiler::TNode<Context> tmp668;
    6838         112 :     compiler::TNode<IntPtrT> tmp669;
    6839         112 :     compiler::TNode<IntPtrT> tmp670;
    6840         112 :     compiler::TNode<BoolT> tmp671;
    6841         112 :     compiler::TNode<IntPtrT> tmp672;
    6842         112 :     compiler::TNode<IntPtrT> tmp673;
    6843         112 :     ca_.Bind(&block33, &tmp638, &tmp639, &tmp640, &tmp641, &tmp642, &tmp643, &tmp644, &tmp645, &tmp646, &tmp647, &tmp648, &tmp649, &tmp650, &tmp651, &tmp652, &tmp653, &tmp654, &tmp655, &tmp656, &tmp657, &tmp658, &tmp659, &tmp660, &tmp661, &tmp662, &tmp663, &tmp664, &tmp665, &tmp666, &tmp667, &tmp668, &tmp669, &tmp670, &tmp671, &tmp672, &tmp673);
    6844         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
    6845         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp668);
    6846         112 :     CodeStubAssembler(state_).Unreachable();
    6847             :   }
    6848             : 
    6849         112 :   if (block34.is_used()) {
    6850         112 :     compiler::TNode<Context> tmp675;
    6851         112 :     compiler::TNode<JSReceiver> tmp676;
    6852         112 :     compiler::TNode<String> tmp677;
    6853         112 :     compiler::TNode<Number> tmp678;
    6854         112 :     compiler::TNode<Object> tmp679;
    6855         112 :     compiler::TNode<Object> tmp680;
    6856         112 :     compiler::TNode<BuiltinPtr> tmp681;
    6857         112 :     compiler::TNode<Map> tmp682;
    6858         112 :     compiler::TNode<UintPtrT> tmp683;
    6859         112 :     compiler::TNode<IntPtrT> tmp684;
    6860         112 :     compiler::TNode<IntPtrT> tmp685;
    6861         112 :     compiler::TNode<BuiltinPtr> tmp686;
    6862         112 :     compiler::TNode<FixedArray> tmp687;
    6863         112 :     compiler::TNode<IntPtrT> tmp688;
    6864         112 :     compiler::TNode<IntPtrT> tmp689;
    6865         112 :     compiler::TNode<BoolT> tmp690;
    6866         112 :     compiler::TNode<UintPtrT> tmp691;
    6867         112 :     compiler::TNode<Object> tmp692;
    6868         112 :     compiler::TNode<String> tmp693;
    6869         112 :     compiler::TNode<String> tmp694;
    6870         112 :     compiler::TNode<IntPtrT> tmp695;
    6871         112 :     compiler::TNode<IntPtrT> tmp696;
    6872         112 :     compiler::TNode<Context> tmp697;
    6873         112 :     compiler::TNode<String> tmp698;
    6874         112 :     compiler::TNode<IntPtrT> tmp699;
    6875         112 :     compiler::TNode<IntPtrT> tmp700;
    6876         112 :     compiler::TNode<BoolT> tmp701;
    6877         112 :     compiler::TNode<IntPtrT> tmp702;
    6878         112 :     compiler::TNode<IntPtrT> tmp703;
    6879         112 :     compiler::TNode<BoolT> tmp704;
    6880         112 :     compiler::TNode<Context> tmp705;
    6881         112 :     compiler::TNode<IntPtrT> tmp706;
    6882         112 :     compiler::TNode<IntPtrT> tmp707;
    6883         112 :     compiler::TNode<BoolT> tmp708;
    6884         112 :     compiler::TNode<IntPtrT> tmp709;
    6885         112 :     compiler::TNode<IntPtrT> tmp710;
    6886         112 :     ca_.Bind(&block34, &tmp675, &tmp676, &tmp677, &tmp678, &tmp679, &tmp680, &tmp681, &tmp682, &tmp683, &tmp684, &tmp685, &tmp686, &tmp687, &tmp688, &tmp689, &tmp690, &tmp691, &tmp692, &tmp693, &tmp694, &tmp695, &tmp696, &tmp697, &tmp698, &tmp699, &tmp700, &tmp701, &tmp702, &tmp703, &tmp704, &tmp705, &tmp706, &tmp707, &tmp708, &tmp709, &tmp710);
    6887         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    6888         112 :     compiler::TNode<IntPtrT> tmp711;
    6889         112 :     USE(tmp711);
    6890         112 :     tmp711 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp705}, compiler::TNode<IntPtrT>{tmp689}, compiler::TNode<IntPtrT>{tmp710}));
    6891         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    6892         112 :     ca_.Branch(tmp708, &block35, &block36, tmp675, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp686, tmp687, tmp688, tmp711, tmp690, tmp691, tmp692, tmp693, tmp694, tmp695, tmp696, tmp697, tmp698, tmp699, tmp700, tmp701, tmp702, tmp703, tmp704, tmp705, tmp706, tmp707, tmp708, tmp709, tmp710);
    6893             :   }
    6894             : 
    6895         112 :   if (block35.is_used()) {
    6896         112 :     compiler::TNode<Context> tmp712;
    6897         112 :     compiler::TNode<JSReceiver> tmp713;
    6898         112 :     compiler::TNode<String> tmp714;
    6899         112 :     compiler::TNode<Number> tmp715;
    6900         112 :     compiler::TNode<Object> tmp716;
    6901         112 :     compiler::TNode<Object> tmp717;
    6902         112 :     compiler::TNode<BuiltinPtr> tmp718;
    6903         112 :     compiler::TNode<Map> tmp719;
    6904         112 :     compiler::TNode<UintPtrT> tmp720;
    6905         112 :     compiler::TNode<IntPtrT> tmp721;
    6906         112 :     compiler::TNode<IntPtrT> tmp722;
    6907         112 :     compiler::TNode<BuiltinPtr> tmp723;
    6908         112 :     compiler::TNode<FixedArray> tmp724;
    6909         112 :     compiler::TNode<IntPtrT> tmp725;
    6910         112 :     compiler::TNode<IntPtrT> tmp726;
    6911         112 :     compiler::TNode<BoolT> tmp727;
    6912         112 :     compiler::TNode<UintPtrT> tmp728;
    6913         112 :     compiler::TNode<Object> tmp729;
    6914         112 :     compiler::TNode<String> tmp730;
    6915         112 :     compiler::TNode<String> tmp731;
    6916         112 :     compiler::TNode<IntPtrT> tmp732;
    6917         112 :     compiler::TNode<IntPtrT> tmp733;
    6918         112 :     compiler::TNode<Context> tmp734;
    6919         112 :     compiler::TNode<String> tmp735;
    6920         112 :     compiler::TNode<IntPtrT> tmp736;
    6921         112 :     compiler::TNode<IntPtrT> tmp737;
    6922         112 :     compiler::TNode<BoolT> tmp738;
    6923         112 :     compiler::TNode<IntPtrT> tmp739;
    6924         112 :     compiler::TNode<IntPtrT> tmp740;
    6925         112 :     compiler::TNode<BoolT> tmp741;
    6926         112 :     compiler::TNode<Context> tmp742;
    6927         112 :     compiler::TNode<IntPtrT> tmp743;
    6928         112 :     compiler::TNode<IntPtrT> tmp744;
    6929         112 :     compiler::TNode<BoolT> tmp745;
    6930         112 :     compiler::TNode<IntPtrT> tmp746;
    6931         112 :     compiler::TNode<IntPtrT> tmp747;
    6932         112 :     ca_.Bind(&block35, &tmp712, &tmp713, &tmp714, &tmp715, &tmp716, &tmp717, &tmp718, &tmp719, &tmp720, &tmp721, &tmp722, &tmp723, &tmp724, &tmp725, &tmp726, &tmp727, &tmp728, &tmp729, &tmp730, &tmp731, &tmp732, &tmp733, &tmp734, &tmp735, &tmp736, &tmp737, &tmp738, &tmp739, &tmp740, &tmp741, &tmp742, &tmp743, &tmp744, &tmp745, &tmp746, &tmp747);
    6933         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    6934         112 :     compiler::TNode<IntPtrT> tmp748;
    6935         112 :     USE(tmp748);
    6936         112 :     tmp748 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    6937         112 :     compiler::TNode<IntPtrT> tmp749;
    6938         112 :     USE(tmp749);
    6939         112 :     tmp749 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp725}, compiler::TNode<IntPtrT>{tmp748}));
    6940         112 :     compiler::TNode<Smi> tmp750;
    6941         112 :     USE(tmp750);
    6942         112 :     tmp750 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp746}));
    6943         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    6944         112 :     compiler::TNode<FixedArray> tmp751;
    6945         112 :     USE(tmp751);
    6946         112 :     tmp751 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp724}, compiler::TNode<IntPtrT>{tmp725}, compiler::TNode<Smi>{tmp750}));
    6947         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    6948         112 :     ca_.Goto(&block36, tmp712, tmp713, tmp714, tmp715, tmp716, tmp717, tmp718, tmp719, tmp720, tmp721, tmp722, tmp723, tmp751, tmp749, tmp726, tmp727, tmp728, tmp729, tmp730, tmp731, tmp732, tmp733, tmp734, tmp735, tmp736, tmp737, tmp738, tmp739, tmp740, tmp741, tmp742, tmp743, tmp744, tmp745, tmp746, tmp747);
    6949             :   }
    6950             : 
    6951         112 :   if (block36.is_used()) {
    6952         112 :     compiler::TNode<Context> tmp752;
    6953         112 :     compiler::TNode<JSReceiver> tmp753;
    6954         112 :     compiler::TNode<String> tmp754;
    6955         112 :     compiler::TNode<Number> tmp755;
    6956         112 :     compiler::TNode<Object> tmp756;
    6957         112 :     compiler::TNode<Object> tmp757;
    6958         112 :     compiler::TNode<BuiltinPtr> tmp758;
    6959         112 :     compiler::TNode<Map> tmp759;
    6960         112 :     compiler::TNode<UintPtrT> tmp760;
    6961         112 :     compiler::TNode<IntPtrT> tmp761;
    6962         112 :     compiler::TNode<IntPtrT> tmp762;
    6963         112 :     compiler::TNode<BuiltinPtr> tmp763;
    6964         112 :     compiler::TNode<FixedArray> tmp764;
    6965         112 :     compiler::TNode<IntPtrT> tmp765;
    6966         112 :     compiler::TNode<IntPtrT> tmp766;
    6967         112 :     compiler::TNode<BoolT> tmp767;
    6968         112 :     compiler::TNode<UintPtrT> tmp768;
    6969         112 :     compiler::TNode<Object> tmp769;
    6970         112 :     compiler::TNode<String> tmp770;
    6971         112 :     compiler::TNode<String> tmp771;
    6972         112 :     compiler::TNode<IntPtrT> tmp772;
    6973         112 :     compiler::TNode<IntPtrT> tmp773;
    6974         112 :     compiler::TNode<Context> tmp774;
    6975         112 :     compiler::TNode<String> tmp775;
    6976         112 :     compiler::TNode<IntPtrT> tmp776;
    6977         112 :     compiler::TNode<IntPtrT> tmp777;
    6978         112 :     compiler::TNode<BoolT> tmp778;
    6979         112 :     compiler::TNode<IntPtrT> tmp779;
    6980         112 :     compiler::TNode<IntPtrT> tmp780;
    6981         112 :     compiler::TNode<BoolT> tmp781;
    6982         112 :     compiler::TNode<Context> tmp782;
    6983         112 :     compiler::TNode<IntPtrT> tmp783;
    6984         112 :     compiler::TNode<IntPtrT> tmp784;
    6985         112 :     compiler::TNode<BoolT> tmp785;
    6986         112 :     compiler::TNode<IntPtrT> tmp786;
    6987         112 :     compiler::TNode<IntPtrT> tmp787;
    6988         112 :     ca_.Bind(&block36, &tmp752, &tmp753, &tmp754, &tmp755, &tmp756, &tmp757, &tmp758, &tmp759, &tmp760, &tmp761, &tmp762, &tmp763, &tmp764, &tmp765, &tmp766, &tmp767, &tmp768, &tmp769, &tmp770, &tmp771, &tmp772, &tmp773, &tmp774, &tmp775, &tmp776, &tmp777, &tmp778, &tmp779, &tmp780, &tmp781, &tmp782, &tmp783, &tmp784, &tmp785, &tmp786, &tmp787);
    6989         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    6990         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 159);
    6991         112 :     ca_.Goto(&block29, tmp752, tmp753, tmp754, tmp755, tmp756, tmp757, tmp758, tmp759, tmp760, tmp761, tmp762, tmp763, tmp764, tmp765, tmp766, tmp767, tmp768, tmp769, tmp770, tmp771, tmp772, tmp773, tmp774, tmp775, tmp776, tmp777, tmp778, tmp779, tmp780, tmp781, tmp782, tmp783, tmp784, tmp785);
    6992             :   }
    6993             : 
    6994         112 :   if (block29.is_used()) {
    6995         112 :     compiler::TNode<Context> tmp788;
    6996         112 :     compiler::TNode<JSReceiver> tmp789;
    6997         112 :     compiler::TNode<String> tmp790;
    6998         112 :     compiler::TNode<Number> tmp791;
    6999         112 :     compiler::TNode<Object> tmp792;
    7000         112 :     compiler::TNode<Object> tmp793;
    7001         112 :     compiler::TNode<BuiltinPtr> tmp794;
    7002         112 :     compiler::TNode<Map> tmp795;
    7003         112 :     compiler::TNode<UintPtrT> tmp796;
    7004         112 :     compiler::TNode<IntPtrT> tmp797;
    7005         112 :     compiler::TNode<IntPtrT> tmp798;
    7006         112 :     compiler::TNode<BuiltinPtr> tmp799;
    7007         112 :     compiler::TNode<FixedArray> tmp800;
    7008         112 :     compiler::TNode<IntPtrT> tmp801;
    7009         112 :     compiler::TNode<IntPtrT> tmp802;
    7010         112 :     compiler::TNode<BoolT> tmp803;
    7011         112 :     compiler::TNode<UintPtrT> tmp804;
    7012         112 :     compiler::TNode<Object> tmp805;
    7013         112 :     compiler::TNode<String> tmp806;
    7014         112 :     compiler::TNode<String> tmp807;
    7015         112 :     compiler::TNode<IntPtrT> tmp808;
    7016         112 :     compiler::TNode<IntPtrT> tmp809;
    7017         112 :     compiler::TNode<Context> tmp810;
    7018         112 :     compiler::TNode<String> tmp811;
    7019         112 :     compiler::TNode<IntPtrT> tmp812;
    7020         112 :     compiler::TNode<IntPtrT> tmp813;
    7021         112 :     compiler::TNode<BoolT> tmp814;
    7022         112 :     compiler::TNode<IntPtrT> tmp815;
    7023         112 :     compiler::TNode<IntPtrT> tmp816;
    7024         112 :     compiler::TNode<BoolT> tmp817;
    7025         112 :     compiler::TNode<Context> tmp818;
    7026         112 :     compiler::TNode<IntPtrT> tmp819;
    7027         112 :     compiler::TNode<IntPtrT> tmp820;
    7028         112 :     compiler::TNode<BoolT> tmp821;
    7029         112 :     ca_.Bind(&block29, &tmp788, &tmp789, &tmp790, &tmp791, &tmp792, &tmp793, &tmp794, &tmp795, &tmp796, &tmp797, &tmp798, &tmp799, &tmp800, &tmp801, &tmp802, &tmp803, &tmp804, &tmp805, &tmp806, &tmp807, &tmp808, &tmp809, &tmp810, &tmp811, &tmp812, &tmp813, &tmp814, &tmp815, &tmp816, &tmp817, &tmp818, &tmp819, &tmp820, &tmp821);
    7030         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 162);
    7031         112 :     compiler::TNode<IntPtrT> tmp822;
    7032         112 :     USE(tmp822);
    7033         112 :     tmp822 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadStringLengthAsWord(compiler::TNode<String>{tmp811}));
    7034         112 :     compiler::TNode<IntPtrT> tmp823;
    7035         112 :     USE(tmp823);
    7036         112 :     tmp823 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp810}, compiler::TNode<IntPtrT>{tmp802}, compiler::TNode<IntPtrT>{tmp822}));
    7037         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 161);
    7038         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 164);
    7039         112 :     compiler::TNode<IntPtrT> tmp824;
    7040         112 :     USE(tmp824);
    7041         112 :     tmp824 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    7042         112 :     compiler::TNode<IntPtrT> tmp825;
    7043         112 :     USE(tmp825);
    7044         112 :     tmp825 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp801}, compiler::TNode<IntPtrT>{tmp824}));
    7045         112 :     compiler::TNode<FixedArray> tmp826;
    7046         112 :     USE(tmp826);
    7047         112 :     tmp826 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray6String(compiler::TNode<FixedArray>{tmp800}, compiler::TNode<IntPtrT>{tmp801}, compiler::TNode<String>{tmp811}));
    7048         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 163);
    7049         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 166);
    7050         112 :     compiler::TNode<Int32T> tmp827;
    7051         112 :     USE(tmp827);
    7052         112 :     tmp827 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadInstanceType(compiler::TNode<HeapObject>{tmp811}));
    7053         112 :     compiler::TNode<BoolT> tmp828;
    7054         112 :     USE(tmp828);
    7055         112 :     tmp828 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsOneByteStringInstanceType(compiler::TNode<Int32T>{tmp827}));
    7056         112 :     compiler::TNode<BoolT> tmp829;
    7057         112 :     USE(tmp829);
    7058         112 :     tmp829 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32And(compiler::TNode<BoolT>{tmp828}, compiler::TNode<BoolT>{tmp803}));
    7059         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 165);
    7060         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 156);
    7061         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 315);
    7062         112 :     ca_.Goto(&block28, tmp788, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp795, tmp796, tmp797, tmp798, tmp799, tmp826, tmp825, tmp823, tmp829, tmp804, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813);
    7063             :   }
    7064             : 
    7065         112 :   if (block28.is_used()) {
    7066         112 :     compiler::TNode<Context> tmp830;
    7067         112 :     compiler::TNode<JSReceiver> tmp831;
    7068         112 :     compiler::TNode<String> tmp832;
    7069         112 :     compiler::TNode<Number> tmp833;
    7070         112 :     compiler::TNode<Object> tmp834;
    7071         112 :     compiler::TNode<Object> tmp835;
    7072         112 :     compiler::TNode<BuiltinPtr> tmp836;
    7073         112 :     compiler::TNode<Map> tmp837;
    7074         112 :     compiler::TNode<UintPtrT> tmp838;
    7075         112 :     compiler::TNode<IntPtrT> tmp839;
    7076         112 :     compiler::TNode<IntPtrT> tmp840;
    7077         112 :     compiler::TNode<BuiltinPtr> tmp841;
    7078         112 :     compiler::TNode<FixedArray> tmp842;
    7079         112 :     compiler::TNode<IntPtrT> tmp843;
    7080         112 :     compiler::TNode<IntPtrT> tmp844;
    7081         112 :     compiler::TNode<BoolT> tmp845;
    7082         112 :     compiler::TNode<UintPtrT> tmp846;
    7083         112 :     compiler::TNode<Object> tmp847;
    7084         112 :     compiler::TNode<String> tmp848;
    7085         112 :     compiler::TNode<String> tmp849;
    7086         112 :     compiler::TNode<IntPtrT> tmp850;
    7087         112 :     compiler::TNode<IntPtrT> tmp851;
    7088         112 :     compiler::TNode<Context> tmp852;
    7089         112 :     compiler::TNode<String> tmp853;
    7090         112 :     compiler::TNode<IntPtrT> tmp854;
    7091         112 :     compiler::TNode<IntPtrT> tmp855;
    7092         112 :     ca_.Bind(&block28, &tmp830, &tmp831, &tmp832, &tmp833, &tmp834, &tmp835, &tmp836, &tmp837, &tmp838, &tmp839, &tmp840, &tmp841, &tmp842, &tmp843, &tmp844, &tmp845, &tmp846, &tmp847, &tmp848, &tmp849, &tmp850, &tmp851, &tmp852, &tmp853, &tmp854, &tmp855);
    7093         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 316);
    7094         112 :     compiler::TNode<IntPtrT> tmp856;
    7095         112 :     USE(tmp856);
    7096         112 :     tmp856 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7097         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 277);
    7098         112 :     ca_.Goto(&block4, tmp830, tmp831, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp856, tmp841, tmp842, tmp843, tmp844, tmp845, tmp846);
    7099             :   }
    7100             : 
    7101         112 :   if (block3.is_used()) {
    7102         112 :     compiler::TNode<Context> tmp857;
    7103         112 :     compiler::TNode<JSReceiver> tmp858;
    7104         112 :     compiler::TNode<String> tmp859;
    7105         112 :     compiler::TNode<Number> tmp860;
    7106         112 :     compiler::TNode<Object> tmp861;
    7107         112 :     compiler::TNode<Object> tmp862;
    7108         112 :     compiler::TNode<BuiltinPtr> tmp863;
    7109         112 :     compiler::TNode<Map> tmp864;
    7110         112 :     compiler::TNode<UintPtrT> tmp865;
    7111         112 :     compiler::TNode<IntPtrT> tmp866;
    7112         112 :     compiler::TNode<IntPtrT> tmp867;
    7113         112 :     compiler::TNode<BuiltinPtr> tmp868;
    7114         112 :     compiler::TNode<FixedArray> tmp869;
    7115         112 :     compiler::TNode<IntPtrT> tmp870;
    7116         112 :     compiler::TNode<IntPtrT> tmp871;
    7117         112 :     compiler::TNode<BoolT> tmp872;
    7118         112 :     compiler::TNode<UintPtrT> tmp873;
    7119         112 :     ca_.Bind(&block3, &tmp857, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873);
    7120         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    7121         112 :     compiler::TNode<BoolT> tmp874;
    7122         112 :     USE(tmp874);
    7123         112 :     tmp874 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
    7124         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 171);
    7125         112 :     compiler::TNode<IntPtrT> tmp875;
    7126         112 :     USE(tmp875);
    7127         112 :     tmp875 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7128         112 :     compiler::TNode<BoolT> tmp876;
    7129         112 :     USE(tmp876);
    7130         112 :     tmp876 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp867}, compiler::TNode<IntPtrT>{tmp875}));
    7131         112 :     ca_.Branch(tmp876, &block38, &block40, tmp857, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp867, tmp866, tmp857, tmp867, tmp866, tmp874);
    7132             :   }
    7133             : 
    7134         112 :   if (block40.is_used()) {
    7135         112 :     compiler::TNode<Context> tmp877;
    7136         112 :     compiler::TNode<JSReceiver> tmp878;
    7137         112 :     compiler::TNode<String> tmp879;
    7138         112 :     compiler::TNode<Number> tmp880;
    7139         112 :     compiler::TNode<Object> tmp881;
    7140         112 :     compiler::TNode<Object> tmp882;
    7141         112 :     compiler::TNode<BuiltinPtr> tmp883;
    7142         112 :     compiler::TNode<Map> tmp884;
    7143         112 :     compiler::TNode<UintPtrT> tmp885;
    7144         112 :     compiler::TNode<IntPtrT> tmp886;
    7145         112 :     compiler::TNode<IntPtrT> tmp887;
    7146         112 :     compiler::TNode<BuiltinPtr> tmp888;
    7147         112 :     compiler::TNode<FixedArray> tmp889;
    7148         112 :     compiler::TNode<IntPtrT> tmp890;
    7149         112 :     compiler::TNode<IntPtrT> tmp891;
    7150         112 :     compiler::TNode<BoolT> tmp892;
    7151         112 :     compiler::TNode<UintPtrT> tmp893;
    7152         112 :     compiler::TNode<IntPtrT> tmp894;
    7153         112 :     compiler::TNode<IntPtrT> tmp895;
    7154         112 :     compiler::TNode<Context> tmp896;
    7155         112 :     compiler::TNode<IntPtrT> tmp897;
    7156         112 :     compiler::TNode<IntPtrT> tmp898;
    7157         112 :     compiler::TNode<BoolT> tmp899;
    7158         112 :     ca_.Bind(&block40, &tmp877, &tmp878, &tmp879, &tmp880, &tmp881, &tmp882, &tmp883, &tmp884, &tmp885, &tmp886, &tmp887, &tmp888, &tmp889, &tmp890, &tmp891, &tmp892, &tmp893, &tmp894, &tmp895, &tmp896, &tmp897, &tmp898, &tmp899);
    7159         112 :     compiler::TNode<IntPtrT> tmp900;
    7160         112 :     USE(tmp900);
    7161         112 :     tmp900 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7162         112 :     compiler::TNode<BoolT> tmp901;
    7163         112 :     USE(tmp901);
    7164         112 :     tmp901 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp898}, compiler::TNode<IntPtrT>{tmp900}));
    7165         112 :     ca_.Branch(tmp901, &block38, &block39, tmp877, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889, tmp890, tmp891, tmp892, tmp893, tmp894, tmp895, tmp896, tmp897, tmp898, tmp899);
    7166             :   }
    7167             : 
    7168         112 :   if (block38.is_used()) {
    7169         112 :     compiler::TNode<Context> tmp902;
    7170         112 :     compiler::TNode<JSReceiver> tmp903;
    7171         112 :     compiler::TNode<String> tmp904;
    7172         112 :     compiler::TNode<Number> tmp905;
    7173         112 :     compiler::TNode<Object> tmp906;
    7174         112 :     compiler::TNode<Object> tmp907;
    7175         112 :     compiler::TNode<BuiltinPtr> tmp908;
    7176         112 :     compiler::TNode<Map> tmp909;
    7177         112 :     compiler::TNode<UintPtrT> tmp910;
    7178         112 :     compiler::TNode<IntPtrT> tmp911;
    7179         112 :     compiler::TNode<IntPtrT> tmp912;
    7180         112 :     compiler::TNode<BuiltinPtr> tmp913;
    7181         112 :     compiler::TNode<FixedArray> tmp914;
    7182         112 :     compiler::TNode<IntPtrT> tmp915;
    7183         112 :     compiler::TNode<IntPtrT> tmp916;
    7184         112 :     compiler::TNode<BoolT> tmp917;
    7185         112 :     compiler::TNode<UintPtrT> tmp918;
    7186         112 :     compiler::TNode<IntPtrT> tmp919;
    7187         112 :     compiler::TNode<IntPtrT> tmp920;
    7188         112 :     compiler::TNode<Context> tmp921;
    7189         112 :     compiler::TNode<IntPtrT> tmp922;
    7190         112 :     compiler::TNode<IntPtrT> tmp923;
    7191         112 :     compiler::TNode<BoolT> tmp924;
    7192         112 :     ca_.Bind(&block38, &tmp902, &tmp903, &tmp904, &tmp905, &tmp906, &tmp907, &tmp908, &tmp909, &tmp910, &tmp911, &tmp912, &tmp913, &tmp914, &tmp915, &tmp916, &tmp917, &tmp918, &tmp919, &tmp920, &tmp921, &tmp922, &tmp923, &tmp924);
    7193         112 :     ca_.Goto(&block37, tmp902, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919, tmp920, tmp921, tmp922, tmp923, tmp924);
    7194             :   }
    7195             : 
    7196         112 :   if (block39.is_used()) {
    7197         112 :     compiler::TNode<Context> tmp925;
    7198         112 :     compiler::TNode<JSReceiver> tmp926;
    7199         112 :     compiler::TNode<String> tmp927;
    7200         112 :     compiler::TNode<Number> tmp928;
    7201         112 :     compiler::TNode<Object> tmp929;
    7202         112 :     compiler::TNode<Object> tmp930;
    7203         112 :     compiler::TNode<BuiltinPtr> tmp931;
    7204         112 :     compiler::TNode<Map> tmp932;
    7205         112 :     compiler::TNode<UintPtrT> tmp933;
    7206         112 :     compiler::TNode<IntPtrT> tmp934;
    7207         112 :     compiler::TNode<IntPtrT> tmp935;
    7208         112 :     compiler::TNode<BuiltinPtr> tmp936;
    7209         112 :     compiler::TNode<FixedArray> tmp937;
    7210         112 :     compiler::TNode<IntPtrT> tmp938;
    7211         112 :     compiler::TNode<IntPtrT> tmp939;
    7212         112 :     compiler::TNode<BoolT> tmp940;
    7213         112 :     compiler::TNode<UintPtrT> tmp941;
    7214         112 :     compiler::TNode<IntPtrT> tmp942;
    7215         112 :     compiler::TNode<IntPtrT> tmp943;
    7216         112 :     compiler::TNode<Context> tmp944;
    7217         112 :     compiler::TNode<IntPtrT> tmp945;
    7218         112 :     compiler::TNode<IntPtrT> tmp946;
    7219         112 :     compiler::TNode<BoolT> tmp947;
    7220         112 :     ca_.Bind(&block39, &tmp925, &tmp926, &tmp927, &tmp928, &tmp929, &tmp930, &tmp931, &tmp932, &tmp933, &tmp934, &tmp935, &tmp936, &tmp937, &tmp938, &tmp939, &tmp940, &tmp941, &tmp942, &tmp943, &tmp944, &tmp945, &tmp946, &tmp947);
    7221         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 173);
    7222         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 174);
    7223         112 :     compiler::TNode<IntPtrT> tmp948;
    7224         112 :     USE(tmp948);
    7225         112 :     tmp948 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrMul(compiler::TNode<IntPtrT>{tmp946}, compiler::TNode<IntPtrT>{tmp945}));
    7226         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 177);
    7227         112 :     compiler::TNode<IntPtrT> tmp949;
    7228         112 :     USE(tmp949);
    7229         112 :     tmp949 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrDiv(compiler::TNode<IntPtrT>{tmp948}, compiler::TNode<IntPtrT>{tmp946}));
    7230         112 :     compiler::TNode<BoolT> tmp950;
    7231         112 :     USE(tmp950);
    7232         112 :     tmp950 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<IntPtrT>{tmp949}, compiler::TNode<IntPtrT>{tmp945}));
    7233         112 :     ca_.Branch(tmp950, &block41, &block42, tmp925, tmp926, tmp927, tmp928, tmp929, tmp930, tmp931, tmp932, tmp933, tmp934, tmp935, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp946, tmp947, tmp945, tmp948);
    7234             :   }
    7235             : 
    7236         112 :   if (block41.is_used()) {
    7237         112 :     compiler::TNode<Context> tmp951;
    7238         112 :     compiler::TNode<JSReceiver> tmp952;
    7239         112 :     compiler::TNode<String> tmp953;
    7240         112 :     compiler::TNode<Number> tmp954;
    7241         112 :     compiler::TNode<Object> tmp955;
    7242         112 :     compiler::TNode<Object> tmp956;
    7243         112 :     compiler::TNode<BuiltinPtr> tmp957;
    7244         112 :     compiler::TNode<Map> tmp958;
    7245         112 :     compiler::TNode<UintPtrT> tmp959;
    7246         112 :     compiler::TNode<IntPtrT> tmp960;
    7247         112 :     compiler::TNode<IntPtrT> tmp961;
    7248         112 :     compiler::TNode<BuiltinPtr> tmp962;
    7249         112 :     compiler::TNode<FixedArray> tmp963;
    7250         112 :     compiler::TNode<IntPtrT> tmp964;
    7251         112 :     compiler::TNode<IntPtrT> tmp965;
    7252         112 :     compiler::TNode<BoolT> tmp966;
    7253         112 :     compiler::TNode<UintPtrT> tmp967;
    7254         112 :     compiler::TNode<IntPtrT> tmp968;
    7255         112 :     compiler::TNode<IntPtrT> tmp969;
    7256         112 :     compiler::TNode<Context> tmp970;
    7257         112 :     compiler::TNode<IntPtrT> tmp971;
    7258         112 :     compiler::TNode<IntPtrT> tmp972;
    7259         112 :     compiler::TNode<BoolT> tmp973;
    7260         112 :     compiler::TNode<IntPtrT> tmp974;
    7261         112 :     compiler::TNode<IntPtrT> tmp975;
    7262         112 :     ca_.Bind(&block41, &tmp951, &tmp952, &tmp953, &tmp954, &tmp955, &tmp956, &tmp957, &tmp958, &tmp959, &tmp960, &tmp961, &tmp962, &tmp963, &tmp964, &tmp965, &tmp966, &tmp967, &tmp968, &tmp969, &tmp970, &tmp971, &tmp972, &tmp973, &tmp974, &tmp975);
    7263         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 178);
    7264         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kThrowInvalidStringLength, tmp970);
    7265         112 :     CodeStubAssembler(state_).Unreachable();
    7266             :   }
    7267             : 
    7268         112 :   if (block42.is_used()) {
    7269         112 :     compiler::TNode<Context> tmp977;
    7270         112 :     compiler::TNode<JSReceiver> tmp978;
    7271         112 :     compiler::TNode<String> tmp979;
    7272         112 :     compiler::TNode<Number> tmp980;
    7273         112 :     compiler::TNode<Object> tmp981;
    7274         112 :     compiler::TNode<Object> tmp982;
    7275         112 :     compiler::TNode<BuiltinPtr> tmp983;
    7276         112 :     compiler::TNode<Map> tmp984;
    7277         112 :     compiler::TNode<UintPtrT> tmp985;
    7278         112 :     compiler::TNode<IntPtrT> tmp986;
    7279         112 :     compiler::TNode<IntPtrT> tmp987;
    7280         112 :     compiler::TNode<BuiltinPtr> tmp988;
    7281         112 :     compiler::TNode<FixedArray> tmp989;
    7282         112 :     compiler::TNode<IntPtrT> tmp990;
    7283         112 :     compiler::TNode<IntPtrT> tmp991;
    7284         112 :     compiler::TNode<BoolT> tmp992;
    7285         112 :     compiler::TNode<UintPtrT> tmp993;
    7286         112 :     compiler::TNode<IntPtrT> tmp994;
    7287         112 :     compiler::TNode<IntPtrT> tmp995;
    7288         112 :     compiler::TNode<Context> tmp996;
    7289         112 :     compiler::TNode<IntPtrT> tmp997;
    7290         112 :     compiler::TNode<IntPtrT> tmp998;
    7291         112 :     compiler::TNode<BoolT> tmp999;
    7292         112 :     compiler::TNode<IntPtrT> tmp1000;
    7293         112 :     compiler::TNode<IntPtrT> tmp1001;
    7294         112 :     ca_.Bind(&block42, &tmp977, &tmp978, &tmp979, &tmp980, &tmp981, &tmp982, &tmp983, &tmp984, &tmp985, &tmp986, &tmp987, &tmp988, &tmp989, &tmp990, &tmp991, &tmp992, &tmp993, &tmp994, &tmp995, &tmp996, &tmp997, &tmp998, &tmp999, &tmp1000, &tmp1001);
    7295         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 181);
    7296         112 :     compiler::TNode<IntPtrT> tmp1002;
    7297         112 :     USE(tmp1002);
    7298         112 :     tmp1002 = ca_.UncheckedCast<IntPtrT>(ArrayJoinBuiltinsFromDSLAssembler(state_).AddStringLength(compiler::TNode<Context>{tmp996}, compiler::TNode<IntPtrT>{tmp991}, compiler::TNode<IntPtrT>{tmp1001}));
    7299         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    7300         112 :     ca_.Branch(tmp999, &block43, &block44, tmp977, tmp978, tmp979, tmp980, tmp981, tmp982, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989, tmp990, tmp1002, tmp992, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001);
    7301             :   }
    7302             : 
    7303         112 :   if (block43.is_used()) {
    7304         112 :     compiler::TNode<Context> tmp1003;
    7305         112 :     compiler::TNode<JSReceiver> tmp1004;
    7306         112 :     compiler::TNode<String> tmp1005;
    7307         112 :     compiler::TNode<Number> tmp1006;
    7308         112 :     compiler::TNode<Object> tmp1007;
    7309         112 :     compiler::TNode<Object> tmp1008;
    7310         112 :     compiler::TNode<BuiltinPtr> tmp1009;
    7311         112 :     compiler::TNode<Map> tmp1010;
    7312         112 :     compiler::TNode<UintPtrT> tmp1011;
    7313         112 :     compiler::TNode<IntPtrT> tmp1012;
    7314         112 :     compiler::TNode<IntPtrT> tmp1013;
    7315         112 :     compiler::TNode<BuiltinPtr> tmp1014;
    7316         112 :     compiler::TNode<FixedArray> tmp1015;
    7317         112 :     compiler::TNode<IntPtrT> tmp1016;
    7318         112 :     compiler::TNode<IntPtrT> tmp1017;
    7319         112 :     compiler::TNode<BoolT> tmp1018;
    7320         112 :     compiler::TNode<UintPtrT> tmp1019;
    7321         112 :     compiler::TNode<IntPtrT> tmp1020;
    7322         112 :     compiler::TNode<IntPtrT> tmp1021;
    7323         112 :     compiler::TNode<Context> tmp1022;
    7324         112 :     compiler::TNode<IntPtrT> tmp1023;
    7325         112 :     compiler::TNode<IntPtrT> tmp1024;
    7326         112 :     compiler::TNode<BoolT> tmp1025;
    7327         112 :     compiler::TNode<IntPtrT> tmp1026;
    7328         112 :     compiler::TNode<IntPtrT> tmp1027;
    7329         112 :     ca_.Bind(&block43, &tmp1003, &tmp1004, &tmp1005, &tmp1006, &tmp1007, &tmp1008, &tmp1009, &tmp1010, &tmp1011, &tmp1012, &tmp1013, &tmp1014, &tmp1015, &tmp1016, &tmp1017, &tmp1018, &tmp1019, &tmp1020, &tmp1021, &tmp1022, &tmp1023, &tmp1024, &tmp1025, &tmp1026, &tmp1027);
    7330         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 184);
    7331         112 :     compiler::TNode<IntPtrT> tmp1028;
    7332         112 :     USE(tmp1028);
    7333         112 :     tmp1028 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    7334         112 :     compiler::TNode<IntPtrT> tmp1029;
    7335         112 :     USE(tmp1029);
    7336         112 :     tmp1029 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp1016}, compiler::TNode<IntPtrT>{tmp1028}));
    7337         112 :     compiler::TNode<Smi> tmp1030;
    7338         112 :     USE(tmp1030);
    7339         112 :     tmp1030 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp1026}));
    7340         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 183);
    7341         112 :     compiler::TNode<FixedArray> tmp1031;
    7342         112 :     USE(tmp1031);
    7343         112 :     tmp1031 = ca_.UncheckedCast<FixedArray>(ArrayJoinBuiltinsFromDSLAssembler(state_).StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray>{tmp1015}, compiler::TNode<IntPtrT>{tmp1016}, compiler::TNode<Smi>{tmp1030}));
    7344         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 182);
    7345         112 :     ca_.Goto(&block44, tmp1003, tmp1004, tmp1005, tmp1006, tmp1007, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1031, tmp1029, tmp1017, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027);
    7346             :   }
    7347             : 
    7348         112 :   if (block44.is_used()) {
    7349         112 :     compiler::TNode<Context> tmp1032;
    7350         112 :     compiler::TNode<JSReceiver> tmp1033;
    7351         112 :     compiler::TNode<String> tmp1034;
    7352         112 :     compiler::TNode<Number> tmp1035;
    7353         112 :     compiler::TNode<Object> tmp1036;
    7354         112 :     compiler::TNode<Object> tmp1037;
    7355         112 :     compiler::TNode<BuiltinPtr> tmp1038;
    7356         112 :     compiler::TNode<Map> tmp1039;
    7357         112 :     compiler::TNode<UintPtrT> tmp1040;
    7358         112 :     compiler::TNode<IntPtrT> tmp1041;
    7359         112 :     compiler::TNode<IntPtrT> tmp1042;
    7360         112 :     compiler::TNode<BuiltinPtr> tmp1043;
    7361         112 :     compiler::TNode<FixedArray> tmp1044;
    7362         112 :     compiler::TNode<IntPtrT> tmp1045;
    7363         112 :     compiler::TNode<IntPtrT> tmp1046;
    7364         112 :     compiler::TNode<BoolT> tmp1047;
    7365         112 :     compiler::TNode<UintPtrT> tmp1048;
    7366         112 :     compiler::TNode<IntPtrT> tmp1049;
    7367         112 :     compiler::TNode<IntPtrT> tmp1050;
    7368         112 :     compiler::TNode<Context> tmp1051;
    7369         112 :     compiler::TNode<IntPtrT> tmp1052;
    7370         112 :     compiler::TNode<IntPtrT> tmp1053;
    7371         112 :     compiler::TNode<BoolT> tmp1054;
    7372         112 :     compiler::TNode<IntPtrT> tmp1055;
    7373         112 :     compiler::TNode<IntPtrT> tmp1056;
    7374         112 :     ca_.Bind(&block44, &tmp1032, &tmp1033, &tmp1034, &tmp1035, &tmp1036, &tmp1037, &tmp1038, &tmp1039, &tmp1040, &tmp1041, &tmp1042, &tmp1043, &tmp1044, &tmp1045, &tmp1046, &tmp1047, &tmp1048, &tmp1049, &tmp1050, &tmp1051, &tmp1052, &tmp1053, &tmp1054, &tmp1055, &tmp1056);
    7375         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 170);
    7376         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 320);
    7377         112 :     ca_.Goto(&block37, tmp1032, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1054);
    7378             :   }
    7379             : 
    7380         112 :   if (block37.is_used()) {
    7381         112 :     compiler::TNode<Context> tmp1057;
    7382         112 :     compiler::TNode<JSReceiver> tmp1058;
    7383         112 :     compiler::TNode<String> tmp1059;
    7384         112 :     compiler::TNode<Number> tmp1060;
    7385         112 :     compiler::TNode<Object> tmp1061;
    7386         112 :     compiler::TNode<Object> tmp1062;
    7387         112 :     compiler::TNode<BuiltinPtr> tmp1063;
    7388         112 :     compiler::TNode<Map> tmp1064;
    7389         112 :     compiler::TNode<UintPtrT> tmp1065;
    7390         112 :     compiler::TNode<IntPtrT> tmp1066;
    7391         112 :     compiler::TNode<IntPtrT> tmp1067;
    7392         112 :     compiler::TNode<BuiltinPtr> tmp1068;
    7393         112 :     compiler::TNode<FixedArray> tmp1069;
    7394         112 :     compiler::TNode<IntPtrT> tmp1070;
    7395         112 :     compiler::TNode<IntPtrT> tmp1071;
    7396         112 :     compiler::TNode<BoolT> tmp1072;
    7397         112 :     compiler::TNode<UintPtrT> tmp1073;
    7398         112 :     compiler::TNode<IntPtrT> tmp1074;
    7399         112 :     compiler::TNode<IntPtrT> tmp1075;
    7400         112 :     compiler::TNode<Context> tmp1076;
    7401         112 :     compiler::TNode<IntPtrT> tmp1077;
    7402         112 :     compiler::TNode<IntPtrT> tmp1078;
    7403         112 :     compiler::TNode<BoolT> tmp1079;
    7404         112 :     ca_.Bind(&block37, &tmp1057, &tmp1058, &tmp1059, &tmp1060, &tmp1061, &tmp1062, &tmp1063, &tmp1064, &tmp1065, &tmp1066, &tmp1067, &tmp1068, &tmp1069, &tmp1070, &tmp1071, &tmp1072, &tmp1073, &tmp1074, &tmp1075, &tmp1076, &tmp1077, &tmp1078, &tmp1079);
    7405         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 323);
    7406         112 :     compiler::TNode<String> tmp1080;
    7407         112 :     USE(tmp1080);
    7408         112 :     tmp1080 = ca_.UncheckedCast<String>(ArrayJoinBuiltinsFromDSLAssembler(state_).BufferJoin(compiler::TNode<Context>{tmp1057}, ArrayJoinBuiltinsFromDSLAssembler::Buffer{compiler::TNode<FixedArray>{tmp1069}, compiler::TNode<IntPtrT>{tmp1070}, compiler::TNode<IntPtrT>{tmp1071}, compiler::TNode<BoolT>{tmp1072}}, compiler::TNode<String>{tmp1059}));
    7409         112 :     ca_.Goto(&block1, tmp1057, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1080);
    7410             :   }
    7411             : 
    7412         112 :   if (block1.is_used()) {
    7413         112 :     compiler::TNode<Context> tmp1081;
    7414         112 :     compiler::TNode<JSReceiver> tmp1082;
    7415         112 :     compiler::TNode<String> tmp1083;
    7416         112 :     compiler::TNode<Number> tmp1084;
    7417         112 :     compiler::TNode<Object> tmp1085;
    7418         112 :     compiler::TNode<Object> tmp1086;
    7419         112 :     compiler::TNode<BuiltinPtr> tmp1087;
    7420         112 :     compiler::TNode<String> tmp1088;
    7421         112 :     ca_.Bind(&block1, &tmp1081, &tmp1082, &tmp1083, &tmp1084, &tmp1085, &tmp1086, &tmp1087, &tmp1088);
    7422         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 262);
    7423         112 :     ca_.Goto(&block45, tmp1081, tmp1082, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088);
    7424             :   }
    7425             : 
    7426         112 :     compiler::TNode<Context> tmp1089;
    7427         112 :     compiler::TNode<JSReceiver> tmp1090;
    7428         112 :     compiler::TNode<String> tmp1091;
    7429         112 :     compiler::TNode<Number> tmp1092;
    7430         112 :     compiler::TNode<Object> tmp1093;
    7431         112 :     compiler::TNode<Object> tmp1094;
    7432         112 :     compiler::TNode<BuiltinPtr> tmp1095;
    7433         112 :     compiler::TNode<String> tmp1096;
    7434         112 :     ca_.Bind(&block45, &tmp1089, &tmp1090, &tmp1091, &tmp1092, &tmp1093, &tmp1094, &tmp1095, &tmp1096);
    7435         224 :   return compiler::TNode<String>{tmp1096};
    7436             : }
    7437             : 
    7438          56 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray10JSReceiver(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<JSReceiver> p_element) {
    7439         112 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7440         112 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7441         112 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7442         112 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7443         112 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, JSReceiver, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7444          56 :     ca_.Goto(&block0, p_fixedArray, p_index, p_element);
    7445             : 
    7446          56 :   if (block0.is_used()) {
    7447          56 :     compiler::TNode<FixedArray> tmp0;
    7448          56 :     compiler::TNode<IntPtrT> tmp1;
    7449          56 :     compiler::TNode<JSReceiver> tmp2;
    7450          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    7451          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
    7452          56 :     compiler::TNode<IntPtrT> tmp3;
    7453          56 :     USE(tmp3);
    7454          56 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
    7455          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
    7456          56 :     compiler::TNode<BoolT> tmp4;
    7457          56 :     USE(tmp4);
    7458          56 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
    7459          56 :     ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
    7460             :   }
    7461             : 
    7462          56 :   if (block2.is_used()) {
    7463          56 :     compiler::TNode<FixedArray> tmp5;
    7464          56 :     compiler::TNode<IntPtrT> tmp6;
    7465          56 :     compiler::TNode<JSReceiver> tmp7;
    7466          56 :     compiler::TNode<IntPtrT> tmp8;
    7467          56 :     ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
    7468          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
    7469          56 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
    7470          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
    7471          56 :     ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
    7472             :   }
    7473             : 
    7474          56 :   if (block3.is_used()) {
    7475          56 :     compiler::TNode<FixedArray> tmp9;
    7476          56 :     compiler::TNode<IntPtrT> tmp10;
    7477          56 :     compiler::TNode<JSReceiver> tmp11;
    7478          56 :     compiler::TNode<IntPtrT> tmp12;
    7479          56 :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
    7480          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
    7481          56 :     compiler::TNode<IntPtrT> tmp13;
    7482          56 :     USE(tmp13);
    7483          56 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
    7484          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
    7485          56 :     compiler::TNode<IntPtrT> tmp14;
    7486          56 :     USE(tmp14);
    7487          56 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    7488          56 :     compiler::TNode<FixedArray> tmp15;
    7489          56 :     USE(tmp15);
    7490          56 :     tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArray>{tmp9}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp12}, compiler::TNode<IntPtrT>{tmp13}, CodeStubAssembler::ExtractFixedArrayFlag::kFixedArrays));
    7491          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
    7492          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
    7493          56 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
    7494          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
    7495          56 :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
    7496             :   }
    7497             : 
    7498          56 :   if (block1.is_used()) {
    7499          56 :     compiler::TNode<FixedArray> tmp16;
    7500          56 :     compiler::TNode<IntPtrT> tmp17;
    7501          56 :     compiler::TNode<JSReceiver> tmp18;
    7502          56 :     compiler::TNode<FixedArray> tmp19;
    7503          56 :     ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
    7504          56 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
    7505          56 :     ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
    7506             :   }
    7507             : 
    7508          56 :     compiler::TNode<FixedArray> tmp20;
    7509          56 :     compiler::TNode<IntPtrT> tmp21;
    7510          56 :     compiler::TNode<JSReceiver> tmp22;
    7511          56 :     compiler::TNode<FixedArray> tmp23;
    7512          56 :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
    7513         112 :   return compiler::TNode<FixedArray>{tmp23};
    7514             : }
    7515             : 
    7516         112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::CycleProtectedArrayJoin7JSArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_len, compiler::TNode<Object> p_sepObj, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
    7517         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7518         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7519         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7520         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7521         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7522         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7523         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7524         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7525         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7526         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7527         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7528         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7529         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7530         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7531         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7532         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7533         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7534         112 :     ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
    7535             : 
    7536         112 :   if (block0.is_used()) {
    7537         112 :     compiler::TNode<Context> tmp0;
    7538         112 :     compiler::TNode<JSReceiver> tmp1;
    7539         112 :     compiler::TNode<Number> tmp2;
    7540         112 :     compiler::TNode<Object> tmp3;
    7541         112 :     compiler::TNode<Object> tmp4;
    7542         112 :     compiler::TNode<Object> tmp5;
    7543         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    7544         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 539);
    7545         112 :     compiler::TNode<Oddball> tmp6;
    7546         112 :     USE(tmp6);
    7547         112 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    7548         112 :     compiler::TNode<BoolT> tmp7;
    7549         112 :     USE(tmp7);
    7550         112 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
    7551         112 :     ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
    7552             :   }
    7553             : 
    7554         112 :   if (block2.is_used()) {
    7555         112 :     compiler::TNode<Context> tmp8;
    7556         112 :     compiler::TNode<JSReceiver> tmp9;
    7557         112 :     compiler::TNode<Number> tmp10;
    7558         112 :     compiler::TNode<Object> tmp11;
    7559         112 :     compiler::TNode<Object> tmp12;
    7560         112 :     compiler::TNode<Object> tmp13;
    7561         112 :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    7562         112 :     ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
    7563             :   }
    7564             : 
    7565         112 :   if (block3.is_used()) {
    7566         112 :     compiler::TNode<Context> tmp14;
    7567         112 :     compiler::TNode<JSReceiver> tmp15;
    7568         112 :     compiler::TNode<Number> tmp16;
    7569         112 :     compiler::TNode<Object> tmp17;
    7570         112 :     compiler::TNode<Object> tmp18;
    7571         112 :     compiler::TNode<Object> tmp19;
    7572         112 :     ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
    7573         112 :     compiler::TNode<String> tmp20;
    7574         112 :     USE(tmp20);
    7575         112 :     tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
    7576         112 :     ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
    7577             :   }
    7578             : 
    7579         112 :   if (block5.is_used()) {
    7580         112 :     compiler::TNode<Context> tmp21;
    7581         112 :     compiler::TNode<JSReceiver> tmp22;
    7582         112 :     compiler::TNode<Number> tmp23;
    7583         112 :     compiler::TNode<Object> tmp24;
    7584         112 :     compiler::TNode<Object> tmp25;
    7585         112 :     compiler::TNode<Object> tmp26;
    7586         112 :     ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
    7587         112 :     compiler::TNode<String> tmp27;
    7588         112 :     USE(tmp27);
    7589         112 :     tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6String18ATconstexpr_string(","));
    7590         112 :     ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
    7591             :   }
    7592             : 
    7593         112 :   if (block4.is_used()) {
    7594         112 :     compiler::TNode<Context> tmp28;
    7595         112 :     compiler::TNode<JSReceiver> tmp29;
    7596         112 :     compiler::TNode<Number> tmp30;
    7597         112 :     compiler::TNode<Object> tmp31;
    7598         112 :     compiler::TNode<Object> tmp32;
    7599         112 :     compiler::TNode<Object> tmp33;
    7600         112 :     compiler::TNode<String> tmp34;
    7601         112 :     ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
    7602         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 538);
    7603         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
    7604         112 :     compiler::TNode<Number> tmp35;
    7605         112 :     USE(tmp35);
    7606         112 :     tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
    7607         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    7608         224 :     compiler::CodeAssemblerLabel label1(&ca_);
    7609         112 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
    7610         112 :     if (label0.is_used()) {
    7611         112 :       ca_.Bind(&label0);
    7612         112 :       ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7613             :     }
    7614         112 :     if (label1.is_used()) {
    7615         112 :       ca_.Bind(&label1);
    7616         112 :       ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7617             :     }
    7618             :   }
    7619             : 
    7620         112 :   if (block9.is_used()) {
    7621         112 :     compiler::TNode<Context> tmp36;
    7622         112 :     compiler::TNode<JSReceiver> tmp37;
    7623         112 :     compiler::TNode<Number> tmp38;
    7624         112 :     compiler::TNode<Object> tmp39;
    7625         112 :     compiler::TNode<Object> tmp40;
    7626         112 :     compiler::TNode<Object> tmp41;
    7627         112 :     compiler::TNode<String> tmp42;
    7628         112 :     compiler::TNode<Number> tmp43;
    7629         112 :     ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    7630         112 :     ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
    7631             :   }
    7632             : 
    7633         112 :   if (block10.is_used()) {
    7634         112 :     compiler::TNode<Context> tmp44;
    7635         112 :     compiler::TNode<JSReceiver> tmp45;
    7636         112 :     compiler::TNode<Number> tmp46;
    7637         112 :     compiler::TNode<Object> tmp47;
    7638         112 :     compiler::TNode<Object> tmp48;
    7639         112 :     compiler::TNode<Object> tmp49;
    7640         112 :     compiler::TNode<String> tmp50;
    7641         112 :     compiler::TNode<Number> tmp51;
    7642         112 :     ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    7643         112 :     ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
    7644             :   }
    7645             : 
    7646         112 :   if (block8.is_used()) {
    7647         112 :     compiler::TNode<Context> tmp52;
    7648         112 :     compiler::TNode<JSReceiver> tmp53;
    7649         112 :     compiler::TNode<Number> tmp54;
    7650         112 :     compiler::TNode<Object> tmp55;
    7651         112 :     compiler::TNode<Object> tmp56;
    7652         112 :     compiler::TNode<Object> tmp57;
    7653         112 :     compiler::TNode<String> tmp58;
    7654         112 :     ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
    7655         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    7656         224 :     compiler::CodeAssemblerLabel label1(&ca_);
    7657         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
    7658         112 :     if (label0.is_used()) {
    7659         112 :       ca_.Bind(&label0);
    7660         112 :       ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    7661             :     }
    7662         112 :     if (label1.is_used()) {
    7663         112 :       ca_.Bind(&label1);
    7664         112 :       ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    7665             :     }
    7666             :   }
    7667             : 
    7668         112 :   if (block11.is_used()) {
    7669         112 :     compiler::TNode<Context> tmp59;
    7670         112 :     compiler::TNode<JSReceiver> tmp60;
    7671         112 :     compiler::TNode<Number> tmp61;
    7672         112 :     compiler::TNode<Object> tmp62;
    7673         112 :     compiler::TNode<Object> tmp63;
    7674         112 :     compiler::TNode<Object> tmp64;
    7675         112 :     compiler::TNode<String> tmp65;
    7676         112 :     compiler::TNode<JSReceiver> tmp66;
    7677         112 :     ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
    7678         112 :     ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
    7679             :   }
    7680             : 
    7681         112 :   if (block12.is_used()) {
    7682         112 :     compiler::TNode<Context> tmp67;
    7683         112 :     compiler::TNode<JSReceiver> tmp68;
    7684         112 :     compiler::TNode<Number> tmp69;
    7685         112 :     compiler::TNode<Object> tmp70;
    7686         112 :     compiler::TNode<Object> tmp71;
    7687         112 :     compiler::TNode<Object> tmp72;
    7688         112 :     compiler::TNode<String> tmp73;
    7689         112 :     compiler::TNode<JSReceiver> tmp74;
    7690         112 :     ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
    7691         112 :     ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
    7692             :   }
    7693             : 
    7694         112 :   if (block6.is_used()) {
    7695         112 :     compiler::TNode<Context> tmp75;
    7696         112 :     compiler::TNode<JSReceiver> tmp76;
    7697         112 :     compiler::TNode<Number> tmp77;
    7698         112 :     compiler::TNode<Object> tmp78;
    7699         112 :     compiler::TNode<Object> tmp79;
    7700         112 :     compiler::TNode<Object> tmp80;
    7701         112 :     compiler::TNode<String> tmp81;
    7702         112 :     ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
    7703         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
    7704         112 :     compiler::TNode<Object> tmp82;
    7705         112 :     USE(tmp82);
    7706         224 :     compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7707         224 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
    7708         112 :     tmp82 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoin7JSArray(compiler::TNode<Context>{tmp75}, p_useToLocaleString, compiler::TNode<JSReceiver>{tmp76}, compiler::TNode<String>{tmp81}, compiler::TNode<Number>{tmp77}, compiler::TNode<Object>{tmp79}, compiler::TNode<Object>{tmp80}));
    7709             :     }
    7710         112 :     if (catch83_label.is_used()) {
    7711         224 :       compiler::CodeAssemblerLabel catch83_skip(&ca_);
    7712         112 :       ca_.Goto(&catch83_skip);
    7713         112 :       compiler::TNode<Object> catch83_exception_object;
    7714         112 :       ca_.Bind(&catch83_label, &catch83_exception_object);
    7715         112 :       ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
    7716         112 :       ca_.Bind(&catch83_skip);
    7717             :     }
    7718         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
    7719         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    7720         224 :     compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7721         224 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
    7722         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
    7723             :     }
    7724         112 :     if (catch84_label.is_used()) {
    7725         224 :       compiler::CodeAssemblerLabel catch84_skip(&ca_);
    7726         112 :       ca_.Goto(&catch84_skip);
    7727         112 :       compiler::TNode<Object> catch84_exception_object;
    7728         112 :       ca_.Bind(&catch84_label, &catch84_exception_object);
    7729         112 :       ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
    7730         112 :       ca_.Bind(&catch84_skip);
    7731             :     }
    7732         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
    7733         112 :     ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
    7734             :   }
    7735             : 
    7736         112 :   if (block16.is_used()) {
    7737         112 :     compiler::TNode<Context> tmp85;
    7738         112 :     compiler::TNode<JSReceiver> tmp86;
    7739         112 :     compiler::TNode<Number> tmp87;
    7740         112 :     compiler::TNode<Object> tmp88;
    7741         112 :     compiler::TNode<Object> tmp89;
    7742         112 :     compiler::TNode<Object> tmp90;
    7743         112 :     compiler::TNode<String> tmp91;
    7744         112 :     compiler::TNode<JSReceiver> tmp92;
    7745         112 :     compiler::TNode<String> tmp93;
    7746         112 :     compiler::TNode<Number> tmp94;
    7747         112 :     compiler::TNode<Object> tmp95;
    7748         112 :     compiler::TNode<Object> tmp96;
    7749         112 :     compiler::TNode<Object> tmp97;
    7750         112 :     ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
    7751         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
    7752         112 :     ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
    7753             :   }
    7754             : 
    7755         112 :   if (block17.is_used()) {
    7756         112 :     compiler::TNode<Context> tmp98;
    7757         112 :     compiler::TNode<JSReceiver> tmp99;
    7758         112 :     compiler::TNode<Number> tmp100;
    7759         112 :     compiler::TNode<Object> tmp101;
    7760         112 :     compiler::TNode<Object> tmp102;
    7761         112 :     compiler::TNode<Object> tmp103;
    7762         112 :     compiler::TNode<String> tmp104;
    7763         112 :     compiler::TNode<Object> tmp105;
    7764         112 :     compiler::TNode<JSReceiver> tmp106;
    7765         112 :     compiler::TNode<Object> tmp107;
    7766         112 :     ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
    7767         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    7768         112 :     ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
    7769             :   }
    7770             : 
    7771         112 :   if (block15.is_used()) {
    7772         112 :     compiler::TNode<Context> tmp108;
    7773         112 :     compiler::TNode<JSReceiver> tmp109;
    7774         112 :     compiler::TNode<Number> tmp110;
    7775         112 :     compiler::TNode<Object> tmp111;
    7776         112 :     compiler::TNode<Object> tmp112;
    7777         112 :     compiler::TNode<Object> tmp113;
    7778         112 :     compiler::TNode<String> tmp114;
    7779         112 :     compiler::TNode<Object> tmp115;
    7780         112 :     ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
    7781         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 550);
    7782         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
    7783         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
    7784         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
    7785         112 :     CodeStubAssembler(state_).Unreachable();
    7786             :   }
    7787             : 
    7788         112 :   if (block7.is_used()) {
    7789         112 :     compiler::TNode<Context> tmp117;
    7790         112 :     compiler::TNode<JSReceiver> tmp118;
    7791         112 :     compiler::TNode<Number> tmp119;
    7792         112 :     compiler::TNode<Object> tmp120;
    7793         112 :     compiler::TNode<Object> tmp121;
    7794         112 :     compiler::TNode<Object> tmp122;
    7795         112 :     compiler::TNode<String> tmp123;
    7796         112 :     ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
    7797         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 554);
    7798         112 :     compiler::TNode<String> tmp124;
    7799         112 :     USE(tmp124);
    7800         112 :     tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    7801         112 :     ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
    7802             :   }
    7803             : 
    7804         112 :   if (block1.is_used()) {
    7805         112 :     compiler::TNode<Context> tmp125;
    7806         112 :     compiler::TNode<JSReceiver> tmp126;
    7807         112 :     compiler::TNode<Number> tmp127;
    7808         112 :     compiler::TNode<Object> tmp128;
    7809         112 :     compiler::TNode<Object> tmp129;
    7810         112 :     compiler::TNode<Object> tmp130;
    7811         112 :     compiler::TNode<Object> tmp131;
    7812         112 :     ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
    7813         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 532);
    7814         112 :     ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
    7815             :   }
    7816             : 
    7817         112 :     compiler::TNode<Context> tmp132;
    7818         112 :     compiler::TNode<JSReceiver> tmp133;
    7819         112 :     compiler::TNode<Number> tmp134;
    7820         112 :     compiler::TNode<Object> tmp135;
    7821         112 :     compiler::TNode<Object> tmp136;
    7822         112 :     compiler::TNode<Object> tmp137;
    7823         112 :     compiler::TNode<Object> tmp138;
    7824         112 :     ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    7825         224 :   return compiler::TNode<Object>{tmp138};
    7826             : }
    7827             : 
    7828         112 : compiler::TNode<Object> ArrayJoinBuiltinsFromDSLAssembler::CycleProtectedArrayJoin12JSTypedArray(compiler::TNode<Context> p_context, bool p_useToLocaleString, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_len, compiler::TNode<Object> p_sepObj, compiler::TNode<Object> p_locales, compiler::TNode<Object> p_options) {
    7829         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7830         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7831         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7832         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7833         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7834         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7835         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7836         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7837         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7838         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7839         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7840         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, JSReceiver, String, Number, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7841         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7842         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String, Object> block15(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    7843         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7844         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7845         224 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7846         112 :     ca_.Goto(&block0, p_context, p_o, p_len, p_sepObj, p_locales, p_options);
    7847             : 
    7848         112 :   if (block0.is_used()) {
    7849         112 :     compiler::TNode<Context> tmp0;
    7850         112 :     compiler::TNode<JSReceiver> tmp1;
    7851         112 :     compiler::TNode<Number> tmp2;
    7852         112 :     compiler::TNode<Object> tmp3;
    7853         112 :     compiler::TNode<Object> tmp4;
    7854         112 :     compiler::TNode<Object> tmp5;
    7855         112 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
    7856         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 539);
    7857         112 :     compiler::TNode<Oddball> tmp6;
    7858         112 :     USE(tmp6);
    7859         112 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    7860         112 :     compiler::TNode<BoolT> tmp7;
    7861         112 :     USE(tmp7);
    7862         112 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp3}, compiler::TNode<HeapObject>{tmp6}));
    7863         112 :     ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
    7864             :   }
    7865             : 
    7866         112 :   if (block2.is_used()) {
    7867         112 :     compiler::TNode<Context> tmp8;
    7868         112 :     compiler::TNode<JSReceiver> tmp9;
    7869         112 :     compiler::TNode<Number> tmp10;
    7870         112 :     compiler::TNode<Object> tmp11;
    7871         112 :     compiler::TNode<Object> tmp12;
    7872         112 :     compiler::TNode<Object> tmp13;
    7873         112 :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    7874         112 :     ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
    7875             :   }
    7876             : 
    7877         112 :   if (block3.is_used()) {
    7878         112 :     compiler::TNode<Context> tmp14;
    7879         112 :     compiler::TNode<JSReceiver> tmp15;
    7880         112 :     compiler::TNode<Number> tmp16;
    7881         112 :     compiler::TNode<Object> tmp17;
    7882         112 :     compiler::TNode<Object> tmp18;
    7883         112 :     compiler::TNode<Object> tmp19;
    7884         112 :     ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
    7885         112 :     compiler::TNode<String> tmp20;
    7886         112 :     USE(tmp20);
    7887         112 :     tmp20 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp17}));
    7888         112 :     ca_.Goto(&block4, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
    7889             :   }
    7890             : 
    7891         112 :   if (block5.is_used()) {
    7892         112 :     compiler::TNode<Context> tmp21;
    7893         112 :     compiler::TNode<JSReceiver> tmp22;
    7894         112 :     compiler::TNode<Number> tmp23;
    7895         112 :     compiler::TNode<Object> tmp24;
    7896         112 :     compiler::TNode<Object> tmp25;
    7897         112 :     compiler::TNode<Object> tmp26;
    7898         112 :     ca_.Bind(&block5, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
    7899         112 :     compiler::TNode<String> tmp27;
    7900         112 :     USE(tmp27);
    7901         112 :     tmp27 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6String18ATconstexpr_string(","));
    7902         112 :     ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
    7903             :   }
    7904             : 
    7905         112 :   if (block4.is_used()) {
    7906         112 :     compiler::TNode<Context> tmp28;
    7907         112 :     compiler::TNode<JSReceiver> tmp29;
    7908         112 :     compiler::TNode<Number> tmp30;
    7909         112 :     compiler::TNode<Object> tmp31;
    7910         112 :     compiler::TNode<Object> tmp32;
    7911         112 :     compiler::TNode<Object> tmp33;
    7912         112 :     compiler::TNode<String> tmp34;
    7913         112 :     ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
    7914         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 538);
    7915         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 543);
    7916         112 :     compiler::TNode<Number> tmp35;
    7917         112 :     USE(tmp35);
    7918         112 :     tmp35 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
    7919         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    7920         224 :     compiler::CodeAssemblerLabel label1(&ca_);
    7921         112 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp35}, &label0, &label1);
    7922         112 :     if (label0.is_used()) {
    7923         112 :       ca_.Bind(&label0);
    7924         112 :       ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7925             :     }
    7926         112 :     if (label1.is_used()) {
    7927         112 :       ca_.Bind(&label1);
    7928         112 :       ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
    7929             :     }
    7930             :   }
    7931             : 
    7932         112 :   if (block9.is_used()) {
    7933         112 :     compiler::TNode<Context> tmp36;
    7934         112 :     compiler::TNode<JSReceiver> tmp37;
    7935         112 :     compiler::TNode<Number> tmp38;
    7936         112 :     compiler::TNode<Object> tmp39;
    7937         112 :     compiler::TNode<Object> tmp40;
    7938         112 :     compiler::TNode<Object> tmp41;
    7939         112 :     compiler::TNode<String> tmp42;
    7940         112 :     compiler::TNode<Number> tmp43;
    7941         112 :     ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    7942         112 :     ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
    7943             :   }
    7944             : 
    7945         112 :   if (block10.is_used()) {
    7946         112 :     compiler::TNode<Context> tmp44;
    7947         112 :     compiler::TNode<JSReceiver> tmp45;
    7948         112 :     compiler::TNode<Number> tmp46;
    7949         112 :     compiler::TNode<Object> tmp47;
    7950         112 :     compiler::TNode<Object> tmp48;
    7951         112 :     compiler::TNode<Object> tmp49;
    7952         112 :     compiler::TNode<String> tmp50;
    7953         112 :     compiler::TNode<Number> tmp51;
    7954         112 :     ca_.Bind(&block10, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
    7955         112 :     ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
    7956             :   }
    7957             : 
    7958         112 :   if (block8.is_used()) {
    7959         112 :     compiler::TNode<Context> tmp52;
    7960         112 :     compiler::TNode<JSReceiver> tmp53;
    7961         112 :     compiler::TNode<Number> tmp54;
    7962         112 :     compiler::TNode<Object> tmp55;
    7963         112 :     compiler::TNode<Object> tmp56;
    7964         112 :     compiler::TNode<Object> tmp57;
    7965         112 :     compiler::TNode<String> tmp58;
    7966         112 :     ca_.Bind(&block8, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
    7967         224 :     compiler::CodeAssemblerLabel label0(&ca_);
    7968         224 :     compiler::CodeAssemblerLabel label1(&ca_);
    7969         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPushInline(compiler::TNode<Context>{tmp52}, compiler::TNode<JSReceiver>{tmp53}, &label0, &label1);
    7970         112 :     if (label0.is_used()) {
    7971         112 :       ca_.Bind(&label0);
    7972         112 :       ca_.Goto(&block11, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    7973             :     }
    7974         112 :     if (label1.is_used()) {
    7975         112 :       ca_.Bind(&label1);
    7976         112 :       ca_.Goto(&block12, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp53);
    7977             :     }
    7978             :   }
    7979             : 
    7980         112 :   if (block11.is_used()) {
    7981         112 :     compiler::TNode<Context> tmp59;
    7982         112 :     compiler::TNode<JSReceiver> tmp60;
    7983         112 :     compiler::TNode<Number> tmp61;
    7984         112 :     compiler::TNode<Object> tmp62;
    7985         112 :     compiler::TNode<Object> tmp63;
    7986         112 :     compiler::TNode<Object> tmp64;
    7987         112 :     compiler::TNode<String> tmp65;
    7988         112 :     compiler::TNode<JSReceiver> tmp66;
    7989         112 :     ca_.Bind(&block11, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
    7990         112 :     ca_.Goto(&block6, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
    7991             :   }
    7992             : 
    7993         112 :   if (block12.is_used()) {
    7994         112 :     compiler::TNode<Context> tmp67;
    7995         112 :     compiler::TNode<JSReceiver> tmp68;
    7996         112 :     compiler::TNode<Number> tmp69;
    7997         112 :     compiler::TNode<Object> tmp70;
    7998         112 :     compiler::TNode<Object> tmp71;
    7999         112 :     compiler::TNode<Object> tmp72;
    8000         112 :     compiler::TNode<String> tmp73;
    8001         112 :     compiler::TNode<JSReceiver> tmp74;
    8002         112 :     ca_.Bind(&block12, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
    8003         112 :     ca_.Goto(&block7, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
    8004             :   }
    8005             : 
    8006         112 :   if (block6.is_used()) {
    8007         112 :     compiler::TNode<Context> tmp75;
    8008         112 :     compiler::TNode<JSReceiver> tmp76;
    8009         112 :     compiler::TNode<Number> tmp77;
    8010         112 :     compiler::TNode<Object> tmp78;
    8011         112 :     compiler::TNode<Object> tmp79;
    8012         112 :     compiler::TNode<Object> tmp80;
    8013         112 :     compiler::TNode<String> tmp81;
    8014         112 :     ca_.Bind(&block6, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
    8015         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
    8016         112 :     compiler::TNode<Object> tmp82;
    8017         112 :     USE(tmp82);
    8018         224 :     compiler::CodeAssemblerExceptionHandlerLabel catch83_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8019         224 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch83_label);
    8020         112 :     tmp82 = ca_.UncheckedCast<Object>(ArrayJoinBuiltinsFromDSLAssembler(state_).ArrayJoin12JSTypedArray(compiler::TNode<Context>{tmp75}, p_useToLocaleString, compiler::TNode<JSReceiver>{tmp76}, compiler::TNode<String>{tmp81}, compiler::TNode<Number>{tmp77}, compiler::TNode<Object>{tmp79}, compiler::TNode<Object>{tmp80}));
    8021             :     }
    8022         112 :     if (catch83_label.is_used()) {
    8023         224 :       compiler::CodeAssemblerLabel catch83_skip(&ca_);
    8024         112 :       ca_.Goto(&catch83_skip);
    8025         112 :       compiler::TNode<Object> catch83_exception_object;
    8026         112 :       ca_.Bind(&catch83_label, &catch83_exception_object);
    8027         112 :       ca_.Goto(&block16, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp76, tmp81, tmp77, tmp79, tmp80, catch83_exception_object);
    8028         112 :       ca_.Bind(&catch83_skip);
    8029             :     }
    8030         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 545);
    8031         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    8032         224 :     compiler::CodeAssemblerExceptionHandlerLabel catch84_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8033         224 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch84_label);
    8034         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp75}, compiler::TNode<JSReceiver>{tmp76});
    8035             :     }
    8036         112 :     if (catch84_label.is_used()) {
    8037         224 :       compiler::CodeAssemblerLabel catch84_skip(&ca_);
    8038         112 :       ca_.Goto(&catch84_skip);
    8039         112 :       compiler::TNode<Object> catch84_exception_object;
    8040         112 :       ca_.Bind(&catch84_label, &catch84_exception_object);
    8041         112 :       ca_.Goto(&block17, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp76, catch84_exception_object);
    8042         112 :       ca_.Bind(&catch84_skip);
    8043             :     }
    8044         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 548);
    8045         112 :     ca_.Goto(&block1, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp82);
    8046             :   }
    8047             : 
    8048         112 :   if (block16.is_used()) {
    8049         112 :     compiler::TNode<Context> tmp85;
    8050         112 :     compiler::TNode<JSReceiver> tmp86;
    8051         112 :     compiler::TNode<Number> tmp87;
    8052         112 :     compiler::TNode<Object> tmp88;
    8053         112 :     compiler::TNode<Object> tmp89;
    8054         112 :     compiler::TNode<Object> tmp90;
    8055         112 :     compiler::TNode<String> tmp91;
    8056         112 :     compiler::TNode<JSReceiver> tmp92;
    8057         112 :     compiler::TNode<String> tmp93;
    8058         112 :     compiler::TNode<Number> tmp94;
    8059         112 :     compiler::TNode<Object> tmp95;
    8060         112 :     compiler::TNode<Object> tmp96;
    8061         112 :     compiler::TNode<Object> tmp97;
    8062         112 :     ca_.Bind(&block16, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
    8063         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 546);
    8064         112 :     ca_.Goto(&block15, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp97);
    8065             :   }
    8066             : 
    8067         112 :   if (block17.is_used()) {
    8068         112 :     compiler::TNode<Context> tmp98;
    8069         112 :     compiler::TNode<JSReceiver> tmp99;
    8070         112 :     compiler::TNode<Number> tmp100;
    8071         112 :     compiler::TNode<Object> tmp101;
    8072         112 :     compiler::TNode<Object> tmp102;
    8073         112 :     compiler::TNode<Object> tmp103;
    8074         112 :     compiler::TNode<String> tmp104;
    8075         112 :     compiler::TNode<Object> tmp105;
    8076         112 :     compiler::TNode<JSReceiver> tmp106;
    8077         112 :     compiler::TNode<Object> tmp107;
    8078         112 :     ca_.Bind(&block17, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
    8079         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 547);
    8080         112 :     ca_.Goto(&block15, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp107);
    8081             :   }
    8082             : 
    8083         112 :   if (block15.is_used()) {
    8084         112 :     compiler::TNode<Context> tmp108;
    8085         112 :     compiler::TNode<JSReceiver> tmp109;
    8086         112 :     compiler::TNode<Number> tmp110;
    8087         112 :     compiler::TNode<Object> tmp111;
    8088         112 :     compiler::TNode<Object> tmp112;
    8089         112 :     compiler::TNode<Object> tmp113;
    8090         112 :     compiler::TNode<String> tmp114;
    8091         112 :     compiler::TNode<Object> tmp115;
    8092         112 :     ca_.Bind(&block15, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
    8093         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 550);
    8094         112 :     ArrayJoinBuiltinsFromDSLAssembler(state_).JoinStackPopInline(compiler::TNode<Context>{tmp108}, compiler::TNode<JSReceiver>{tmp109});
    8095         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 551);
    8096         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kReThrow, tmp108, tmp115);
    8097         112 :     CodeStubAssembler(state_).Unreachable();
    8098             :   }
    8099             : 
    8100         112 :   if (block7.is_used()) {
    8101         112 :     compiler::TNode<Context> tmp117;
    8102         112 :     compiler::TNode<JSReceiver> tmp118;
    8103         112 :     compiler::TNode<Number> tmp119;
    8104         112 :     compiler::TNode<Object> tmp120;
    8105         112 :     compiler::TNode<Object> tmp121;
    8106         112 :     compiler::TNode<Object> tmp122;
    8107         112 :     compiler::TNode<String> tmp123;
    8108         112 :     ca_.Bind(&block7, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
    8109         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 554);
    8110         112 :     compiler::TNode<String> tmp124;
    8111         112 :     USE(tmp124);
    8112         112 :     tmp124 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
    8113         112 :     ca_.Goto(&block1, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp124);
    8114             :   }
    8115             : 
    8116         112 :   if (block1.is_used()) {
    8117         112 :     compiler::TNode<Context> tmp125;
    8118         112 :     compiler::TNode<JSReceiver> tmp126;
    8119         112 :     compiler::TNode<Number> tmp127;
    8120         112 :     compiler::TNode<Object> tmp128;
    8121         112 :     compiler::TNode<Object> tmp129;
    8122         112 :     compiler::TNode<Object> tmp130;
    8123         112 :     compiler::TNode<Object> tmp131;
    8124         112 :     ca_.Bind(&block1, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131);
    8125         112 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 532);
    8126         112 :     ca_.Goto(&block18, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131);
    8127             :   }
    8128             : 
    8129         112 :     compiler::TNode<Context> tmp132;
    8130         112 :     compiler::TNode<JSReceiver> tmp133;
    8131         112 :     compiler::TNode<Number> tmp134;
    8132         112 :     compiler::TNode<Object> tmp135;
    8133         112 :     compiler::TNode<Object> tmp136;
    8134         112 :     compiler::TNode<Object> tmp137;
    8135         112 :     compiler::TNode<Object> tmp138;
    8136         112 :     ca_.Bind(&block18, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
    8137         224 :   return compiler::TNode<Object>{tmp138};
    8138             : }
    8139             : 
    8140         448 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray5ATSmi(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<Smi> p_element) {
    8141         896 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8142         896 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8143         896 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8144         896 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8145         896 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, Smi, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8146         448 :     ca_.Goto(&block0, p_fixedArray, p_index, p_element);
    8147             : 
    8148         448 :   if (block0.is_used()) {
    8149         448 :     compiler::TNode<FixedArray> tmp0;
    8150         448 :     compiler::TNode<IntPtrT> tmp1;
    8151         448 :     compiler::TNode<Smi> tmp2;
    8152         448 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    8153         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
    8154         448 :     compiler::TNode<IntPtrT> tmp3;
    8155         448 :     USE(tmp3);
    8156         448 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
    8157         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
    8158         448 :     compiler::TNode<BoolT> tmp4;
    8159         448 :     USE(tmp4);
    8160         448 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
    8161         448 :     ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
    8162             :   }
    8163             : 
    8164         448 :   if (block2.is_used()) {
    8165         448 :     compiler::TNode<FixedArray> tmp5;
    8166         448 :     compiler::TNode<IntPtrT> tmp6;
    8167         448 :     compiler::TNode<Smi> tmp7;
    8168         448 :     compiler::TNode<IntPtrT> tmp8;
    8169         448 :     ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
    8170         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
    8171         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<Smi>{tmp7});
    8172         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
    8173         448 :     ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
    8174             :   }
    8175             : 
    8176         448 :   if (block3.is_used()) {
    8177         448 :     compiler::TNode<FixedArray> tmp9;
    8178         448 :     compiler::TNode<IntPtrT> tmp10;
    8179         448 :     compiler::TNode<Smi> tmp11;
    8180         448 :     compiler::TNode<IntPtrT> tmp12;
    8181         448 :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
    8182         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
    8183         448 :     compiler::TNode<IntPtrT> tmp13;
    8184         448 :     USE(tmp13);
    8185         448 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
    8186         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
    8187         448 :     compiler::TNode<IntPtrT> tmp14;
    8188         448 :     USE(tmp14);
    8189         448 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    8190         448 :     compiler::TNode<FixedArray> tmp15;
    8191         448 :     USE(tmp15);
    8192         448 :     tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArray>{tmp9}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp12}, compiler::TNode<IntPtrT>{tmp13}, CodeStubAssembler::ExtractFixedArrayFlag::kFixedArrays));
    8193         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
    8194         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
    8195         448 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<Smi>{tmp11});
    8196         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
    8197         448 :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
    8198             :   }
    8199             : 
    8200         448 :   if (block1.is_used()) {
    8201         448 :     compiler::TNode<FixedArray> tmp16;
    8202         448 :     compiler::TNode<IntPtrT> tmp17;
    8203         448 :     compiler::TNode<Smi> tmp18;
    8204         448 :     compiler::TNode<FixedArray> tmp19;
    8205         448 :     ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
    8206         448 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
    8207         448 :     ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
    8208             :   }
    8209             : 
    8210         448 :     compiler::TNode<FixedArray> tmp20;
    8211         448 :     compiler::TNode<IntPtrT> tmp21;
    8212         448 :     compiler::TNode<Smi> tmp22;
    8213         448 :     compiler::TNode<FixedArray> tmp23;
    8214         448 :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
    8215         896 :   return compiler::TNode<FixedArray>{tmp23};
    8216             : }
    8217             : 
    8218         224 : compiler::TNode<FixedArray> ArrayJoinBuiltinsFromDSLAssembler::StoreAndGrowFixedArray6String(compiler::TNode<FixedArray> p_fixedArray, compiler::TNode<IntPtrT> p_index, compiler::TNode<String> p_element) {
    8219         448 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8220         448 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8221         448 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    8222         448 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8223         448 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, String, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8224         224 :     ca_.Goto(&block0, p_fixedArray, p_index, p_element);
    8225             : 
    8226         224 :   if (block0.is_used()) {
    8227         224 :     compiler::TNode<FixedArray> tmp0;
    8228         224 :     compiler::TNode<IntPtrT> tmp1;
    8229         224 :     compiler::TNode<String> tmp2;
    8230         224 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    8231         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 134);
    8232         224 :     compiler::TNode<IntPtrT> tmp3;
    8233         224 :     USE(tmp3);
    8234         224 :     tmp3 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).LoadAndUntagFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp0}));
    8235         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 136);
    8236         224 :     compiler::TNode<BoolT> tmp4;
    8237         224 :     USE(tmp4);
    8238         224 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp3}));
    8239         224 :     ca_.Branch(tmp4, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
    8240             :   }
    8241             : 
    8242         224 :   if (block2.is_used()) {
    8243         224 :     compiler::TNode<FixedArray> tmp5;
    8244         224 :     compiler::TNode<IntPtrT> tmp6;
    8245         224 :     compiler::TNode<String> tmp7;
    8246         224 :     compiler::TNode<IntPtrT> tmp8;
    8247         224 :     ca_.Bind(&block2, &tmp5, &tmp6, &tmp7, &tmp8);
    8248         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 137);
    8249         224 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp5}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<HeapObject>{tmp7});
    8250         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 138);
    8251         224 :     ca_.Goto(&block1, tmp5, tmp6, tmp7, tmp5);
    8252             :   }
    8253             : 
    8254         224 :   if (block3.is_used()) {
    8255         224 :     compiler::TNode<FixedArray> tmp9;
    8256         224 :     compiler::TNode<IntPtrT> tmp10;
    8257         224 :     compiler::TNode<String> tmp11;
    8258         224 :     compiler::TNode<IntPtrT> tmp12;
    8259         224 :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12);
    8260         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 141);
    8261         224 :     compiler::TNode<IntPtrT> tmp13;
    8262         224 :     USE(tmp13);
    8263         224 :     tmp13 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<IntPtrT>{tmp12}));
    8264         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 144);
    8265         224 :     compiler::TNode<IntPtrT> tmp14;
    8266         224 :     USE(tmp14);
    8267         224 :     tmp14 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    8268         224 :     compiler::TNode<FixedArray> tmp15;
    8269         224 :     USE(tmp15);
    8270         224 :     tmp15 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArray>{tmp9}, compiler::TNode<IntPtrT>{tmp14}, compiler::TNode<IntPtrT>{tmp12}, compiler::TNode<IntPtrT>{tmp13}, CodeStubAssembler::ExtractFixedArrayFlag::kFixedArrays));
    8271         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 143);
    8272         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 145);
    8273         224 :     CodeStubAssembler(state_).StoreFixedArrayElement(compiler::TNode<FixedArray>{tmp15}, compiler::TNode<IntPtrT>{tmp10}, compiler::TNode<HeapObject>{tmp11});
    8274         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 146);
    8275         224 :     ca_.Goto(&block1, tmp9, tmp10, tmp11, tmp15);
    8276             :   }
    8277             : 
    8278         224 :   if (block1.is_used()) {
    8279         224 :     compiler::TNode<FixedArray> tmp16;
    8280         224 :     compiler::TNode<IntPtrT> tmp17;
    8281         224 :     compiler::TNode<String> tmp18;
    8282         224 :     compiler::TNode<FixedArray> tmp19;
    8283         224 :     ca_.Bind(&block1, &tmp16, &tmp17, &tmp18, &tmp19);
    8284         224 :     ca_.SetSourcePosition("../../src/builtins/array-join.tq", 132);
    8285         224 :     ca_.Goto(&block5, tmp16, tmp17, tmp18, tmp19);
    8286             :   }
    8287             : 
    8288         224 :     compiler::TNode<FixedArray> tmp20;
    8289         224 :     compiler::TNode<IntPtrT> tmp21;
    8290         224 :     compiler::TNode<String> tmp22;
    8291         224 :     compiler::TNode<FixedArray> tmp23;
    8292         224 :     ca_.Bind(&block5, &tmp20, &tmp21, &tmp22, &tmp23);
    8293         448 :   return compiler::TNode<FixedArray>{tmp23};
    8294             : }
    8295             : 
    8296             : }  // namespace internal
    8297       87414 : }  // namespace v8
    8298             : 

Generated by: LCOV version 1.10