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

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

Generated by: LCOV version 1.10