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: 1719 1719 100.0 %
Date: 2019-03-21 Functions: 23 23 100.0 %

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

Generated by: LCOV version 1.10