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

Generated by: LCOV version 1.10