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: 2262 2262 100.0 %
Date: 2019-02-19 Functions: 25 25 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/builtins/builtins-array-gen.h"
      10             : #include "src/builtins/builtins-collections-gen.h"
      11             : #include "src/builtins/builtins-data-view-gen.h"
      12             : #include "src/builtins/builtins-iterator-gen.h"
      13             : #include "src/builtins/builtins-regexp-gen.h"
      14             : #include "src/builtins/builtins-typed-array-gen.h"
      15             : #include "src/builtins/builtins-constructor-gen.h"
      16             : #include "torque-generated/builtins-base-from-dsl-gen.h"
      17             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      18             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      19             : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
      20             : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
      21             : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
      22             : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
      23             : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
      24             : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
      25             : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
      26             : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
      27             : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
      28             : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
      29             : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
      30             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      31             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      32             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      33             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      34             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      35             : #include "torque-generated/builtins-string-from-dsl-gen.h"
      36             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      37             : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
      38             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      39             : 
      40             : namespace v8 {
      41             : namespace internal {
      42             : 
      43         560 : TF_BUILTIN(ArrayForEachLoopEagerDeoptContinuation, CodeStubAssembler) {
      44          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
      45          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
      46          56 :   USE(parameter0);
      47          56 :   compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kReceiver));
      48          56 :   USE(parameter1);
      49          56 :   compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kCallback));
      50          56 :   USE(parameter2);
      51          56 :   compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kThisArg));
      52          56 :   USE(parameter3);
      53          56 :   compiler::TNode<Object> parameter4 = UncheckedCast<Object>(Parameter(Descriptor::kInitialK));
      54          56 :   USE(parameter4);
      55          56 :   compiler::TNode<Object> parameter5 = UncheckedCast<Object>(Parameter(Descriptor::kLength));
      56          56 :   USE(parameter5);
      57         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      58         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      59         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      60         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      61         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      62         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      63         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      64         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      65         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      66         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      67         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      68         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      69         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      70         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      71         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object, Number> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      72         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      73         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Number> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      74          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3, parameter4, parameter5);
      75             : 
      76          56 :   if (block0.is_used()) {
      77          56 :     compiler::TNode<Context> tmp0;
      78          56 :     compiler::TNode<Object> tmp1;
      79          56 :     compiler::TNode<Object> tmp2;
      80          56 :     compiler::TNode<Object> tmp3;
      81          56 :     compiler::TNode<Object> tmp4;
      82          56 :     compiler::TNode<Object> tmp5;
      83          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
      84          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 13);
      85          56 :     compiler::TNode<JSReceiver> tmp6;
      86          56 :     USE(tmp6);
      87          56 :     compiler::CodeAssemblerLabel label0(&ca_);
      88          56 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
      89          56 :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp1, tmp6);
      90          56 :     if (label0.is_used()) {
      91          56 :       ca_.Bind(&label0);
      92          56 :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp1);
      93          56 :     }
      94             :   }
      95             : 
      96          56 :   if (block4.is_used()) {
      97          56 :     compiler::TNode<Context> tmp7;
      98          56 :     compiler::TNode<Object> tmp8;
      99          56 :     compiler::TNode<Object> tmp9;
     100          56 :     compiler::TNode<Object> tmp10;
     101          56 :     compiler::TNode<Object> tmp11;
     102          56 :     compiler::TNode<Object> tmp12;
     103          56 :     compiler::TNode<Object> tmp13;
     104          56 :     ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
     105          56 :     ca_.Goto(&block2, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12);
     106             :   }
     107             : 
     108          56 :   if (block3.is_used()) {
     109          56 :     compiler::TNode<Context> tmp14;
     110          56 :     compiler::TNode<Object> tmp15;
     111          56 :     compiler::TNode<Object> tmp16;
     112          56 :     compiler::TNode<Object> tmp17;
     113          56 :     compiler::TNode<Object> tmp18;
     114          56 :     compiler::TNode<Object> tmp19;
     115          56 :     compiler::TNode<Object> tmp20;
     116          56 :     compiler::TNode<JSReceiver> tmp21;
     117          56 :     ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
     118          56 :     ca_.Goto(&block1, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp21);
     119             :   }
     120             : 
     121          56 :   if (block2.is_used()) {
     122          56 :     compiler::TNode<Context> tmp22;
     123          56 :     compiler::TNode<Object> tmp23;
     124          56 :     compiler::TNode<Object> tmp24;
     125          56 :     compiler::TNode<Object> tmp25;
     126          56 :     compiler::TNode<Object> tmp26;
     127          56 :     compiler::TNode<Object> tmp27;
     128          56 :     ca_.Bind(&block2, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
     129          56 :     CodeStubAssembler(state_).Unreachable();
     130             :   }
     131             : 
     132          56 :   if (block1.is_used()) {
     133          56 :     compiler::TNode<Context> tmp28;
     134          56 :     compiler::TNode<Object> tmp29;
     135          56 :     compiler::TNode<Object> tmp30;
     136          56 :     compiler::TNode<Object> tmp31;
     137          56 :     compiler::TNode<Object> tmp32;
     138          56 :     compiler::TNode<Object> tmp33;
     139          56 :     compiler::TNode<JSReceiver> tmp34;
     140          56 :     ca_.Bind(&block1, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
     141          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 14);
     142          56 :     compiler::TNode<JSReceiver> tmp35;
     143          56 :     USE(tmp35);
     144          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     145          56 :     tmp35 = BaseBuiltinsFromDSLAssembler(state_).Cast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context>{tmp28}, compiler::TNode<Object>{tmp30}, &label0);
     146          56 :     ca_.Goto(&block7, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30, tmp35);
     147          56 :     if (label0.is_used()) {
     148          56 :       ca_.Bind(&label0);
     149          56 :       ca_.Goto(&block8, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp30);
     150          56 :     }
     151             :   }
     152             : 
     153          56 :   if (block8.is_used()) {
     154          56 :     compiler::TNode<Context> tmp36;
     155          56 :     compiler::TNode<Object> tmp37;
     156          56 :     compiler::TNode<Object> tmp38;
     157          56 :     compiler::TNode<Object> tmp39;
     158          56 :     compiler::TNode<Object> tmp40;
     159          56 :     compiler::TNode<Object> tmp41;
     160          56 :     compiler::TNode<JSReceiver> tmp42;
     161          56 :     compiler::TNode<Object> tmp43;
     162          56 :     ca_.Bind(&block8, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
     163          56 :     ca_.Goto(&block6, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
     164             :   }
     165             : 
     166          56 :   if (block7.is_used()) {
     167          56 :     compiler::TNode<Context> tmp44;
     168          56 :     compiler::TNode<Object> tmp45;
     169          56 :     compiler::TNode<Object> tmp46;
     170          56 :     compiler::TNode<Object> tmp47;
     171          56 :     compiler::TNode<Object> tmp48;
     172          56 :     compiler::TNode<Object> tmp49;
     173          56 :     compiler::TNode<JSReceiver> tmp50;
     174          56 :     compiler::TNode<Object> tmp51;
     175          56 :     compiler::TNode<JSReceiver> tmp52;
     176          56 :     ca_.Bind(&block7, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
     177          56 :     ca_.Goto(&block5, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp52);
     178             :   }
     179             : 
     180          56 :   if (block6.is_used()) {
     181          56 :     compiler::TNode<Context> tmp53;
     182          56 :     compiler::TNode<Object> tmp54;
     183          56 :     compiler::TNode<Object> tmp55;
     184          56 :     compiler::TNode<Object> tmp56;
     185          56 :     compiler::TNode<Object> tmp57;
     186          56 :     compiler::TNode<Object> tmp58;
     187          56 :     compiler::TNode<JSReceiver> tmp59;
     188          56 :     ca_.Bind(&block6, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
     189          56 :     CodeStubAssembler(state_).Unreachable();
     190             :   }
     191             : 
     192          56 :   if (block5.is_used()) {
     193          56 :     compiler::TNode<Context> tmp60;
     194          56 :     compiler::TNode<Object> tmp61;
     195          56 :     compiler::TNode<Object> tmp62;
     196          56 :     compiler::TNode<Object> tmp63;
     197          56 :     compiler::TNode<Object> tmp64;
     198          56 :     compiler::TNode<Object> tmp65;
     199          56 :     compiler::TNode<JSReceiver> tmp66;
     200          56 :     compiler::TNode<JSReceiver> tmp67;
     201          56 :     ca_.Bind(&block5, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
     202          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 15);
     203          56 :     compiler::TNode<Number> tmp68;
     204          56 :     USE(tmp68);
     205          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     206          56 :     tmp68 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{tmp64}, &label0);
     207          56 :     ca_.Goto(&block11, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp64, tmp68);
     208          56 :     if (label0.is_used()) {
     209          56 :       ca_.Bind(&label0);
     210          56 :       ca_.Goto(&block12, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp64);
     211          56 :     }
     212             :   }
     213             : 
     214          56 :   if (block12.is_used()) {
     215          56 :     compiler::TNode<Context> tmp69;
     216          56 :     compiler::TNode<Object> tmp70;
     217          56 :     compiler::TNode<Object> tmp71;
     218          56 :     compiler::TNode<Object> tmp72;
     219          56 :     compiler::TNode<Object> tmp73;
     220          56 :     compiler::TNode<Object> tmp74;
     221          56 :     compiler::TNode<JSReceiver> tmp75;
     222          56 :     compiler::TNode<JSReceiver> tmp76;
     223          56 :     compiler::TNode<Object> tmp77;
     224          56 :     ca_.Bind(&block12, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
     225          56 :     ca_.Goto(&block10, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76);
     226             :   }
     227             : 
     228          56 :   if (block11.is_used()) {
     229          56 :     compiler::TNode<Context> tmp78;
     230          56 :     compiler::TNode<Object> tmp79;
     231          56 :     compiler::TNode<Object> tmp80;
     232          56 :     compiler::TNode<Object> tmp81;
     233          56 :     compiler::TNode<Object> tmp82;
     234          56 :     compiler::TNode<Object> tmp83;
     235          56 :     compiler::TNode<JSReceiver> tmp84;
     236          56 :     compiler::TNode<JSReceiver> tmp85;
     237          56 :     compiler::TNode<Object> tmp86;
     238          56 :     compiler::TNode<Number> tmp87;
     239          56 :     ca_.Bind(&block11, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87);
     240          56 :     ca_.Goto(&block9, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp87);
     241             :   }
     242             : 
     243          56 :   if (block10.is_used()) {
     244          56 :     compiler::TNode<Context> tmp88;
     245          56 :     compiler::TNode<Object> tmp89;
     246          56 :     compiler::TNode<Object> tmp90;
     247          56 :     compiler::TNode<Object> tmp91;
     248          56 :     compiler::TNode<Object> tmp92;
     249          56 :     compiler::TNode<Object> tmp93;
     250          56 :     compiler::TNode<JSReceiver> tmp94;
     251          56 :     compiler::TNode<JSReceiver> tmp95;
     252          56 :     ca_.Bind(&block10, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95);
     253          56 :     CodeStubAssembler(state_).Unreachable();
     254             :   }
     255             : 
     256          56 :   if (block9.is_used()) {
     257          56 :     compiler::TNode<Context> tmp96;
     258          56 :     compiler::TNode<Object> tmp97;
     259          56 :     compiler::TNode<Object> tmp98;
     260          56 :     compiler::TNode<Object> tmp99;
     261          56 :     compiler::TNode<Object> tmp100;
     262          56 :     compiler::TNode<Object> tmp101;
     263          56 :     compiler::TNode<JSReceiver> tmp102;
     264          56 :     compiler::TNode<JSReceiver> tmp103;
     265          56 :     compiler::TNode<Number> tmp104;
     266          56 :     ca_.Bind(&block9, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104);
     267          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 16);
     268          56 :     compiler::TNode<Number> tmp105;
     269          56 :     USE(tmp105);
     270          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     271          56 :     tmp105 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{tmp101}, &label0);
     272          56 :     ca_.Goto(&block15, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp101, tmp105);
     273          56 :     if (label0.is_used()) {
     274          56 :       ca_.Bind(&label0);
     275          56 :       ca_.Goto(&block16, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp101);
     276          56 :     }
     277             :   }
     278             : 
     279          56 :   if (block16.is_used()) {
     280          56 :     compiler::TNode<Context> tmp106;
     281          56 :     compiler::TNode<Object> tmp107;
     282          56 :     compiler::TNode<Object> tmp108;
     283          56 :     compiler::TNode<Object> tmp109;
     284          56 :     compiler::TNode<Object> tmp110;
     285          56 :     compiler::TNode<Object> tmp111;
     286          56 :     compiler::TNode<JSReceiver> tmp112;
     287          56 :     compiler::TNode<JSReceiver> tmp113;
     288          56 :     compiler::TNode<Number> tmp114;
     289          56 :     compiler::TNode<Object> tmp115;
     290          56 :     ca_.Bind(&block16, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
     291          56 :     ca_.Goto(&block14, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114);
     292             :   }
     293             : 
     294          56 :   if (block15.is_used()) {
     295          56 :     compiler::TNode<Context> tmp116;
     296          56 :     compiler::TNode<Object> tmp117;
     297          56 :     compiler::TNode<Object> tmp118;
     298          56 :     compiler::TNode<Object> tmp119;
     299          56 :     compiler::TNode<Object> tmp120;
     300          56 :     compiler::TNode<Object> tmp121;
     301          56 :     compiler::TNode<JSReceiver> tmp122;
     302          56 :     compiler::TNode<JSReceiver> tmp123;
     303          56 :     compiler::TNode<Number> tmp124;
     304          56 :     compiler::TNode<Object> tmp125;
     305          56 :     compiler::TNode<Number> tmp126;
     306          56 :     ca_.Bind(&block15, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
     307          56 :     ca_.Goto(&block13, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp126);
     308             :   }
     309             : 
     310          56 :   if (block14.is_used()) {
     311          56 :     compiler::TNode<Context> tmp127;
     312          56 :     compiler::TNode<Object> tmp128;
     313          56 :     compiler::TNode<Object> tmp129;
     314          56 :     compiler::TNode<Object> tmp130;
     315          56 :     compiler::TNode<Object> tmp131;
     316          56 :     compiler::TNode<Object> tmp132;
     317          56 :     compiler::TNode<JSReceiver> tmp133;
     318          56 :     compiler::TNode<JSReceiver> tmp134;
     319          56 :     compiler::TNode<Number> tmp135;
     320          56 :     ca_.Bind(&block14, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135);
     321          56 :     CodeStubAssembler(state_).Unreachable();
     322             :   }
     323             : 
     324          56 :   if (block13.is_used()) {
     325          56 :     compiler::TNode<Context> tmp136;
     326          56 :     compiler::TNode<Object> tmp137;
     327          56 :     compiler::TNode<Object> tmp138;
     328          56 :     compiler::TNode<Object> tmp139;
     329          56 :     compiler::TNode<Object> tmp140;
     330          56 :     compiler::TNode<Object> tmp141;
     331          56 :     compiler::TNode<JSReceiver> tmp142;
     332          56 :     compiler::TNode<JSReceiver> tmp143;
     333          56 :     compiler::TNode<Number> tmp144;
     334          56 :     compiler::TNode<Number> tmp145;
     335          56 :     ca_.Bind(&block13, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145);
     336          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 19);
     337          56 :     compiler::TNode<Oddball> tmp146;
     338          56 :     USE(tmp146);
     339          56 :     tmp146 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     340          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 20);
     341          56 :     compiler::TNode<Oddball> tmp147;
     342          56 :     USE(tmp147);
     343          56 :     tmp147 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     344          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 18);
     345          56 :     compiler::TNode<Object> tmp148;
     346          56 :     tmp148 = CodeStubAssembler(state_).CallBuiltin(Builtins::kArrayForEachLoopContinuation, tmp136, tmp142, tmp143, tmp139, tmp146, tmp142, tmp144, tmp145, tmp147);
     347          56 :     USE(tmp148);
     348          56 :     CodeStubAssembler(state_).Return(tmp148);
     349          56 :   }
     350          56 : }
     351             : 
     352         616 : TF_BUILTIN(ArrayForEachLoopLazyDeoptContinuation, CodeStubAssembler) {
     353          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     354          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     355          56 :   USE(parameter0);
     356          56 :   compiler::TNode<Object> parameter1 = UncheckedCast<Object>(Parameter(Descriptor::kReceiver));
     357          56 :   USE(parameter1);
     358          56 :   compiler::TNode<Object> parameter2 = UncheckedCast<Object>(Parameter(Descriptor::kCallback));
     359          56 :   USE(parameter2);
     360          56 :   compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kThisArg));
     361          56 :   USE(parameter3);
     362          56 :   compiler::TNode<Object> parameter4 = UncheckedCast<Object>(Parameter(Descriptor::kInitialK));
     363          56 :   USE(parameter4);
     364          56 :   compiler::TNode<Object> parameter5 = UncheckedCast<Object>(Parameter(Descriptor::kLength));
     365          56 :   USE(parameter5);
     366          56 :   compiler::TNode<Object> parameter6 = UncheckedCast<Object>(Parameter(Descriptor::kResult));
     367          56 :   USE(parameter6);
     368         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     369         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     370         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     371         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     372         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     373         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     374         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     375         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     376         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     377         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     378         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Object, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     379         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     380         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     381         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     382         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Object, Number> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     383         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     384         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, JSReceiver, JSReceiver, Number, Number> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     385          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3, parameter4, parameter5, parameter6);
     386             : 
     387          56 :   if (block0.is_used()) {
     388          56 :     compiler::TNode<Context> tmp0;
     389          56 :     compiler::TNode<Object> tmp1;
     390          56 :     compiler::TNode<Object> tmp2;
     391          56 :     compiler::TNode<Object> tmp3;
     392          56 :     compiler::TNode<Object> tmp4;
     393          56 :     compiler::TNode<Object> tmp5;
     394          56 :     compiler::TNode<Object> tmp6;
     395          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
     396          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 30);
     397          56 :     compiler::TNode<JSReceiver> tmp7;
     398          56 :     USE(tmp7);
     399          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     400          56 :     tmp7 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
     401          56 :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp1, tmp7);
     402          56 :     if (label0.is_used()) {
     403          56 :       ca_.Bind(&label0);
     404          56 :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp1);
     405          56 :     }
     406             :   }
     407             : 
     408          56 :   if (block4.is_used()) {
     409          56 :     compiler::TNode<Context> tmp8;
     410          56 :     compiler::TNode<Object> tmp9;
     411          56 :     compiler::TNode<Object> tmp10;
     412          56 :     compiler::TNode<Object> tmp11;
     413          56 :     compiler::TNode<Object> tmp12;
     414          56 :     compiler::TNode<Object> tmp13;
     415          56 :     compiler::TNode<Object> tmp14;
     416          56 :     compiler::TNode<Object> tmp15;
     417          56 :     ca_.Bind(&block4, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     418          56 :     ca_.Goto(&block2, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14);
     419             :   }
     420             : 
     421          56 :   if (block3.is_used()) {
     422          56 :     compiler::TNode<Context> tmp16;
     423          56 :     compiler::TNode<Object> tmp17;
     424          56 :     compiler::TNode<Object> tmp18;
     425          56 :     compiler::TNode<Object> tmp19;
     426          56 :     compiler::TNode<Object> tmp20;
     427          56 :     compiler::TNode<Object> tmp21;
     428          56 :     compiler::TNode<Object> tmp22;
     429          56 :     compiler::TNode<Object> tmp23;
     430          56 :     compiler::TNode<JSReceiver> tmp24;
     431          56 :     ca_.Bind(&block3, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
     432          56 :     ca_.Goto(&block1, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp24);
     433             :   }
     434             : 
     435          56 :   if (block2.is_used()) {
     436          56 :     compiler::TNode<Context> tmp25;
     437          56 :     compiler::TNode<Object> tmp26;
     438          56 :     compiler::TNode<Object> tmp27;
     439          56 :     compiler::TNode<Object> tmp28;
     440          56 :     compiler::TNode<Object> tmp29;
     441          56 :     compiler::TNode<Object> tmp30;
     442          56 :     compiler::TNode<Object> tmp31;
     443          56 :     ca_.Bind(&block2, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
     444          56 :     CodeStubAssembler(state_).Unreachable();
     445             :   }
     446             : 
     447          56 :   if (block1.is_used()) {
     448          56 :     compiler::TNode<Context> tmp32;
     449          56 :     compiler::TNode<Object> tmp33;
     450          56 :     compiler::TNode<Object> tmp34;
     451          56 :     compiler::TNode<Object> tmp35;
     452          56 :     compiler::TNode<Object> tmp36;
     453          56 :     compiler::TNode<Object> tmp37;
     454          56 :     compiler::TNode<Object> tmp38;
     455          56 :     compiler::TNode<JSReceiver> tmp39;
     456          56 :     ca_.Bind(&block1, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
     457          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 31);
     458          56 :     compiler::TNode<JSReceiver> tmp40;
     459          56 :     USE(tmp40);
     460          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     461          56 :     tmp40 = BaseBuiltinsFromDSLAssembler(state_).Cast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context>{tmp32}, compiler::TNode<Object>{tmp34}, &label0);
     462          56 :     ca_.Goto(&block7, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp34, tmp40);
     463          56 :     if (label0.is_used()) {
     464          56 :       ca_.Bind(&label0);
     465          56 :       ca_.Goto(&block8, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp34);
     466          56 :     }
     467             :   }
     468             : 
     469          56 :   if (block8.is_used()) {
     470          56 :     compiler::TNode<Context> tmp41;
     471          56 :     compiler::TNode<Object> tmp42;
     472          56 :     compiler::TNode<Object> tmp43;
     473          56 :     compiler::TNode<Object> tmp44;
     474          56 :     compiler::TNode<Object> tmp45;
     475          56 :     compiler::TNode<Object> tmp46;
     476          56 :     compiler::TNode<Object> tmp47;
     477          56 :     compiler::TNode<JSReceiver> tmp48;
     478          56 :     compiler::TNode<Object> tmp49;
     479          56 :     ca_.Bind(&block8, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49);
     480          56 :     ca_.Goto(&block6, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48);
     481             :   }
     482             : 
     483          56 :   if (block7.is_used()) {
     484          56 :     compiler::TNode<Context> tmp50;
     485          56 :     compiler::TNode<Object> tmp51;
     486          56 :     compiler::TNode<Object> tmp52;
     487          56 :     compiler::TNode<Object> tmp53;
     488          56 :     compiler::TNode<Object> tmp54;
     489          56 :     compiler::TNode<Object> tmp55;
     490          56 :     compiler::TNode<Object> tmp56;
     491          56 :     compiler::TNode<JSReceiver> tmp57;
     492          56 :     compiler::TNode<Object> tmp58;
     493          56 :     compiler::TNode<JSReceiver> tmp59;
     494          56 :     ca_.Bind(&block7, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
     495          56 :     ca_.Goto(&block5, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp59);
     496             :   }
     497             : 
     498          56 :   if (block6.is_used()) {
     499          56 :     compiler::TNode<Context> tmp60;
     500          56 :     compiler::TNode<Object> tmp61;
     501          56 :     compiler::TNode<Object> tmp62;
     502          56 :     compiler::TNode<Object> tmp63;
     503          56 :     compiler::TNode<Object> tmp64;
     504          56 :     compiler::TNode<Object> tmp65;
     505          56 :     compiler::TNode<Object> tmp66;
     506          56 :     compiler::TNode<JSReceiver> tmp67;
     507          56 :     ca_.Bind(&block6, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
     508          56 :     CodeStubAssembler(state_).Unreachable();
     509             :   }
     510             : 
     511          56 :   if (block5.is_used()) {
     512          56 :     compiler::TNode<Context> tmp68;
     513          56 :     compiler::TNode<Object> tmp69;
     514          56 :     compiler::TNode<Object> tmp70;
     515          56 :     compiler::TNode<Object> tmp71;
     516          56 :     compiler::TNode<Object> tmp72;
     517          56 :     compiler::TNode<Object> tmp73;
     518          56 :     compiler::TNode<Object> tmp74;
     519          56 :     compiler::TNode<JSReceiver> tmp75;
     520          56 :     compiler::TNode<JSReceiver> tmp76;
     521          56 :     ca_.Bind(&block5, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76);
     522          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 32);
     523          56 :     compiler::TNode<Number> tmp77;
     524          56 :     USE(tmp77);
     525          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     526          56 :     tmp77 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{tmp72}, &label0);
     527          56 :     ca_.Goto(&block11, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp72, tmp77);
     528          56 :     if (label0.is_used()) {
     529          56 :       ca_.Bind(&label0);
     530          56 :       ca_.Goto(&block12, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp72);
     531          56 :     }
     532             :   }
     533             : 
     534          56 :   if (block12.is_used()) {
     535          56 :     compiler::TNode<Context> tmp78;
     536          56 :     compiler::TNode<Object> tmp79;
     537          56 :     compiler::TNode<Object> tmp80;
     538          56 :     compiler::TNode<Object> tmp81;
     539          56 :     compiler::TNode<Object> tmp82;
     540          56 :     compiler::TNode<Object> tmp83;
     541          56 :     compiler::TNode<Object> tmp84;
     542          56 :     compiler::TNode<JSReceiver> tmp85;
     543          56 :     compiler::TNode<JSReceiver> tmp86;
     544          56 :     compiler::TNode<Object> tmp87;
     545          56 :     ca_.Bind(&block12, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87);
     546          56 :     ca_.Goto(&block10, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86);
     547             :   }
     548             : 
     549          56 :   if (block11.is_used()) {
     550          56 :     compiler::TNode<Context> tmp88;
     551          56 :     compiler::TNode<Object> tmp89;
     552          56 :     compiler::TNode<Object> tmp90;
     553          56 :     compiler::TNode<Object> tmp91;
     554          56 :     compiler::TNode<Object> tmp92;
     555          56 :     compiler::TNode<Object> tmp93;
     556          56 :     compiler::TNode<Object> tmp94;
     557          56 :     compiler::TNode<JSReceiver> tmp95;
     558          56 :     compiler::TNode<JSReceiver> tmp96;
     559          56 :     compiler::TNode<Object> tmp97;
     560          56 :     compiler::TNode<Number> tmp98;
     561          56 :     ca_.Bind(&block11, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98);
     562          56 :     ca_.Goto(&block9, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp98);
     563             :   }
     564             : 
     565          56 :   if (block10.is_used()) {
     566          56 :     compiler::TNode<Context> tmp99;
     567          56 :     compiler::TNode<Object> tmp100;
     568          56 :     compiler::TNode<Object> tmp101;
     569          56 :     compiler::TNode<Object> tmp102;
     570          56 :     compiler::TNode<Object> tmp103;
     571          56 :     compiler::TNode<Object> tmp104;
     572          56 :     compiler::TNode<Object> tmp105;
     573          56 :     compiler::TNode<JSReceiver> tmp106;
     574          56 :     compiler::TNode<JSReceiver> tmp107;
     575          56 :     ca_.Bind(&block10, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
     576          56 :     CodeStubAssembler(state_).Unreachable();
     577             :   }
     578             : 
     579          56 :   if (block9.is_used()) {
     580          56 :     compiler::TNode<Context> tmp108;
     581          56 :     compiler::TNode<Object> tmp109;
     582          56 :     compiler::TNode<Object> tmp110;
     583          56 :     compiler::TNode<Object> tmp111;
     584          56 :     compiler::TNode<Object> tmp112;
     585          56 :     compiler::TNode<Object> tmp113;
     586          56 :     compiler::TNode<Object> tmp114;
     587          56 :     compiler::TNode<JSReceiver> tmp115;
     588          56 :     compiler::TNode<JSReceiver> tmp116;
     589          56 :     compiler::TNode<Number> tmp117;
     590          56 :     ca_.Bind(&block9, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117);
     591          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 33);
     592          56 :     compiler::TNode<Number> tmp118;
     593          56 :     USE(tmp118);
     594          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     595          56 :     tmp118 = BaseBuiltinsFromDSLAssembler(state_).Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object>{tmp113}, &label0);
     596          56 :     ca_.Goto(&block15, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp113, tmp118);
     597          56 :     if (label0.is_used()) {
     598          56 :       ca_.Bind(&label0);
     599          56 :       ca_.Goto(&block16, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp113);
     600          56 :     }
     601             :   }
     602             : 
     603          56 :   if (block16.is_used()) {
     604          56 :     compiler::TNode<Context> tmp119;
     605          56 :     compiler::TNode<Object> tmp120;
     606          56 :     compiler::TNode<Object> tmp121;
     607          56 :     compiler::TNode<Object> tmp122;
     608          56 :     compiler::TNode<Object> tmp123;
     609          56 :     compiler::TNode<Object> tmp124;
     610          56 :     compiler::TNode<Object> tmp125;
     611          56 :     compiler::TNode<JSReceiver> tmp126;
     612          56 :     compiler::TNode<JSReceiver> tmp127;
     613          56 :     compiler::TNode<Number> tmp128;
     614          56 :     compiler::TNode<Object> tmp129;
     615          56 :     ca_.Bind(&block16, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129);
     616          56 :     ca_.Goto(&block14, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128);
     617             :   }
     618             : 
     619          56 :   if (block15.is_used()) {
     620          56 :     compiler::TNode<Context> tmp130;
     621          56 :     compiler::TNode<Object> tmp131;
     622          56 :     compiler::TNode<Object> tmp132;
     623          56 :     compiler::TNode<Object> tmp133;
     624          56 :     compiler::TNode<Object> tmp134;
     625          56 :     compiler::TNode<Object> tmp135;
     626          56 :     compiler::TNode<Object> tmp136;
     627          56 :     compiler::TNode<JSReceiver> tmp137;
     628          56 :     compiler::TNode<JSReceiver> tmp138;
     629          56 :     compiler::TNode<Number> tmp139;
     630          56 :     compiler::TNode<Object> tmp140;
     631          56 :     compiler::TNode<Number> tmp141;
     632          56 :     ca_.Bind(&block15, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141);
     633          56 :     ca_.Goto(&block13, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp141);
     634             :   }
     635             : 
     636          56 :   if (block14.is_used()) {
     637          56 :     compiler::TNode<Context> tmp142;
     638          56 :     compiler::TNode<Object> tmp143;
     639          56 :     compiler::TNode<Object> tmp144;
     640          56 :     compiler::TNode<Object> tmp145;
     641          56 :     compiler::TNode<Object> tmp146;
     642          56 :     compiler::TNode<Object> tmp147;
     643          56 :     compiler::TNode<Object> tmp148;
     644          56 :     compiler::TNode<JSReceiver> tmp149;
     645          56 :     compiler::TNode<JSReceiver> tmp150;
     646          56 :     compiler::TNode<Number> tmp151;
     647          56 :     ca_.Bind(&block14, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151);
     648          56 :     CodeStubAssembler(state_).Unreachable();
     649             :   }
     650             : 
     651          56 :   if (block13.is_used()) {
     652          56 :     compiler::TNode<Context> tmp152;
     653          56 :     compiler::TNode<Object> tmp153;
     654          56 :     compiler::TNode<Object> tmp154;
     655          56 :     compiler::TNode<Object> tmp155;
     656          56 :     compiler::TNode<Object> tmp156;
     657          56 :     compiler::TNode<Object> tmp157;
     658          56 :     compiler::TNode<Object> tmp158;
     659          56 :     compiler::TNode<JSReceiver> tmp159;
     660          56 :     compiler::TNode<JSReceiver> tmp160;
     661          56 :     compiler::TNode<Number> tmp161;
     662          56 :     compiler::TNode<Number> tmp162;
     663          56 :     ca_.Bind(&block13, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162);
     664          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 36);
     665          56 :     compiler::TNode<Oddball> tmp163;
     666          56 :     USE(tmp163);
     667          56 :     tmp163 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     668          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 37);
     669          56 :     compiler::TNode<Oddball> tmp164;
     670          56 :     USE(tmp164);
     671          56 :     tmp164 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     672          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 35);
     673          56 :     compiler::TNode<Object> tmp165;
     674          56 :     tmp165 = CodeStubAssembler(state_).CallBuiltin(Builtins::kArrayForEachLoopContinuation, tmp152, tmp159, tmp160, tmp155, tmp163, tmp159, tmp161, tmp162, tmp164);
     675          56 :     USE(tmp165);
     676          56 :     CodeStubAssembler(state_).Return(tmp165);
     677          56 :   }
     678          56 : }
     679             : 
     680         728 : TF_BUILTIN(ArrayForEachLoopContinuation, CodeStubAssembler) {
     681          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     682          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     683          56 :   USE(parameter0);
     684          56 :   compiler::TNode<JSReceiver> parameter1 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kReceiver));
     685          56 :   USE(parameter1);
     686          56 :   compiler::TNode<JSReceiver> parameter2 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kCallbackfn));
     687          56 :   USE(parameter2);
     688          56 :   compiler::TNode<Object> parameter3 = UncheckedCast<Object>(Parameter(Descriptor::kThisArg));
     689          56 :   USE(parameter3);
     690          56 :   compiler::TNode<Object> parameter4 = UncheckedCast<Object>(Parameter(Descriptor::kArray));
     691          56 :   USE(parameter4);
     692          56 :   compiler::TNode<JSReceiver> parameter5 = UncheckedCast<JSReceiver>(Parameter(Descriptor::kO));
     693          56 :   USE(parameter5);
     694          56 :   compiler::TNode<Number> parameter6 = UncheckedCast<Number>(Parameter(Descriptor::kInitialK));
     695          56 :   USE(parameter6);
     696          56 :   compiler::TNode<Number> parameter7 = UncheckedCast<Number>(Parameter(Descriptor::kLen));
     697          56 :   USE(parameter7);
     698          56 :   compiler::TNode<Object> parameter8 = UncheckedCast<Object>(Parameter(Descriptor::kTo));
     699          56 :   USE(parameter8);
     700         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     701         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     702         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     703         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     704         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     705         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Oddball> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     706         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number, Oddball> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     707         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     708         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, JSReceiver, Object, Object, JSReceiver, Number, Number, Object, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     709          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2, parameter3, parameter4, parameter5, parameter6, parameter7, parameter8);
     710             : 
     711          56 :   if (block0.is_used()) {
     712          56 :     compiler::TNode<Context> tmp0;
     713          56 :     compiler::TNode<JSReceiver> tmp1;
     714          56 :     compiler::TNode<JSReceiver> tmp2;
     715          56 :     compiler::TNode<Object> tmp3;
     716          56 :     compiler::TNode<Object> tmp4;
     717          56 :     compiler::TNode<JSReceiver> tmp5;
     718          56 :     compiler::TNode<Number> tmp6;
     719          56 :     compiler::TNode<Number> tmp7;
     720          56 :     compiler::TNode<Object> tmp8;
     721          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
     722          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 48);
     723          56 :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp6);
     724             :   }
     725             : 
     726          56 :   if (block3.is_used()) {
     727          56 :     compiler::TNode<Context> tmp9;
     728          56 :     compiler::TNode<JSReceiver> tmp10;
     729          56 :     compiler::TNode<JSReceiver> tmp11;
     730          56 :     compiler::TNode<Object> tmp12;
     731          56 :     compiler::TNode<Object> tmp13;
     732          56 :     compiler::TNode<JSReceiver> tmp14;
     733          56 :     compiler::TNode<Number> tmp15;
     734          56 :     compiler::TNode<Number> tmp16;
     735          56 :     compiler::TNode<Object> tmp17;
     736          56 :     compiler::TNode<Number> tmp18;
     737          56 :     ca_.Bind(&block3, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
     738          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     739         112 :     compiler::CodeAssemblerLabel label1(&ca_);
     740          56 :     CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp18}, compiler::TNode<Number>{tmp16}, &label0, &label1);
     741          56 :     if (label0.is_used()) {
     742          56 :       ca_.Bind(&label0);
     743          56 :       ca_.Goto(&block5, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp18, tmp16);
     744             :     }
     745          56 :     if (label1.is_used()) {
     746          56 :       ca_.Bind(&label1);
     747          56 :       ca_.Goto(&block6, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp18, tmp16);
     748          56 :     }
     749             :   }
     750             : 
     751          56 :   if (block5.is_used()) {
     752          56 :     compiler::TNode<Context> tmp19;
     753          56 :     compiler::TNode<JSReceiver> tmp20;
     754          56 :     compiler::TNode<JSReceiver> tmp21;
     755          56 :     compiler::TNode<Object> tmp22;
     756          56 :     compiler::TNode<Object> tmp23;
     757          56 :     compiler::TNode<JSReceiver> tmp24;
     758          56 :     compiler::TNode<Number> tmp25;
     759          56 :     compiler::TNode<Number> tmp26;
     760          56 :     compiler::TNode<Object> tmp27;
     761          56 :     compiler::TNode<Number> tmp28;
     762          56 :     compiler::TNode<Number> tmp29;
     763          56 :     compiler::TNode<Number> tmp30;
     764          56 :     ca_.Bind(&block5, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
     765          56 :     ca_.Goto(&block1, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28);
     766             :   }
     767             : 
     768          56 :   if (block6.is_used()) {
     769          56 :     compiler::TNode<Context> tmp31;
     770          56 :     compiler::TNode<JSReceiver> tmp32;
     771          56 :     compiler::TNode<JSReceiver> tmp33;
     772          56 :     compiler::TNode<Object> tmp34;
     773          56 :     compiler::TNode<Object> tmp35;
     774          56 :     compiler::TNode<JSReceiver> tmp36;
     775          56 :     compiler::TNode<Number> tmp37;
     776          56 :     compiler::TNode<Number> tmp38;
     777          56 :     compiler::TNode<Object> tmp39;
     778          56 :     compiler::TNode<Number> tmp40;
     779          56 :     compiler::TNode<Number> tmp41;
     780          56 :     compiler::TNode<Number> tmp42;
     781          56 :     ca_.Bind(&block6, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42);
     782          56 :     ca_.Goto(&block2, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40);
     783             :   }
     784             : 
     785          56 :   if (block1.is_used()) {
     786          56 :     compiler::TNode<Context> tmp43;
     787          56 :     compiler::TNode<JSReceiver> tmp44;
     788          56 :     compiler::TNode<JSReceiver> tmp45;
     789          56 :     compiler::TNode<Object> tmp46;
     790          56 :     compiler::TNode<Object> tmp47;
     791          56 :     compiler::TNode<JSReceiver> tmp48;
     792          56 :     compiler::TNode<Number> tmp49;
     793          56 :     compiler::TNode<Number> tmp50;
     794          56 :     compiler::TNode<Object> tmp51;
     795          56 :     compiler::TNode<Number> tmp52;
     796          56 :     ca_.Bind(&block1, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
     797          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 54);
     798          56 :     compiler::TNode<Oddball> tmp53;
     799          56 :     USE(tmp53);
     800          56 :     tmp53 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).HasProperty_Inline(compiler::TNode<Context>{tmp43}, compiler::TNode<JSReceiver>{tmp48}, compiler::TNode<Object>{tmp52}));
     801          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 57);
     802          56 :     compiler::TNode<Oddball> tmp54;
     803          56 :     USE(tmp54);
     804          56 :     tmp54 = BaseBuiltinsFromDSLAssembler(state_).True();
     805          56 :     compiler::TNode<BoolT> tmp55;
     806          56 :     USE(tmp55);
     807          56 :     tmp55 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp53}, compiler::TNode<HeapObject>{tmp54}));
     808          56 :     ca_.Branch(tmp55, &block7, &block8, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53);
     809             :   }
     810             : 
     811          56 :   if (block7.is_used()) {
     812          56 :     compiler::TNode<Context> tmp56;
     813          56 :     compiler::TNode<JSReceiver> tmp57;
     814          56 :     compiler::TNode<JSReceiver> tmp58;
     815          56 :     compiler::TNode<Object> tmp59;
     816          56 :     compiler::TNode<Object> tmp60;
     817          56 :     compiler::TNode<JSReceiver> tmp61;
     818          56 :     compiler::TNode<Number> tmp62;
     819          56 :     compiler::TNode<Number> tmp63;
     820          56 :     compiler::TNode<Object> tmp64;
     821          56 :     compiler::TNode<Number> tmp65;
     822          56 :     compiler::TNode<Oddball> tmp66;
     823          56 :     ca_.Bind(&block7, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66);
     824          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 59);
     825          56 :     compiler::TNode<Object> tmp67;
     826          56 :     USE(tmp67);
     827          56 :     tmp67 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp56}, compiler::TNode<Object>{tmp61}, compiler::TNode<Object>{tmp65}));
     828          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 62);
     829          56 :     compiler::TNode<Object> tmp68;
     830          56 :     USE(tmp68);
     831          56 :     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}));
     832          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 57);
     833          56 :     ca_.Goto(&block8, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66);
     834             :   }
     835             : 
     836          56 :   if (block8.is_used()) {
     837          56 :     compiler::TNode<Context> tmp69;
     838          56 :     compiler::TNode<JSReceiver> tmp70;
     839          56 :     compiler::TNode<JSReceiver> tmp71;
     840          56 :     compiler::TNode<Object> tmp72;
     841          56 :     compiler::TNode<Object> tmp73;
     842          56 :     compiler::TNode<JSReceiver> tmp74;
     843          56 :     compiler::TNode<Number> tmp75;
     844          56 :     compiler::TNode<Number> tmp76;
     845          56 :     compiler::TNode<Object> tmp77;
     846          56 :     compiler::TNode<Number> tmp78;
     847          56 :     compiler::TNode<Oddball> tmp79;
     848          56 :     ca_.Bind(&block8, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79);
     849          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 48);
     850          56 :     ca_.Goto(&block4, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78);
     851             :   }
     852             : 
     853          56 :   if (block4.is_used()) {
     854          56 :     compiler::TNode<Context> tmp80;
     855          56 :     compiler::TNode<JSReceiver> tmp81;
     856          56 :     compiler::TNode<JSReceiver> tmp82;
     857          56 :     compiler::TNode<Object> tmp83;
     858          56 :     compiler::TNode<Object> tmp84;
     859          56 :     compiler::TNode<JSReceiver> tmp85;
     860          56 :     compiler::TNode<Number> tmp86;
     861          56 :     compiler::TNode<Number> tmp87;
     862          56 :     compiler::TNode<Object> tmp88;
     863          56 :     compiler::TNode<Number> tmp89;
     864          56 :     ca_.Bind(&block4, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89);
     865          56 :     compiler::TNode<Number> tmp90;
     866          56 :     USE(tmp90);
     867          56 :     tmp90 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
     868          56 :     compiler::TNode<Number> tmp91;
     869          56 :     USE(tmp91);
     870          56 :     tmp91 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp89}, compiler::TNode<Number>{tmp90}));
     871          56 :     ca_.Goto(&block3, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp91);
     872             :   }
     873             : 
     874          56 :   if (block2.is_used()) {
     875          56 :     compiler::TNode<Context> tmp92;
     876          56 :     compiler::TNode<JSReceiver> tmp93;
     877          56 :     compiler::TNode<JSReceiver> tmp94;
     878          56 :     compiler::TNode<Object> tmp95;
     879          56 :     compiler::TNode<Object> tmp96;
     880          56 :     compiler::TNode<JSReceiver> tmp97;
     881          56 :     compiler::TNode<Number> tmp98;
     882          56 :     compiler::TNode<Number> tmp99;
     883          56 :     compiler::TNode<Object> tmp100;
     884          56 :     compiler::TNode<Number> tmp101;
     885          56 :     ca_.Bind(&block2, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101);
     886          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 67);
     887          56 :     compiler::TNode<Oddball> tmp102;
     888          56 :     USE(tmp102);
     889          56 :     tmp102 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     890          56 :     CodeStubAssembler(state_).Return(tmp102);
     891          56 :   }
     892          56 : }
     893             : 
     894          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) {
     895          56 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     896         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     897         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Number, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     898         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     899         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     900         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     901         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSReceiver, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     902         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     903         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     904         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     905         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T, JSArray, Smi, JSReceiver, Object, Smi> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     906         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T, JSArray, Smi, JSReceiver, Object> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     907         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     908         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T, JSArray, Smi, JSReceiver, Object, Smi> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     909         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T, JSArray, Smi, JSReceiver, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     910         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Smi, Smi, JSArray, Int32T> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     911         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     912         112 :   compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     913         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, JSReceiver, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     914          56 :     ca_.Goto(&block0, p_context, p_o, p_len, p_callbackfn, p_thisArg);
     915             : 
     916          56 :   if (block0.is_used()) {
     917          56 :     compiler::TNode<Context> tmp0;
     918          56 :     compiler::TNode<JSReceiver> tmp1;
     919          56 :     compiler::TNode<Number> tmp2;
     920          56 :     compiler::TNode<JSReceiver> tmp3;
     921          56 :     compiler::TNode<Object> tmp4;
     922          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     923          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 92);
     924          56 :     compiler::TNode<Smi> tmp5;
     925          56 :     USE(tmp5);
     926          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
     927          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 93);
     928          56 :     compiler::TNode<Smi> tmp6;
     929          56 :     USE(tmp6);
     930          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     931          56 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp2}, &label0);
     932          56 :     ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp2, tmp6);
     933          56 :     if (label0.is_used()) {
     934          56 :       ca_.Bind(&label0);
     935          56 :       ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp2);
     936          56 :     }
     937             :   }
     938             : 
     939          56 :   if (block6.is_used()) {
     940          56 :     compiler::TNode<Context> tmp7;
     941          56 :     compiler::TNode<JSReceiver> tmp8;
     942          56 :     compiler::TNode<Number> tmp9;
     943          56 :     compiler::TNode<JSReceiver> tmp10;
     944          56 :     compiler::TNode<Object> tmp11;
     945          56 :     compiler::TNode<Smi> tmp12;
     946          56 :     compiler::TNode<Number> tmp13;
     947          56 :     ca_.Bind(&block6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
     948          56 :     ca_.Goto(&block4, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12);
     949             :   }
     950             : 
     951          56 :   if (block5.is_used()) {
     952          56 :     compiler::TNode<Context> tmp14;
     953          56 :     compiler::TNode<JSReceiver> tmp15;
     954          56 :     compiler::TNode<Number> tmp16;
     955          56 :     compiler::TNode<JSReceiver> tmp17;
     956          56 :     compiler::TNode<Object> tmp18;
     957          56 :     compiler::TNode<Smi> tmp19;
     958          56 :     compiler::TNode<Number> tmp20;
     959          56 :     compiler::TNode<Smi> tmp21;
     960          56 :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
     961          56 :     ca_.Goto(&block3, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp21);
     962             :   }
     963             : 
     964          56 :   if (block4.is_used()) {
     965          56 :     compiler::TNode<Context> tmp22;
     966          56 :     compiler::TNode<JSReceiver> tmp23;
     967          56 :     compiler::TNode<Number> tmp24;
     968          56 :     compiler::TNode<JSReceiver> tmp25;
     969          56 :     compiler::TNode<Object> tmp26;
     970          56 :     compiler::TNode<Smi> tmp27;
     971          56 :     ca_.Bind(&block4, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
     972          56 :     ca_.Goto(&block1, tmp27);
     973             :   }
     974             : 
     975          56 :   if (block3.is_used()) {
     976          56 :     compiler::TNode<Context> tmp28;
     977          56 :     compiler::TNode<JSReceiver> tmp29;
     978          56 :     compiler::TNode<Number> tmp30;
     979          56 :     compiler::TNode<JSReceiver> tmp31;
     980          56 :     compiler::TNode<Object> tmp32;
     981          56 :     compiler::TNode<Smi> tmp33;
     982          56 :     compiler::TNode<Smi> tmp34;
     983          56 :     ca_.Bind(&block3, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
     984          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 94);
     985          56 :     compiler::TNode<JSArray> tmp35;
     986          56 :     USE(tmp35);
     987          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     988          56 :     tmp35 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp28}, compiler::TNode<HeapObject>{tmp29}, &label0);
     989          56 :     ca_.Goto(&block9, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp29, tmp35);
     990          56 :     if (label0.is_used()) {
     991          56 :       ca_.Bind(&label0);
     992          56 :       ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp29);
     993          56 :     }
     994             :   }
     995             : 
     996          56 :   if (block10.is_used()) {
     997          56 :     compiler::TNode<Context> tmp36;
     998          56 :     compiler::TNode<JSReceiver> tmp37;
     999          56 :     compiler::TNode<Number> tmp38;
    1000          56 :     compiler::TNode<JSReceiver> tmp39;
    1001          56 :     compiler::TNode<Object> tmp40;
    1002          56 :     compiler::TNode<Smi> tmp41;
    1003          56 :     compiler::TNode<Smi> tmp42;
    1004          56 :     compiler::TNode<JSReceiver> tmp43;
    1005          56 :     ca_.Bind(&block10, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    1006          56 :     ca_.Goto(&block8, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42);
    1007             :   }
    1008             : 
    1009          56 :   if (block9.is_used()) {
    1010          56 :     compiler::TNode<Context> tmp44;
    1011          56 :     compiler::TNode<JSReceiver> tmp45;
    1012          56 :     compiler::TNode<Number> tmp46;
    1013          56 :     compiler::TNode<JSReceiver> tmp47;
    1014          56 :     compiler::TNode<Object> tmp48;
    1015          56 :     compiler::TNode<Smi> tmp49;
    1016          56 :     compiler::TNode<Smi> tmp50;
    1017          56 :     compiler::TNode<JSReceiver> tmp51;
    1018          56 :     compiler::TNode<JSArray> tmp52;
    1019          56 :     ca_.Bind(&block9, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
    1020          56 :     ca_.Goto(&block7, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp52);
    1021             :   }
    1022             : 
    1023          56 :   if (block8.is_used()) {
    1024          56 :     compiler::TNode<Context> tmp53;
    1025          56 :     compiler::TNode<JSReceiver> tmp54;
    1026          56 :     compiler::TNode<Number> tmp55;
    1027          56 :     compiler::TNode<JSReceiver> tmp56;
    1028          56 :     compiler::TNode<Object> tmp57;
    1029          56 :     compiler::TNode<Smi> tmp58;
    1030          56 :     compiler::TNode<Smi> tmp59;
    1031          56 :     ca_.Bind(&block8, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
    1032          56 :     ca_.Goto(&block1, tmp58);
    1033             :   }
    1034             : 
    1035          56 :   if (block7.is_used()) {
    1036          56 :     compiler::TNode<Context> tmp60;
    1037          56 :     compiler::TNode<JSReceiver> tmp61;
    1038          56 :     compiler::TNode<Number> tmp62;
    1039          56 :     compiler::TNode<JSReceiver> tmp63;
    1040          56 :     compiler::TNode<Object> tmp64;
    1041          56 :     compiler::TNode<Smi> tmp65;
    1042          56 :     compiler::TNode<Smi> tmp66;
    1043          56 :     compiler::TNode<JSArray> tmp67;
    1044          56 :     ca_.Bind(&block7, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
    1045          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 95);
    1046          56 :     compiler::TNode<Map> tmp68;
    1047          56 :     USE(tmp68);
    1048          56 :     tmp68 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp67}));
    1049          56 :     compiler::TNode<Int32T> tmp69;
    1050          56 :     USE(tmp69);
    1051          56 :     tmp69 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp68}));
    1052          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 96);
    1053          56 :     compiler::TNode<BoolT> tmp70;
    1054          56 :     USE(tmp70);
    1055          56 :     tmp70 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsElementsKindGreaterThan(compiler::TNode<Int32T>{tmp69}, HOLEY_ELEMENTS));
    1056          56 :     ca_.Branch(tmp70, &block11, &block12, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp69);
    1057             :   }
    1058             : 
    1059          56 :   if (block11.is_used()) {
    1060          56 :     compiler::TNode<Context> tmp71;
    1061          56 :     compiler::TNode<JSReceiver> tmp72;
    1062          56 :     compiler::TNode<Number> tmp73;
    1063          56 :     compiler::TNode<JSReceiver> tmp74;
    1064          56 :     compiler::TNode<Object> tmp75;
    1065          56 :     compiler::TNode<Smi> tmp76;
    1066          56 :     compiler::TNode<Smi> tmp77;
    1067          56 :     compiler::TNode<JSArray> tmp78;
    1068          56 :     compiler::TNode<Int32T> tmp79;
    1069          56 :     ca_.Bind(&block11, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79);
    1070          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 97);
    1071          56 :     compiler::TypedCodeAssemblerVariable<Smi> result_0_0(&ca_);
    1072         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    1073          56 :     ArrayForeachBuiltinsFromDSLAssembler(state_).VisitAllElements16FixedDoubleArray(compiler::TNode<Context>{tmp71}, compiler::TNode<JSArray>{tmp78}, compiler::TNode<Smi>{tmp77}, compiler::TNode<JSReceiver>{tmp74}, compiler::TNode<Object>{tmp75}, &label0, &result_0_0);
    1074          56 :     ca_.Goto(&block14, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp78, tmp77, tmp74, tmp75);
    1075          56 :     if (label0.is_used()) {
    1076          56 :       ca_.Bind(&label0);
    1077          56 :       ca_.Goto(&block15, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp78, tmp77, tmp74, tmp75, result_0_0.value());
    1078          56 :     }
    1079             :   }
    1080             : 
    1081          56 :   if (block15.is_used()) {
    1082          56 :     compiler::TNode<Context> tmp80;
    1083          56 :     compiler::TNode<JSReceiver> tmp81;
    1084          56 :     compiler::TNode<Number> tmp82;
    1085          56 :     compiler::TNode<JSReceiver> tmp83;
    1086          56 :     compiler::TNode<Object> tmp84;
    1087          56 :     compiler::TNode<Smi> tmp85;
    1088          56 :     compiler::TNode<Smi> tmp86;
    1089          56 :     compiler::TNode<JSArray> tmp87;
    1090          56 :     compiler::TNode<Int32T> tmp88;
    1091          56 :     compiler::TNode<JSArray> tmp89;
    1092          56 :     compiler::TNode<Smi> tmp90;
    1093          56 :     compiler::TNode<JSReceiver> tmp91;
    1094          56 :     compiler::TNode<Object> tmp92;
    1095          56 :     compiler::TNode<Smi> tmp93;
    1096          56 :     ca_.Bind(&block15, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93);
    1097          56 :     ca_.Goto(&block1, tmp93);
    1098             :   }
    1099             : 
    1100          56 :   if (block14.is_used()) {
    1101          56 :     compiler::TNode<Context> tmp94;
    1102          56 :     compiler::TNode<JSReceiver> tmp95;
    1103          56 :     compiler::TNode<Number> tmp96;
    1104          56 :     compiler::TNode<JSReceiver> tmp97;
    1105          56 :     compiler::TNode<Object> tmp98;
    1106          56 :     compiler::TNode<Smi> tmp99;
    1107          56 :     compiler::TNode<Smi> tmp100;
    1108          56 :     compiler::TNode<JSArray> tmp101;
    1109          56 :     compiler::TNode<Int32T> tmp102;
    1110          56 :     compiler::TNode<JSArray> tmp103;
    1111          56 :     compiler::TNode<Smi> tmp104;
    1112          56 :     compiler::TNode<JSReceiver> tmp105;
    1113          56 :     compiler::TNode<Object> tmp106;
    1114          56 :     ca_.Bind(&block14, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106);
    1115          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 96);
    1116          56 :     ca_.Goto(&block13, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102);
    1117             :   }
    1118             : 
    1119          56 :   if (block12.is_used()) {
    1120          56 :     compiler::TNode<Context> tmp107;
    1121          56 :     compiler::TNode<JSReceiver> tmp108;
    1122          56 :     compiler::TNode<Number> tmp109;
    1123          56 :     compiler::TNode<JSReceiver> tmp110;
    1124          56 :     compiler::TNode<Object> tmp111;
    1125          56 :     compiler::TNode<Smi> tmp112;
    1126          56 :     compiler::TNode<Smi> tmp113;
    1127          56 :     compiler::TNode<JSArray> tmp114;
    1128          56 :     compiler::TNode<Int32T> tmp115;
    1129          56 :     ca_.Bind(&block12, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
    1130          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 100);
    1131          56 :     compiler::TypedCodeAssemblerVariable<Smi> result_0_0(&ca_);
    1132         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    1133          56 :     ArrayForeachBuiltinsFromDSLAssembler(state_).VisitAllElements10FixedArray(compiler::TNode<Context>{tmp107}, compiler::TNode<JSArray>{tmp114}, compiler::TNode<Smi>{tmp113}, compiler::TNode<JSReceiver>{tmp110}, compiler::TNode<Object>{tmp111}, &label0, &result_0_0);
    1134          56 :     ca_.Goto(&block16, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp114, tmp113, tmp110, tmp111);
    1135          56 :     if (label0.is_used()) {
    1136          56 :       ca_.Bind(&label0);
    1137          56 :       ca_.Goto(&block17, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp114, tmp113, tmp110, tmp111, result_0_0.value());
    1138          56 :     }
    1139             :   }
    1140             : 
    1141          56 :   if (block17.is_used()) {
    1142          56 :     compiler::TNode<Context> tmp116;
    1143          56 :     compiler::TNode<JSReceiver> tmp117;
    1144          56 :     compiler::TNode<Number> tmp118;
    1145          56 :     compiler::TNode<JSReceiver> tmp119;
    1146          56 :     compiler::TNode<Object> tmp120;
    1147          56 :     compiler::TNode<Smi> tmp121;
    1148          56 :     compiler::TNode<Smi> tmp122;
    1149          56 :     compiler::TNode<JSArray> tmp123;
    1150          56 :     compiler::TNode<Int32T> tmp124;
    1151          56 :     compiler::TNode<JSArray> tmp125;
    1152          56 :     compiler::TNode<Smi> tmp126;
    1153          56 :     compiler::TNode<JSReceiver> tmp127;
    1154          56 :     compiler::TNode<Object> tmp128;
    1155          56 :     compiler::TNode<Smi> tmp129;
    1156          56 :     ca_.Bind(&block17, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129);
    1157          56 :     ca_.Goto(&block1, tmp129);
    1158             :   }
    1159             : 
    1160          56 :   if (block16.is_used()) {
    1161          56 :     compiler::TNode<Context> tmp130;
    1162          56 :     compiler::TNode<JSReceiver> tmp131;
    1163          56 :     compiler::TNode<Number> tmp132;
    1164          56 :     compiler::TNode<JSReceiver> tmp133;
    1165          56 :     compiler::TNode<Object> tmp134;
    1166          56 :     compiler::TNode<Smi> tmp135;
    1167          56 :     compiler::TNode<Smi> tmp136;
    1168          56 :     compiler::TNode<JSArray> tmp137;
    1169          56 :     compiler::TNode<Int32T> tmp138;
    1170          56 :     compiler::TNode<JSArray> tmp139;
    1171          56 :     compiler::TNode<Smi> tmp140;
    1172          56 :     compiler::TNode<JSReceiver> tmp141;
    1173          56 :     compiler::TNode<Object> tmp142;
    1174          56 :     ca_.Bind(&block16, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142);
    1175          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 96);
    1176          56 :     ca_.Goto(&block13, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138);
    1177             :   }
    1178             : 
    1179          56 :   if (block13.is_used()) {
    1180          56 :     compiler::TNode<Context> tmp143;
    1181          56 :     compiler::TNode<JSReceiver> tmp144;
    1182          56 :     compiler::TNode<Number> tmp145;
    1183          56 :     compiler::TNode<JSReceiver> tmp146;
    1184          56 :     compiler::TNode<Object> tmp147;
    1185          56 :     compiler::TNode<Smi> tmp148;
    1186          56 :     compiler::TNode<Smi> tmp149;
    1187          56 :     compiler::TNode<JSArray> tmp150;
    1188          56 :     compiler::TNode<Int32T> tmp151;
    1189          56 :     ca_.Bind(&block13, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151);
    1190          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 103);
    1191          56 :     compiler::TNode<Oddball> tmp152;
    1192          56 :     USE(tmp152);
    1193          56 :     tmp152 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    1194          56 :     ca_.Goto(&block2, tmp143, tmp144, tmp145, tmp146, tmp147, tmp152);
    1195             :   }
    1196             : 
    1197          56 :   if (block2.is_used()) {
    1198          56 :     compiler::TNode<Context> tmp153;
    1199          56 :     compiler::TNode<JSReceiver> tmp154;
    1200          56 :     compiler::TNode<Number> tmp155;
    1201          56 :     compiler::TNode<JSReceiver> tmp156;
    1202          56 :     compiler::TNode<Object> tmp157;
    1203          56 :     compiler::TNode<Object> tmp158;
    1204          56 :     ca_.Bind(&block2, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158);
    1205          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 89);
    1206          56 :     ca_.Goto(&block18, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158);
    1207             :   }
    1208             : 
    1209          56 :   if (block1.is_used()) {
    1210          56 :     compiler::TNode<Smi> tmp159;
    1211          56 :     ca_.Bind(&block1, &tmp159);
    1212          56 :     *label_Bailout_parameter_0 = tmp159;
    1213          56 :     ca_.Goto(label_Bailout);
    1214             :   }
    1215             : 
    1216          56 :     compiler::TNode<Context> tmp160;
    1217          56 :     compiler::TNode<JSReceiver> tmp161;
    1218          56 :     compiler::TNode<Number> tmp162;
    1219          56 :     compiler::TNode<JSReceiver> tmp163;
    1220          56 :     compiler::TNode<Object> tmp164;
    1221          56 :     compiler::TNode<Object> tmp165;
    1222          56 :     ca_.Bind(&block18, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
    1223         112 :   return compiler::TNode<Object>{tmp165};
    1224             : }
    1225             : 
    1226         336 : TF_BUILTIN(ArrayForEach, CodeStubAssembler) {
    1227          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    1228          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    1229          56 :   USE(parameter0);
    1230          56 :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    1231          56 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
    1232          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
    1233          56 : auto arguments = &arguments_impl;
    1234          56 : USE(arguments);
    1235          56 : USE(parameter1);
    1236         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1237         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1238         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1239         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1240         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1241         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1242         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Object, JSReceiver> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1243         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1244         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1245         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver, Object> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1246         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver, Object> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1247         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver, Object, Number, JSReceiver, Number, JSReceiver, Object, Smi> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1248         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver, Object, Number, JSReceiver, Number, JSReceiver, Object, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1249         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver, Object, Number, Smi> block16(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    1250         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, JSReceiver, Object, Number, Smi> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1251         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    1252         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    1253          56 :     ca_.Goto(&block0, parameter0, parameter1);
    1254             : 
    1255          56 :   if (block0.is_used()) {
    1256          56 :     compiler::TNode<Context> tmp0;
    1257          56 :     compiler::TNode<Object> tmp1;
    1258          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
    1259          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 110);
    1260          56 :     compiler::TNode<BoolT> tmp2;
    1261          56 :     USE(tmp2);
    1262          56 :     tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp1}));
    1263          56 :     ca_.Branch(tmp2, &block5, &block6, tmp0, tmp1);
    1264             :   }
    1265             : 
    1266          56 :   if (block5.is_used()) {
    1267          56 :     compiler::TNode<Context> tmp3;
    1268          56 :     compiler::TNode<Object> tmp4;
    1269          56 :     ca_.Bind(&block5, &tmp3, &tmp4);
    1270          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 111);
    1271          56 :     ca_.Goto(&block2, tmp3, tmp4);
    1272             :   }
    1273             : 
    1274          56 :   if (block6.is_used()) {
    1275          56 :     compiler::TNode<Context> tmp5;
    1276          56 :     compiler::TNode<Object> tmp6;
    1277          56 :     ca_.Bind(&block6, &tmp5, &tmp6);
    1278          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 115);
    1279          56 :     compiler::TNode<JSReceiver> tmp7;
    1280          56 :     USE(tmp7);
    1281          56 :     tmp7 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp5}, compiler::TNode<Object>{tmp6}));
    1282          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 118);
    1283          56 :     compiler::TNode<Number> tmp8;
    1284          56 :     USE(tmp8);
    1285          56 :     tmp8 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp5}, compiler::TNode<Object>{tmp7}));
    1286          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 121);
    1287          56 :     compiler::TNode<IntPtrT> tmp9;
    1288          56 :     USE(tmp9);
    1289          56 :     tmp9 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).GetArgumentsLength(arguments));
    1290          56 :     compiler::TNode<IntPtrT> tmp10;
    1291          56 :     USE(tmp10);
    1292          56 :     tmp10 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    1293          56 :     compiler::TNode<BoolT> tmp11;
    1294          56 :     USE(tmp11);
    1295          56 :     tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp9}, compiler::TNode<IntPtrT>{tmp10}));
    1296          56 :     ca_.Branch(tmp11, &block7, &block8, tmp5, tmp6, tmp7, tmp8);
    1297             :   }
    1298             : 
    1299          56 :   if (block7.is_used()) {
    1300          56 :     compiler::TNode<Context> tmp12;
    1301          56 :     compiler::TNode<Object> tmp13;
    1302          56 :     compiler::TNode<JSReceiver> tmp14;
    1303          56 :     compiler::TNode<Number> tmp15;
    1304          56 :     ca_.Bind(&block7, &tmp12, &tmp13, &tmp14, &tmp15);
    1305          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 122);
    1306          56 :     ca_.Goto(&block4, tmp12, tmp13);
    1307             :   }
    1308             : 
    1309          56 :   if (block8.is_used()) {
    1310          56 :     compiler::TNode<Context> tmp16;
    1311          56 :     compiler::TNode<Object> tmp17;
    1312          56 :     compiler::TNode<JSReceiver> tmp18;
    1313          56 :     compiler::TNode<Number> tmp19;
    1314          56 :     ca_.Bind(&block8, &tmp16, &tmp17, &tmp18, &tmp19);
    1315          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 124);
    1316          56 :     compiler::TNode<IntPtrT> tmp20;
    1317          56 :     USE(tmp20);
    1318          56 :     tmp20 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    1319          56 :     compiler::TNode<Object> tmp21;
    1320          56 :     USE(tmp21);
    1321          56 :     tmp21 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp20}));
    1322          56 :     compiler::TNode<JSReceiver> tmp22;
    1323          56 :     USE(tmp22);
    1324          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    1325          56 :     tmp22 = BaseBuiltinsFromDSLAssembler(state_).Cast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context>{tmp16}, compiler::TNode<Object>{tmp21}, &label0);
    1326          56 :     ca_.Goto(&block9, tmp16, tmp17, tmp18, tmp19, tmp21, tmp22);
    1327          56 :     if (label0.is_used()) {
    1328          56 :       ca_.Bind(&label0);
    1329          56 :       ca_.Goto(&block10, tmp16, tmp17, tmp18, tmp19, tmp21);
    1330          56 :     }
    1331             :   }
    1332             : 
    1333          56 :   if (block10.is_used()) {
    1334          56 :     compiler::TNode<Context> tmp23;
    1335          56 :     compiler::TNode<Object> tmp24;
    1336          56 :     compiler::TNode<JSReceiver> tmp25;
    1337          56 :     compiler::TNode<Number> tmp26;
    1338          56 :     compiler::TNode<Object> tmp27;
    1339          56 :     ca_.Bind(&block10, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
    1340          56 :     ca_.Goto(&block4, tmp23, tmp24);
    1341             :   }
    1342             : 
    1343          56 :   if (block9.is_used()) {
    1344          56 :     compiler::TNode<Context> tmp28;
    1345          56 :     compiler::TNode<Object> tmp29;
    1346          56 :     compiler::TNode<JSReceiver> tmp30;
    1347          56 :     compiler::TNode<Number> tmp31;
    1348          56 :     compiler::TNode<Object> tmp32;
    1349          56 :     compiler::TNode<JSReceiver> tmp33;
    1350          56 :     ca_.Bind(&block9, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
    1351          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 127);
    1352          56 :     compiler::TNode<IntPtrT> tmp34;
    1353          56 :     USE(tmp34);
    1354          56 :     tmp34 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).GetArgumentsLength(arguments));
    1355          56 :     compiler::TNode<IntPtrT> tmp35;
    1356          56 :     USE(tmp35);
    1357          56 :     tmp35 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    1358          56 :     compiler::TNode<BoolT> tmp36;
    1359          56 :     USE(tmp36);
    1360          56 :     tmp36 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp34}, compiler::TNode<IntPtrT>{tmp35}));
    1361          56 :     ca_.Branch(tmp36, &block11, &block12, tmp28, tmp29, tmp30, tmp31, tmp33);
    1362             :   }
    1363             : 
    1364          56 :   if (block11.is_used()) {
    1365          56 :     compiler::TNode<Context> tmp37;
    1366          56 :     compiler::TNode<Object> tmp38;
    1367          56 :     compiler::TNode<JSReceiver> tmp39;
    1368          56 :     compiler::TNode<Number> tmp40;
    1369          56 :     compiler::TNode<JSReceiver> tmp41;
    1370          56 :     ca_.Bind(&block11, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41);
    1371          56 :     compiler::TNode<IntPtrT> tmp42;
    1372          56 :     USE(tmp42);
    1373          56 :     tmp42 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
    1374          56 :     compiler::TNode<Object> tmp43;
    1375          56 :     USE(tmp43);
    1376          56 :     tmp43 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp42}));
    1377          56 :     ca_.Goto(&block14, tmp37, tmp38, tmp39, tmp40, tmp41, tmp43);
    1378             :   }
    1379             : 
    1380          56 :   if (block12.is_used()) {
    1381          56 :     compiler::TNode<Context> tmp44;
    1382          56 :     compiler::TNode<Object> tmp45;
    1383          56 :     compiler::TNode<JSReceiver> tmp46;
    1384          56 :     compiler::TNode<Number> tmp47;
    1385          56 :     compiler::TNode<JSReceiver> tmp48;
    1386          56 :     ca_.Bind(&block12, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48);
    1387          56 :     compiler::TNode<Oddball> tmp49;
    1388          56 :     USE(tmp49);
    1389          56 :     tmp49 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    1390          56 :     ca_.Goto(&block13, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49);
    1391             :   }
    1392             : 
    1393          56 :   if (block14.is_used()) {
    1394          56 :     compiler::TNode<Context> tmp50;
    1395          56 :     compiler::TNode<Object> tmp51;
    1396          56 :     compiler::TNode<JSReceiver> tmp52;
    1397          56 :     compiler::TNode<Number> tmp53;
    1398          56 :     compiler::TNode<JSReceiver> tmp54;
    1399          56 :     compiler::TNode<Object> tmp55;
    1400          56 :     ca_.Bind(&block14, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55);
    1401          56 :     ca_.Goto(&block13, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55);
    1402             :   }
    1403             : 
    1404          56 :   if (block13.is_used()) {
    1405          56 :     compiler::TNode<Context> tmp56;
    1406          56 :     compiler::TNode<Object> tmp57;
    1407          56 :     compiler::TNode<JSReceiver> tmp58;
    1408          56 :     compiler::TNode<Number> tmp59;
    1409          56 :     compiler::TNode<JSReceiver> tmp60;
    1410          56 :     compiler::TNode<Object> tmp61;
    1411          56 :     ca_.Bind(&block13, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61);
    1412          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 130);
    1413          56 :     compiler::TNode<Number> tmp62;
    1414          56 :     USE(tmp62);
    1415          56 :     tmp62 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
    1416          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 132);
    1417          56 :     compiler::TNode<Object> tmp63;
    1418          56 :     USE(tmp63);
    1419          56 :     compiler::TypedCodeAssemblerVariable<Smi> result_0_0(&ca_);
    1420         112 :     compiler::CodeAssemblerLabel label0(&ca_);
    1421          56 :     tmp63 = ArrayForeachBuiltinsFromDSLAssembler(state_).FastArrayForEach(compiler::TNode<Context>{tmp56}, compiler::TNode<JSReceiver>{tmp58}, compiler::TNode<Number>{tmp59}, compiler::TNode<JSReceiver>{tmp60}, compiler::TNode<Object>{tmp61}, &label0, &result_0_0);
    1422          56 :     ca_.Goto(&block17, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp58, tmp59, tmp60, tmp61, tmp63);
    1423          56 :     if (label0.is_used()) {
    1424          56 :       ca_.Bind(&label0);
    1425          56 :       ca_.Goto(&block18, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp58, tmp59, tmp60, tmp61, result_0_0.value());
    1426          56 :     }
    1427             :   }
    1428             : 
    1429          56 :   if (block18.is_used()) {
    1430          56 :     compiler::TNode<Context> tmp64;
    1431          56 :     compiler::TNode<Object> tmp65;
    1432          56 :     compiler::TNode<JSReceiver> tmp66;
    1433          56 :     compiler::TNode<Number> tmp67;
    1434          56 :     compiler::TNode<JSReceiver> tmp68;
    1435          56 :     compiler::TNode<Object> tmp69;
    1436          56 :     compiler::TNode<Number> tmp70;
    1437          56 :     compiler::TNode<JSReceiver> tmp71;
    1438          56 :     compiler::TNode<Number> tmp72;
    1439          56 :     compiler::TNode<JSReceiver> tmp73;
    1440          56 :     compiler::TNode<Object> tmp74;
    1441          56 :     compiler::TNode<Smi> tmp75;
    1442          56 :     ca_.Bind(&block18, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75);
    1443          56 :     ca_.Goto(&block16, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp75);
    1444             :   }
    1445             : 
    1446          56 :   if (block17.is_used()) {
    1447          56 :     compiler::TNode<Context> tmp76;
    1448          56 :     compiler::TNode<Object> tmp77;
    1449          56 :     compiler::TNode<JSReceiver> tmp78;
    1450          56 :     compiler::TNode<Number> tmp79;
    1451          56 :     compiler::TNode<JSReceiver> tmp80;
    1452          56 :     compiler::TNode<Object> tmp81;
    1453          56 :     compiler::TNode<Number> tmp82;
    1454          56 :     compiler::TNode<JSReceiver> tmp83;
    1455          56 :     compiler::TNode<Number> tmp84;
    1456          56 :     compiler::TNode<JSReceiver> tmp85;
    1457          56 :     compiler::TNode<Object> tmp86;
    1458          56 :     compiler::TNode<Object> tmp87;
    1459          56 :     ca_.Bind(&block17, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87);
    1460          56 :     arguments->PopAndReturn(tmp87);
    1461             :   }
    1462             : 
    1463          56 :   if (block16.is_used()) {
    1464          56 :     compiler::TNode<Context> tmp88;
    1465          56 :     compiler::TNode<Object> tmp89;
    1466          56 :     compiler::TNode<JSReceiver> tmp90;
    1467          56 :     compiler::TNode<Number> tmp91;
    1468          56 :     compiler::TNode<JSReceiver> tmp92;
    1469          56 :     compiler::TNode<Object> tmp93;
    1470          56 :     compiler::TNode<Number> tmp94;
    1471          56 :     compiler::TNode<Smi> tmp95;
    1472          56 :     ca_.Bind(&block16, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95);
    1473          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 136);
    1474          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 131);
    1475          56 :     ca_.Goto(&block15, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp95, tmp95);
    1476             :   }
    1477             : 
    1478          56 :   if (block15.is_used()) {
    1479          56 :     compiler::TNode<Context> tmp96;
    1480          56 :     compiler::TNode<Object> tmp97;
    1481          56 :     compiler::TNode<JSReceiver> tmp98;
    1482          56 :     compiler::TNode<Number> tmp99;
    1483          56 :     compiler::TNode<JSReceiver> tmp100;
    1484          56 :     compiler::TNode<Object> tmp101;
    1485          56 :     compiler::TNode<Number> tmp102;
    1486          56 :     compiler::TNode<Smi> tmp103;
    1487          56 :     ca_.Bind(&block15, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103);
    1488          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 140);
    1489          56 :     compiler::TNode<Oddball> tmp104;
    1490          56 :     USE(tmp104);
    1491          56 :     tmp104 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    1492          56 :     compiler::TNode<Oddball> tmp105;
    1493          56 :     USE(tmp105);
    1494          56 :     tmp105 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    1495          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 139);
    1496          56 :     compiler::TNode<Object> tmp106;
    1497          56 :     tmp106 = CodeStubAssembler(state_).CallBuiltin(Builtins::kArrayForEachLoopContinuation, tmp96, tmp98, tmp100, tmp101, tmp104, tmp98, tmp102, tmp99, tmp105);
    1498          56 :     USE(tmp106);
    1499          56 :     arguments->PopAndReturn(tmp106);
    1500             :   }
    1501             : 
    1502          56 :   if (block4.is_used()) {
    1503          56 :     compiler::TNode<Context> tmp107;
    1504          56 :     compiler::TNode<Object> tmp108;
    1505          56 :     ca_.Bind(&block4, &tmp107, &tmp108);
    1506          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 143);
    1507          56 :     compiler::TNode<IntPtrT> tmp109;
    1508          56 :     USE(tmp109);
    1509          56 :     tmp109 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
    1510          56 :     compiler::TNode<Object> tmp110;
    1511          56 :     USE(tmp110);
    1512          56 :     tmp110 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp109}));
    1513          56 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp107}, MessageTemplate::kCalledNonCallable, compiler::TNode<Object>{tmp110});
    1514             :   }
    1515             : 
    1516          56 :   if (block2.is_used()) {
    1517          56 :     compiler::TNode<Context> tmp111;
    1518          56 :     compiler::TNode<Object> tmp112;
    1519          56 :     ca_.Bind(&block2, &tmp111, &tmp112);
    1520          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 147);
    1521          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 146);
    1522          56 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp111}, MessageTemplate::kCalledOnNullOrUndefined, "Array.prototype.forEach");
    1523          56 :   }
    1524          56 : }
    1525             : 
    1526          56 : void ArrayForeachBuiltinsFromDSLAssembler::VisitAllElements16FixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_o, compiler::TNode<Smi> p_len, compiler::TNode<JSReceiver> p_callbackfn, compiler::TNode<Object> p_thisArg, compiler::CodeAssemblerLabel* label_Bailout, compiler::TypedCodeAssemblerVariable<Smi>* label_Bailout_parameter_0) {
    1527          56 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1528         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1529         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1530         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1531         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1532         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1533         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1534         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1535         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Smi, JSArray> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1536         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1537         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1538         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1539         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, Smi> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1540         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, Smi, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1541         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1542         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1543         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object, Context, JSReceiver, Object, Object, Smi, JSArray> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1544         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1545         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1546         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1547         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1548         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1549         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1550         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1551         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1552         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1553         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1554         112 :   compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1555         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1556          56 :     ca_.Goto(&block0, p_context, p_o, p_len, p_callbackfn, p_thisArg);
    1557             : 
    1558          56 :   if (block0.is_used()) {
    1559          56 :     compiler::TNode<Context> tmp0;
    1560          56 :     compiler::TNode<JSArray> tmp1;
    1561          56 :     compiler::TNode<Smi> tmp2;
    1562          56 :     compiler::TNode<JSReceiver> tmp3;
    1563          56 :     compiler::TNode<Object> tmp4;
    1564          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    1565          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 74);
    1566          56 :     compiler::TNode<Smi> tmp5;
    1567          56 :     USE(tmp5);
    1568          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
    1569          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 76);
    1570          56 :     compiler::TNode<JSArray> tmp6;
    1571          56 :     USE(tmp6);
    1572          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    1573          56 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp1}, &label0);
    1574          56 :     ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, ca_.Uninitialized<JSArray>(), ca_.Uninitialized<JSArray>(), ca_.Uninitialized<Map>(), tmp1, tmp6);
    1575          56 :     if (label0.is_used()) {
    1576          56 :       ca_.Bind(&label0);
    1577          56 :       ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, ca_.Uninitialized<JSArray>(), ca_.Uninitialized<JSArray>(), ca_.Uninitialized<Map>(), tmp1);
    1578          56 :     }
    1579             :   }
    1580             : 
    1581          56 :   if (block6.is_used()) {
    1582          56 :     compiler::TNode<Context> tmp7;
    1583          56 :     compiler::TNode<JSArray> tmp8;
    1584          56 :     compiler::TNode<Smi> tmp9;
    1585          56 :     compiler::TNode<JSReceiver> tmp10;
    1586          56 :     compiler::TNode<Object> tmp11;
    1587          56 :     compiler::TNode<Smi> tmp12;
    1588          56 :     compiler::TNode<JSArray> tmp13;
    1589          56 :     compiler::TNode<JSArray> tmp14;
    1590          56 :     compiler::TNode<Map> tmp15;
    1591          56 :     compiler::TNode<JSArray> tmp16;
    1592          56 :     ca_.Bind(&block6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
    1593          56 :     ca_.Goto(&block4, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15);
    1594             :   }
    1595             : 
    1596          56 :   if (block5.is_used()) {
    1597          56 :     compiler::TNode<Context> tmp17;
    1598          56 :     compiler::TNode<JSArray> tmp18;
    1599          56 :     compiler::TNode<Smi> tmp19;
    1600          56 :     compiler::TNode<JSReceiver> tmp20;
    1601          56 :     compiler::TNode<Object> tmp21;
    1602          56 :     compiler::TNode<Smi> tmp22;
    1603          56 :     compiler::TNode<JSArray> tmp23;
    1604          56 :     compiler::TNode<JSArray> tmp24;
    1605          56 :     compiler::TNode<Map> tmp25;
    1606          56 :     compiler::TNode<JSArray> tmp26;
    1607          56 :     compiler::TNode<JSArray> tmp27;
    1608          56 :     ca_.Bind(&block5, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
    1609          56 :     ca_.Goto(&block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp27);
    1610             :   }
    1611             : 
    1612          56 :   if (block4.is_used()) {
    1613          56 :     compiler::TNode<Context> tmp28;
    1614          56 :     compiler::TNode<JSArray> tmp29;
    1615          56 :     compiler::TNode<Smi> tmp30;
    1616          56 :     compiler::TNode<JSReceiver> tmp31;
    1617          56 :     compiler::TNode<Object> tmp32;
    1618          56 :     compiler::TNode<Smi> tmp33;
    1619          56 :     compiler::TNode<JSArray> tmp34;
    1620          56 :     compiler::TNode<JSArray> tmp35;
    1621          56 :     compiler::TNode<Map> tmp36;
    1622          56 :     ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
    1623          56 :     ca_.Goto(&block1, tmp33);
    1624             :   }
    1625             : 
    1626          56 :   if (block3.is_used()) {
    1627          56 :     compiler::TNode<Context> tmp37;
    1628          56 :     compiler::TNode<JSArray> tmp38;
    1629          56 :     compiler::TNode<Smi> tmp39;
    1630          56 :     compiler::TNode<JSReceiver> tmp40;
    1631          56 :     compiler::TNode<Object> tmp41;
    1632          56 :     compiler::TNode<Smi> tmp42;
    1633          56 :     compiler::TNode<JSArray> tmp43;
    1634          56 :     compiler::TNode<JSArray> tmp44;
    1635          56 :     compiler::TNode<Map> tmp45;
    1636          56 :     compiler::TNode<JSArray> tmp46;
    1637          56 :     ca_.Bind(&block3, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46);
    1638          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 909);
    1639          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 910);
    1640          56 :     compiler::TNode<Map> tmp47;
    1641          56 :     USE(tmp47);
    1642          56 :     tmp47 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp46}));
    1643          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 76);
    1644          56 :     ca_.Goto(&block7, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp46, tmp46, tmp47, tmp46, tmp46);
    1645             :   }
    1646             : 
    1647          56 :   if (block7.is_used()) {
    1648          56 :     compiler::TNode<Context> tmp48;
    1649          56 :     compiler::TNode<JSArray> tmp49;
    1650          56 :     compiler::TNode<Smi> tmp50;
    1651          56 :     compiler::TNode<JSReceiver> tmp51;
    1652          56 :     compiler::TNode<Object> tmp52;
    1653          56 :     compiler::TNode<Smi> tmp53;
    1654          56 :     compiler::TNode<JSArray> tmp54;
    1655          56 :     compiler::TNode<JSArray> tmp55;
    1656          56 :     compiler::TNode<Map> tmp56;
    1657          56 :     compiler::TNode<JSArray> tmp57;
    1658          56 :     compiler::TNode<JSArray> tmp58;
    1659          56 :     ca_.Bind(&block7, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
    1660          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 79);
    1661          56 :     ca_.Goto(&block10, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56);
    1662             :   }
    1663             : 
    1664          56 :   if (block10.is_used()) {
    1665          56 :     compiler::TNode<Context> tmp59;
    1666          56 :     compiler::TNode<JSArray> tmp60;
    1667          56 :     compiler::TNode<Smi> tmp61;
    1668          56 :     compiler::TNode<JSReceiver> tmp62;
    1669          56 :     compiler::TNode<Object> tmp63;
    1670          56 :     compiler::TNode<Smi> tmp64;
    1671          56 :     compiler::TNode<JSArray> tmp65;
    1672          56 :     compiler::TNode<JSArray> tmp66;
    1673          56 :     compiler::TNode<Map> tmp67;
    1674          56 :     ca_.Bind(&block10, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
    1675          56 :     compiler::TNode<BoolT> tmp68;
    1676          56 :     USE(tmp68);
    1677          56 :     tmp68 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp64}, compiler::TNode<Smi>{tmp61}));
    1678          56 :     ca_.Branch(tmp68, &block8, &block9, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67);
    1679             :   }
    1680             : 
    1681          56 :   if (block8.is_used()) {
    1682          56 :     compiler::TNode<Context> tmp69;
    1683          56 :     compiler::TNode<JSArray> tmp70;
    1684          56 :     compiler::TNode<Smi> tmp71;
    1685          56 :     compiler::TNode<JSReceiver> tmp72;
    1686          56 :     compiler::TNode<Object> tmp73;
    1687          56 :     compiler::TNode<Smi> tmp74;
    1688          56 :     compiler::TNode<JSArray> tmp75;
    1689          56 :     compiler::TNode<JSArray> tmp76;
    1690          56 :     compiler::TNode<Map> tmp77;
    1691          56 :     ca_.Bind(&block8, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
    1692          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 81);
    1693          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 914);
    1694          56 :     ca_.Goto(&block14, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp74, tmp76);
    1695             :   }
    1696             : 
    1697          56 :   if (block14.is_used()) {
    1698          56 :     compiler::TNode<Context> tmp78;
    1699          56 :     compiler::TNode<JSArray> tmp79;
    1700          56 :     compiler::TNode<Smi> tmp80;
    1701          56 :     compiler::TNode<JSReceiver> tmp81;
    1702          56 :     compiler::TNode<Object> tmp82;
    1703          56 :     compiler::TNode<Smi> tmp83;
    1704          56 :     compiler::TNode<JSArray> tmp84;
    1705          56 :     compiler::TNode<JSArray> tmp85;
    1706          56 :     compiler::TNode<Map> tmp86;
    1707          56 :     compiler::TNode<Smi> tmp87;
    1708          56 :     compiler::TNode<JSArray> tmp88;
    1709          56 :     ca_.Bind(&block14, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88);
    1710          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 81);
    1711          56 :     compiler::TNode<Smi> tmp89;
    1712          56 :     USE(tmp89);
    1713          56 :     tmp89 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp88}));
    1714          56 :     compiler::TNode<BoolT> tmp90;
    1715          56 :     USE(tmp90);
    1716          56 :     tmp90 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThanOrEqual(compiler::TNode<Smi>{tmp87}, compiler::TNode<Smi>{tmp89}));
    1717          56 :     ca_.Branch(tmp90, &block12, &block13, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86);
    1718             :   }
    1719             : 
    1720          56 :   if (block12.is_used()) {
    1721          56 :     compiler::TNode<Context> tmp91;
    1722          56 :     compiler::TNode<JSArray> tmp92;
    1723          56 :     compiler::TNode<Smi> tmp93;
    1724          56 :     compiler::TNode<JSReceiver> tmp94;
    1725          56 :     compiler::TNode<Object> tmp95;
    1726          56 :     compiler::TNode<Smi> tmp96;
    1727          56 :     compiler::TNode<JSArray> tmp97;
    1728          56 :     compiler::TNode<JSArray> tmp98;
    1729          56 :     compiler::TNode<Map> tmp99;
    1730          56 :     ca_.Bind(&block12, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99);
    1731          56 :     ca_.Goto(&block1, tmp96);
    1732             :   }
    1733             : 
    1734          56 :   if (block13.is_used()) {
    1735          56 :     compiler::TNode<Context> tmp100;
    1736          56 :     compiler::TNode<JSArray> tmp101;
    1737          56 :     compiler::TNode<Smi> tmp102;
    1738          56 :     compiler::TNode<JSReceiver> tmp103;
    1739          56 :     compiler::TNode<Object> tmp104;
    1740          56 :     compiler::TNode<Smi> tmp105;
    1741          56 :     compiler::TNode<JSArray> tmp106;
    1742          56 :     compiler::TNode<JSArray> tmp107;
    1743          56 :     compiler::TNode<Map> tmp108;
    1744          56 :     ca_.Bind(&block13, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108);
    1745          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 914);
    1746          56 :     ca_.Goto(&block17, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp107);
    1747             :   }
    1748             : 
    1749          56 :   if (block17.is_used()) {
    1750          56 :     compiler::TNode<Context> tmp109;
    1751          56 :     compiler::TNode<JSArray> tmp110;
    1752          56 :     compiler::TNode<Smi> tmp111;
    1753          56 :     compiler::TNode<JSReceiver> tmp112;
    1754          56 :     compiler::TNode<Object> tmp113;
    1755          56 :     compiler::TNode<Smi> tmp114;
    1756          56 :     compiler::TNode<JSArray> tmp115;
    1757          56 :     compiler::TNode<JSArray> tmp116;
    1758          56 :     compiler::TNode<Map> tmp117;
    1759          56 :     compiler::TNode<JSArray> tmp118;
    1760          56 :     ca_.Bind(&block17, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
    1761          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 82);
    1762          56 :     compiler::TNode<Object> tmp119;
    1763          56 :     USE(tmp119);
    1764          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    1765          56 :     tmp119 = BaseBuiltinsFromDSLAssembler(state_).LoadElementNoHole16FixedDoubleArray(compiler::TNode<Context>{tmp109}, compiler::TNode<JSArray>{tmp118}, compiler::TNode<Smi>{tmp114}, &label0);
    1766          56 :     ca_.Goto(&block18, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp114, tmp119);
    1767          56 :     if (label0.is_used()) {
    1768          56 :       ca_.Bind(&label0);
    1769          56 :       ca_.Goto(&block19, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp114);
    1770          56 :     }
    1771             :   }
    1772             : 
    1773          56 :   if (block19.is_used()) {
    1774          56 :     compiler::TNode<Context> tmp120;
    1775          56 :     compiler::TNode<JSArray> tmp121;
    1776          56 :     compiler::TNode<Smi> tmp122;
    1777          56 :     compiler::TNode<JSReceiver> tmp123;
    1778          56 :     compiler::TNode<Object> tmp124;
    1779          56 :     compiler::TNode<Smi> tmp125;
    1780          56 :     compiler::TNode<JSArray> tmp126;
    1781          56 :     compiler::TNode<JSArray> tmp127;
    1782          56 :     compiler::TNode<Map> tmp128;
    1783          56 :     compiler::TNode<JSArray> tmp129;
    1784          56 :     compiler::TNode<Smi> tmp130;
    1785          56 :     ca_.Bind(&block19, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130);
    1786          56 :     ca_.Goto(&block16, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128);
    1787             :   }
    1788             : 
    1789          56 :   if (block18.is_used()) {
    1790          56 :     compiler::TNode<Context> tmp131;
    1791          56 :     compiler::TNode<JSArray> tmp132;
    1792          56 :     compiler::TNode<Smi> tmp133;
    1793          56 :     compiler::TNode<JSReceiver> tmp134;
    1794          56 :     compiler::TNode<Object> tmp135;
    1795          56 :     compiler::TNode<Smi> tmp136;
    1796          56 :     compiler::TNode<JSArray> tmp137;
    1797          56 :     compiler::TNode<JSArray> tmp138;
    1798          56 :     compiler::TNode<Map> tmp139;
    1799          56 :     compiler::TNode<JSArray> tmp140;
    1800          56 :     compiler::TNode<Smi> tmp141;
    1801          56 :     compiler::TNode<Object> tmp142;
    1802          56 :     ca_.Bind(&block18, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142);
    1803          56 :     ca_.Goto(&block15, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp142);
    1804             :   }
    1805             : 
    1806          56 :   if (block16.is_used()) {
    1807          56 :     compiler::TNode<Context> tmp143;
    1808          56 :     compiler::TNode<JSArray> tmp144;
    1809          56 :     compiler::TNode<Smi> tmp145;
    1810          56 :     compiler::TNode<JSReceiver> tmp146;
    1811          56 :     compiler::TNode<Object> tmp147;
    1812          56 :     compiler::TNode<Smi> tmp148;
    1813          56 :     compiler::TNode<JSArray> tmp149;
    1814          56 :     compiler::TNode<JSArray> tmp150;
    1815          56 :     compiler::TNode<Map> tmp151;
    1816          56 :     ca_.Bind(&block16, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151);
    1817          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 83);
    1818          56 :     ca_.Goto(&block11, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151);
    1819             :   }
    1820             : 
    1821          56 :   if (block15.is_used()) {
    1822          56 :     compiler::TNode<Context> tmp152;
    1823          56 :     compiler::TNode<JSArray> tmp153;
    1824          56 :     compiler::TNode<Smi> tmp154;
    1825          56 :     compiler::TNode<JSReceiver> tmp155;
    1826          56 :     compiler::TNode<Object> tmp156;
    1827          56 :     compiler::TNode<Smi> tmp157;
    1828          56 :     compiler::TNode<JSArray> tmp158;
    1829          56 :     compiler::TNode<JSArray> tmp159;
    1830          56 :     compiler::TNode<Map> tmp160;
    1831          56 :     compiler::TNode<Object> tmp161;
    1832          56 :     ca_.Bind(&block15, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161);
    1833          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 82);
    1834          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
    1835          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 914);
    1836          56 :     ca_.Goto(&block20, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp152, tmp155, tmp156, tmp161, tmp157, tmp159);
    1837             :   }
    1838             : 
    1839          56 :   if (block20.is_used()) {
    1840          56 :     compiler::TNode<Context> tmp162;
    1841          56 :     compiler::TNode<JSArray> tmp163;
    1842          56 :     compiler::TNode<Smi> tmp164;
    1843          56 :     compiler::TNode<JSReceiver> tmp165;
    1844          56 :     compiler::TNode<Object> tmp166;
    1845          56 :     compiler::TNode<Smi> tmp167;
    1846          56 :     compiler::TNode<JSArray> tmp168;
    1847          56 :     compiler::TNode<JSArray> tmp169;
    1848          56 :     compiler::TNode<Map> tmp170;
    1849          56 :     compiler::TNode<Object> tmp171;
    1850          56 :     compiler::TNode<Context> tmp172;
    1851          56 :     compiler::TNode<JSReceiver> tmp173;
    1852          56 :     compiler::TNode<Object> tmp174;
    1853          56 :     compiler::TNode<Object> tmp175;
    1854          56 :     compiler::TNode<Smi> tmp176;
    1855          56 :     compiler::TNode<JSArray> tmp177;
    1856          56 :     ca_.Bind(&block20, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177);
    1857          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
    1858          56 :     compiler::TNode<Object> tmp178;
    1859          56 :     USE(tmp178);
    1860          56 :     tmp178 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp172}, compiler::TNode<JSReceiver>{tmp173}, compiler::TNode<Object>{tmp174}, compiler::TNode<Object>{tmp175}, compiler::TNode<Object>{tmp176}, compiler::TNode<Object>{tmp177}));
    1861          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 918);
    1862          56 :     compiler::TNode<Map> tmp179;
    1863          56 :     USE(tmp179);
    1864          56 :     tmp179 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp168}));
    1865          56 :     compiler::TNode<BoolT> tmp180;
    1866          56 :     USE(tmp180);
    1867          56 :     tmp180 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<HeapObject>{tmp179}, compiler::TNode<HeapObject>{tmp170}));
    1868          56 :     ca_.Branch(tmp180, &block24, &block25, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171);
    1869             :   }
    1870             : 
    1871          56 :   if (block24.is_used()) {
    1872          56 :     compiler::TNode<Context> tmp181;
    1873          56 :     compiler::TNode<JSArray> tmp182;
    1874          56 :     compiler::TNode<Smi> tmp183;
    1875          56 :     compiler::TNode<JSReceiver> tmp184;
    1876          56 :     compiler::TNode<Object> tmp185;
    1877          56 :     compiler::TNode<Smi> tmp186;
    1878          56 :     compiler::TNode<JSArray> tmp187;
    1879          56 :     compiler::TNode<JSArray> tmp188;
    1880          56 :     compiler::TNode<Map> tmp189;
    1881          56 :     compiler::TNode<Object> tmp190;
    1882          56 :     ca_.Bind(&block24, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190);
    1883          56 :     ca_.Goto(&block22, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190);
    1884             :   }
    1885             : 
    1886          56 :   if (block25.is_used()) {
    1887          56 :     compiler::TNode<Context> tmp191;
    1888          56 :     compiler::TNode<JSArray> tmp192;
    1889          56 :     compiler::TNode<Smi> tmp193;
    1890          56 :     compiler::TNode<JSReceiver> tmp194;
    1891          56 :     compiler::TNode<Object> tmp195;
    1892          56 :     compiler::TNode<Smi> tmp196;
    1893          56 :     compiler::TNode<JSArray> tmp197;
    1894          56 :     compiler::TNode<JSArray> tmp198;
    1895          56 :     compiler::TNode<Map> tmp199;
    1896          56 :     compiler::TNode<Object> tmp200;
    1897          56 :     ca_.Bind(&block25, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200);
    1898          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 925);
    1899          56 :     compiler::TNode<BoolT> tmp201;
    1900          56 :     USE(tmp201);
    1901          56 :     tmp201 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
    1902          56 :     ca_.Branch(tmp201, &block26, &block27, tmp191, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200);
    1903             :   }
    1904             : 
    1905          56 :   if (block26.is_used()) {
    1906          56 :     compiler::TNode<Context> tmp202;
    1907          56 :     compiler::TNode<JSArray> tmp203;
    1908          56 :     compiler::TNode<Smi> tmp204;
    1909          56 :     compiler::TNode<JSReceiver> tmp205;
    1910          56 :     compiler::TNode<Object> tmp206;
    1911          56 :     compiler::TNode<Smi> tmp207;
    1912          56 :     compiler::TNode<JSArray> tmp208;
    1913          56 :     compiler::TNode<JSArray> tmp209;
    1914          56 :     compiler::TNode<Map> tmp210;
    1915          56 :     compiler::TNode<Object> tmp211;
    1916          56 :     ca_.Bind(&block26, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211);
    1917          56 :     ca_.Goto(&block22, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211);
    1918             :   }
    1919             : 
    1920          56 :   if (block27.is_used()) {
    1921          56 :     compiler::TNode<Context> tmp212;
    1922          56 :     compiler::TNode<JSArray> tmp213;
    1923          56 :     compiler::TNode<Smi> tmp214;
    1924          56 :     compiler::TNode<JSReceiver> tmp215;
    1925          56 :     compiler::TNode<Object> tmp216;
    1926          56 :     compiler::TNode<Smi> tmp217;
    1927          56 :     compiler::TNode<JSArray> tmp218;
    1928          56 :     compiler::TNode<JSArray> tmp219;
    1929          56 :     compiler::TNode<Map> tmp220;
    1930          56 :     compiler::TNode<Object> tmp221;
    1931          56 :     ca_.Bind(&block27, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221);
    1932          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 926);
    1933          56 :     compiler::TNode<JSArray> tmp222;
    1934          56 :     USE(tmp222);
    1935          56 :     tmp222 = (compiler::TNode<JSArray>{tmp218});
    1936          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 85);
    1937          56 :     ca_.Goto(&block23, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp222, tmp220, tmp221);
    1938             :   }
    1939             : 
    1940          56 :   if (block23.is_used()) {
    1941          56 :     compiler::TNode<Context> tmp223;
    1942          56 :     compiler::TNode<JSArray> tmp224;
    1943          56 :     compiler::TNode<Smi> tmp225;
    1944          56 :     compiler::TNode<JSReceiver> tmp226;
    1945          56 :     compiler::TNode<Object> tmp227;
    1946          56 :     compiler::TNode<Smi> tmp228;
    1947          56 :     compiler::TNode<JSArray> tmp229;
    1948          56 :     compiler::TNode<JSArray> tmp230;
    1949          56 :     compiler::TNode<Map> tmp231;
    1950          56 :     compiler::TNode<Object> tmp232;
    1951          56 :     ca_.Bind(&block23, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232);
    1952          56 :     ca_.Goto(&block21, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, tmp232);
    1953             :   }
    1954             : 
    1955          56 :   if (block22.is_used()) {
    1956          56 :     compiler::TNode<Context> tmp233;
    1957          56 :     compiler::TNode<JSArray> tmp234;
    1958          56 :     compiler::TNode<Smi> tmp235;
    1959          56 :     compiler::TNode<JSReceiver> tmp236;
    1960          56 :     compiler::TNode<Object> tmp237;
    1961          56 :     compiler::TNode<Smi> tmp238;
    1962          56 :     compiler::TNode<JSArray> tmp239;
    1963          56 :     compiler::TNode<JSArray> tmp240;
    1964          56 :     compiler::TNode<Map> tmp241;
    1965          56 :     compiler::TNode<Object> tmp242;
    1966          56 :     ca_.Bind(&block22, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242);
    1967          56 :     compiler::TNode<Smi> tmp243;
    1968          56 :     USE(tmp243);
    1969          56 :     tmp243 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    1970          56 :     compiler::TNode<Smi> tmp244;
    1971          56 :     USE(tmp244);
    1972          56 :     tmp244 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp238}, compiler::TNode<Smi>{tmp243}));
    1973          56 :     ca_.Goto(&block1, tmp244);
    1974             :   }
    1975             : 
    1976          56 :   if (block21.is_used()) {
    1977          56 :     compiler::TNode<Context> tmp245;
    1978          56 :     compiler::TNode<JSArray> tmp246;
    1979          56 :     compiler::TNode<Smi> tmp247;
    1980          56 :     compiler::TNode<JSReceiver> tmp248;
    1981          56 :     compiler::TNode<Object> tmp249;
    1982          56 :     compiler::TNode<Smi> tmp250;
    1983          56 :     compiler::TNode<JSArray> tmp251;
    1984          56 :     compiler::TNode<JSArray> tmp252;
    1985          56 :     compiler::TNode<Map> tmp253;
    1986          56 :     compiler::TNode<Object> tmp254;
    1987          56 :     ca_.Bind(&block21, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254);
    1988          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 79);
    1989          56 :     ca_.Goto(&block11, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, tmp252, tmp253);
    1990             :   }
    1991             : 
    1992          56 :   if (block11.is_used()) {
    1993          56 :     compiler::TNode<Context> tmp255;
    1994          56 :     compiler::TNode<JSArray> tmp256;
    1995          56 :     compiler::TNode<Smi> tmp257;
    1996          56 :     compiler::TNode<JSReceiver> tmp258;
    1997          56 :     compiler::TNode<Object> tmp259;
    1998          56 :     compiler::TNode<Smi> tmp260;
    1999          56 :     compiler::TNode<JSArray> tmp261;
    2000          56 :     compiler::TNode<JSArray> tmp262;
    2001          56 :     compiler::TNode<Map> tmp263;
    2002          56 :     ca_.Bind(&block11, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263);
    2003          56 :     compiler::TNode<Smi> tmp264;
    2004          56 :     USE(tmp264);
    2005          56 :     tmp264 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    2006          56 :     compiler::TNode<Smi> tmp265;
    2007          56 :     USE(tmp265);
    2008          56 :     tmp265 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp260}, compiler::TNode<Smi>{tmp264}));
    2009          56 :     ca_.Goto(&block10, tmp255, tmp256, tmp257, tmp258, tmp259, tmp265, tmp261, tmp262, tmp263);
    2010             :   }
    2011             : 
    2012          56 :   if (block9.is_used()) {
    2013          56 :     compiler::TNode<Context> tmp266;
    2014          56 :     compiler::TNode<JSArray> tmp267;
    2015          56 :     compiler::TNode<Smi> tmp268;
    2016          56 :     compiler::TNode<JSReceiver> tmp269;
    2017          56 :     compiler::TNode<Object> tmp270;
    2018          56 :     compiler::TNode<Smi> tmp271;
    2019          56 :     compiler::TNode<JSArray> tmp272;
    2020          56 :     compiler::TNode<JSArray> tmp273;
    2021          56 :     compiler::TNode<Map> tmp274;
    2022          56 :     ca_.Bind(&block9, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274);
    2023          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 73);
    2024          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 70);
    2025          56 :     ca_.Goto(&block2, tmp266, tmp267, tmp268, tmp269, tmp270);
    2026             :   }
    2027             : 
    2028          56 :   if (block2.is_used()) {
    2029          56 :     compiler::TNode<Context> tmp275;
    2030          56 :     compiler::TNode<JSArray> tmp276;
    2031          56 :     compiler::TNode<Smi> tmp277;
    2032          56 :     compiler::TNode<JSReceiver> tmp278;
    2033          56 :     compiler::TNode<Object> tmp279;
    2034          56 :     ca_.Bind(&block2, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279);
    2035          56 :     ca_.Goto(&block28, tmp275, tmp276, tmp277, tmp278, tmp279);
    2036             :   }
    2037             : 
    2038          56 :   if (block1.is_used()) {
    2039          56 :     compiler::TNode<Smi> tmp280;
    2040          56 :     ca_.Bind(&block1, &tmp280);
    2041          56 :     *label_Bailout_parameter_0 = tmp280;
    2042          56 :     ca_.Goto(label_Bailout);
    2043             :   }
    2044             : 
    2045          56 :     compiler::TNode<Context> tmp281;
    2046          56 :     compiler::TNode<JSArray> tmp282;
    2047          56 :     compiler::TNode<Smi> tmp283;
    2048          56 :     compiler::TNode<JSReceiver> tmp284;
    2049          56 :     compiler::TNode<Object> tmp285;
    2050         112 :     ca_.Bind(&block28, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285);
    2051          56 : }
    2052             : 
    2053          56 : void ArrayForeachBuiltinsFromDSLAssembler::VisitAllElements10FixedArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_o, compiler::TNode<Smi> p_len, compiler::TNode<JSReceiver> p_callbackfn, compiler::TNode<Object> p_thisArg, compiler::CodeAssemblerLabel* label_Bailout, compiler::TypedCodeAssemblerVariable<Smi>* label_Bailout_parameter_0) {
    2054          56 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2055         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2056         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2057         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2058         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2059         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2060         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2061         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2062         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Smi, JSArray> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2063         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2064         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2065         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2066         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, Smi> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2067         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, JSArray, Smi, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2068         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2069         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2070         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object, Context, JSReceiver, Object, Object, Smi, JSArray> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2071         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2072         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2073         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2074         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2075         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2076         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2077         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map, Object> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2078         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2079         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object, Smi, JSArray, JSArray, Map> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2080         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2081         112 :   compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2082         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, JSReceiver, Object> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2083          56 :     ca_.Goto(&block0, p_context, p_o, p_len, p_callbackfn, p_thisArg);
    2084             : 
    2085          56 :   if (block0.is_used()) {
    2086          56 :     compiler::TNode<Context> tmp0;
    2087          56 :     compiler::TNode<JSArray> tmp1;
    2088          56 :     compiler::TNode<Smi> tmp2;
    2089          56 :     compiler::TNode<JSReceiver> tmp3;
    2090          56 :     compiler::TNode<Object> tmp4;
    2091          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    2092          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 74);
    2093          56 :     compiler::TNode<Smi> tmp5;
    2094          56 :     USE(tmp5);
    2095          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
    2096          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 76);
    2097          56 :     compiler::TNode<JSArray> tmp6;
    2098          56 :     USE(tmp6);
    2099          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    2100          56 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp1}, &label0);
    2101          56 :     ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, ca_.Uninitialized<JSArray>(), ca_.Uninitialized<JSArray>(), ca_.Uninitialized<Map>(), tmp1, tmp6);
    2102          56 :     if (label0.is_used()) {
    2103          56 :       ca_.Bind(&label0);
    2104          56 :       ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, ca_.Uninitialized<JSArray>(), ca_.Uninitialized<JSArray>(), ca_.Uninitialized<Map>(), tmp1);
    2105          56 :     }
    2106             :   }
    2107             : 
    2108          56 :   if (block6.is_used()) {
    2109          56 :     compiler::TNode<Context> tmp7;
    2110          56 :     compiler::TNode<JSArray> tmp8;
    2111          56 :     compiler::TNode<Smi> tmp9;
    2112          56 :     compiler::TNode<JSReceiver> tmp10;
    2113          56 :     compiler::TNode<Object> tmp11;
    2114          56 :     compiler::TNode<Smi> tmp12;
    2115          56 :     compiler::TNode<JSArray> tmp13;
    2116          56 :     compiler::TNode<JSArray> tmp14;
    2117          56 :     compiler::TNode<Map> tmp15;
    2118          56 :     compiler::TNode<JSArray> tmp16;
    2119          56 :     ca_.Bind(&block6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
    2120          56 :     ca_.Goto(&block4, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15);
    2121             :   }
    2122             : 
    2123          56 :   if (block5.is_used()) {
    2124          56 :     compiler::TNode<Context> tmp17;
    2125          56 :     compiler::TNode<JSArray> tmp18;
    2126          56 :     compiler::TNode<Smi> tmp19;
    2127          56 :     compiler::TNode<JSReceiver> tmp20;
    2128          56 :     compiler::TNode<Object> tmp21;
    2129          56 :     compiler::TNode<Smi> tmp22;
    2130          56 :     compiler::TNode<JSArray> tmp23;
    2131          56 :     compiler::TNode<JSArray> tmp24;
    2132          56 :     compiler::TNode<Map> tmp25;
    2133          56 :     compiler::TNode<JSArray> tmp26;
    2134          56 :     compiler::TNode<JSArray> tmp27;
    2135          56 :     ca_.Bind(&block5, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
    2136          56 :     ca_.Goto(&block3, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp27);
    2137             :   }
    2138             : 
    2139          56 :   if (block4.is_used()) {
    2140          56 :     compiler::TNode<Context> tmp28;
    2141          56 :     compiler::TNode<JSArray> tmp29;
    2142          56 :     compiler::TNode<Smi> tmp30;
    2143          56 :     compiler::TNode<JSReceiver> tmp31;
    2144          56 :     compiler::TNode<Object> tmp32;
    2145          56 :     compiler::TNode<Smi> tmp33;
    2146          56 :     compiler::TNode<JSArray> tmp34;
    2147          56 :     compiler::TNode<JSArray> tmp35;
    2148          56 :     compiler::TNode<Map> tmp36;
    2149          56 :     ca_.Bind(&block4, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
    2150          56 :     ca_.Goto(&block1, tmp33);
    2151             :   }
    2152             : 
    2153          56 :   if (block3.is_used()) {
    2154          56 :     compiler::TNode<Context> tmp37;
    2155          56 :     compiler::TNode<JSArray> tmp38;
    2156          56 :     compiler::TNode<Smi> tmp39;
    2157          56 :     compiler::TNode<JSReceiver> tmp40;
    2158          56 :     compiler::TNode<Object> tmp41;
    2159          56 :     compiler::TNode<Smi> tmp42;
    2160          56 :     compiler::TNode<JSArray> tmp43;
    2161          56 :     compiler::TNode<JSArray> tmp44;
    2162          56 :     compiler::TNode<Map> tmp45;
    2163          56 :     compiler::TNode<JSArray> tmp46;
    2164          56 :     ca_.Bind(&block3, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46);
    2165          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 909);
    2166          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 910);
    2167          56 :     compiler::TNode<Map> tmp47;
    2168          56 :     USE(tmp47);
    2169          56 :     tmp47 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp46}));
    2170          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 76);
    2171          56 :     ca_.Goto(&block7, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp46, tmp46, tmp47, tmp46, tmp46);
    2172             :   }
    2173             : 
    2174          56 :   if (block7.is_used()) {
    2175          56 :     compiler::TNode<Context> tmp48;
    2176          56 :     compiler::TNode<JSArray> tmp49;
    2177          56 :     compiler::TNode<Smi> tmp50;
    2178          56 :     compiler::TNode<JSReceiver> tmp51;
    2179          56 :     compiler::TNode<Object> tmp52;
    2180          56 :     compiler::TNode<Smi> tmp53;
    2181          56 :     compiler::TNode<JSArray> tmp54;
    2182          56 :     compiler::TNode<JSArray> tmp55;
    2183          56 :     compiler::TNode<Map> tmp56;
    2184          56 :     compiler::TNode<JSArray> tmp57;
    2185          56 :     compiler::TNode<JSArray> tmp58;
    2186          56 :     ca_.Bind(&block7, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
    2187          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 79);
    2188          56 :     ca_.Goto(&block10, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56);
    2189             :   }
    2190             : 
    2191          56 :   if (block10.is_used()) {
    2192          56 :     compiler::TNode<Context> tmp59;
    2193          56 :     compiler::TNode<JSArray> tmp60;
    2194          56 :     compiler::TNode<Smi> tmp61;
    2195          56 :     compiler::TNode<JSReceiver> tmp62;
    2196          56 :     compiler::TNode<Object> tmp63;
    2197          56 :     compiler::TNode<Smi> tmp64;
    2198          56 :     compiler::TNode<JSArray> tmp65;
    2199          56 :     compiler::TNode<JSArray> tmp66;
    2200          56 :     compiler::TNode<Map> tmp67;
    2201          56 :     ca_.Bind(&block10, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
    2202          56 :     compiler::TNode<BoolT> tmp68;
    2203          56 :     USE(tmp68);
    2204          56 :     tmp68 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp64}, compiler::TNode<Smi>{tmp61}));
    2205          56 :     ca_.Branch(tmp68, &block8, &block9, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67);
    2206             :   }
    2207             : 
    2208          56 :   if (block8.is_used()) {
    2209          56 :     compiler::TNode<Context> tmp69;
    2210          56 :     compiler::TNode<JSArray> tmp70;
    2211          56 :     compiler::TNode<Smi> tmp71;
    2212          56 :     compiler::TNode<JSReceiver> tmp72;
    2213          56 :     compiler::TNode<Object> tmp73;
    2214          56 :     compiler::TNode<Smi> tmp74;
    2215          56 :     compiler::TNode<JSArray> tmp75;
    2216          56 :     compiler::TNode<JSArray> tmp76;
    2217          56 :     compiler::TNode<Map> tmp77;
    2218          56 :     ca_.Bind(&block8, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
    2219          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 81);
    2220          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 914);
    2221          56 :     ca_.Goto(&block14, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp74, tmp76);
    2222             :   }
    2223             : 
    2224          56 :   if (block14.is_used()) {
    2225          56 :     compiler::TNode<Context> tmp78;
    2226          56 :     compiler::TNode<JSArray> tmp79;
    2227          56 :     compiler::TNode<Smi> tmp80;
    2228          56 :     compiler::TNode<JSReceiver> tmp81;
    2229          56 :     compiler::TNode<Object> tmp82;
    2230          56 :     compiler::TNode<Smi> tmp83;
    2231          56 :     compiler::TNode<JSArray> tmp84;
    2232          56 :     compiler::TNode<JSArray> tmp85;
    2233          56 :     compiler::TNode<Map> tmp86;
    2234          56 :     compiler::TNode<Smi> tmp87;
    2235          56 :     compiler::TNode<JSArray> tmp88;
    2236          56 :     ca_.Bind(&block14, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88);
    2237          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 81);
    2238          56 :     compiler::TNode<Smi> tmp89;
    2239          56 :     USE(tmp89);
    2240          56 :     tmp89 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp88}));
    2241          56 :     compiler::TNode<BoolT> tmp90;
    2242          56 :     USE(tmp90);
    2243          56 :     tmp90 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThanOrEqual(compiler::TNode<Smi>{tmp87}, compiler::TNode<Smi>{tmp89}));
    2244          56 :     ca_.Branch(tmp90, &block12, &block13, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86);
    2245             :   }
    2246             : 
    2247          56 :   if (block12.is_used()) {
    2248          56 :     compiler::TNode<Context> tmp91;
    2249          56 :     compiler::TNode<JSArray> tmp92;
    2250          56 :     compiler::TNode<Smi> tmp93;
    2251          56 :     compiler::TNode<JSReceiver> tmp94;
    2252          56 :     compiler::TNode<Object> tmp95;
    2253          56 :     compiler::TNode<Smi> tmp96;
    2254          56 :     compiler::TNode<JSArray> tmp97;
    2255          56 :     compiler::TNode<JSArray> tmp98;
    2256          56 :     compiler::TNode<Map> tmp99;
    2257          56 :     ca_.Bind(&block12, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99);
    2258          56 :     ca_.Goto(&block1, tmp96);
    2259             :   }
    2260             : 
    2261          56 :   if (block13.is_used()) {
    2262          56 :     compiler::TNode<Context> tmp100;
    2263          56 :     compiler::TNode<JSArray> tmp101;
    2264          56 :     compiler::TNode<Smi> tmp102;
    2265          56 :     compiler::TNode<JSReceiver> tmp103;
    2266          56 :     compiler::TNode<Object> tmp104;
    2267          56 :     compiler::TNode<Smi> tmp105;
    2268          56 :     compiler::TNode<JSArray> tmp106;
    2269          56 :     compiler::TNode<JSArray> tmp107;
    2270          56 :     compiler::TNode<Map> tmp108;
    2271          56 :     ca_.Bind(&block13, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108);
    2272          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 914);
    2273          56 :     ca_.Goto(&block17, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp107);
    2274             :   }
    2275             : 
    2276          56 :   if (block17.is_used()) {
    2277          56 :     compiler::TNode<Context> tmp109;
    2278          56 :     compiler::TNode<JSArray> tmp110;
    2279          56 :     compiler::TNode<Smi> tmp111;
    2280          56 :     compiler::TNode<JSReceiver> tmp112;
    2281          56 :     compiler::TNode<Object> tmp113;
    2282          56 :     compiler::TNode<Smi> tmp114;
    2283          56 :     compiler::TNode<JSArray> tmp115;
    2284          56 :     compiler::TNode<JSArray> tmp116;
    2285          56 :     compiler::TNode<Map> tmp117;
    2286          56 :     compiler::TNode<JSArray> tmp118;
    2287          56 :     ca_.Bind(&block17, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
    2288          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 82);
    2289          56 :     compiler::TNode<Object> tmp119;
    2290          56 :     USE(tmp119);
    2291          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    2292          56 :     tmp119 = BaseBuiltinsFromDSLAssembler(state_).LoadElementNoHole10FixedArray(compiler::TNode<Context>{tmp109}, compiler::TNode<JSArray>{tmp118}, compiler::TNode<Smi>{tmp114}, &label0);
    2293          56 :     ca_.Goto(&block18, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp114, tmp119);
    2294          56 :     if (label0.is_used()) {
    2295          56 :       ca_.Bind(&label0);
    2296          56 :       ca_.Goto(&block19, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp114);
    2297          56 :     }
    2298             :   }
    2299             : 
    2300          56 :   if (block19.is_used()) {
    2301          56 :     compiler::TNode<Context> tmp120;
    2302          56 :     compiler::TNode<JSArray> tmp121;
    2303          56 :     compiler::TNode<Smi> tmp122;
    2304          56 :     compiler::TNode<JSReceiver> tmp123;
    2305          56 :     compiler::TNode<Object> tmp124;
    2306          56 :     compiler::TNode<Smi> tmp125;
    2307          56 :     compiler::TNode<JSArray> tmp126;
    2308          56 :     compiler::TNode<JSArray> tmp127;
    2309          56 :     compiler::TNode<Map> tmp128;
    2310          56 :     compiler::TNode<JSArray> tmp129;
    2311          56 :     compiler::TNode<Smi> tmp130;
    2312          56 :     ca_.Bind(&block19, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130);
    2313          56 :     ca_.Goto(&block16, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128);
    2314             :   }
    2315             : 
    2316          56 :   if (block18.is_used()) {
    2317          56 :     compiler::TNode<Context> tmp131;
    2318          56 :     compiler::TNode<JSArray> tmp132;
    2319          56 :     compiler::TNode<Smi> tmp133;
    2320          56 :     compiler::TNode<JSReceiver> tmp134;
    2321          56 :     compiler::TNode<Object> tmp135;
    2322          56 :     compiler::TNode<Smi> tmp136;
    2323          56 :     compiler::TNode<JSArray> tmp137;
    2324          56 :     compiler::TNode<JSArray> tmp138;
    2325          56 :     compiler::TNode<Map> tmp139;
    2326          56 :     compiler::TNode<JSArray> tmp140;
    2327          56 :     compiler::TNode<Smi> tmp141;
    2328          56 :     compiler::TNode<Object> tmp142;
    2329          56 :     ca_.Bind(&block18, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142);
    2330          56 :     ca_.Goto(&block15, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp142);
    2331             :   }
    2332             : 
    2333          56 :   if (block16.is_used()) {
    2334          56 :     compiler::TNode<Context> tmp143;
    2335          56 :     compiler::TNode<JSArray> tmp144;
    2336          56 :     compiler::TNode<Smi> tmp145;
    2337          56 :     compiler::TNode<JSReceiver> tmp146;
    2338          56 :     compiler::TNode<Object> tmp147;
    2339          56 :     compiler::TNode<Smi> tmp148;
    2340          56 :     compiler::TNode<JSArray> tmp149;
    2341          56 :     compiler::TNode<JSArray> tmp150;
    2342          56 :     compiler::TNode<Map> tmp151;
    2343          56 :     ca_.Bind(&block16, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151);
    2344          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 83);
    2345          56 :     ca_.Goto(&block11, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151);
    2346             :   }
    2347             : 
    2348          56 :   if (block15.is_used()) {
    2349          56 :     compiler::TNode<Context> tmp152;
    2350          56 :     compiler::TNode<JSArray> tmp153;
    2351          56 :     compiler::TNode<Smi> tmp154;
    2352          56 :     compiler::TNode<JSReceiver> tmp155;
    2353          56 :     compiler::TNode<Object> tmp156;
    2354          56 :     compiler::TNode<Smi> tmp157;
    2355          56 :     compiler::TNode<JSArray> tmp158;
    2356          56 :     compiler::TNode<JSArray> tmp159;
    2357          56 :     compiler::TNode<Map> tmp160;
    2358          56 :     compiler::TNode<Object> tmp161;
    2359          56 :     ca_.Bind(&block15, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161);
    2360          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 82);
    2361          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
    2362          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 914);
    2363          56 :     ca_.Goto(&block20, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp152, tmp155, tmp156, tmp161, tmp157, tmp159);
    2364             :   }
    2365             : 
    2366          56 :   if (block20.is_used()) {
    2367          56 :     compiler::TNode<Context> tmp162;
    2368          56 :     compiler::TNode<JSArray> tmp163;
    2369          56 :     compiler::TNode<Smi> tmp164;
    2370          56 :     compiler::TNode<JSReceiver> tmp165;
    2371          56 :     compiler::TNode<Object> tmp166;
    2372          56 :     compiler::TNode<Smi> tmp167;
    2373          56 :     compiler::TNode<JSArray> tmp168;
    2374          56 :     compiler::TNode<JSArray> tmp169;
    2375          56 :     compiler::TNode<Map> tmp170;
    2376          56 :     compiler::TNode<Object> tmp171;
    2377          56 :     compiler::TNode<Context> tmp172;
    2378          56 :     compiler::TNode<JSReceiver> tmp173;
    2379          56 :     compiler::TNode<Object> tmp174;
    2380          56 :     compiler::TNode<Object> tmp175;
    2381          56 :     compiler::TNode<Smi> tmp176;
    2382          56 :     compiler::TNode<JSArray> tmp177;
    2383          56 :     ca_.Bind(&block20, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177);
    2384          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 84);
    2385          56 :     compiler::TNode<Object> tmp178;
    2386          56 :     USE(tmp178);
    2387          56 :     tmp178 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).Call(compiler::TNode<Context>{tmp172}, compiler::TNode<JSReceiver>{tmp173}, compiler::TNode<Object>{tmp174}, compiler::TNode<Object>{tmp175}, compiler::TNode<Object>{tmp176}, compiler::TNode<Object>{tmp177}));
    2388          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 918);
    2389          56 :     compiler::TNode<Map> tmp179;
    2390          56 :     USE(tmp179);
    2391          56 :     tmp179 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp168}));
    2392          56 :     compiler::TNode<BoolT> tmp180;
    2393          56 :     USE(tmp180);
    2394          56 :     tmp180 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<HeapObject>{tmp179}, compiler::TNode<HeapObject>{tmp170}));
    2395          56 :     ca_.Branch(tmp180, &block24, &block25, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171);
    2396             :   }
    2397             : 
    2398          56 :   if (block24.is_used()) {
    2399          56 :     compiler::TNode<Context> tmp181;
    2400          56 :     compiler::TNode<JSArray> tmp182;
    2401          56 :     compiler::TNode<Smi> tmp183;
    2402          56 :     compiler::TNode<JSReceiver> tmp184;
    2403          56 :     compiler::TNode<Object> tmp185;
    2404          56 :     compiler::TNode<Smi> tmp186;
    2405          56 :     compiler::TNode<JSArray> tmp187;
    2406          56 :     compiler::TNode<JSArray> tmp188;
    2407          56 :     compiler::TNode<Map> tmp189;
    2408          56 :     compiler::TNode<Object> tmp190;
    2409          56 :     ca_.Bind(&block24, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190);
    2410          56 :     ca_.Goto(&block22, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190);
    2411             :   }
    2412             : 
    2413          56 :   if (block25.is_used()) {
    2414          56 :     compiler::TNode<Context> tmp191;
    2415          56 :     compiler::TNode<JSArray> tmp192;
    2416          56 :     compiler::TNode<Smi> tmp193;
    2417          56 :     compiler::TNode<JSReceiver> tmp194;
    2418          56 :     compiler::TNode<Object> tmp195;
    2419          56 :     compiler::TNode<Smi> tmp196;
    2420          56 :     compiler::TNode<JSArray> tmp197;
    2421          56 :     compiler::TNode<JSArray> tmp198;
    2422          56 :     compiler::TNode<Map> tmp199;
    2423          56 :     compiler::TNode<Object> tmp200;
    2424          56 :     ca_.Bind(&block25, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200);
    2425          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 925);
    2426          56 :     compiler::TNode<BoolT> tmp201;
    2427          56 :     USE(tmp201);
    2428          56 :     tmp201 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
    2429          56 :     ca_.Branch(tmp201, &block26, &block27, tmp191, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200);
    2430             :   }
    2431             : 
    2432          56 :   if (block26.is_used()) {
    2433          56 :     compiler::TNode<Context> tmp202;
    2434          56 :     compiler::TNode<JSArray> tmp203;
    2435          56 :     compiler::TNode<Smi> tmp204;
    2436          56 :     compiler::TNode<JSReceiver> tmp205;
    2437          56 :     compiler::TNode<Object> tmp206;
    2438          56 :     compiler::TNode<Smi> tmp207;
    2439          56 :     compiler::TNode<JSArray> tmp208;
    2440          56 :     compiler::TNode<JSArray> tmp209;
    2441          56 :     compiler::TNode<Map> tmp210;
    2442          56 :     compiler::TNode<Object> tmp211;
    2443          56 :     ca_.Bind(&block26, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211);
    2444          56 :     ca_.Goto(&block22, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211);
    2445             :   }
    2446             : 
    2447          56 :   if (block27.is_used()) {
    2448          56 :     compiler::TNode<Context> tmp212;
    2449          56 :     compiler::TNode<JSArray> tmp213;
    2450          56 :     compiler::TNode<Smi> tmp214;
    2451          56 :     compiler::TNode<JSReceiver> tmp215;
    2452          56 :     compiler::TNode<Object> tmp216;
    2453          56 :     compiler::TNode<Smi> tmp217;
    2454          56 :     compiler::TNode<JSArray> tmp218;
    2455          56 :     compiler::TNode<JSArray> tmp219;
    2456          56 :     compiler::TNode<Map> tmp220;
    2457          56 :     compiler::TNode<Object> tmp221;
    2458          56 :     ca_.Bind(&block27, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221);
    2459          56 :     ca_.SetSourcePosition("../../src/builtins/base.tq", 926);
    2460          56 :     compiler::TNode<JSArray> tmp222;
    2461          56 :     USE(tmp222);
    2462          56 :     tmp222 = (compiler::TNode<JSArray>{tmp218});
    2463          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 85);
    2464          56 :     ca_.Goto(&block23, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp222, tmp220, tmp221);
    2465             :   }
    2466             : 
    2467          56 :   if (block23.is_used()) {
    2468          56 :     compiler::TNode<Context> tmp223;
    2469          56 :     compiler::TNode<JSArray> tmp224;
    2470          56 :     compiler::TNode<Smi> tmp225;
    2471          56 :     compiler::TNode<JSReceiver> tmp226;
    2472          56 :     compiler::TNode<Object> tmp227;
    2473          56 :     compiler::TNode<Smi> tmp228;
    2474          56 :     compiler::TNode<JSArray> tmp229;
    2475          56 :     compiler::TNode<JSArray> tmp230;
    2476          56 :     compiler::TNode<Map> tmp231;
    2477          56 :     compiler::TNode<Object> tmp232;
    2478          56 :     ca_.Bind(&block23, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232);
    2479          56 :     ca_.Goto(&block21, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, tmp232);
    2480             :   }
    2481             : 
    2482          56 :   if (block22.is_used()) {
    2483          56 :     compiler::TNode<Context> tmp233;
    2484          56 :     compiler::TNode<JSArray> tmp234;
    2485          56 :     compiler::TNode<Smi> tmp235;
    2486          56 :     compiler::TNode<JSReceiver> tmp236;
    2487          56 :     compiler::TNode<Object> tmp237;
    2488          56 :     compiler::TNode<Smi> tmp238;
    2489          56 :     compiler::TNode<JSArray> tmp239;
    2490          56 :     compiler::TNode<JSArray> tmp240;
    2491          56 :     compiler::TNode<Map> tmp241;
    2492          56 :     compiler::TNode<Object> tmp242;
    2493          56 :     ca_.Bind(&block22, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242);
    2494          56 :     compiler::TNode<Smi> tmp243;
    2495          56 :     USE(tmp243);
    2496          56 :     tmp243 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    2497          56 :     compiler::TNode<Smi> tmp244;
    2498          56 :     USE(tmp244);
    2499          56 :     tmp244 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp238}, compiler::TNode<Smi>{tmp243}));
    2500          56 :     ca_.Goto(&block1, tmp244);
    2501             :   }
    2502             : 
    2503          56 :   if (block21.is_used()) {
    2504          56 :     compiler::TNode<Context> tmp245;
    2505          56 :     compiler::TNode<JSArray> tmp246;
    2506          56 :     compiler::TNode<Smi> tmp247;
    2507          56 :     compiler::TNode<JSReceiver> tmp248;
    2508          56 :     compiler::TNode<Object> tmp249;
    2509          56 :     compiler::TNode<Smi> tmp250;
    2510          56 :     compiler::TNode<JSArray> tmp251;
    2511          56 :     compiler::TNode<JSArray> tmp252;
    2512          56 :     compiler::TNode<Map> tmp253;
    2513          56 :     compiler::TNode<Object> tmp254;
    2514          56 :     ca_.Bind(&block21, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254);
    2515          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 79);
    2516          56 :     ca_.Goto(&block11, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, tmp252, tmp253);
    2517             :   }
    2518             : 
    2519          56 :   if (block11.is_used()) {
    2520          56 :     compiler::TNode<Context> tmp255;
    2521          56 :     compiler::TNode<JSArray> tmp256;
    2522          56 :     compiler::TNode<Smi> tmp257;
    2523          56 :     compiler::TNode<JSReceiver> tmp258;
    2524          56 :     compiler::TNode<Object> tmp259;
    2525          56 :     compiler::TNode<Smi> tmp260;
    2526          56 :     compiler::TNode<JSArray> tmp261;
    2527          56 :     compiler::TNode<JSArray> tmp262;
    2528          56 :     compiler::TNode<Map> tmp263;
    2529          56 :     ca_.Bind(&block11, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263);
    2530          56 :     compiler::TNode<Smi> tmp264;
    2531          56 :     USE(tmp264);
    2532          56 :     tmp264 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    2533          56 :     compiler::TNode<Smi> tmp265;
    2534          56 :     USE(tmp265);
    2535          56 :     tmp265 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp260}, compiler::TNode<Smi>{tmp264}));
    2536          56 :     ca_.Goto(&block10, tmp255, tmp256, tmp257, tmp258, tmp259, tmp265, tmp261, tmp262, tmp263);
    2537             :   }
    2538             : 
    2539          56 :   if (block9.is_used()) {
    2540          56 :     compiler::TNode<Context> tmp266;
    2541          56 :     compiler::TNode<JSArray> tmp267;
    2542          56 :     compiler::TNode<Smi> tmp268;
    2543          56 :     compiler::TNode<JSReceiver> tmp269;
    2544          56 :     compiler::TNode<Object> tmp270;
    2545          56 :     compiler::TNode<Smi> tmp271;
    2546          56 :     compiler::TNode<JSArray> tmp272;
    2547          56 :     compiler::TNode<JSArray> tmp273;
    2548          56 :     compiler::TNode<Map> tmp274;
    2549          56 :     ca_.Bind(&block9, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274);
    2550          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 73);
    2551          56 :     ca_.SetSourcePosition("../../src/builtins/array-foreach.tq", 70);
    2552          56 :     ca_.Goto(&block2, tmp266, tmp267, tmp268, tmp269, tmp270);
    2553             :   }
    2554             : 
    2555          56 :   if (block2.is_used()) {
    2556          56 :     compiler::TNode<Context> tmp275;
    2557          56 :     compiler::TNode<JSArray> tmp276;
    2558          56 :     compiler::TNode<Smi> tmp277;
    2559          56 :     compiler::TNode<JSReceiver> tmp278;
    2560          56 :     compiler::TNode<Object> tmp279;
    2561          56 :     ca_.Bind(&block2, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279);
    2562          56 :     ca_.Goto(&block28, tmp275, tmp276, tmp277, tmp278, tmp279);
    2563             :   }
    2564             : 
    2565          56 :   if (block1.is_used()) {
    2566          56 :     compiler::TNode<Smi> tmp280;
    2567          56 :     ca_.Bind(&block1, &tmp280);
    2568          56 :     *label_Bailout_parameter_0 = tmp280;
    2569          56 :     ca_.Goto(label_Bailout);
    2570             :   }
    2571             : 
    2572          56 :     compiler::TNode<Context> tmp281;
    2573          56 :     compiler::TNode<JSArray> tmp282;
    2574          56 :     compiler::TNode<Smi> tmp283;
    2575          56 :     compiler::TNode<JSReceiver> tmp284;
    2576          56 :     compiler::TNode<Object> tmp285;
    2577         112 :     ca_.Bind(&block28, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285);
    2578          56 : }
    2579             : 
    2580             : }  // namespace internal
    2581       86739 : }  // namespace v8
    2582             : 

Generated by: LCOV version 1.10