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

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

Generated by: LCOV version 1.10