LCOV - code coverage report
Current view: top level - out/Release/gen/torque-generated - builtins-array-unshift-from-dsl-gen.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 159 159 100.0 %
Date: 2019-04-18 Functions: 5 5 100.0 %

          Line data    Source code
       1             : #include "src/builtins/builtins-utils-gen.h"
       2             : #include "src/builtins/builtins.h"
       3             : #include "src/code-factory.h"
       4             : #include "src/elements-kind.h"
       5             : #include "src/heap/factory-inl.h"
       6             : #include "src/objects.h"
       7             : #include "src/objects/arguments.h"
       8             : #include "src/objects/bigint.h"
       9             : #include "src/objects/free-space.h"
      10             : #include "src/objects/js-generator.h"
      11             : #include "src/objects/js-promise.h"
      12             : #include "src/objects/js-regexp-string-iterator.h"
      13             : #include "src/objects/module.h"
      14             : #include "src/objects/stack-frame-info.h"
      15             : #include "src/builtins/builtins-regexp-gen.h"
      16             : #include "src/builtins/builtins-array-gen.h"
      17             : #include "src/builtins/builtins-collections-gen.h"
      18             : #include "src/builtins/builtins-data-view-gen.h"
      19             : #include "src/builtins/builtins-iterator-gen.h"
      20             : #include "src/builtins/builtins-proxy-gen.h"
      21             : #include "src/builtins/builtins-proxy-gen.h"
      22             : #include "src/builtins/builtins-proxy-gen.h"
      23             : #include "src/builtins/builtins-proxy-gen.h"
      24             : #include "src/builtins/builtins-regexp-gen.h"
      25             : #include "src/builtins/builtins-regexp-gen.h"
      26             : #include "src/builtins/builtins-regexp-gen.h"
      27             : #include "src/builtins/builtins-typed-array-gen.h"
      28             : #include "src/builtins/builtins-constructor-gen.h"
      29             : #include "src/builtins/builtins-typed-array-gen.h"
      30             : #include "src/builtins/builtins-typed-array-gen.h"
      31             : #include "src/builtins/builtins-typed-array-gen.h"
      32             : #include "src/builtins/builtins-typed-array-gen.h"
      33             : #include "src/builtins/builtins-typed-array-gen.h"
      34             : #include "src/builtins/builtins-typed-array-gen.h"
      35             : #include "src/builtins/builtins-typed-array-gen.h"
      36             : #include "src/builtins/builtins-typed-array-gen.h"
      37             : #include "torque-generated/builtins-base-from-dsl-gen.h"
      38             : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
      39             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      40             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      41             : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
      42             : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
      43             : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
      44             : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
      45             : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
      46             : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
      47             : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
      48             : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
      49             : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
      50             : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
      51             : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
      52             : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
      53             : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
      54             : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
      55             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      56             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      57             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      58             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      59             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      60             : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
      61             : #include "torque-generated/builtins-regexp-from-dsl-gen.h"
      62             : #include "torque-generated/builtins-regexp-replace-from-dsl-gen.h"
      63             : #include "torque-generated/builtins-string-from-dsl-gen.h"
      64             : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
      65             : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
      66             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      67             : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
      68             : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
      69             : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
      70             : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
      71             : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
      72             : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
      73             : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
      74             : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
      75             : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
      76             : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
      77             : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
      78             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      79             : 
      80             : namespace v8 {
      81             : namespace internal {
      82             : 
      83          56 : void ArrayUnshiftBuiltinsFromDSLAssembler::TryFastArrayUnshift(compiler::TNode<Context> p_context, compiler::TNode<Object> p_receiver, BaseBuiltinsFromDSLAssembler::Arguments p_arguments, compiler::CodeAssemblerLabel* label_Slow) {
      84          56 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      85             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      86             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      87             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSArray, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      88             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSArray, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      89             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSArray, Map, Map> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      90             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSArray, Map, Map> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      91             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      92             :     ca_.Goto(&block0, p_context, p_receiver, p_arguments.frame, p_arguments.base, p_arguments.length);
      93             : 
      94          56 :   if (block0.is_used()) {
      95             :     compiler::TNode<Context> tmp0;
      96             :     compiler::TNode<Object> tmp1;
      97             :     compiler::TNode<RawPtrT> tmp2;
      98             :     compiler::TNode<RawPtrT> tmp3;
      99             :     compiler::TNode<IntPtrT> tmp4;
     100             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     101          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 11);
     102             :     compiler::TNode<JSArray> tmp5;
     103             :     USE(tmp5);
     104          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     105         168 :     tmp5 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
     106             :     ca_.Goto(&block2, tmp0, tmp1, tmp2, tmp3, tmp4, tmp1, tmp5);
     107          56 :     if (label0.is_used()) {
     108          56 :       ca_.Bind(&label0);
     109             :       ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp1);
     110             :     }
     111             :   }
     112             : 
     113          56 :   if (block3.is_used()) {
     114             :     compiler::TNode<Context> tmp6;
     115             :     compiler::TNode<Object> tmp7;
     116             :     compiler::TNode<RawPtrT> tmp8;
     117             :     compiler::TNode<RawPtrT> tmp9;
     118             :     compiler::TNode<IntPtrT> tmp10;
     119             :     compiler::TNode<Object> tmp11;
     120             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
     121             :     ca_.Goto(&block1);
     122             :   }
     123             : 
     124          56 :   if (block2.is_used()) {
     125             :     compiler::TNode<Context> tmp12;
     126             :     compiler::TNode<Object> tmp13;
     127             :     compiler::TNode<RawPtrT> tmp14;
     128             :     compiler::TNode<RawPtrT> tmp15;
     129             :     compiler::TNode<IntPtrT> tmp16;
     130             :     compiler::TNode<Object> tmp17;
     131             :     compiler::TNode<JSArray> tmp18;
     132             :     ca_.Bind(&block2, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
     133          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 12);
     134         168 :     ArrayBuiltinsFromDSLAssembler(state_).EnsureWriteableFastElements(compiler::TNode<Context>{tmp12}, compiler::TNode<JSArray>{tmp18});
     135          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 14);
     136          56 :     compiler::TNode<IntPtrT> tmp19 = ca_.IntPtrConstant(HeapObject::kMapOffset);
     137             :     USE(tmp19);
     138         112 :     compiler::TNode<Map>tmp20 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp18, tmp19});
     139          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 15);
     140             :     compiler::TNode<BoolT> tmp21;
     141             :     USE(tmp21);
     142         112 :     tmp21 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsExtensibleMap(compiler::TNode<Map>{tmp20}));
     143             :     compiler::TNode<BoolT> tmp22;
     144             :     USE(tmp22);
     145         112 :     tmp22 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp21}));
     146          56 :     ca_.Branch(tmp22, &block4, &block5, tmp12, tmp13, tmp14, tmp15, tmp16, tmp18, tmp20);
     147             :   }
     148             : 
     149          56 :   if (block4.is_used()) {
     150             :     compiler::TNode<Context> tmp23;
     151             :     compiler::TNode<Object> tmp24;
     152             :     compiler::TNode<RawPtrT> tmp25;
     153             :     compiler::TNode<RawPtrT> tmp26;
     154             :     compiler::TNode<IntPtrT> tmp27;
     155             :     compiler::TNode<JSArray> tmp28;
     156             :     compiler::TNode<Map> tmp29;
     157             :     ca_.Bind(&block4, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
     158             :     ca_.Goto(&block1);
     159             :   }
     160             : 
     161          56 :   if (block5.is_used()) {
     162             :     compiler::TNode<Context> tmp30;
     163             :     compiler::TNode<Object> tmp31;
     164             :     compiler::TNode<RawPtrT> tmp32;
     165             :     compiler::TNode<RawPtrT> tmp33;
     166             :     compiler::TNode<IntPtrT> tmp34;
     167             :     compiler::TNode<JSArray> tmp35;
     168             :     compiler::TNode<Map> tmp36;
     169             :     ca_.Bind(&block5, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
     170          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 16);
     171          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     172         112 :     CodeStubAssembler(state_).EnsureArrayLengthWritable(compiler::TNode<Map>{tmp36}, &label0);
     173             :     ca_.Goto(&block6, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp36);
     174          56 :     if (label0.is_used()) {
     175          56 :       ca_.Bind(&label0);
     176             :       ca_.Goto(&block7, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp36);
     177             :     }
     178             :   }
     179             : 
     180          56 :   if (block7.is_used()) {
     181             :     compiler::TNode<Context> tmp37;
     182             :     compiler::TNode<Object> tmp38;
     183             :     compiler::TNode<RawPtrT> tmp39;
     184             :     compiler::TNode<RawPtrT> tmp40;
     185             :     compiler::TNode<IntPtrT> tmp41;
     186             :     compiler::TNode<JSArray> tmp42;
     187             :     compiler::TNode<Map> tmp43;
     188             :     compiler::TNode<Map> tmp44;
     189             :     ca_.Bind(&block7, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44);
     190             :     ca_.Goto(&block1);
     191             :   }
     192             : 
     193          56 :   if (block6.is_used()) {
     194             :     compiler::TNode<Context> tmp45;
     195             :     compiler::TNode<Object> tmp46;
     196             :     compiler::TNode<RawPtrT> tmp47;
     197             :     compiler::TNode<RawPtrT> tmp48;
     198             :     compiler::TNode<IntPtrT> tmp49;
     199             :     compiler::TNode<JSArray> tmp50;
     200             :     compiler::TNode<Map> tmp51;
     201             :     compiler::TNode<Map> tmp52;
     202             :     ca_.Bind(&block6, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
     203          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 19);
     204             :     compiler::TNode<JSFunction> tmp53;
     205             :     USE(tmp53);
     206         168 :     tmp53 = ca_.UncheckedCast<JSFunction>(BaseBuiltinsFromDSLAssembler(state_).LoadTargetFromFrame());
     207             :     compiler::TNode<Oddball> tmp54;
     208             :     USE(tmp54);
     209         168 :     tmp54 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     210          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 20);
     211             :     compiler::TNode<Int32T> tmp55;
     212             :     USE(tmp55);
     213         168 :     tmp55 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).Convert7ATint328ATintptr(compiler::TNode<IntPtrT>{tmp49}));
     214          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 18);
     215         112 :    CodeStubAssembler(state_).TailCallBuiltin(Builtins::kArrayUnshift, tmp45, tmp53, tmp54, tmp55);
     216             :   }
     217             : 
     218          56 :   if (block1.is_used()) {
     219             :     ca_.Bind(&block1);
     220          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 8);
     221          56 :     ca_.Goto(label_Slow);
     222             :   }
     223          56 : }
     224             : 
     225          56 : compiler::TNode<Number> ArrayUnshiftBuiltinsFromDSLAssembler::GenericArrayUnshift(compiler::TNode<Context> p_context, compiler::TNode<Object> p_receiver, BaseBuiltinsFromDSLAssembler::Arguments p_arguments) {
     226          56 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     227             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     228             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     229             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     230             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     231             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     232             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     233             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi, Number, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     234             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi, Number, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     235             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     236             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi, Number, Number, Number, Oddball> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     237             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi, Number, Number, Number, Oddball> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     238             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi, Number, Number, Number, Oddball> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     239             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     240             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi, Number, Smi> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     241             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi, Number, Smi> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     242             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi, Number, Smi> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     243             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     244             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     245             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Number> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     246             :     ca_.Goto(&block0, p_context, p_receiver, p_arguments.frame, p_arguments.base, p_arguments.length);
     247             : 
     248          56 :   if (block0.is_used()) {
     249             :     compiler::TNode<Context> tmp0;
     250             :     compiler::TNode<Object> tmp1;
     251             :     compiler::TNode<RawPtrT> tmp2;
     252             :     compiler::TNode<RawPtrT> tmp3;
     253             :     compiler::TNode<IntPtrT> tmp4;
     254             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     255          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 26);
     256             :     compiler::TNode<JSReceiver> tmp5;
     257             :     USE(tmp5);
     258         112 :     tmp5 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     259          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 29);
     260             :     compiler::TNode<Number> tmp6;
     261             :     USE(tmp6);
     262         168 :     tmp6 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
     263          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 32);
     264             :     compiler::TNode<Smi> tmp7;
     265             :     USE(tmp7);
     266         168 :     tmp7 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp4}));
     267          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 35);
     268             :     compiler::TNode<Smi> tmp8;
     269             :     USE(tmp8);
     270         168 :     tmp8 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
     271             :     compiler::TNode<BoolT> tmp9;
     272             :     USE(tmp9);
     273         112 :     tmp9 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp7}, compiler::TNode<Smi>{tmp8}));
     274          56 :     ca_.Branch(tmp9, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7);
     275             :   }
     276             : 
     277          56 :   if (block2.is_used()) {
     278             :     compiler::TNode<Context> tmp10;
     279             :     compiler::TNode<Object> tmp11;
     280             :     compiler::TNode<RawPtrT> tmp12;
     281             :     compiler::TNode<RawPtrT> tmp13;
     282             :     compiler::TNode<IntPtrT> tmp14;
     283             :     compiler::TNode<JSReceiver> tmp15;
     284             :     compiler::TNode<Number> tmp16;
     285             :     compiler::TNode<Smi> tmp17;
     286             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17);
     287          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 37);
     288             :     compiler::TNode<Number> tmp18;
     289             :     USE(tmp18);
     290         168 :     tmp18 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp16}, compiler::TNode<Number>{tmp17}));
     291             :     compiler::TNode<Number> tmp19;
     292             :     USE(tmp19);
     293         168 :     tmp19 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber19ATconstexpr_float64(kMaxSafeInteger));
     294          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     295          56 :     compiler::CodeAssemblerLabel label1(&ca_);
     296         112 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp18}, compiler::TNode<Number>{tmp19}, &label0, &label1);
     297          56 :     if (label0.is_used()) {
     298          56 :       ca_.Bind(&label0);
     299             :       ca_.Goto(&block6, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18);
     300             :     }
     301          56 :     if (label1.is_used()) {
     302          56 :       ca_.Bind(&label1);
     303             :       ca_.Goto(&block7, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18);
     304             :     }
     305             :   }
     306             : 
     307          56 :   if (block6.is_used()) {
     308             :     compiler::TNode<Context> tmp20;
     309             :     compiler::TNode<Object> tmp21;
     310             :     compiler::TNode<RawPtrT> tmp22;
     311             :     compiler::TNode<RawPtrT> tmp23;
     312             :     compiler::TNode<IntPtrT> tmp24;
     313             :     compiler::TNode<JSReceiver> tmp25;
     314             :     compiler::TNode<Number> tmp26;
     315             :     compiler::TNode<Smi> tmp27;
     316             :     compiler::TNode<Number> tmp28;
     317             :     ca_.Bind(&block6, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
     318             :     ca_.Goto(&block4, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
     319             :   }
     320             : 
     321          56 :   if (block7.is_used()) {
     322             :     compiler::TNode<Context> tmp29;
     323             :     compiler::TNode<Object> tmp30;
     324             :     compiler::TNode<RawPtrT> tmp31;
     325             :     compiler::TNode<RawPtrT> tmp32;
     326             :     compiler::TNode<IntPtrT> tmp33;
     327             :     compiler::TNode<JSReceiver> tmp34;
     328             :     compiler::TNode<Number> tmp35;
     329             :     compiler::TNode<Smi> tmp36;
     330             :     compiler::TNode<Number> tmp37;
     331             :     ca_.Bind(&block7, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
     332             :     ca_.Goto(&block5, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36);
     333             :   }
     334             : 
     335          56 :   if (block4.is_used()) {
     336             :     compiler::TNode<Context> tmp38;
     337             :     compiler::TNode<Object> tmp39;
     338             :     compiler::TNode<RawPtrT> tmp40;
     339             :     compiler::TNode<RawPtrT> tmp41;
     340             :     compiler::TNode<IntPtrT> tmp42;
     341             :     compiler::TNode<JSReceiver> tmp43;
     342             :     compiler::TNode<Number> tmp44;
     343             :     compiler::TNode<Smi> tmp45;
     344             :     ca_.Bind(&block4, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
     345          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 38);
     346         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp38}, MessageTemplate::kInvalidArrayLength);
     347             :   }
     348             : 
     349          56 :   if (block5.is_used()) {
     350             :     compiler::TNode<Context> tmp46;
     351             :     compiler::TNode<Object> tmp47;
     352             :     compiler::TNode<RawPtrT> tmp48;
     353             :     compiler::TNode<RawPtrT> tmp49;
     354             :     compiler::TNode<IntPtrT> tmp50;
     355             :     compiler::TNode<JSReceiver> tmp51;
     356             :     compiler::TNode<Number> tmp52;
     357             :     compiler::TNode<Smi> tmp53;
     358             :     ca_.Bind(&block5, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
     359          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 42);
     360          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 45);
     361             :     ca_.Goto(&block10, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53, tmp52);
     362             :   }
     363             : 
     364          56 :   if (block10.is_used()) {
     365             :     compiler::TNode<Context> tmp54;
     366             :     compiler::TNode<Object> tmp55;
     367             :     compiler::TNode<RawPtrT> tmp56;
     368             :     compiler::TNode<RawPtrT> tmp57;
     369             :     compiler::TNode<IntPtrT> tmp58;
     370             :     compiler::TNode<JSReceiver> tmp59;
     371             :     compiler::TNode<Number> tmp60;
     372             :     compiler::TNode<Smi> tmp61;
     373             :     compiler::TNode<Number> tmp62;
     374             :     ca_.Bind(&block10, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62);
     375             :     compiler::TNode<Number> tmp63;
     376             :     USE(tmp63);
     377         168 :     tmp63 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
     378          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     379          56 :     compiler::CodeAssemblerLabel label1(&ca_);
     380         112 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp62}, compiler::TNode<Number>{tmp63}, &label0, &label1);
     381          56 :     if (label0.is_used()) {
     382          56 :       ca_.Bind(&label0);
     383             :       ca_.Goto(&block11, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp62);
     384             :     }
     385          56 :     if (label1.is_used()) {
     386          56 :       ca_.Bind(&label1);
     387             :       ca_.Goto(&block12, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp62);
     388             :     }
     389             :   }
     390             : 
     391          56 :   if (block11.is_used()) {
     392             :     compiler::TNode<Context> tmp64;
     393             :     compiler::TNode<Object> tmp65;
     394             :     compiler::TNode<RawPtrT> tmp66;
     395             :     compiler::TNode<RawPtrT> tmp67;
     396             :     compiler::TNode<IntPtrT> tmp68;
     397             :     compiler::TNode<JSReceiver> tmp69;
     398             :     compiler::TNode<Number> tmp70;
     399             :     compiler::TNode<Smi> tmp71;
     400             :     compiler::TNode<Number> tmp72;
     401             :     compiler::TNode<Number> tmp73;
     402             :     ca_.Bind(&block11, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73);
     403             :     ca_.Goto(&block8, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72);
     404             :   }
     405             : 
     406          56 :   if (block12.is_used()) {
     407             :     compiler::TNode<Context> tmp74;
     408             :     compiler::TNode<Object> tmp75;
     409             :     compiler::TNode<RawPtrT> tmp76;
     410             :     compiler::TNode<RawPtrT> tmp77;
     411             :     compiler::TNode<IntPtrT> tmp78;
     412             :     compiler::TNode<JSReceiver> tmp79;
     413             :     compiler::TNode<Number> tmp80;
     414             :     compiler::TNode<Smi> tmp81;
     415             :     compiler::TNode<Number> tmp82;
     416             :     compiler::TNode<Number> tmp83;
     417             :     ca_.Bind(&block12, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83);
     418             :     ca_.Goto(&block9, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82);
     419             :   }
     420             : 
     421          56 :   if (block8.is_used()) {
     422             :     compiler::TNode<Context> tmp84;
     423             :     compiler::TNode<Object> tmp85;
     424             :     compiler::TNode<RawPtrT> tmp86;
     425             :     compiler::TNode<RawPtrT> tmp87;
     426             :     compiler::TNode<IntPtrT> tmp88;
     427             :     compiler::TNode<JSReceiver> tmp89;
     428             :     compiler::TNode<Number> tmp90;
     429             :     compiler::TNode<Smi> tmp91;
     430             :     compiler::TNode<Number> tmp92;
     431             :     ca_.Bind(&block8, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
     432          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 47);
     433             :     compiler::TNode<Number> tmp93;
     434             :     USE(tmp93);
     435         168 :     tmp93 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
     436             :     compiler::TNode<Number> tmp94;
     437             :     USE(tmp94);
     438         168 :     tmp94 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp92}, compiler::TNode<Number>{tmp93}));
     439          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 50);
     440             :     compiler::TNode<Number> tmp95;
     441             :     USE(tmp95);
     442         168 :     tmp95 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp92}, compiler::TNode<Number>{tmp91}));
     443             :     compiler::TNode<Number> tmp96;
     444             :     USE(tmp96);
     445         168 :     tmp96 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
     446             :     compiler::TNode<Number> tmp97;
     447             :     USE(tmp97);
     448         112 :     tmp97 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp95}, compiler::TNode<Number>{tmp96}));
     449          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 53);
     450             :     compiler::TNode<Oddball> tmp98;
     451         112 :     tmp98 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kHasProperty, tmp84, tmp89, tmp94));
     452             :     USE(tmp98);
     453          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 56);
     454             :     compiler::TNode<Oddball> tmp99;
     455             :     USE(tmp99);
     456         168 :     tmp99 = BaseBuiltinsFromDSLAssembler(state_).True();
     457             :     compiler::TNode<BoolT> tmp100;
     458             :     USE(tmp100);
     459         112 :     tmp100 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp98}, compiler::TNode<HeapObject>{tmp99}));
     460          56 :     ca_.Branch(tmp100, &block13, &block14, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp94, tmp97, tmp98);
     461             :   }
     462             : 
     463          56 :   if (block13.is_used()) {
     464             :     compiler::TNode<Context> tmp101;
     465             :     compiler::TNode<Object> tmp102;
     466             :     compiler::TNode<RawPtrT> tmp103;
     467             :     compiler::TNode<RawPtrT> tmp104;
     468             :     compiler::TNode<IntPtrT> tmp105;
     469             :     compiler::TNode<JSReceiver> tmp106;
     470             :     compiler::TNode<Number> tmp107;
     471             :     compiler::TNode<Smi> tmp108;
     472             :     compiler::TNode<Number> tmp109;
     473             :     compiler::TNode<Number> tmp110;
     474             :     compiler::TNode<Number> tmp111;
     475             :     compiler::TNode<Oddball> tmp112;
     476             :     ca_.Bind(&block13, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112);
     477          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 58);
     478             :     compiler::TNode<Object> tmp113;
     479             :     USE(tmp113);
     480         112 :     tmp113 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp101}, compiler::TNode<Object>{tmp106}, compiler::TNode<Object>{tmp110}));
     481          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 61);
     482         112 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp101, tmp106, tmp111, tmp113);
     483          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 56);
     484             :     ca_.Goto(&block15, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112);
     485             :   }
     486             : 
     487          56 :   if (block14.is_used()) {
     488             :     compiler::TNode<Context> tmp115;
     489             :     compiler::TNode<Object> tmp116;
     490             :     compiler::TNode<RawPtrT> tmp117;
     491             :     compiler::TNode<RawPtrT> tmp118;
     492             :     compiler::TNode<IntPtrT> tmp119;
     493             :     compiler::TNode<JSReceiver> tmp120;
     494             :     compiler::TNode<Number> tmp121;
     495             :     compiler::TNode<Smi> tmp122;
     496             :     compiler::TNode<Number> tmp123;
     497             :     compiler::TNode<Number> tmp124;
     498             :     compiler::TNode<Number> tmp125;
     499             :     compiler::TNode<Oddball> tmp126;
     500             :     ca_.Bind(&block14, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
     501          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 64);
     502             :     compiler::TNode<Smi> tmp127;
     503             :     USE(tmp127);
     504         168 :     tmp127 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode::kStrict));
     505         112 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kDeleteProperty, tmp115, tmp120, tmp125, tmp127);
     506          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 56);
     507             :     ca_.Goto(&block15, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126);
     508             :   }
     509             : 
     510          56 :   if (block15.is_used()) {
     511             :     compiler::TNode<Context> tmp129;
     512             :     compiler::TNode<Object> tmp130;
     513             :     compiler::TNode<RawPtrT> tmp131;
     514             :     compiler::TNode<RawPtrT> tmp132;
     515             :     compiler::TNode<IntPtrT> tmp133;
     516             :     compiler::TNode<JSReceiver> tmp134;
     517             :     compiler::TNode<Number> tmp135;
     518             :     compiler::TNode<Smi> tmp136;
     519             :     compiler::TNode<Number> tmp137;
     520             :     compiler::TNode<Number> tmp138;
     521             :     compiler::TNode<Number> tmp139;
     522             :     compiler::TNode<Oddball> tmp140;
     523             :     ca_.Bind(&block15, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140);
     524          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 68);
     525             :     compiler::TNode<Number> tmp141;
     526             :     USE(tmp141);
     527         168 :     tmp141 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
     528             :     compiler::TNode<Number> tmp142;
     529             :     USE(tmp142);
     530         168 :     tmp142 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp137}, compiler::TNode<Number>{tmp141}));
     531          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 45);
     532             :     ca_.Goto(&block10, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp142);
     533             :   }
     534             : 
     535          56 :   if (block9.is_used()) {
     536             :     compiler::TNode<Context> tmp143;
     537             :     compiler::TNode<Object> tmp144;
     538             :     compiler::TNode<RawPtrT> tmp145;
     539             :     compiler::TNode<RawPtrT> tmp146;
     540             :     compiler::TNode<IntPtrT> tmp147;
     541             :     compiler::TNode<JSReceiver> tmp148;
     542             :     compiler::TNode<Number> tmp149;
     543             :     compiler::TNode<Smi> tmp150;
     544             :     compiler::TNode<Number> tmp151;
     545             :     ca_.Bind(&block9, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151);
     546          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 72);
     547             :     compiler::TNode<Smi> tmp152;
     548             :     USE(tmp152);
     549         168 :     tmp152 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
     550          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 77);
     551             :     ca_.Goto(&block18, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152);
     552             :   }
     553             : 
     554          56 :   if (block18.is_used()) {
     555             :     compiler::TNode<Context> tmp153;
     556             :     compiler::TNode<Object> tmp154;
     557             :     compiler::TNode<RawPtrT> tmp155;
     558             :     compiler::TNode<RawPtrT> tmp156;
     559             :     compiler::TNode<IntPtrT> tmp157;
     560             :     compiler::TNode<JSReceiver> tmp158;
     561             :     compiler::TNode<Number> tmp159;
     562             :     compiler::TNode<Smi> tmp160;
     563             :     compiler::TNode<Number> tmp161;
     564             :     compiler::TNode<Smi> tmp162;
     565             :     ca_.Bind(&block18, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162);
     566             :     compiler::TNode<BoolT> tmp163;
     567             :     USE(tmp163);
     568         112 :     tmp163 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp162}, compiler::TNode<Smi>{tmp160}));
     569          56 :     ca_.Branch(tmp163, &block16, &block17, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162);
     570             :   }
     571             : 
     572          56 :   if (block16.is_used()) {
     573             :     compiler::TNode<Context> tmp164;
     574             :     compiler::TNode<Object> tmp165;
     575             :     compiler::TNode<RawPtrT> tmp166;
     576             :     compiler::TNode<RawPtrT> tmp167;
     577             :     compiler::TNode<IntPtrT> tmp168;
     578             :     compiler::TNode<JSReceiver> tmp169;
     579             :     compiler::TNode<Number> tmp170;
     580             :     compiler::TNode<Smi> tmp171;
     581             :     compiler::TNode<Number> tmp172;
     582             :     compiler::TNode<Smi> tmp173;
     583             :     ca_.Bind(&block16, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173);
     584          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 79);
     585             :     compiler::TNode<IntPtrT> tmp174;
     586             :     USE(tmp174);
     587         168 :     tmp174 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp173}));
     588             :     compiler::TNode<Object> tmp175;
     589             :     USE(tmp175);
     590         112 :     tmp175 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp166}, compiler::TNode<RawPtrT>{tmp167}, compiler::TNode<IntPtrT>{tmp168}}, compiler::TNode<IntPtrT>{tmp174}));
     591         112 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp164, tmp169, tmp173, tmp175);
     592          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 82);
     593             :     compiler::TNode<Smi> tmp177;
     594             :     USE(tmp177);
     595         168 :     tmp177 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
     596             :     compiler::TNode<Smi> tmp178;
     597             :     USE(tmp178);
     598         112 :     tmp178 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp173}, compiler::TNode<Smi>{tmp177}));
     599          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 77);
     600             :     ca_.Goto(&block18, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp178);
     601             :   }
     602             : 
     603          56 :   if (block17.is_used()) {
     604             :     compiler::TNode<Context> tmp179;
     605             :     compiler::TNode<Object> tmp180;
     606             :     compiler::TNode<RawPtrT> tmp181;
     607             :     compiler::TNode<RawPtrT> tmp182;
     608             :     compiler::TNode<IntPtrT> tmp183;
     609             :     compiler::TNode<JSReceiver> tmp184;
     610             :     compiler::TNode<Number> tmp185;
     611             :     compiler::TNode<Smi> tmp186;
     612             :     compiler::TNode<Number> tmp187;
     613             :     compiler::TNode<Smi> tmp188;
     614             :     ca_.Bind(&block17, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188);
     615          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 35);
     616             :     ca_.Goto(&block3, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186);
     617             :   }
     618             : 
     619          56 :   if (block3.is_used()) {
     620             :     compiler::TNode<Context> tmp189;
     621             :     compiler::TNode<Object> tmp190;
     622             :     compiler::TNode<RawPtrT> tmp191;
     623             :     compiler::TNode<RawPtrT> tmp192;
     624             :     compiler::TNode<IntPtrT> tmp193;
     625             :     compiler::TNode<JSReceiver> tmp194;
     626             :     compiler::TNode<Number> tmp195;
     627             :     compiler::TNode<Smi> tmp196;
     628             :     ca_.Bind(&block3, &tmp189, &tmp190, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196);
     629          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 87);
     630             :     compiler::TNode<Number> tmp197;
     631             :     USE(tmp197);
     632         168 :     tmp197 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp195}, compiler::TNode<Number>{tmp196}));
     633          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 88);
     634             :     compiler::TNode<String> tmp198;
     635             :     USE(tmp198);
     636         168 :     tmp198 = BaseBuiltinsFromDSLAssembler(state_).kLengthString();
     637         112 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp189, tmp194, tmp198, tmp197);
     638          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 91);
     639             :     ca_.Goto(&block1, tmp189, tmp190, tmp191, tmp192, tmp193, tmp197);
     640             :   }
     641             : 
     642          56 :   if (block1.is_used()) {
     643             :     compiler::TNode<Context> tmp200;
     644             :     compiler::TNode<Object> tmp201;
     645             :     compiler::TNode<RawPtrT> tmp202;
     646             :     compiler::TNode<RawPtrT> tmp203;
     647             :     compiler::TNode<IntPtrT> tmp204;
     648             :     compiler::TNode<Number> tmp205;
     649             :     ca_.Bind(&block1, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205);
     650          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 23);
     651             :     ca_.Goto(&block19, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205);
     652             :   }
     653             : 
     654             :     compiler::TNode<Context> tmp206;
     655             :     compiler::TNode<Object> tmp207;
     656             :     compiler::TNode<RawPtrT> tmp208;
     657             :     compiler::TNode<RawPtrT> tmp209;
     658             :     compiler::TNode<IntPtrT> tmp210;
     659             :     compiler::TNode<Number> tmp211;
     660             :     ca_.Bind(&block19, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211);
     661         112 :   return compiler::TNode<Number>{tmp211};
     662             : }
     663             : 
     664         224 : TF_BUILTIN(ArrayPrototypeUnshift, CodeStubAssembler) {
     665          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     666             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     667             :   USE(parameter0);
     668             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
     669          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
     670          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
     671          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
     672             :   CodeStubArguments arguments(this, torque_arguments);
     673          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
     674             : USE(parameter1);
     675             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     676             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Context, Object, RawPtrT, RawPtrT, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     677             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     678             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
     679             : 
     680          56 :   if (block0.is_used()) {
     681             :     compiler::TNode<Context> tmp0;
     682             :     compiler::TNode<Object> tmp1;
     683             :     compiler::TNode<RawPtrT> tmp2;
     684             :     compiler::TNode<RawPtrT> tmp3;
     685             :     compiler::TNode<IntPtrT> tmp4;
     686             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     687          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 98);
     688          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     689         168 :     ArrayUnshiftBuiltinsFromDSLAssembler(state_).TryFastArrayUnshift(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, &label0);
     690          56 :     if (label0.is_used()) {
     691          56 :       ca_.Bind(&label0);
     692             :       ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp0, tmp1, tmp2, tmp3, tmp4);
     693             :     }
     694             :   }
     695             : 
     696          56 :   if (block3.is_used()) {
     697             :     compiler::TNode<Context> tmp5;
     698             :     compiler::TNode<Object> tmp6;
     699             :     compiler::TNode<RawPtrT> tmp7;
     700             :     compiler::TNode<RawPtrT> tmp8;
     701             :     compiler::TNode<IntPtrT> tmp9;
     702             :     compiler::TNode<Context> tmp10;
     703             :     compiler::TNode<Object> tmp11;
     704             :     compiler::TNode<RawPtrT> tmp12;
     705             :     compiler::TNode<RawPtrT> tmp13;
     706             :     compiler::TNode<IntPtrT> tmp14;
     707             :     ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
     708             :     ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8, tmp9);
     709             :   }
     710             : 
     711          56 :   if (block2.is_used()) {
     712             :     compiler::TNode<Context> tmp15;
     713             :     compiler::TNode<Object> tmp16;
     714             :     compiler::TNode<RawPtrT> tmp17;
     715             :     compiler::TNode<RawPtrT> tmp18;
     716             :     compiler::TNode<IntPtrT> tmp19;
     717             :     ca_.Bind(&block2, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
     718          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 101);
     719             :     compiler::TNode<Number> tmp20;
     720             :     USE(tmp20);
     721         168 :     tmp20 = ca_.UncheckedCast<Number>(ArrayUnshiftBuiltinsFromDSLAssembler(state_).GenericArrayUnshift(compiler::TNode<Context>{tmp15}, compiler::TNode<Object>{tmp16}, BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp17}, compiler::TNode<RawPtrT>{tmp18}, compiler::TNode<IntPtrT>{tmp19}}));
     722          56 :     arguments.PopAndReturn(tmp20);
     723             :   }
     724          56 : }
     725             : 
     726             : }  // namespace internal
     727       59480 : }  // namespace v8
     728             : 

Generated by: LCOV version 1.10