LCOV - code coverage report
Current view: top level - out/Release/gen/torque-generated - builtins-array-foreach-from-dsl-gen.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 311 311 100.0 %
Date: 2019-04-17 Functions: 10 10 100.0 %

          Line data    Source code
       1             : #include "src/builtins/builtins-utils-gen.h"
       2             : #include "src/builtins/builtins.h"
       3             : #include "src/code-factory.h"
       4             : #include "src/elements-kind.h"
       5             : #include "src/heap/factory-inl.h"
       6             : #include "src/objects.h"
       7             : #include "src/objects/arguments.h"
       8             : #include "src/objects/bigint.h"
       9             : #include "src/objects/free-space.h"
      10             : #include "src/objects/js-generator.h"
      11             : #include "src/objects/js-promise.h"
      12             : #include "src/objects/js-regexp-string-iterator.h"
      13             : #include "src/objects/module.h"
      14             : #include "src/objects/stack-frame-info.h"
      15             : #include "src/builtins/builtins-regexp-gen.h"
      16             : #include "src/builtins/builtins-array-gen.h"
      17             : #include "src/builtins/builtins-collections-gen.h"
      18             : #include "src/builtins/builtins-data-view-gen.h"
      19             : #include "src/builtins/builtins-iterator-gen.h"
      20             : #include "src/builtins/builtins-proxy-gen.h"
      21             : #include "src/builtins/builtins-proxy-gen.h"
      22             : #include "src/builtins/builtins-regexp-gen.h"
      23             : #include "src/builtins/builtins-regexp-gen.h"
      24             : #include "src/builtins/builtins-regexp-gen.h"
      25             : #include "src/builtins/builtins-typed-array-gen.h"
      26             : #include "src/builtins/builtins-constructor-gen.h"
      27             : #include "src/builtins/builtins-typed-array-gen.h"
      28             : #include "src/builtins/builtins-typed-array-gen.h"
      29             : #include "src/builtins/builtins-typed-array-gen.h"
      30             : #include "src/builtins/builtins-typed-array-gen.h"
      31             : #include "src/builtins/builtins-typed-array-gen.h"
      32             : #include "src/builtins/builtins-typed-array-gen.h"
      33             : #include "src/builtins/builtins-typed-array-gen.h"
      34             : #include "src/builtins/builtins-typed-array-gen.h"
      35             : #include "torque-generated/builtins-base-from-dsl-gen.h"
      36             : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
      37             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      38             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      39             : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
      40             : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
      41             : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
      42             : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
      43             : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
      44             : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
      45             : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
      46             : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
      47             : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
      48             : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
      49             : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
      50             : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
      51             : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
      52             : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
      53             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      54             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      55             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      56             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      57             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      58             : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
      59             : #include "torque-generated/builtins-regexp-from-dsl-gen.h"
      60             : #include "torque-generated/builtins-regexp-replace-from-dsl-gen.h"
      61             : #include "torque-generated/builtins-string-from-dsl-gen.h"
      62             : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
      63             : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
      64             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      65             : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
      66             : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
      67             : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
      68             : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
      69             : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
      70             : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
      71             : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
      72             : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
      73             : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
      74             : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
      75             : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
      76             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      77             : 
      78             : namespace v8 {
      79             : namespace internal {
      80             : 
      81         224 : TF_BUILTIN(ArrayForEachLoopEagerDeoptContinuation, CodeStubAssembler) {
      82          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
      83             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
      84             :   USE(parameter0);
      85             :   compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kReceiver));
      86             :   USE(parameter1);
      87             :   compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kCallback));
      88             :   USE(parameter2);
      89             :   compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kThisArg));
      90             :   USE(parameter3);
      91             :   compiler::TNode<Object> parameter4 = UncheckedCast<Object>(Parameter(Descriptor::kInitialK));
      92             :   USE(parameter4);
      93             :   compiler::TNode<Object> parameter5 = UncheckedCast<Object>(Parameter(Descriptor::kLength));
      94             :   USE(parameter5);
      95             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      96             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      97             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      98             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      99             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     100             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     101             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     102             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     103             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     104             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     105             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     106             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     107             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     108             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     109             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object, Number> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     110             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     111             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Number> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     112             :     ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3, parameter4, parameter5);
     113             : 
     114          56 :   if (block0.is_used()) {
     115             :     compiler::TNode<Context> tmp0;
     116             :     compiler::TNode<Object> tmp1;
     117             :     compiler::TNode<Object> tmp2;
     118             :     compiler::TNode<Object> tmp3;
     119             :     compiler::TNode<Object> tmp4;
     120             :     compiler::TNode<Object> tmp5;
     121             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
     122          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 13);
     123             :     compiler::TNode<JSReceiver> tmp6;
     124             :     USE(tmp6);
     125          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     126         112 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
     127             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp1, tmp6);
     128          56 :     if (label0.is_used()) {
     129          56 :       ca_.Bind(&label0);
     130             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp1);
     131             :     }
     132             :   }
     133             : 
     134          56 :   if (block4.is_used()) {
     135             :     compiler::TNode<Context> tmp7;
     136             :     compiler::TNode<Object> tmp8;
     137             :     compiler::TNode<Object> tmp9;
     138             :     compiler::TNode<Object> tmp10;
     139             :     compiler::TNode<Object> tmp11;
     140             :     compiler::TNode<Object> tmp12;
     141             :     compiler::TNode<Object> tmp13;
     142             :     ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
     143             :     ca_.Goto(&block2, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12);
     144             :   }
     145             : 
     146          56 :   if (block3.is_used()) {
     147             :     compiler::TNode<Context> tmp14;
     148             :     compiler::TNode<Object> tmp15;
     149             :     compiler::TNode<Object> tmp16;
     150             :     compiler::TNode<Object> tmp17;
     151             :     compiler::TNode<Object> tmp18;
     152             :     compiler::TNode<Object> tmp19;
     153             :     compiler::TNode<Object> tmp20;
     154             :     compiler::TNode<JSReceiver> tmp21;
     155             :     ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
     156             :     ca_.Goto(&block1, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp21);
     157             :   }
     158             : 
     159          56 :   if (block2.is_used()) {
     160             :     compiler::TNode<Context> tmp22;
     161             :     compiler::TNode<Object> tmp23;
     162             :     compiler::TNode<Object> tmp24;
     163             :     compiler::TNode<Object> tmp25;
     164             :     compiler::TNode<Object> tmp26;
     165             :     compiler::TNode<Object> tmp27;
     166             :     ca_.Bind(&block2, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
     167         112 :     CodeStubAssembler(state_).Unreachable();
     168             :   }
     169             : 
     170          56 :   if (block1.is_used()) {
     171             :     compiler::TNode<Context> tmp28;
     172             :     compiler::TNode<Object> tmp29;
     173             :     compiler::TNode<Object> tmp30;
     174             :     compiler::TNode<Object> tmp31;
     175             :     compiler::TNode<Object> tmp32;
     176             :     compiler::TNode<Object> tmp33;
     177             :     compiler::TNode<JSReceiver> tmp34;
     178             :     ca_.Bind(&block1, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
     179          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 14);
     180             :     compiler::TNode<JSReceiver> tmp35;
     181             :     USE(tmp35);
     182          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     183         112 :     tmp35 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp28}, compiler::TNode<Object>{tmp30}, &label0);
     184             :     ca_.Goto(&block7, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30, tmp35);
     185          56 :     if (label0.is_used()) {
     186          56 :       ca_.Bind(&label0);
     187             :       ca_.Goto(&block8, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
     188             :     }
     189             :   }
     190             : 
     191          56 :   if (block8.is_used()) {
     192             :     compiler::TNode<Context> tmp36;
     193             :     compiler::TNode<Object> tmp37;
     194             :     compiler::TNode<Object> tmp38;
     195             :     compiler::TNode<Object> tmp39;
     196             :     compiler::TNode<Object> tmp40;
     197             :     compiler::TNode<Object> tmp41;
     198             :     compiler::TNode<JSReceiver> tmp42;
     199             :     compiler::TNode<Object> tmp43;
     200             :     ca_.Bind(&block8, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
     201             :     ca_.Goto(&block6, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
     202             :   }
     203             : 
     204          56 :   if (block7.is_used()) {
     205             :     compiler::TNode<Context> tmp44;
     206             :     compiler::TNode<Object> tmp45;
     207             :     compiler::TNode<Object> tmp46;
     208             :     compiler::TNode<Object> tmp47;
     209             :     compiler::TNode<Object> tmp48;
     210             :     compiler::TNode<Object> tmp49;
     211             :     compiler::TNode<JSReceiver> tmp50;
     212             :     compiler::TNode<Object> tmp51;
     213             :     compiler::TNode<JSReceiver> tmp52;
     214             :     ca_.Bind(&block7, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
     215             :     ca_.Goto(&block5, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp52);
     216             :   }
     217             : 
     218          56 :   if (block6.is_used()) {
     219             :     compiler::TNode<Context> tmp53;
     220             :     compiler::TNode<Object> tmp54;
     221             :     compiler::TNode<Object> tmp55;
     222             :     compiler::TNode<Object> tmp56;
     223             :     compiler::TNode<Object> tmp57;
     224             :     compiler::TNode<Object> tmp58;
     225             :     compiler::TNode<JSReceiver> tmp59;
     226             :     ca_.Bind(&block6, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
     227         112 :     CodeStubAssembler(state_).Unreachable();
     228             :   }
     229             : 
     230          56 :   if (block5.is_used()) {
     231             :     compiler::TNode<Context> tmp60;
     232             :     compiler::TNode<Object> tmp61;
     233             :     compiler::TNode<Object> tmp62;
     234             :     compiler::TNode<Object> tmp63;
     235             :     compiler::TNode<Object> tmp64;
     236             :     compiler::TNode<Object> tmp65;
     237             :     compiler::TNode<JSReceiver> tmp66;
     238             :     compiler::TNode<JSReceiver> tmp67;
     239             :     ca_.Bind(&block5, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
     240          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 15);
     241             :     compiler::TNode<Number> tmp68;
     242             :     USE(tmp68);
     243          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     244         112 :     tmp68 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{tmp64}, &label0);
     245             :     ca_.Goto(&block11, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp64, tmp68);
     246          56 :     if (label0.is_used()) {
     247          56 :       ca_.Bind(&label0);
     248             :       ca_.Goto(&block12, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp64);
     249             :     }
     250             :   }
     251             : 
     252          56 :   if (block12.is_used()) {
     253             :     compiler::TNode<Context> tmp69;
     254             :     compiler::TNode<Object> tmp70;
     255             :     compiler::TNode<Object> tmp71;
     256             :     compiler::TNode<Object> tmp72;
     257             :     compiler::TNode<Object> tmp73;
     258             :     compiler::TNode<Object> tmp74;
     259             :     compiler::TNode<JSReceiver> tmp75;
     260             :     compiler::TNode<JSReceiver> tmp76;
     261             :     compiler::TNode<Object> tmp77;
     262             :     ca_.Bind(&block12, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
     263             :     ca_.Goto(&block10, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76);
     264             :   }
     265             : 
     266          56 :   if (block11.is_used()) {
     267             :     compiler::TNode<Context> tmp78;
     268             :     compiler::TNode<Object> tmp79;
     269             :     compiler::TNode<Object> tmp80;
     270             :     compiler::TNode<Object> tmp81;
     271             :     compiler::TNode<Object> tmp82;
     272             :     compiler::TNode<Object> tmp83;
     273             :     compiler::TNode<JSReceiver> tmp84;
     274             :     compiler::TNode<JSReceiver> tmp85;
     275             :     compiler::TNode<Object> tmp86;
     276             :     compiler::TNode<Number> tmp87;
     277             :     ca_.Bind(&block11, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87);
     278             :     ca_.Goto(&block9, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp87);
     279             :   }
     280             : 
     281          56 :   if (block10.is_used()) {
     282             :     compiler::TNode<Context> tmp88;
     283             :     compiler::TNode<Object> tmp89;
     284             :     compiler::TNode<Object> tmp90;
     285             :     compiler::TNode<Object> tmp91;
     286             :     compiler::TNode<Object> tmp92;
     287             :     compiler::TNode<Object> tmp93;
     288             :     compiler::TNode<JSReceiver> tmp94;
     289             :     compiler::TNode<JSReceiver> tmp95;
     290             :     ca_.Bind(&block10, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95);
     291         112 :     CodeStubAssembler(state_).Unreachable();
     292             :   }
     293             : 
     294          56 :   if (block9.is_used()) {
     295             :     compiler::TNode<Context> tmp96;
     296             :     compiler::TNode<Object> tmp97;
     297             :     compiler::TNode<Object> tmp98;
     298             :     compiler::TNode<Object> tmp99;
     299             :     compiler::TNode<Object> tmp100;
     300             :     compiler::TNode<Object> tmp101;
     301             :     compiler::TNode<JSReceiver> tmp102;
     302             :     compiler::TNode<JSReceiver> tmp103;
     303             :     compiler::TNode<Number> tmp104;
     304             :     ca_.Bind(&block9, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104);
     305          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 16);
     306             :     compiler::TNode<Number> tmp105;
     307             :     USE(tmp105);
     308          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     309         112 :     tmp105 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{tmp101}, &label0);
     310             :     ca_.Goto(&block15, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp101, tmp105);
     311          56 :     if (label0.is_used()) {
     312          56 :       ca_.Bind(&label0);
     313             :       ca_.Goto(&block16, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp101);
     314             :     }
     315             :   }
     316             : 
     317          56 :   if (block16.is_used()) {
     318             :     compiler::TNode<Context> tmp106;
     319             :     compiler::TNode<Object> tmp107;
     320             :     compiler::TNode<Object> tmp108;
     321             :     compiler::TNode<Object> tmp109;
     322             :     compiler::TNode<Object> tmp110;
     323             :     compiler::TNode<Object> tmp111;
     324             :     compiler::TNode<JSReceiver> tmp112;
     325             :     compiler::TNode<JSReceiver> tmp113;
     326             :     compiler::TNode<Number> tmp114;
     327             :     compiler::TNode<Object> tmp115;
     328             :     ca_.Bind(&block16, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
     329             :     ca_.Goto(&block14, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114);
     330             :   }
     331             : 
     332          56 :   if (block15.is_used()) {
     333             :     compiler::TNode<Context> tmp116;
     334             :     compiler::TNode<Object> tmp117;
     335             :     compiler::TNode<Object> tmp118;
     336             :     compiler::TNode<Object> tmp119;
     337             :     compiler::TNode<Object> tmp120;
     338             :     compiler::TNode<Object> tmp121;
     339             :     compiler::TNode<JSReceiver> tmp122;
     340             :     compiler::TNode<JSReceiver> tmp123;
     341             :     compiler::TNode<Number> tmp124;
     342             :     compiler::TNode<Object> tmp125;
     343             :     compiler::TNode<Number> tmp126;
     344             :     ca_.Bind(&block15, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
     345             :     ca_.Goto(&block13, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp126);
     346             :   }
     347             : 
     348          56 :   if (block14.is_used()) {
     349             :     compiler::TNode<Context> tmp127;
     350             :     compiler::TNode<Object> tmp128;
     351             :     compiler::TNode<Object> tmp129;
     352             :     compiler::TNode<Object> tmp130;
     353             :     compiler::TNode<Object> tmp131;
     354             :     compiler::TNode<Object> tmp132;
     355             :     compiler::TNode<JSReceiver> tmp133;
     356             :     compiler::TNode<JSReceiver> tmp134;
     357             :     compiler::TNode<Number> tmp135;
     358             :     ca_.Bind(&block14, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135);
     359         112 :     CodeStubAssembler(state_).Unreachable();
     360             :   }
     361             : 
     362          56 :   if (block13.is_used()) {
     363             :     compiler::TNode<Context> tmp136;
     364             :     compiler::TNode<Object> tmp137;
     365             :     compiler::TNode<Object> tmp138;
     366             :     compiler::TNode<Object> tmp139;
     367             :     compiler::TNode<Object> tmp140;
     368             :     compiler::TNode<Object> tmp141;
     369             :     compiler::TNode<JSReceiver> tmp142;
     370             :     compiler::TNode<JSReceiver> tmp143;
     371             :     compiler::TNode<Number> tmp144;
     372             :     compiler::TNode<Number> tmp145;
     373             :     ca_.Bind(&block13, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145);
     374          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 19);
     375             :     compiler::TNode<Oddball> tmp146;
     376             :     USE(tmp146);
     377         112 :     tmp146 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     378          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 20);
     379             :     compiler::TNode<Oddball> tmp147;
     380             :     USE(tmp147);
     381         112 :     tmp147 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     382          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 18);
     383             :     compiler::TNode<Object> tmp148;
     384         112 :     tmp148 = CodeStubAssembler(state_).CallBuiltin(Builtins::kArrayForEachLoopContinuation, tmp136, tmp142, tmp143, tmp139, tmp146, tmp142, tmp144, tmp145, tmp147);
     385             :     USE(tmp148);
     386         112 :     CodeStubAssembler(state_).Return(tmp148);
     387             :   }
     388          56 : }
     389             : 
     390         224 : TF_BUILTIN(ArrayForEachLoopLazyDeoptContinuation, CodeStubAssembler) {
     391          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     392             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     393             :   USE(parameter0);
     394             :   compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kReceiver));
     395             :   USE(parameter1);
     396             :   compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kCallback));
     397             :   USE(parameter2);
     398             :   compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kThisArg));
     399             :   USE(parameter3);
     400             :   compiler::TNode<Object> parameter4 = UncheckedCast<Object>(Parameter(Descriptor::kInitialK));
     401             :   USE(parameter4);
     402             :   compiler::TNode<Object> parameter5 = UncheckedCast<Object>(Parameter(Descriptor::kLength));
     403             :   USE(parameter5);
     404             :   compiler::TNode<Object> parameter6 = UncheckedCast<Object>(Parameter(Descriptor::kResult));
     405             :   USE(parameter6);
     406             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     407             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     408             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     409             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     410             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     411             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     412             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     413             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     414             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     415             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     416             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     417             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     418             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     419             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     420             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object, Number> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     421             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     422             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Number> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     423             :     ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3, parameter4, parameter5, parameter6);
     424             : 
     425          56 :   if (block0.is_used()) {
     426             :     compiler::TNode<Context> tmp0;
     427             :     compiler::TNode<Object> tmp1;
     428             :     compiler::TNode<Object> tmp2;
     429             :     compiler::TNode<Object> tmp3;
     430             :     compiler::TNode<Object> tmp4;
     431             :     compiler::TNode<Object> tmp5;
     432             :     compiler::TNode<Object> tmp6;
     433             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
     434          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 30);
     435             :     compiler::TNode<JSReceiver> tmp7;
     436             :     USE(tmp7);
     437          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     438         112 :     tmp7 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
     439             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp1, tmp7);
     440          56 :     if (label0.is_used()) {
     441          56 :       ca_.Bind(&label0);
     442             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp1);
     443             :     }
     444             :   }
     445             : 
     446          56 :   if (block4.is_used()) {
     447             :     compiler::TNode<Context> tmp8;
     448             :     compiler::TNode<Object> tmp9;
     449             :     compiler::TNode<Object> tmp10;
     450             :     compiler::TNode<Object> tmp11;
     451             :     compiler::TNode<Object> tmp12;
     452             :     compiler::TNode<Object> tmp13;
     453             :     compiler::TNode<Object> tmp14;
     454             :     compiler::TNode<Object> tmp15;
     455             :     ca_.Bind(&block4, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     456             :     ca_.Goto(&block2, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
     457             :   }
     458             : 
     459          56 :   if (block3.is_used()) {
     460             :     compiler::TNode<Context> tmp16;
     461             :     compiler::TNode<Object> tmp17;
     462             :     compiler::TNode<Object> tmp18;
     463             :     compiler::TNode<Object> tmp19;
     464             :     compiler::TNode<Object> tmp20;
     465             :     compiler::TNode<Object> tmp21;
     466             :     compiler::TNode<Object> tmp22;
     467             :     compiler::TNode<Object> tmp23;
     468             :     compiler::TNode<JSReceiver> tmp24;
     469             :     ca_.Bind(&block3, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
     470             :     ca_.Goto(&block1, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp24);
     471             :   }
     472             : 
     473          56 :   if (block2.is_used()) {
     474             :     compiler::TNode<Context> tmp25;
     475             :     compiler::TNode<Object> tmp26;
     476             :     compiler::TNode<Object> tmp27;
     477             :     compiler::TNode<Object> tmp28;
     478             :     compiler::TNode<Object> tmp29;
     479             :     compiler::TNode<Object> tmp30;
     480             :     compiler::TNode<Object> tmp31;
     481             :     ca_.Bind(&block2, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
     482         112 :     CodeStubAssembler(state_).Unreachable();
     483             :   }
     484             : 
     485          56 :   if (block1.is_used()) {
     486             :     compiler::TNode<Context> tmp32;
     487             :     compiler::TNode<Object> tmp33;
     488             :     compiler::TNode<Object> tmp34;
     489             :     compiler::TNode<Object> tmp35;
     490             :     compiler::TNode<Object> tmp36;
     491             :     compiler::TNode<Object> tmp37;
     492             :     compiler::TNode<Object> tmp38;
     493             :     compiler::TNode<JSReceiver> tmp39;
     494             :     ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
     495          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 31);
     496             :     compiler::TNode<JSReceiver> tmp40;
     497             :     USE(tmp40);
     498          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     499         112 :     tmp40 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp32}, compiler::TNode<Object>{tmp34}, &label0);
     500             :     ca_.Goto(&block7, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp34, tmp40);
     501          56 :     if (label0.is_used()) {
     502          56 :       ca_.Bind(&label0);
     503             :       ca_.Goto(&block8, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp34);
     504             :     }
     505             :   }
     506             : 
     507          56 :   if (block8.is_used()) {
     508             :     compiler::TNode<Context> tmp41;
     509             :     compiler::TNode<Object> tmp42;
     510             :     compiler::TNode<Object> tmp43;
     511             :     compiler::TNode<Object> tmp44;
     512             :     compiler::TNode<Object> tmp45;
     513             :     compiler::TNode<Object> tmp46;
     514             :     compiler::TNode<Object> tmp47;
     515             :     compiler::TNode<JSReceiver> tmp48;
     516             :     compiler::TNode<Object> tmp49;
     517             :     ca_.Bind(&block8, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
     518             :     ca_.Goto(&block6, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48);
     519             :   }
     520             : 
     521          56 :   if (block7.is_used()) {
     522             :     compiler::TNode<Context> tmp50;
     523             :     compiler::TNode<Object> tmp51;
     524             :     compiler::TNode<Object> tmp52;
     525             :     compiler::TNode<Object> tmp53;
     526             :     compiler::TNode<Object> tmp54;
     527             :     compiler::TNode<Object> tmp55;
     528             :     compiler::TNode<Object> tmp56;
     529             :     compiler::TNode<JSReceiver> tmp57;
     530             :     compiler::TNode<Object> tmp58;
     531             :     compiler::TNode<JSReceiver> tmp59;
     532             :     ca_.Bind(&block7, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
     533             :     ca_.Goto(&block5, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp59);
     534             :   }
     535             : 
     536          56 :   if (block6.is_used()) {
     537             :     compiler::TNode<Context> tmp60;
     538             :     compiler::TNode<Object> tmp61;
     539             :     compiler::TNode<Object> tmp62;
     540             :     compiler::TNode<Object> tmp63;
     541             :     compiler::TNode<Object> tmp64;
     542             :     compiler::TNode<Object> tmp65;
     543             :     compiler::TNode<Object> tmp66;
     544             :     compiler::TNode<JSReceiver> tmp67;
     545             :     ca_.Bind(&block6, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
     546         112 :     CodeStubAssembler(state_).Unreachable();
     547             :   }
     548             : 
     549          56 :   if (block5.is_used()) {
     550             :     compiler::TNode<Context> tmp68;
     551             :     compiler::TNode<Object> tmp69;
     552             :     compiler::TNode<Object> tmp70;
     553             :     compiler::TNode<Object> tmp71;
     554             :     compiler::TNode<Object> tmp72;
     555             :     compiler::TNode<Object> tmp73;
     556             :     compiler::TNode<Object> tmp74;
     557             :     compiler::TNode<JSReceiver> tmp75;
     558             :     compiler::TNode<JSReceiver> tmp76;
     559             :     ca_.Bind(&block5, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76);
     560          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 32);
     561             :     compiler::TNode<Number> tmp77;
     562             :     USE(tmp77);
     563          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     564         112 :     tmp77 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{tmp72}, &label0);
     565             :     ca_.Goto(&block11, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp72, tmp77);
     566          56 :     if (label0.is_used()) {
     567          56 :       ca_.Bind(&label0);
     568             :       ca_.Goto(&block12, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp72);
     569             :     }
     570             :   }
     571             : 
     572          56 :   if (block12.is_used()) {
     573             :     compiler::TNode<Context> tmp78;
     574             :     compiler::TNode<Object> tmp79;
     575             :     compiler::TNode<Object> tmp80;
     576             :     compiler::TNode<Object> tmp81;
     577             :     compiler::TNode<Object> tmp82;
     578             :     compiler::TNode<Object> tmp83;
     579             :     compiler::TNode<Object> tmp84;
     580             :     compiler::TNode<JSReceiver> tmp85;
     581             :     compiler::TNode<JSReceiver> tmp86;
     582             :     compiler::TNode<Object> tmp87;
     583             :     ca_.Bind(&block12, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87);
     584             :     ca_.Goto(&block10, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86);
     585             :   }
     586             : 
     587          56 :   if (block11.is_used()) {
     588             :     compiler::TNode<Context> tmp88;
     589             :     compiler::TNode<Object> tmp89;
     590             :     compiler::TNode<Object> tmp90;
     591             :     compiler::TNode<Object> tmp91;
     592             :     compiler::TNode<Object> tmp92;
     593             :     compiler::TNode<Object> tmp93;
     594             :     compiler::TNode<Object> tmp94;
     595             :     compiler::TNode<JSReceiver> tmp95;
     596             :     compiler::TNode<JSReceiver> tmp96;
     597             :     compiler::TNode<Object> tmp97;
     598             :     compiler::TNode<Number> tmp98;
     599             :     ca_.Bind(&block11, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98);
     600             :     ca_.Goto(&block9, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp98);
     601             :   }
     602             : 
     603          56 :   if (block10.is_used()) {
     604             :     compiler::TNode<Context> tmp99;
     605             :     compiler::TNode<Object> tmp100;
     606             :     compiler::TNode<Object> tmp101;
     607             :     compiler::TNode<Object> tmp102;
     608             :     compiler::TNode<Object> tmp103;
     609             :     compiler::TNode<Object> tmp104;
     610             :     compiler::TNode<Object> tmp105;
     611             :     compiler::TNode<JSReceiver> tmp106;
     612             :     compiler::TNode<JSReceiver> tmp107;
     613             :     ca_.Bind(&block10, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
     614         112 :     CodeStubAssembler(state_).Unreachable();
     615             :   }
     616             : 
     617          56 :   if (block9.is_used()) {
     618             :     compiler::TNode<Context> tmp108;
     619             :     compiler::TNode<Object> tmp109;
     620             :     compiler::TNode<Object> tmp110;
     621             :     compiler::TNode<Object> tmp111;
     622             :     compiler::TNode<Object> tmp112;
     623             :     compiler::TNode<Object> tmp113;
     624             :     compiler::TNode<Object> tmp114;
     625             :     compiler::TNode<JSReceiver> tmp115;
     626             :     compiler::TNode<JSReceiver> tmp116;
     627             :     compiler::TNode<Number> tmp117;
     628             :     ca_.Bind(&block9, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117);
     629          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 33);
     630             :     compiler::TNode<Number> tmp118;
     631             :     USE(tmp118);
     632          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     633         112 :     tmp118 = BaseBuiltinsFromDSLAssembler(state_).Cast20UT5ATSmi10HeapNumber(compiler::TNode<Object>{tmp113}, &label0);
     634             :     ca_.Goto(&block15, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp113, tmp118);
     635          56 :     if (label0.is_used()) {
     636          56 :       ca_.Bind(&label0);
     637             :       ca_.Goto(&block16, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp113);
     638             :     }
     639             :   }
     640             : 
     641          56 :   if (block16.is_used()) {
     642             :     compiler::TNode<Context> tmp119;
     643             :     compiler::TNode<Object> tmp120;
     644             :     compiler::TNode<Object> tmp121;
     645             :     compiler::TNode<Object> tmp122;
     646             :     compiler::TNode<Object> tmp123;
     647             :     compiler::TNode<Object> tmp124;
     648             :     compiler::TNode<Object> tmp125;
     649             :     compiler::TNode<JSReceiver> tmp126;
     650             :     compiler::TNode<JSReceiver> tmp127;
     651             :     compiler::TNode<Number> tmp128;
     652             :     compiler::TNode<Object> tmp129;
     653             :     ca_.Bind(&block16, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129);
     654             :     ca_.Goto(&block14, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128);
     655             :   }
     656             : 
     657          56 :   if (block15.is_used()) {
     658             :     compiler::TNode<Context> tmp130;
     659             :     compiler::TNode<Object> tmp131;
     660             :     compiler::TNode<Object> tmp132;
     661             :     compiler::TNode<Object> tmp133;
     662             :     compiler::TNode<Object> tmp134;
     663             :     compiler::TNode<Object> tmp135;
     664             :     compiler::TNode<Object> tmp136;
     665             :     compiler::TNode<JSReceiver> tmp137;
     666             :     compiler::TNode<JSReceiver> tmp138;
     667             :     compiler::TNode<Number> tmp139;
     668             :     compiler::TNode<Object> tmp140;
     669             :     compiler::TNode<Number> tmp141;
     670             :     ca_.Bind(&block15, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141);
     671             :     ca_.Goto(&block13, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp141);
     672             :   }
     673             : 
     674          56 :   if (block14.is_used()) {
     675             :     compiler::TNode<Context> tmp142;
     676             :     compiler::TNode<Object> tmp143;
     677             :     compiler::TNode<Object> tmp144;
     678             :     compiler::TNode<Object> tmp145;
     679             :     compiler::TNode<Object> tmp146;
     680             :     compiler::TNode<Object> tmp147;
     681             :     compiler::TNode<Object> tmp148;
     682             :     compiler::TNode<JSReceiver> tmp149;
     683             :     compiler::TNode<JSReceiver> tmp150;
     684             :     compiler::TNode<Number> tmp151;
     685             :     ca_.Bind(&block14, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151);
     686         112 :     CodeStubAssembler(state_).Unreachable();
     687             :   }
     688             : 
     689          56 :   if (block13.is_used()) {
     690             :     compiler::TNode<Context> tmp152;
     691             :     compiler::TNode<Object> tmp153;
     692             :     compiler::TNode<Object> tmp154;
     693             :     compiler::TNode<Object> tmp155;
     694             :     compiler::TNode<Object> tmp156;
     695             :     compiler::TNode<Object> tmp157;
     696             :     compiler::TNode<Object> tmp158;
     697             :     compiler::TNode<JSReceiver> tmp159;
     698             :     compiler::TNode<JSReceiver> tmp160;
     699             :     compiler::TNode<Number> tmp161;
     700             :     compiler::TNode<Number> tmp162;
     701             :     ca_.Bind(&block13, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162);
     702          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 36);
     703             :     compiler::TNode<Oddball> tmp163;
     704             :     USE(tmp163);
     705         112 :     tmp163 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     706          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 37);
     707             :     compiler::TNode<Oddball> tmp164;
     708             :     USE(tmp164);
     709         112 :     tmp164 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     710          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 35);
     711             :     compiler::TNode<Object> tmp165;
     712         112 :     tmp165 = CodeStubAssembler(state_).CallBuiltin(Builtins::kArrayForEachLoopContinuation, tmp152, tmp159, tmp160, tmp155, tmp163, tmp159, tmp161, tmp162, tmp164);
     713             :     USE(tmp165);
     714         112 :     CodeStubAssembler(state_).Return(tmp165);
     715             :   }
     716          56 : }
     717             : 
     718         224 : TF_BUILTIN(ArrayForEachLoopContinuation, CodeStubAssembler) {
     719          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     720             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     721             :   USE(parameter0);
     722             :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
     723             :   USE(parameter1);
     724             :   compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kCallbackfn));
     725             :   USE(parameter2);
     726             :   compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kThisArg));
     727             :   USE(parameter3);
     728             :   compiler::TNode<Object> parameter4 = UncheckedCast<Object>(Parameter(Descriptor::kArray));
     729             :   USE(parameter4);
     730             :   compiler::TNode<JSReceiver> parameter5 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kO));
     731             :   USE(parameter5);
     732             :   compiler::TNode<Number> parameter6 = UncheckedCast<Number>(Parameter(Descriptor::kInitialK));
     733             :   USE(parameter6);
     734             :   compiler::TNode<Number> parameter7 = UncheckedCast<Number>(Parameter(Descriptor::kLen));
     735             :   USE(parameter7);
     736             :   compiler::TNode<Object> parameter8 = UncheckedCast<Object>(Parameter(Descriptor::kTo));
     737             :   USE(parameter8);
     738             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     739             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     740             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     741             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     742             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     743             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Oddball> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     744             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Oddball> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     745             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     746             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     747             :     ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3, parameter4, parameter5, parameter6, parameter7, parameter8);
     748             : 
     749          56 :   if (block0.is_used()) {
     750             :     compiler::TNode<Context> tmp0;
     751             :     compiler::TNode<JSReceiver> tmp1;
     752             :     compiler::TNode<JSReceiver> tmp2;
     753             :     compiler::TNode<Object> tmp3;
     754             :     compiler::TNode<Object> tmp4;
     755             :     compiler::TNode<JSReceiver> tmp5;
     756             :     compiler::TNode<Number> tmp6;
     757             :     compiler::TNode<Number> tmp7;
     758             :     compiler::TNode<Object> tmp8;
     759             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
     760          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 48);
     761             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp6);
     762             :   }
     763             : 
     764          56 :   if (block3.is_used()) {
     765             :     compiler::TNode<Context> tmp9;
     766             :     compiler::TNode<JSReceiver> tmp10;
     767             :     compiler::TNode<JSReceiver> tmp11;
     768             :     compiler::TNode<Object> tmp12;
     769             :     compiler::TNode<Object> tmp13;
     770             :     compiler::TNode<JSReceiver> tmp14;
     771             :     compiler::TNode<Number> tmp15;
     772             :     compiler::TNode<Number> tmp16;
     773             :     compiler::TNode<Object> tmp17;
     774             :     compiler::TNode<Number> tmp18;
     775             :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
     776          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     777          56 :     compiler::CodeAssemblerLabel label1(&ca_);
     778         112 :     CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp18}, compiler::TNode<Number>{tmp16}, &label0, &label1);
     779          56 :     if (label0.is_used()) {
     780          56 :       ca_.Bind(&label0);
     781             :       ca_.Goto(&block5, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp18, tmp16);
     782             :     }
     783          56 :     if (label1.is_used()) {
     784          56 :       ca_.Bind(&label1);
     785             :       ca_.Goto(&block6, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp18, tmp16);
     786             :     }
     787             :   }
     788             : 
     789          56 :   if (block5.is_used()) {
     790             :     compiler::TNode<Context> tmp19;
     791             :     compiler::TNode<JSReceiver> tmp20;
     792             :     compiler::TNode<JSReceiver> tmp21;
     793             :     compiler::TNode<Object> tmp22;
     794             :     compiler::TNode<Object> tmp23;
     795             :     compiler::TNode<JSReceiver> tmp24;
     796             :     compiler::TNode<Number> tmp25;
     797             :     compiler::TNode<Number> tmp26;
     798             :     compiler::TNode<Object> tmp27;
     799             :     compiler::TNode<Number> tmp28;
     800             :     compiler::TNode<Number> tmp29;
     801             :     compiler::TNode<Number> tmp30;
     802             :     ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
     803             :     ca_.Goto(&block1, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28);
     804             :   }
     805             : 
     806          56 :   if (block6.is_used()) {
     807             :     compiler::TNode<Context> tmp31;
     808             :     compiler::TNode<JSReceiver> tmp32;
     809             :     compiler::TNode<JSReceiver> tmp33;
     810             :     compiler::TNode<Object> tmp34;
     811             :     compiler::TNode<Object> tmp35;
     812             :     compiler::TNode<JSReceiver> tmp36;
     813             :     compiler::TNode<Number> tmp37;
     814             :     compiler::TNode<Number> tmp38;
     815             :     compiler::TNode<Object> tmp39;
     816             :     compiler::TNode<Number> tmp40;
     817             :     compiler::TNode<Number> tmp41;
     818             :     compiler::TNode<Number> tmp42;
     819             :     ca_.Bind(&block6, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42);
     820             :     ca_.Goto(&block2, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40);
     821             :   }
     822             : 
     823          56 :   if (block1.is_used()) {
     824             :     compiler::TNode<Context> tmp43;
     825             :     compiler::TNode<JSReceiver> tmp44;
     826             :     compiler::TNode<JSReceiver> tmp45;
     827             :     compiler::TNode<Object> tmp46;
     828             :     compiler::TNode<Object> tmp47;
     829             :     compiler::TNode<JSReceiver> tmp48;
     830             :     compiler::TNode<Number> tmp49;
     831             :     compiler::TNode<Number> tmp50;
     832             :     compiler::TNode<Object> tmp51;
     833             :     compiler::TNode<Number> tmp52;
     834             :     ca_.Bind(&block1, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
     835          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 54);
     836             :     compiler::TNode<Oddball> tmp53;
     837             :     USE(tmp53);
     838         112 :     tmp53 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).HasProperty_Inline(compiler::TNode<Context>{tmp43}, compiler::TNode<JSReceiver>{tmp48}, compiler::TNode<Object>{tmp52}));
     839          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 57);
     840             :     compiler::TNode<Oddball> tmp54;
     841             :     USE(tmp54);
     842         112 :     tmp54 = BaseBuiltinsFromDSLAssembler(state_).True();
     843             :     compiler::TNode<BoolT> tmp55;
     844             :     USE(tmp55);
     845         112 :     tmp55 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp53}, compiler::TNode<HeapObject>{tmp54}));
     846          56 :     ca_.Branch(tmp55, &block7, &block8, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53);
     847             :   }
     848             : 
     849          56 :   if (block7.is_used()) {
     850             :     compiler::TNode<Context> tmp56;
     851             :     compiler::TNode<JSReceiver> tmp57;
     852             :     compiler::TNode<JSReceiver> tmp58;
     853             :     compiler::TNode<Object> tmp59;
     854             :     compiler::TNode<Object> tmp60;
     855             :     compiler::TNode<JSReceiver> tmp61;
     856             :     compiler::TNode<Number> tmp62;
     857             :     compiler::TNode<Number> tmp63;
     858             :     compiler::TNode<Object> tmp64;
     859             :     compiler::TNode<Number> tmp65;
     860             :     compiler::TNode<Oddball> tmp66;
     861             :     ca_.Bind(&block7, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
     862          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 59);
     863             :     compiler::TNode<Object> tmp67;
     864             :     USE(tmp67);
     865         112 :     tmp67 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp56}, compiler::TNode<Object>{tmp61}, compiler::TNode<Object>{tmp65}));
     866          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 62);
     867             :     compiler::TNode<Object> tmp68;
     868             :     USE(tmp68);
     869         168 :     tmp68 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp56}, compiler::TNode<JSReceiver>{tmp58}, compiler::TNode<Object>{tmp59}, compiler::TNode<Object>{tmp67}, compiler::TNode<Object>{tmp65}, compiler::TNode<Object>{tmp61}));
     870          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 57);
     871             :     ca_.Goto(&block8, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66);
     872             :   }
     873             : 
     874          56 :   if (block8.is_used()) {
     875             :     compiler::TNode<Context> tmp69;
     876             :     compiler::TNode<JSReceiver> tmp70;
     877             :     compiler::TNode<JSReceiver> tmp71;
     878             :     compiler::TNode<Object> tmp72;
     879             :     compiler::TNode<Object> tmp73;
     880             :     compiler::TNode<JSReceiver> tmp74;
     881             :     compiler::TNode<Number> tmp75;
     882             :     compiler::TNode<Number> tmp76;
     883             :     compiler::TNode<Object> tmp77;
     884             :     compiler::TNode<Number> tmp78;
     885             :     compiler::TNode<Oddball> tmp79;
     886             :     ca_.Bind(&block8, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79);
     887          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 48);
     888             :     ca_.Goto(&block4, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78);
     889             :   }
     890             : 
     891          56 :   if (block4.is_used()) {
     892             :     compiler::TNode<Context> tmp80;
     893             :     compiler::TNode<JSReceiver> tmp81;
     894             :     compiler::TNode<JSReceiver> tmp82;
     895             :     compiler::TNode<Object> tmp83;
     896             :     compiler::TNode<Object> tmp84;
     897             :     compiler::TNode<JSReceiver> tmp85;
     898             :     compiler::TNode<Number> tmp86;
     899             :     compiler::TNode<Number> tmp87;
     900             :     compiler::TNode<Object> tmp88;
     901             :     compiler::TNode<Number> tmp89;
     902             :     ca_.Bind(&block4, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89);
     903             :     compiler::TNode<Number> tmp90;
     904             :     USE(tmp90);
     905         112 :     tmp90 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
     906             :     compiler::TNode<Number> tmp91;
     907             :     USE(tmp91);
     908         168 :     tmp91 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp89}, compiler::TNode<Number>{tmp90}));
     909             :     ca_.Goto(&block3, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp91);
     910             :   }
     911             : 
     912          56 :   if (block2.is_used()) {
     913             :     compiler::TNode<Context> tmp92;
     914             :     compiler::TNode<JSReceiver> tmp93;
     915             :     compiler::TNode<JSReceiver> tmp94;
     916             :     compiler::TNode<Object> tmp95;
     917             :     compiler::TNode<Object> tmp96;
     918             :     compiler::TNode<JSReceiver> tmp97;
     919             :     compiler::TNode<Number> tmp98;
     920             :     compiler::TNode<Number> tmp99;
     921             :     compiler::TNode<Object> tmp100;
     922             :     compiler::TNode<Number> tmp101;
     923             :     ca_.Bind(&block2, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101);
     924          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 67);
     925             :     compiler::TNode<Oddball> tmp102;
     926             :     USE(tmp102);
     927         112 :     tmp102 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     928         112 :     CodeStubAssembler(state_).Return(tmp102);
     929             :   }
     930          56 : }
     931             : 
     932          56 : compiler::TNode<Object> ArrayForeachBuiltinsFromDSLAssembler::FastArrayForEach(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_len, compiler::TNode<JSReceiver> p_callbackfn, compiler::TNode<Object> p_thisArg, compiler::CodeAssemblerLabel* label_Bailout, compiler::TypedCodeAssemblerVariable<Smi>* label_Bailout_parameter_0) {
     933          56 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     934             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     935             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Number, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     936             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     937             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     938             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     939             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSReceiver, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     940             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     941             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     942             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     943             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     944             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     945             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     946             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     947             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     948             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     949             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     950             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     951             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, JSArray> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     952             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     953             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     954             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     955             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, JSArray, Smi> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     956             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, JSArray, Smi, Object> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     957             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     958             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, JSArray, Smi> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     959             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, JSArray, Smi, Object> block33(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     960             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, Object> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     961             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     962             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     963             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Object, Context, JSReceiver, Object, Object, Smi, JSArray> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     964             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     965             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     966             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     967             :   compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     968             :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Object> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     969             :     ca_.Goto(&block0, p_context, p_o, p_len, p_callbackfn, p_thisArg);
     970             : 
     971          56 :   if (block0.is_used()) {
     972             :     compiler::TNode<Context> tmp0;
     973             :     compiler::TNode<JSReceiver> tmp1;
     974             :     compiler::TNode<Number> tmp2;
     975             :     compiler::TNode<JSReceiver> tmp3;
     976             :     compiler::TNode<Object> tmp4;
     977             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     978          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 73);
     979             :     compiler::TNode<Smi> tmp5;
     980             :     USE(tmp5);
     981         168 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
     982          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 74);
     983             :     compiler::TNode<Smi> tmp6;
     984             :     USE(tmp6);
     985          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     986         168 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp2}, &label0);
     987             :     ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp2, tmp6);
     988          56 :     if (label0.is_used()) {
     989          56 :       ca_.Bind(&label0);
     990             :       ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp2);
     991             :     }
     992             :   }
     993             : 
     994          56 :   if (block6.is_used()) {
     995             :     compiler::TNode<Context> tmp7;
     996             :     compiler::TNode<JSReceiver> tmp8;
     997             :     compiler::TNode<Number> tmp9;
     998             :     compiler::TNode<JSReceiver> tmp10;
     999             :     compiler::TNode<Object> tmp11;
    1000             :     compiler::TNode<Smi> tmp12;
    1001             :     compiler::TNode<Number> tmp13;
    1002             :     ca_.Bind(&block6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    1003             :     ca_.Goto(&block4, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12);
    1004             :   }
    1005             : 
    1006          56 :   if (block5.is_used()) {
    1007             :     compiler::TNode<Context> tmp14;
    1008             :     compiler::TNode<JSReceiver> tmp15;
    1009             :     compiler::TNode<Number> tmp16;
    1010             :     compiler::TNode<JSReceiver> tmp17;
    1011             :     compiler::TNode<Object> tmp18;
    1012             :     compiler::TNode<Smi> tmp19;
    1013             :     compiler::TNode<Number> tmp20;
    1014             :     compiler::TNode<Smi> tmp21;
    1015             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
    1016             :     ca_.Goto(&block3, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp21);
    1017             :   }
    1018             : 
    1019          56 :   if (block4.is_used()) {
    1020             :     compiler::TNode<Context> tmp22;
    1021             :     compiler::TNode<JSReceiver> tmp23;
    1022             :     compiler::TNode<Number> tmp24;
    1023             :     compiler::TNode<JSReceiver> tmp25;
    1024             :     compiler::TNode<Object> tmp26;
    1025             :     compiler::TNode<Smi> tmp27;
    1026             :     ca_.Bind(&block4, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
    1027             :     ca_.Goto(&block1, tmp27);
    1028             :   }
    1029             : 
    1030          56 :   if (block3.is_used()) {
    1031             :     compiler::TNode<Context> tmp28;
    1032             :     compiler::TNode<JSReceiver> tmp29;
    1033             :     compiler::TNode<Number> tmp30;
    1034             :     compiler::TNode<JSReceiver> tmp31;
    1035             :     compiler::TNode<Object> tmp32;
    1036             :     compiler::TNode<Smi> tmp33;
    1037             :     compiler::TNode<Smi> tmp34;
    1038             :     ca_.Bind(&block3, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
    1039          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 75);
    1040             :     compiler::TNode<JSArray> tmp35;
    1041             :     USE(tmp35);
    1042          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    1043         168 :     tmp35 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp28}, compiler::TNode<HeapObject>{tmp29}, &label0);
    1044             :     ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp29, tmp35);
    1045          56 :     if (label0.is_used()) {
    1046          56 :       ca_.Bind(&label0);
    1047             :       ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp29);
    1048             :     }
    1049             :   }
    1050             : 
    1051          56 :   if (block10.is_used()) {
    1052             :     compiler::TNode<Context> tmp36;
    1053             :     compiler::TNode<JSReceiver> tmp37;
    1054             :     compiler::TNode<Number> tmp38;
    1055             :     compiler::TNode<JSReceiver> tmp39;
    1056             :     compiler::TNode<Object> tmp40;
    1057             :     compiler::TNode<Smi> tmp41;
    1058             :     compiler::TNode<Smi> tmp42;
    1059             :     compiler::TNode<JSReceiver> tmp43;
    1060             :     ca_.Bind(&block10, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    1061             :     ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
    1062             :   }
    1063             : 
    1064          56 :   if (block9.is_used()) {
    1065             :     compiler::TNode<Context> tmp44;
    1066             :     compiler::TNode<JSReceiver> tmp45;
    1067             :     compiler::TNode<Number> tmp46;
    1068             :     compiler::TNode<JSReceiver> tmp47;
    1069             :     compiler::TNode<Object> tmp48;
    1070             :     compiler::TNode<Smi> tmp49;
    1071             :     compiler::TNode<Smi> tmp50;
    1072             :     compiler::TNode<JSReceiver> tmp51;
    1073             :     compiler::TNode<JSArray> tmp52;
    1074             :     ca_.Bind(&block9, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
    1075             :     ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp52);
    1076             :   }
    1077             : 
    1078          56 :   if (block8.is_used()) {
    1079             :     compiler::TNode<Context> tmp53;
    1080             :     compiler::TNode<JSReceiver> tmp54;
    1081             :     compiler::TNode<Number> tmp55;
    1082             :     compiler::TNode<JSReceiver> tmp56;
    1083             :     compiler::TNode<Object> tmp57;
    1084             :     compiler::TNode<Smi> tmp58;
    1085             :     compiler::TNode<Smi> tmp59;
    1086             :     ca_.Bind(&block8, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
    1087             :     ca_.Goto(&block1, tmp58);
    1088             :   }
    1089             : 
    1090          56 :   if (block7.is_used()) {
    1091             :     compiler::TNode<Context> tmp60;
    1092             :     compiler::TNode<JSReceiver> tmp61;
    1093             :     compiler::TNode<Number> tmp62;
    1094             :     compiler::TNode<JSReceiver> tmp63;
    1095             :     compiler::TNode<Object> tmp64;
    1096             :     compiler::TNode<Smi> tmp65;
    1097             :     compiler::TNode<Smi> tmp66;
    1098             :     compiler::TNode<JSArray> tmp67;
    1099             :     ca_.Bind(&block7, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
    1100          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 76);
    1101             :     compiler::TNode<JSArray> tmp68;
    1102             :     USE(tmp68);
    1103             :     compiler::TNode<JSArray> tmp69;
    1104             :     USE(tmp69);
    1105             :     compiler::TNode<Map> tmp70;
    1106             :     USE(tmp70);
    1107             :     compiler::TNode<BoolT> tmp71;
    1108             :     USE(tmp71);
    1109             :     compiler::TNode<BoolT> tmp72;
    1110             :     USE(tmp72);
    1111             :     compiler::TNode<BoolT> tmp73;
    1112             :     USE(tmp73);
    1113         224 :     std::tie(tmp68, tmp69, tmp70, tmp71, tmp72, tmp73) = BaseBuiltinsFromDSLAssembler(state_).NewFastJSArrayWitness(compiler::TNode<JSArray>{tmp67}).Flatten();
    1114          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 79);
    1115             :     ca_.Goto(&block13, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
    1116             :   }
    1117             : 
    1118          56 :   if (block13.is_used()) {
    1119             :     compiler::TNode<Context> tmp74;
    1120             :     compiler::TNode<JSReceiver> tmp75;
    1121             :     compiler::TNode<Number> tmp76;
    1122             :     compiler::TNode<JSReceiver> tmp77;
    1123             :     compiler::TNode<Object> tmp78;
    1124             :     compiler::TNode<Smi> tmp79;
    1125             :     compiler::TNode<Smi> tmp80;
    1126             :     compiler::TNode<JSArray> tmp81;
    1127             :     compiler::TNode<JSArray> tmp82;
    1128             :     compiler::TNode<JSArray> tmp83;
    1129             :     compiler::TNode<Map> tmp84;
    1130             :     compiler::TNode<BoolT> tmp85;
    1131             :     compiler::TNode<BoolT> tmp86;
    1132             :     compiler::TNode<BoolT> tmp87;
    1133             :     ca_.Bind(&block13, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87);
    1134             :     compiler::TNode<BoolT> tmp88;
    1135             :     USE(tmp88);
    1136         112 :     tmp88 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp79}, compiler::TNode<Smi>{tmp80}));
    1137          56 :     ca_.Branch(tmp88, &block11, &block12, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87);
    1138             :   }
    1139             : 
    1140          56 :   if (block11.is_used()) {
    1141             :     compiler::TNode<Context> tmp89;
    1142             :     compiler::TNode<JSReceiver> tmp90;
    1143             :     compiler::TNode<Number> tmp91;
    1144             :     compiler::TNode<JSReceiver> tmp92;
    1145             :     compiler::TNode<Object> tmp93;
    1146             :     compiler::TNode<Smi> tmp94;
    1147             :     compiler::TNode<Smi> tmp95;
    1148             :     compiler::TNode<JSArray> tmp96;
    1149             :     compiler::TNode<JSArray> tmp97;
    1150             :     compiler::TNode<JSArray> tmp98;
    1151             :     compiler::TNode<Map> tmp99;
    1152             :     compiler::TNode<BoolT> tmp100;
    1153             :     compiler::TNode<BoolT> tmp101;
    1154             :     compiler::TNode<BoolT> tmp102;
    1155             :     ca_.Bind(&block11, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102);
    1156          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 2084);
    1157          56 :     compiler::TNode<IntPtrT> tmp103 = ca_.IntPtrConstant(HeapObject::kMapOffset);
    1158             :     USE(tmp103);
    1159         112 :     compiler::TNode<Map>tmp104 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp97, tmp103});
    1160             :     compiler::TNode<BoolT> tmp105;
    1161             :     USE(tmp105);
    1162         112 :     tmp105 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<HeapObject>{tmp104}, compiler::TNode<HeapObject>{tmp99}));
    1163          56 :     ca_.Branch(tmp105, &block18, &block19, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102);
    1164             :   }
    1165             : 
    1166          56 :   if (block18.is_used()) {
    1167             :     compiler::TNode<Context> tmp106;
    1168             :     compiler::TNode<JSReceiver> tmp107;
    1169             :     compiler::TNode<Number> tmp108;
    1170             :     compiler::TNode<JSReceiver> tmp109;
    1171             :     compiler::TNode<Object> tmp110;
    1172             :     compiler::TNode<Smi> tmp111;
    1173             :     compiler::TNode<Smi> tmp112;
    1174             :     compiler::TNode<JSArray> tmp113;
    1175             :     compiler::TNode<JSArray> tmp114;
    1176             :     compiler::TNode<JSArray> tmp115;
    1177             :     compiler::TNode<Map> tmp116;
    1178             :     compiler::TNode<BoolT> tmp117;
    1179             :     compiler::TNode<BoolT> tmp118;
    1180             :     compiler::TNode<BoolT> tmp119;
    1181             :     ca_.Bind(&block18, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119);
    1182             :     ca_.Goto(&block16, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119);
    1183             :   }
    1184             : 
    1185          56 :   if (block19.is_used()) {
    1186             :     compiler::TNode<Context> tmp120;
    1187             :     compiler::TNode<JSReceiver> tmp121;
    1188             :     compiler::TNode<Number> tmp122;
    1189             :     compiler::TNode<JSReceiver> tmp123;
    1190             :     compiler::TNode<Object> tmp124;
    1191             :     compiler::TNode<Smi> tmp125;
    1192             :     compiler::TNode<Smi> tmp126;
    1193             :     compiler::TNode<JSArray> tmp127;
    1194             :     compiler::TNode<JSArray> tmp128;
    1195             :     compiler::TNode<JSArray> tmp129;
    1196             :     compiler::TNode<Map> tmp130;
    1197             :     compiler::TNode<BoolT> tmp131;
    1198             :     compiler::TNode<BoolT> tmp132;
    1199             :     compiler::TNode<BoolT> tmp133;
    1200             :     ca_.Bind(&block19, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133);
    1201          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 2091);
    1202             :     compiler::TNode<BoolT> tmp134;
    1203             :     USE(tmp134);
    1204         112 :     tmp134 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
    1205          56 :     ca_.Branch(tmp134, &block20, &block21, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133);
    1206             :   }
    1207             : 
    1208          56 :   if (block20.is_used()) {
    1209             :     compiler::TNode<Context> tmp135;
    1210             :     compiler::TNode<JSReceiver> tmp136;
    1211             :     compiler::TNode<Number> tmp137;
    1212             :     compiler::TNode<JSReceiver> tmp138;
    1213             :     compiler::TNode<Object> tmp139;
    1214             :     compiler::TNode<Smi> tmp140;
    1215             :     compiler::TNode<Smi> tmp141;
    1216             :     compiler::TNode<JSArray> tmp142;
    1217             :     compiler::TNode<JSArray> tmp143;
    1218             :     compiler::TNode<JSArray> tmp144;
    1219             :     compiler::TNode<Map> tmp145;
    1220             :     compiler::TNode<BoolT> tmp146;
    1221             :     compiler::TNode<BoolT> tmp147;
    1222             :     compiler::TNode<BoolT> tmp148;
    1223             :     ca_.Bind(&block20, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148);
    1224             :     ca_.Goto(&block16, tmp135, tmp136, tmp137, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148);
    1225             :   }
    1226             : 
    1227          56 :   if (block21.is_used()) {
    1228             :     compiler::TNode<Context> tmp149;
    1229             :     compiler::TNode<JSReceiver> tmp150;
    1230             :     compiler::TNode<Number> tmp151;
    1231             :     compiler::TNode<JSReceiver> tmp152;
    1232             :     compiler::TNode<Object> tmp153;
    1233             :     compiler::TNode<Smi> tmp154;
    1234             :     compiler::TNode<Smi> tmp155;
    1235             :     compiler::TNode<JSArray> tmp156;
    1236             :     compiler::TNode<JSArray> tmp157;
    1237             :     compiler::TNode<JSArray> tmp158;
    1238             :     compiler::TNode<Map> tmp159;
    1239             :     compiler::TNode<BoolT> tmp160;
    1240             :     compiler::TNode<BoolT> tmp161;
    1241             :     compiler::TNode<BoolT> tmp162;
    1242             :     ca_.Bind(&block21, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162);
    1243          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 2092);
    1244             :     compiler::TNode<JSArray> tmp163;
    1245             :     USE(tmp163);
    1246             :     tmp163 = (compiler::TNode<JSArray>{tmp157});
    1247          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 80);
    1248             :     ca_.Goto(&block17, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp163, tmp159, tmp160, tmp161, tmp162);
    1249             :   }
    1250             : 
    1251          56 :   if (block17.is_used()) {
    1252             :     compiler::TNode<Context> tmp164;
    1253             :     compiler::TNode<JSReceiver> tmp165;
    1254             :     compiler::TNode<Number> tmp166;
    1255             :     compiler::TNode<JSReceiver> tmp167;
    1256             :     compiler::TNode<Object> tmp168;
    1257             :     compiler::TNode<Smi> tmp169;
    1258             :     compiler::TNode<Smi> tmp170;
    1259             :     compiler::TNode<JSArray> tmp171;
    1260             :     compiler::TNode<JSArray> tmp172;
    1261             :     compiler::TNode<JSArray> tmp173;
    1262             :     compiler::TNode<Map> tmp174;
    1263             :     compiler::TNode<BoolT> tmp175;
    1264             :     compiler::TNode<BoolT> tmp176;
    1265             :     compiler::TNode<BoolT> tmp177;
    1266             :     ca_.Bind(&block17, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177);
    1267             :     ca_.Goto(&block15, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177);
    1268             :   }
    1269             : 
    1270          56 :   if (block16.is_used()) {
    1271             :     compiler::TNode<Context> tmp178;
    1272             :     compiler::TNode<JSReceiver> tmp179;
    1273             :     compiler::TNode<Number> tmp180;
    1274             :     compiler::TNode<JSReceiver> tmp181;
    1275             :     compiler::TNode<Object> tmp182;
    1276             :     compiler::TNode<Smi> tmp183;
    1277             :     compiler::TNode<Smi> tmp184;
    1278             :     compiler::TNode<JSArray> tmp185;
    1279             :     compiler::TNode<JSArray> tmp186;
    1280             :     compiler::TNode<JSArray> tmp187;
    1281             :     compiler::TNode<Map> tmp188;
    1282             :     compiler::TNode<BoolT> tmp189;
    1283             :     compiler::TNode<BoolT> tmp190;
    1284             :     compiler::TNode<BoolT> tmp191;
    1285             :     ca_.Bind(&block16, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191);
    1286             :     ca_.Goto(&block1, tmp183);
    1287             :   }
    1288             : 
    1289          56 :   if (block15.is_used()) {
    1290             :     compiler::TNode<Context> tmp192;
    1291             :     compiler::TNode<JSReceiver> tmp193;
    1292             :     compiler::TNode<Number> tmp194;
    1293             :     compiler::TNode<JSReceiver> tmp195;
    1294             :     compiler::TNode<Object> tmp196;
    1295             :     compiler::TNode<Smi> tmp197;
    1296             :     compiler::TNode<Smi> tmp198;
    1297             :     compiler::TNode<JSArray> tmp199;
    1298             :     compiler::TNode<JSArray> tmp200;
    1299             :     compiler::TNode<JSArray> tmp201;
    1300             :     compiler::TNode<Map> tmp202;
    1301             :     compiler::TNode<BoolT> tmp203;
    1302             :     compiler::TNode<BoolT> tmp204;
    1303             :     compiler::TNode<BoolT> tmp205;
    1304             :     ca_.Bind(&block15, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205);
    1305          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 83);
    1306          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 2080);
    1307             :     ca_.Goto(&block24, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp197, tmp201);
    1308             :   }
    1309             : 
    1310          56 :   if (block24.is_used()) {
    1311             :     compiler::TNode<Context> tmp206;
    1312             :     compiler::TNode<JSReceiver> tmp207;
    1313             :     compiler::TNode<Number> tmp208;
    1314             :     compiler::TNode<JSReceiver> tmp209;
    1315             :     compiler::TNode<Object> tmp210;
    1316             :     compiler::TNode<Smi> tmp211;
    1317             :     compiler::TNode<Smi> tmp212;
    1318             :     compiler::TNode<JSArray> tmp213;
    1319             :     compiler::TNode<JSArray> tmp214;
    1320             :     compiler::TNode<JSArray> tmp215;
    1321             :     compiler::TNode<Map> tmp216;
    1322             :     compiler::TNode<BoolT> tmp217;
    1323             :     compiler::TNode<BoolT> tmp218;
    1324             :     compiler::TNode<BoolT> tmp219;
    1325             :     compiler::TNode<Smi> tmp220;
    1326             :     compiler::TNode<JSArray> tmp221;
    1327             :     ca_.Bind(&block24, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221);
    1328          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 83);
    1329             :     compiler::TNode<Smi> tmp222;
    1330             :     USE(tmp222);
    1331         168 :     tmp222 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp221}));
    1332             :     compiler::TNode<BoolT> tmp223;
    1333             :     USE(tmp223);
    1334         112 :     tmp223 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThanOrEqual(compiler::TNode<Smi>{tmp220}, compiler::TNode<Smi>{tmp222}));
    1335          56 :     ca_.Branch(tmp223, &block22, &block23, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219);
    1336             :   }
    1337             : 
    1338          56 :   if (block22.is_used()) {
    1339             :     compiler::TNode<Context> tmp224;
    1340             :     compiler::TNode<JSReceiver> tmp225;
    1341             :     compiler::TNode<Number> tmp226;
    1342             :     compiler::TNode<JSReceiver> tmp227;
    1343             :     compiler::TNode<Object> tmp228;
    1344             :     compiler::TNode<Smi> tmp229;
    1345             :     compiler::TNode<Smi> tmp230;
    1346             :     compiler::TNode<JSArray> tmp231;
    1347             :     compiler::TNode<JSArray> tmp232;
    1348             :     compiler::TNode<JSArray> tmp233;
    1349             :     compiler::TNode<Map> tmp234;
    1350             :     compiler::TNode<BoolT> tmp235;
    1351             :     compiler::TNode<BoolT> tmp236;
    1352             :     compiler::TNode<BoolT> tmp237;
    1353             :     ca_.Bind(&block22, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237);
    1354             :     ca_.Goto(&block1, tmp229);
    1355             :   }
    1356             : 
    1357          56 :   if (block23.is_used()) {
    1358             :     compiler::TNode<Context> tmp238;
    1359             :     compiler::TNode<JSReceiver> tmp239;
    1360             :     compiler::TNode<Number> tmp240;
    1361             :     compiler::TNode<JSReceiver> tmp241;
    1362             :     compiler::TNode<Object> tmp242;
    1363             :     compiler::TNode<Smi> tmp243;
    1364             :     compiler::TNode<Smi> tmp244;
    1365             :     compiler::TNode<JSArray> tmp245;
    1366             :     compiler::TNode<JSArray> tmp246;
    1367             :     compiler::TNode<JSArray> tmp247;
    1368             :     compiler::TNode<Map> tmp248;
    1369             :     compiler::TNode<BoolT> tmp249;
    1370             :     compiler::TNode<BoolT> tmp250;
    1371             :     compiler::TNode<BoolT> tmp251;
    1372             :     ca_.Bind(&block23, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251);
    1373          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
    1374          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 2097);
    1375          56 :     ca_.Branch(tmp249, &block28, &block29, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, tmp243, tmp238, tmp243);
    1376             :   }
    1377             : 
    1378          56 :   if (block28.is_used()) {
    1379             :     compiler::TNode<Context> tmp252;
    1380             :     compiler::TNode<JSReceiver> tmp253;
    1381             :     compiler::TNode<Number> tmp254;
    1382             :     compiler::TNode<JSReceiver> tmp255;
    1383             :     compiler::TNode<Object> tmp256;
    1384             :     compiler::TNode<Smi> tmp257;
    1385             :     compiler::TNode<Smi> tmp258;
    1386             :     compiler::TNode<JSArray> tmp259;
    1387             :     compiler::TNode<JSArray> tmp260;
    1388             :     compiler::TNode<JSArray> tmp261;
    1389             :     compiler::TNode<Map> tmp262;
    1390             :     compiler::TNode<BoolT> tmp263;
    1391             :     compiler::TNode<BoolT> tmp264;
    1392             :     compiler::TNode<BoolT> tmp265;
    1393             :     compiler::TNode<Smi> tmp266;
    1394             :     compiler::TNode<Context> tmp267;
    1395             :     compiler::TNode<Smi> tmp268;
    1396             :     ca_.Bind(&block28, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268);
    1397          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 2098);
    1398             :     compiler::TNode<Object> tmp269;
    1399             :     USE(tmp269);
    1400          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    1401         168 :     tmp269 = BaseBuiltinsFromDSLAssembler(state_).LoadElementNoHole16FixedDoubleArray(compiler::TNode<Context>{tmp267}, compiler::TNode<JSArray>{tmp261}, compiler::TNode<Smi>{tmp268}, &label0);
    1402             :     ca_.Goto(&block31, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp261, tmp268, tmp269);
    1403          56 :     if (label0.is_used()) {
    1404          56 :       ca_.Bind(&label0);
    1405             :       ca_.Goto(&block32, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp261, tmp268);
    1406             :     }
    1407             :   }
    1408             : 
    1409          56 :   if (block32.is_used()) {
    1410             :     compiler::TNode<Context> tmp270;
    1411             :     compiler::TNode<JSReceiver> tmp271;
    1412             :     compiler::TNode<Number> tmp272;
    1413             :     compiler::TNode<JSReceiver> tmp273;
    1414             :     compiler::TNode<Object> tmp274;
    1415             :     compiler::TNode<Smi> tmp275;
    1416             :     compiler::TNode<Smi> tmp276;
    1417             :     compiler::TNode<JSArray> tmp277;
    1418             :     compiler::TNode<JSArray> tmp278;
    1419             :     compiler::TNode<JSArray> tmp279;
    1420             :     compiler::TNode<Map> tmp280;
    1421             :     compiler::TNode<BoolT> tmp281;
    1422             :     compiler::TNode<BoolT> tmp282;
    1423             :     compiler::TNode<BoolT> tmp283;
    1424             :     compiler::TNode<Smi> tmp284;
    1425             :     compiler::TNode<Context> tmp285;
    1426             :     compiler::TNode<Smi> tmp286;
    1427             :     compiler::TNode<JSArray> tmp287;
    1428             :     compiler::TNode<Smi> tmp288;
    1429             :     ca_.Bind(&block32, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288);
    1430             :     ca_.Goto(&block26, tmp270, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283);
    1431             :   }
    1432             : 
    1433          56 :   if (block31.is_used()) {
    1434             :     compiler::TNode<Context> tmp289;
    1435             :     compiler::TNode<JSReceiver> tmp290;
    1436             :     compiler::TNode<Number> tmp291;
    1437             :     compiler::TNode<JSReceiver> tmp292;
    1438             :     compiler::TNode<Object> tmp293;
    1439             :     compiler::TNode<Smi> tmp294;
    1440             :     compiler::TNode<Smi> tmp295;
    1441             :     compiler::TNode<JSArray> tmp296;
    1442             :     compiler::TNode<JSArray> tmp297;
    1443             :     compiler::TNode<JSArray> tmp298;
    1444             :     compiler::TNode<Map> tmp299;
    1445             :     compiler::TNode<BoolT> tmp300;
    1446             :     compiler::TNode<BoolT> tmp301;
    1447             :     compiler::TNode<BoolT> tmp302;
    1448             :     compiler::TNode<Smi> tmp303;
    1449             :     compiler::TNode<Context> tmp304;
    1450             :     compiler::TNode<Smi> tmp305;
    1451             :     compiler::TNode<JSArray> tmp306;
    1452             :     compiler::TNode<Smi> tmp307;
    1453             :     compiler::TNode<Object> tmp308;
    1454             :     ca_.Bind(&block31, &tmp289, &tmp290, &tmp291, &tmp292, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308);
    1455             :     ca_.Goto(&block27, tmp289, tmp290, tmp291, tmp292, tmp293, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp308);
    1456             :   }
    1457             : 
    1458          56 :   if (block29.is_used()) {
    1459             :     compiler::TNode<Context> tmp309;
    1460             :     compiler::TNode<JSReceiver> tmp310;
    1461             :     compiler::TNode<Number> tmp311;
    1462             :     compiler::TNode<JSReceiver> tmp312;
    1463             :     compiler::TNode<Object> tmp313;
    1464             :     compiler::TNode<Smi> tmp314;
    1465             :     compiler::TNode<Smi> tmp315;
    1466             :     compiler::TNode<JSArray> tmp316;
    1467             :     compiler::TNode<JSArray> tmp317;
    1468             :     compiler::TNode<JSArray> tmp318;
    1469             :     compiler::TNode<Map> tmp319;
    1470             :     compiler::TNode<BoolT> tmp320;
    1471             :     compiler::TNode<BoolT> tmp321;
    1472             :     compiler::TNode<BoolT> tmp322;
    1473             :     compiler::TNode<Smi> tmp323;
    1474             :     compiler::TNode<Context> tmp324;
    1475             :     compiler::TNode<Smi> tmp325;
    1476             :     ca_.Bind(&block29, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325);
    1477          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 2101);
    1478             :     compiler::TNode<Object> tmp326;
    1479             :     USE(tmp326);
    1480          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    1481         168 :     tmp326 = BaseBuiltinsFromDSLAssembler(state_).LoadElementNoHole10FixedArray(compiler::TNode<Context>{tmp324}, compiler::TNode<JSArray>{tmp318}, compiler::TNode<Smi>{tmp325}, &label0);
    1482             :     ca_.Goto(&block33, tmp309, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp318, tmp325, tmp326);
    1483          56 :     if (label0.is_used()) {
    1484          56 :       ca_.Bind(&label0);
    1485             :       ca_.Goto(&block34, tmp309, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp318, tmp325);
    1486             :     }
    1487             :   }
    1488             : 
    1489          56 :   if (block34.is_used()) {
    1490             :     compiler::TNode<Context> tmp327;
    1491             :     compiler::TNode<JSReceiver> tmp328;
    1492             :     compiler::TNode<Number> tmp329;
    1493             :     compiler::TNode<JSReceiver> tmp330;
    1494             :     compiler::TNode<Object> tmp331;
    1495             :     compiler::TNode<Smi> tmp332;
    1496             :     compiler::TNode<Smi> tmp333;
    1497             :     compiler::TNode<JSArray> tmp334;
    1498             :     compiler::TNode<JSArray> tmp335;
    1499             :     compiler::TNode<JSArray> tmp336;
    1500             :     compiler::TNode<Map> tmp337;
    1501             :     compiler::TNode<BoolT> tmp338;
    1502             :     compiler::TNode<BoolT> tmp339;
    1503             :     compiler::TNode<BoolT> tmp340;
    1504             :     compiler::TNode<Smi> tmp341;
    1505             :     compiler::TNode<Context> tmp342;
    1506             :     compiler::TNode<Smi> tmp343;
    1507             :     compiler::TNode<JSArray> tmp344;
    1508             :     compiler::TNode<Smi> tmp345;
    1509             :     ca_.Bind(&block34, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345);
    1510             :     ca_.Goto(&block26, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334, tmp335, tmp336, tmp337, tmp338, tmp339, tmp340);
    1511             :   }
    1512             : 
    1513          56 :   if (block33.is_used()) {
    1514             :     compiler::TNode<Context> tmp346;
    1515             :     compiler::TNode<JSReceiver> tmp347;
    1516             :     compiler::TNode<Number> tmp348;
    1517             :     compiler::TNode<JSReceiver> tmp349;
    1518             :     compiler::TNode<Object> tmp350;
    1519             :     compiler::TNode<Smi> tmp351;
    1520             :     compiler::TNode<Smi> tmp352;
    1521             :     compiler::TNode<JSArray> tmp353;
    1522             :     compiler::TNode<JSArray> tmp354;
    1523             :     compiler::TNode<JSArray> tmp355;
    1524             :     compiler::TNode<Map> tmp356;
    1525             :     compiler::TNode<BoolT> tmp357;
    1526             :     compiler::TNode<BoolT> tmp358;
    1527             :     compiler::TNode<BoolT> tmp359;
    1528             :     compiler::TNode<Smi> tmp360;
    1529             :     compiler::TNode<Context> tmp361;
    1530             :     compiler::TNode<Smi> tmp362;
    1531             :     compiler::TNode<JSArray> tmp363;
    1532             :     compiler::TNode<Smi> tmp364;
    1533             :     compiler::TNode<Object> tmp365;
    1534             :     ca_.Bind(&block33, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355, &tmp356, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365);
    1535             :     ca_.Goto(&block27, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp365);
    1536             :   }
    1537             : 
    1538          56 :   if (block27.is_used()) {
    1539             :     compiler::TNode<Context> tmp366;
    1540             :     compiler::TNode<JSReceiver> tmp367;
    1541             :     compiler::TNode<Number> tmp368;
    1542             :     compiler::TNode<JSReceiver> tmp369;
    1543             :     compiler::TNode<Object> tmp370;
    1544             :     compiler::TNode<Smi> tmp371;
    1545             :     compiler::TNode<Smi> tmp372;
    1546             :     compiler::TNode<JSArray> tmp373;
    1547             :     compiler::TNode<JSArray> tmp374;
    1548             :     compiler::TNode<JSArray> tmp375;
    1549             :     compiler::TNode<Map> tmp376;
    1550             :     compiler::TNode<BoolT> tmp377;
    1551             :     compiler::TNode<BoolT> tmp378;
    1552             :     compiler::TNode<BoolT> tmp379;
    1553             :     compiler::TNode<Smi> tmp380;
    1554             :     compiler::TNode<Context> tmp381;
    1555             :     compiler::TNode<Smi> tmp382;
    1556             :     compiler::TNode<Object> tmp383;
    1557             :     ca_.Bind(&block27, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377, &tmp378, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383);
    1558          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
    1559             :     ca_.Goto(&block25, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377, tmp378, tmp379, tmp383);
    1560             :   }
    1561             : 
    1562          56 :   if (block26.is_used()) {
    1563             :     compiler::TNode<Context> tmp384;
    1564             :     compiler::TNode<JSReceiver> tmp385;
    1565             :     compiler::TNode<Number> tmp386;
    1566             :     compiler::TNode<JSReceiver> tmp387;
    1567             :     compiler::TNode<Object> tmp388;
    1568             :     compiler::TNode<Smi> tmp389;
    1569             :     compiler::TNode<Smi> tmp390;
    1570             :     compiler::TNode<JSArray> tmp391;
    1571             :     compiler::TNode<JSArray> tmp392;
    1572             :     compiler::TNode<JSArray> tmp393;
    1573             :     compiler::TNode<Map> tmp394;
    1574             :     compiler::TNode<BoolT> tmp395;
    1575             :     compiler::TNode<BoolT> tmp396;
    1576             :     compiler::TNode<BoolT> tmp397;
    1577             :     ca_.Bind(&block26, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397);
    1578          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 85);
    1579             :     ca_.Goto(&block14, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp396, tmp397);
    1580             :   }
    1581             : 
    1582          56 :   if (block25.is_used()) {
    1583             :     compiler::TNode<Context> tmp398;
    1584             :     compiler::TNode<JSReceiver> tmp399;
    1585             :     compiler::TNode<Number> tmp400;
    1586             :     compiler::TNode<JSReceiver> tmp401;
    1587             :     compiler::TNode<Object> tmp402;
    1588             :     compiler::TNode<Smi> tmp403;
    1589             :     compiler::TNode<Smi> tmp404;
    1590             :     compiler::TNode<JSArray> tmp405;
    1591             :     compiler::TNode<JSArray> tmp406;
    1592             :     compiler::TNode<JSArray> tmp407;
    1593             :     compiler::TNode<Map> tmp408;
    1594             :     compiler::TNode<BoolT> tmp409;
    1595             :     compiler::TNode<BoolT> tmp410;
    1596             :     compiler::TNode<BoolT> tmp411;
    1597             :     compiler::TNode<Object> tmp412;
    1598             :     ca_.Bind(&block25, &tmp398, &tmp399, &tmp400, &tmp401, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412);
    1599          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
    1600          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 86);
    1601          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 2080);
    1602             :     ca_.Goto(&block35, tmp398, tmp399, tmp400, tmp401, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp398, tmp401, tmp402, tmp412, tmp403, tmp407);
    1603             :   }
    1604             : 
    1605          56 :   if (block35.is_used()) {
    1606             :     compiler::TNode<Context> tmp413;
    1607             :     compiler::TNode<JSReceiver> tmp414;
    1608             :     compiler::TNode<Number> tmp415;
    1609             :     compiler::TNode<JSReceiver> tmp416;
    1610             :     compiler::TNode<Object> tmp417;
    1611             :     compiler::TNode<Smi> tmp418;
    1612             :     compiler::TNode<Smi> tmp419;
    1613             :     compiler::TNode<JSArray> tmp420;
    1614             :     compiler::TNode<JSArray> tmp421;
    1615             :     compiler::TNode<JSArray> tmp422;
    1616             :     compiler::TNode<Map> tmp423;
    1617             :     compiler::TNode<BoolT> tmp424;
    1618             :     compiler::TNode<BoolT> tmp425;
    1619             :     compiler::TNode<BoolT> tmp426;
    1620             :     compiler::TNode<Object> tmp427;
    1621             :     compiler::TNode<Context> tmp428;
    1622             :     compiler::TNode<JSReceiver> tmp429;
    1623             :     compiler::TNode<Object> tmp430;
    1624             :     compiler::TNode<Object> tmp431;
    1625             :     compiler::TNode<Smi> tmp432;
    1626             :     compiler::TNode<JSArray> tmp433;
    1627             :     ca_.Bind(&block35, &tmp413, &tmp414, &tmp415, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420, &tmp421, &tmp422, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433);
    1628          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 86);
    1629             :     compiler::TNode<Object> tmp434;
    1630             :     USE(tmp434);
    1631         168 :     tmp434 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp428}, compiler::TNode<JSReceiver>{tmp429}, compiler::TNode<Object>{tmp430}, compiler::TNode<Object>{tmp431}, compiler::TNode<Object>{tmp432}, compiler::TNode<Object>{tmp433}));
    1632          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 79);
    1633             :     ca_.Goto(&block14, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, tmp421, tmp422, tmp423, tmp424, tmp425, tmp426);
    1634             :   }
    1635             : 
    1636          56 :   if (block14.is_used()) {
    1637             :     compiler::TNode<Context> tmp435;
    1638             :     compiler::TNode<JSReceiver> tmp436;
    1639             :     compiler::TNode<Number> tmp437;
    1640             :     compiler::TNode<JSReceiver> tmp438;
    1641             :     compiler::TNode<Object> tmp439;
    1642             :     compiler::TNode<Smi> tmp440;
    1643             :     compiler::TNode<Smi> tmp441;
    1644             :     compiler::TNode<JSArray> tmp442;
    1645             :     compiler::TNode<JSArray> tmp443;
    1646             :     compiler::TNode<JSArray> tmp444;
    1647             :     compiler::TNode<Map> tmp445;
    1648             :     compiler::TNode<BoolT> tmp446;
    1649             :     compiler::TNode<BoolT> tmp447;
    1650             :     compiler::TNode<BoolT> tmp448;
    1651             :     ca_.Bind(&block14, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442, &tmp443, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448);
    1652             :     compiler::TNode<Smi> tmp449;
    1653             :     USE(tmp449);
    1654         168 :     tmp449 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    1655             :     compiler::TNode<Smi> tmp450;
    1656             :     USE(tmp450);
    1657         112 :     tmp450 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp440}, compiler::TNode<Smi>{tmp449}));
    1658             :     ca_.Goto(&block13, tmp435, tmp436, tmp437, tmp438, tmp439, tmp450, tmp441, tmp442, tmp443, tmp444, tmp445, tmp446, tmp447, tmp448);
    1659             :   }
    1660             : 
    1661          56 :   if (block12.is_used()) {
    1662             :     compiler::TNode<Context> tmp451;
    1663             :     compiler::TNode<JSReceiver> tmp452;
    1664             :     compiler::TNode<Number> tmp453;
    1665             :     compiler::TNode<JSReceiver> tmp454;
    1666             :     compiler::TNode<Object> tmp455;
    1667             :     compiler::TNode<Smi> tmp456;
    1668             :     compiler::TNode<Smi> tmp457;
    1669             :     compiler::TNode<JSArray> tmp458;
    1670             :     compiler::TNode<JSArray> tmp459;
    1671             :     compiler::TNode<JSArray> tmp460;
    1672             :     compiler::TNode<Map> tmp461;
    1673             :     compiler::TNode<BoolT> tmp462;
    1674             :     compiler::TNode<BoolT> tmp463;
    1675             :     compiler::TNode<BoolT> tmp464;
    1676             :     ca_.Bind(&block12, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462, &tmp463, &tmp464);
    1677          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 88);
    1678             :     compiler::TNode<Oddball> tmp465;
    1679             :     USE(tmp465);
    1680         168 :     tmp465 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    1681             :     ca_.Goto(&block2, tmp451, tmp452, tmp453, tmp454, tmp455, tmp465);
    1682             :   }
    1683             : 
    1684          56 :   if (block2.is_used()) {
    1685             :     compiler::TNode<Context> tmp466;
    1686             :     compiler::TNode<JSReceiver> tmp467;
    1687             :     compiler::TNode<Number> tmp468;
    1688             :     compiler::TNode<JSReceiver> tmp469;
    1689             :     compiler::TNode<Object> tmp470;
    1690             :     compiler::TNode<Object> tmp471;
    1691             :     ca_.Bind(&block2, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471);
    1692          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 70);
    1693             :     ca_.Goto(&block36, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471);
    1694             :   }
    1695             : 
    1696          56 :   if (block1.is_used()) {
    1697             :     compiler::TNode<Smi> tmp472;
    1698             :     ca_.Bind(&block1, &tmp472);
    1699             :     *label_Bailout_parameter_0 = tmp472;
    1700          56 :     ca_.Goto(label_Bailout);
    1701             :   }
    1702             : 
    1703             :     compiler::TNode<Context> tmp473;
    1704             :     compiler::TNode<JSReceiver> tmp474;
    1705             :     compiler::TNode<Number> tmp475;
    1706             :     compiler::TNode<JSReceiver> tmp476;
    1707             :     compiler::TNode<Object> tmp477;
    1708             :     compiler::TNode<Object> tmp478;
    1709             :     ca_.Bind(&block36, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478);
    1710         112 :   return compiler::TNode<Object>{tmp478};
    1711             : }
    1712             : 
    1713         224 : TF_BUILTIN(ArrayForEach, CodeStubAssembler) {
    1714          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    1715             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    1716             :   USE(parameter0);
    1717             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    1718          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
    1719          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
    1720          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
    1721             :   CodeStubArguments arguments(this, torque_arguments);
    1722          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
    1723             : USE(parameter1);
    1724             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1725             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1726             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1727             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1728             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1729             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1730             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, JSReceiver> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1731             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1732             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1733             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver, Object> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1734             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver, Object> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1735             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver, Object, Number, JSReceiver, Number, JSReceiver, Object, Smi> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1736             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver, Object, Number, JSReceiver, Number, JSReceiver, Object, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1737             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver, Object, Number, Smi> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    1738             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, JSReceiver, Object, Number, Smi> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1739             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    1740             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    1741             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
    1742             : 
    1743          56 :   if (block0.is_used()) {
    1744             :     compiler::TNode<Context> tmp0;
    1745             :     compiler::TNode<Object> tmp1;
    1746             :     compiler::TNode<RawPtrT> tmp2;
    1747             :     compiler::TNode<RawPtrT> tmp3;
    1748             :     compiler::TNode<IntPtrT> tmp4;
    1749             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    1750          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 95);
    1751             :     compiler::TNode<BoolT> tmp5;
    1752             :     USE(tmp5);
    1753         168 :     tmp5 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp1}));
    1754          56 :     ca_.Branch(tmp5, &block5, &block6, tmp0, tmp1, tmp2, tmp3, tmp4);
    1755             :   }
    1756             : 
    1757          56 :   if (block5.is_used()) {
    1758             :     compiler::TNode<Context> tmp6;
    1759             :     compiler::TNode<Object> tmp7;
    1760             :     compiler::TNode<RawPtrT> tmp8;
    1761             :     compiler::TNode<RawPtrT> tmp9;
    1762             :     compiler::TNode<IntPtrT> tmp10;
    1763             :     ca_.Bind(&block5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
    1764          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 96);
    1765             :     ca_.Goto(&block2, tmp6, tmp7, tmp8, tmp9, tmp10);
    1766             :   }
    1767             : 
    1768          56 :   if (block6.is_used()) {
    1769             :     compiler::TNode<Context> tmp11;
    1770             :     compiler::TNode<Object> tmp12;
    1771             :     compiler::TNode<RawPtrT> tmp13;
    1772             :     compiler::TNode<RawPtrT> tmp14;
    1773             :     compiler::TNode<IntPtrT> tmp15;
    1774             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
    1775          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 100);
    1776             :     compiler::TNode<JSReceiver> tmp16;
    1777             :     USE(tmp16);
    1778         112 :     tmp16 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp11}, compiler::TNode<Object>{tmp12}));
    1779          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 103);
    1780             :     compiler::TNode<Number> tmp17;
    1781             :     USE(tmp17);
    1782         112 :     tmp17 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp11}, compiler::TNode<Object>{tmp16}));
    1783          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 106);
    1784             :     compiler::TNode<IntPtrT> tmp18;
    1785             :     USE(tmp18);
    1786         112 :     tmp18 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    1787             :     compiler::TNode<BoolT> tmp19;
    1788             :     USE(tmp19);
    1789         168 :     tmp19 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp15}, compiler::TNode<IntPtrT>{tmp18}));
    1790          56 :     ca_.Branch(tmp19, &block7, &block8, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
    1791             :   }
    1792             : 
    1793          56 :   if (block7.is_used()) {
    1794             :     compiler::TNode<Context> tmp20;
    1795             :     compiler::TNode<Object> tmp21;
    1796             :     compiler::TNode<RawPtrT> tmp22;
    1797             :     compiler::TNode<RawPtrT> tmp23;
    1798             :     compiler::TNode<IntPtrT> tmp24;
    1799             :     compiler::TNode<JSReceiver> tmp25;
    1800             :     compiler::TNode<Number> tmp26;
    1801             :     ca_.Bind(&block7, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
    1802          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 107);
    1803             :     ca_.Goto(&block4, tmp20, tmp21, tmp22, tmp23, tmp24);
    1804             :   }
    1805             : 
    1806          56 :   if (block8.is_used()) {
    1807             :     compiler::TNode<Context> tmp27;
    1808             :     compiler::TNode<Object> tmp28;
    1809             :     compiler::TNode<RawPtrT> tmp29;
    1810             :     compiler::TNode<RawPtrT> tmp30;
    1811             :     compiler::TNode<IntPtrT> tmp31;
    1812             :     compiler::TNode<JSReceiver> tmp32;
    1813             :     compiler::TNode<Number> tmp33;
    1814             :     ca_.Bind(&block8, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
    1815          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 109);
    1816             :     compiler::TNode<IntPtrT> tmp34;
    1817             :     USE(tmp34);
    1818         112 :     tmp34 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    1819             :     compiler::TNode<Object> tmp35;
    1820             :     USE(tmp35);
    1821         112 :     tmp35 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp29}, compiler::TNode<RawPtrT>{tmp30}, compiler::TNode<IntPtrT>{tmp31}}, compiler::TNode<IntPtrT>{tmp34}));
    1822             :     compiler::TNode<JSReceiver> tmp36;
    1823             :     USE(tmp36);
    1824          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    1825         112 :     tmp36 = BaseBuiltinsFromDSLAssembler(state_).Cast39UT15JSBoundFunction10JSFunction7JSProxy(compiler::TNode<Context>{tmp27}, compiler::TNode<Object>{tmp35}, &label0);
    1826             :     ca_.Goto(&block9, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp35, tmp36);
    1827          56 :     if (label0.is_used()) {
    1828          56 :       ca_.Bind(&label0);
    1829             :       ca_.Goto(&block10, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp35);
    1830             :     }
    1831             :   }
    1832             : 
    1833          56 :   if (block10.is_used()) {
    1834             :     compiler::TNode<Context> tmp37;
    1835             :     compiler::TNode<Object> tmp38;
    1836             :     compiler::TNode<RawPtrT> tmp39;
    1837             :     compiler::TNode<RawPtrT> tmp40;
    1838             :     compiler::TNode<IntPtrT> tmp41;
    1839             :     compiler::TNode<JSReceiver> tmp42;
    1840             :     compiler::TNode<Number> tmp43;
    1841             :     compiler::TNode<Object> tmp44;
    1842             :     ca_.Bind(&block10, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44);
    1843             :     ca_.Goto(&block4, tmp37, tmp38, tmp39, tmp40, tmp41);
    1844             :   }
    1845             : 
    1846          56 :   if (block9.is_used()) {
    1847             :     compiler::TNode<Context> tmp45;
    1848             :     compiler::TNode<Object> tmp46;
    1849             :     compiler::TNode<RawPtrT> tmp47;
    1850             :     compiler::TNode<RawPtrT> tmp48;
    1851             :     compiler::TNode<IntPtrT> tmp49;
    1852             :     compiler::TNode<JSReceiver> tmp50;
    1853             :     compiler::TNode<Number> tmp51;
    1854             :     compiler::TNode<Object> tmp52;
    1855             :     compiler::TNode<JSReceiver> tmp53;
    1856             :     ca_.Bind(&block9, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
    1857          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 112);
    1858             :     compiler::TNode<IntPtrT> tmp54;
    1859             :     USE(tmp54);
    1860         112 :     tmp54 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    1861             :     compiler::TNode<BoolT> tmp55;
    1862             :     USE(tmp55);
    1863         168 :     tmp55 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp49}, compiler::TNode<IntPtrT>{tmp54}));
    1864          56 :     ca_.Branch(tmp55, &block11, &block12, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp53);
    1865             :   }
    1866             : 
    1867          56 :   if (block11.is_used()) {
    1868             :     compiler::TNode<Context> tmp56;
    1869             :     compiler::TNode<Object> tmp57;
    1870             :     compiler::TNode<RawPtrT> tmp58;
    1871             :     compiler::TNode<RawPtrT> tmp59;
    1872             :     compiler::TNode<IntPtrT> tmp60;
    1873             :     compiler::TNode<JSReceiver> tmp61;
    1874             :     compiler::TNode<Number> tmp62;
    1875             :     compiler::TNode<JSReceiver> tmp63;
    1876             :     ca_.Bind(&block11, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63);
    1877             :     compiler::TNode<IntPtrT> tmp64;
    1878             :     USE(tmp64);
    1879         112 :     tmp64 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    1880             :     compiler::TNode<Object> tmp65;
    1881             :     USE(tmp65);
    1882         112 :     tmp65 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp58}, compiler::TNode<RawPtrT>{tmp59}, compiler::TNode<IntPtrT>{tmp60}}, compiler::TNode<IntPtrT>{tmp64}));
    1883             :     ca_.Goto(&block14, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp65);
    1884             :   }
    1885             : 
    1886          56 :   if (block12.is_used()) {
    1887             :     compiler::TNode<Context> tmp66;
    1888             :     compiler::TNode<Object> tmp67;
    1889             :     compiler::TNode<RawPtrT> tmp68;
    1890             :     compiler::TNode<RawPtrT> tmp69;
    1891             :     compiler::TNode<IntPtrT> tmp70;
    1892             :     compiler::TNode<JSReceiver> tmp71;
    1893             :     compiler::TNode<Number> tmp72;
    1894             :     compiler::TNode<JSReceiver> tmp73;
    1895             :     ca_.Bind(&block12, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73);
    1896             :     compiler::TNode<Oddball> tmp74;
    1897             :     USE(tmp74);
    1898         112 :     tmp74 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    1899             :     ca_.Goto(&block13, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74);
    1900             :   }
    1901             : 
    1902          56 :   if (block14.is_used()) {
    1903             :     compiler::TNode<Context> tmp75;
    1904             :     compiler::TNode<Object> tmp76;
    1905             :     compiler::TNode<RawPtrT> tmp77;
    1906             :     compiler::TNode<RawPtrT> tmp78;
    1907             :     compiler::TNode<IntPtrT> tmp79;
    1908             :     compiler::TNode<JSReceiver> tmp80;
    1909             :     compiler::TNode<Number> tmp81;
    1910             :     compiler::TNode<JSReceiver> tmp82;
    1911             :     compiler::TNode<Object> tmp83;
    1912             :     ca_.Bind(&block14, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83);
    1913             :     ca_.Goto(&block13, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83);
    1914             :   }
    1915             : 
    1916          56 :   if (block13.is_used()) {
    1917             :     compiler::TNode<Context> tmp84;
    1918             :     compiler::TNode<Object> tmp85;
    1919             :     compiler::TNode<RawPtrT> tmp86;
    1920             :     compiler::TNode<RawPtrT> tmp87;
    1921             :     compiler::TNode<IntPtrT> tmp88;
    1922             :     compiler::TNode<JSReceiver> tmp89;
    1923             :     compiler::TNode<Number> tmp90;
    1924             :     compiler::TNode<JSReceiver> tmp91;
    1925             :     compiler::TNode<Object> tmp92;
    1926             :     ca_.Bind(&block13, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
    1927          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 115);
    1928             :     compiler::TNode<Number> tmp93;
    1929             :     USE(tmp93);
    1930         112 :     tmp93 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
    1931          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 117);
    1932             :     compiler::TNode<Object> tmp94;
    1933             :     USE(tmp94);
    1934             :     compiler::TypedCodeAssemblerVariable<Smi> result_0_0(&ca_);
    1935          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    1936         112 :     tmp94 = ArrayForeachBuiltinsFromDSLAssembler(state_).FastArrayForEach(compiler::TNode<Context>{tmp84}, compiler::TNode<JSReceiver>{tmp89}, compiler::TNode<Number>{tmp90}, compiler::TNode<JSReceiver>{tmp91}, compiler::TNode<Object>{tmp92}, &label0, &result_0_0);
    1937             :     ca_.Goto(&block17, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp89, tmp90, tmp91, tmp92, tmp94);
    1938          56 :     if (label0.is_used()) {
    1939          56 :       ca_.Bind(&label0);
    1940             :       ca_.Goto(&block18, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp89, tmp90, tmp91, tmp92, result_0_0.value());
    1941             :     }
    1942             :   }
    1943             : 
    1944          56 :   if (block18.is_used()) {
    1945             :     compiler::TNode<Context> tmp95;
    1946             :     compiler::TNode<Object> tmp96;
    1947             :     compiler::TNode<RawPtrT> tmp97;
    1948             :     compiler::TNode<RawPtrT> tmp98;
    1949             :     compiler::TNode<IntPtrT> tmp99;
    1950             :     compiler::TNode<JSReceiver> tmp100;
    1951             :     compiler::TNode<Number> tmp101;
    1952             :     compiler::TNode<JSReceiver> tmp102;
    1953             :     compiler::TNode<Object> tmp103;
    1954             :     compiler::TNode<Number> tmp104;
    1955             :     compiler::TNode<JSReceiver> tmp105;
    1956             :     compiler::TNode<Number> tmp106;
    1957             :     compiler::TNode<JSReceiver> tmp107;
    1958             :     compiler::TNode<Object> tmp108;
    1959             :     compiler::TNode<Smi> tmp109;
    1960             :     ca_.Bind(&block18, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109);
    1961             :     ca_.Goto(&block16, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp109);
    1962             :   }
    1963             : 
    1964          56 :   if (block17.is_used()) {
    1965             :     compiler::TNode<Context> tmp110;
    1966             :     compiler::TNode<Object> tmp111;
    1967             :     compiler::TNode<RawPtrT> tmp112;
    1968             :     compiler::TNode<RawPtrT> tmp113;
    1969             :     compiler::TNode<IntPtrT> tmp114;
    1970             :     compiler::TNode<JSReceiver> tmp115;
    1971             :     compiler::TNode<Number> tmp116;
    1972             :     compiler::TNode<JSReceiver> tmp117;
    1973             :     compiler::TNode<Object> tmp118;
    1974             :     compiler::TNode<Number> tmp119;
    1975             :     compiler::TNode<JSReceiver> tmp120;
    1976             :     compiler::TNode<Number> tmp121;
    1977             :     compiler::TNode<JSReceiver> tmp122;
    1978             :     compiler::TNode<Object> tmp123;
    1979             :     compiler::TNode<Object> tmp124;
    1980             :     ca_.Bind(&block17, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124);
    1981          56 :     arguments.PopAndReturn(tmp124);
    1982             :   }
    1983             : 
    1984          56 :   if (block16.is_used()) {
    1985             :     compiler::TNode<Context> tmp125;
    1986             :     compiler::TNode<Object> tmp126;
    1987             :     compiler::TNode<RawPtrT> tmp127;
    1988             :     compiler::TNode<RawPtrT> tmp128;
    1989             :     compiler::TNode<IntPtrT> tmp129;
    1990             :     compiler::TNode<JSReceiver> tmp130;
    1991             :     compiler::TNode<Number> tmp131;
    1992             :     compiler::TNode<JSReceiver> tmp132;
    1993             :     compiler::TNode<Object> tmp133;
    1994             :     compiler::TNode<Number> tmp134;
    1995             :     compiler::TNode<Smi> tmp135;
    1996             :     ca_.Bind(&block16, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135);
    1997          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 121);
    1998          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 116);
    1999             :     ca_.Goto(&block15, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp135, tmp135);
    2000             :   }
    2001             : 
    2002          56 :   if (block15.is_used()) {
    2003             :     compiler::TNode<Context> tmp136;
    2004             :     compiler::TNode<Object> tmp137;
    2005             :     compiler::TNode<RawPtrT> tmp138;
    2006             :     compiler::TNode<RawPtrT> tmp139;
    2007             :     compiler::TNode<IntPtrT> tmp140;
    2008             :     compiler::TNode<JSReceiver> tmp141;
    2009             :     compiler::TNode<Number> tmp142;
    2010             :     compiler::TNode<JSReceiver> tmp143;
    2011             :     compiler::TNode<Object> tmp144;
    2012             :     compiler::TNode<Number> tmp145;
    2013             :     compiler::TNode<Smi> tmp146;
    2014             :     ca_.Bind(&block15, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
    2015          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 125);
    2016             :     compiler::TNode<Oddball> tmp147;
    2017             :     USE(tmp147);
    2018         112 :     tmp147 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    2019             :     compiler::TNode<Oddball> tmp148;
    2020             :     USE(tmp148);
    2021         112 :     tmp148 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    2022          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 124);
    2023             :     compiler::TNode<Object> tmp149;
    2024         112 :     tmp149 = CodeStubAssembler(state_).CallBuiltin(Builtins::kArrayForEachLoopContinuation, tmp136, tmp141, tmp143, tmp144, tmp147, tmp141, tmp145, tmp142, tmp148);
    2025             :     USE(tmp149);
    2026          56 :     arguments.PopAndReturn(tmp149);
    2027             :   }
    2028             : 
    2029          56 :   if (block4.is_used()) {
    2030             :     compiler::TNode<Context> tmp150;
    2031             :     compiler::TNode<Object> tmp151;
    2032             :     compiler::TNode<RawPtrT> tmp152;
    2033             :     compiler::TNode<RawPtrT> tmp153;
    2034             :     compiler::TNode<IntPtrT> tmp154;
    2035             :     ca_.Bind(&block4, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154);
    2036          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 128);
    2037             :     compiler::TNode<IntPtrT> tmp155;
    2038             :     USE(tmp155);
    2039         112 :     tmp155 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    2040             :     compiler::TNode<Object> tmp156;
    2041             :     USE(tmp156);
    2042         112 :     tmp156 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp152}, compiler::TNode<RawPtrT>{tmp153}, compiler::TNode<IntPtrT>{tmp154}}, compiler::TNode<IntPtrT>{tmp155}));
    2043         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp150}, MessageTemplate::kCalledNonCallable, compiler::TNode<Object>{tmp156});
    2044             :   }
    2045             : 
    2046          56 :   if (block2.is_used()) {
    2047             :     compiler::TNode<Context> tmp157;
    2048             :     compiler::TNode<Object> tmp158;
    2049             :     compiler::TNode<RawPtrT> tmp159;
    2050             :     compiler::TNode<RawPtrT> tmp160;
    2051             :     compiler::TNode<IntPtrT> tmp161;
    2052             :     ca_.Bind(&block2, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161);
    2053          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 131);
    2054         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp157}, MessageTemplate::kCalledOnNullOrUndefined, "Array.prototype.forEach");
    2055             :   }
    2056          56 : }
    2057             : 
    2058             : }  // namespace internal
    2059       59456 : }  // namespace v8
    2060             : 

Generated by: LCOV version 1.10