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: 484 484 100.0 %
Date: 2019-03-21 Functions: 9 9 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 : void ArrayUnshiftBuiltinsFromDSLAssembler::TryFastArrayUnshift(compiler::TNode<Context> p_context, compiler::TNode<Object> p_receiver, CodeStubArguments* p_arguments, compiler::CodeAssemblerLabel* label_Slow) {
      75         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      76         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      77         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      78         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      79         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      80         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Map, Map> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      81         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Map, Map> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      82         112 :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      83          56 :     ca_.Goto(&block0, p_context, p_receiver);
      84             : 
      85          56 :   if (block0.is_used()) {
      86          56 :     compiler::TNode<Context> tmp0;
      87          56 :     compiler::TNode<Object> tmp1;
      88          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
      89          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 11);
      90          56 :     compiler::TNode<JSArray> tmp2;
      91          56 :     USE(tmp2);
      92         112 :     compiler::CodeAssemblerLabel label0(&ca_);
      93          56 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
      94          56 :     ca_.Goto(&block2, tmp0, tmp1, tmp1, tmp2);
      95          56 :     if (label0.is_used()) {
      96          56 :       ca_.Bind(&label0);
      97          56 :       ca_.Goto(&block3, tmp0, tmp1, tmp1);
      98             :     }
      99             :   }
     100             : 
     101          56 :   if (block3.is_used()) {
     102          56 :     compiler::TNode<Context> tmp3;
     103          56 :     compiler::TNode<Object> tmp4;
     104          56 :     compiler::TNode<Object> tmp5;
     105          56 :     ca_.Bind(&block3, &tmp3, &tmp4, &tmp5);
     106          56 :     ca_.Goto(&block1);
     107             :   }
     108             : 
     109          56 :   if (block2.is_used()) {
     110          56 :     compiler::TNode<Context> tmp6;
     111          56 :     compiler::TNode<Object> tmp7;
     112          56 :     compiler::TNode<Object> tmp8;
     113          56 :     compiler::TNode<JSArray> tmp9;
     114          56 :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8, &tmp9);
     115          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 12);
     116          56 :     ArrayBuiltinsFromDSLAssembler(state_).EnsureWriteableFastElements(compiler::TNode<Context>{tmp6}, compiler::TNode<JSArray>{tmp9});
     117          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 14);
     118          56 :     compiler::TNode<Map> tmp10;
     119          56 :     USE(tmp10);
     120          56 :     tmp10 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp9}));
     121          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 15);
     122          56 :     compiler::TNode<BoolT> tmp11;
     123          56 :     USE(tmp11);
     124          56 :     tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsExtensibleMap(compiler::TNode<Map>{tmp10}));
     125          56 :     compiler::TNode<BoolT> tmp12;
     126          56 :     USE(tmp12);
     127          56 :     tmp12 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp11}));
     128          56 :     ca_.Branch(tmp12, &block4, &block5, tmp6, tmp7, tmp9, tmp10);
     129             :   }
     130             : 
     131          56 :   if (block4.is_used()) {
     132          56 :     compiler::TNode<Context> tmp13;
     133          56 :     compiler::TNode<Object> tmp14;
     134          56 :     compiler::TNode<JSArray> tmp15;
     135          56 :     compiler::TNode<Map> tmp16;
     136          56 :     ca_.Bind(&block4, &tmp13, &tmp14, &tmp15, &tmp16);
     137          56 :     ca_.Goto(&block1);
     138             :   }
     139             : 
     140          56 :   if (block5.is_used()) {
     141          56 :     compiler::TNode<Context> tmp17;
     142          56 :     compiler::TNode<Object> tmp18;
     143          56 :     compiler::TNode<JSArray> tmp19;
     144          56 :     compiler::TNode<Map> tmp20;
     145          56 :     ca_.Bind(&block5, &tmp17, &tmp18, &tmp19, &tmp20);
     146          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 16);
     147         112 :     compiler::CodeAssemblerLabel label0(&ca_);
     148          56 :     CodeStubAssembler(state_).EnsureArrayLengthWritable(compiler::TNode<Map>{tmp20}, &label0);
     149          56 :     ca_.Goto(&block6, tmp17, tmp18, tmp19, tmp20, tmp20);
     150          56 :     if (label0.is_used()) {
     151          56 :       ca_.Bind(&label0);
     152          56 :       ca_.Goto(&block7, tmp17, tmp18, tmp19, tmp20, tmp20);
     153             :     }
     154             :   }
     155             : 
     156          56 :   if (block7.is_used()) {
     157          56 :     compiler::TNode<Context> tmp21;
     158          56 :     compiler::TNode<Object> tmp22;
     159          56 :     compiler::TNode<JSArray> tmp23;
     160          56 :     compiler::TNode<Map> tmp24;
     161          56 :     compiler::TNode<Map> tmp25;
     162          56 :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
     163          56 :     ca_.Goto(&block1);
     164             :   }
     165             : 
     166          56 :   if (block6.is_used()) {
     167          56 :     compiler::TNode<Context> tmp26;
     168          56 :     compiler::TNode<Object> tmp27;
     169          56 :     compiler::TNode<JSArray> tmp28;
     170          56 :     compiler::TNode<Map> tmp29;
     171          56 :     compiler::TNode<Map> tmp30;
     172          56 :     ca_.Bind(&block6, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
     173          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 19);
     174          56 :     compiler::TNode<JSFunction> tmp31;
     175          56 :     USE(tmp31);
     176          56 :     tmp31 = ca_.UncheckedCast<JSFunction>(BaseBuiltinsFromDSLAssembler(state_).LoadTargetFromFrame());
     177          56 :     compiler::TNode<Oddball> tmp32;
     178          56 :     USE(tmp32);
     179          56 :     tmp32 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     180          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 20);
     181          56 :     compiler::TNode<IntPtrT> tmp33;
     182          56 :     USE(tmp33);
     183          56 :     tmp33 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).GetArgumentsLength(p_arguments));
     184          56 :     compiler::TNode<Int32T> tmp34;
     185          56 :     USE(tmp34);
     186          56 :     tmp34 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).Convert7ATint328ATintptr(compiler::TNode<IntPtrT>{tmp33}));
     187          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 18);
     188          56 :    CodeStubAssembler(state_).TailCallBuiltin(Builtins::kArrayUnshift, tmp26, tmp31, tmp32, tmp34);
     189             :   }
     190             : 
     191          56 :   if (block1.is_used()) {
     192          56 :     ca_.Bind(&block1);
     193          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 8);
     194          56 :     ca_.Goto(label_Slow);
     195             :   }
     196          56 : }
     197             : 
     198          56 : compiler::TNode<Number> ArrayUnshiftBuiltinsFromDSLAssembler::GenericArrayUnshift(compiler::TNode<Context> p_context, compiler::TNode<Object> p_receiver, CodeStubArguments* p_arguments) {
     199         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     200         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     201         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     202         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     203         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     204         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     205         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     206         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi, Number, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     207         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi, Number, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     208         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     209         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi, Number, Number, Number, Oddball> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     210         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi, Number, Number, Number, Oddball> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     211         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi, Number, Number, Number, Oddball> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     212         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     213         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi, Number, Smi> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     214         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi, Number, Smi> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     215         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi, Number, Smi> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     216         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     217         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     218         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Number> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     219          56 :     ca_.Goto(&block0, p_context, p_receiver);
     220             : 
     221          56 :   if (block0.is_used()) {
     222          56 :     compiler::TNode<Context> tmp0;
     223          56 :     compiler::TNode<Object> tmp1;
     224          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
     225          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 27);
     226          56 :     compiler::TNode<JSReceiver> tmp2;
     227          56 :     USE(tmp2);
     228          56 :     tmp2 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     229          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 30);
     230          56 :     compiler::TNode<Number> tmp3;
     231          56 :     USE(tmp3);
     232          56 :     tmp3 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     233          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 33);
     234          56 :     compiler::TNode<IntPtrT> tmp4;
     235          56 :     USE(tmp4);
     236          56 :     tmp4 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).GetArgumentsLength(p_arguments));
     237          56 :     compiler::TNode<Smi> tmp5;
     238          56 :     USE(tmp5);
     239          56 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp4}));
     240          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 36);
     241          56 :     compiler::TNode<Smi> tmp6;
     242          56 :     USE(tmp6);
     243          56 :     tmp6 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
     244          56 :     compiler::TNode<BoolT> tmp7;
     245          56 :     USE(tmp7);
     246          56 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp5}, compiler::TNode<Smi>{tmp6}));
     247          56 :     ca_.Branch(tmp7, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp5);
     248             :   }
     249             : 
     250          56 :   if (block2.is_used()) {
     251          56 :     compiler::TNode<Context> tmp8;
     252          56 :     compiler::TNode<Object> tmp9;
     253          56 :     compiler::TNode<JSReceiver> tmp10;
     254          56 :     compiler::TNode<Number> tmp11;
     255          56 :     compiler::TNode<Smi> tmp12;
     256          56 :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12);
     257          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 38);
     258          56 :     compiler::TNode<Number> tmp13;
     259          56 :     USE(tmp13);
     260          56 :     tmp13 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp11}, compiler::TNode<Number>{tmp12}));
     261          56 :     compiler::TNode<Number> tmp14;
     262          56 :     USE(tmp14);
     263          56 :     tmp14 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi19ATconstexpr_float64(kMaxSafeInteger));
     264         112 :     compiler::CodeAssemblerLabel label0(&ca_);
     265         112 :     compiler::CodeAssemblerLabel label1(&ca_);
     266          56 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp13}, compiler::TNode<Number>{tmp14}, &label0, &label1);
     267          56 :     if (label0.is_used()) {
     268          56 :       ca_.Bind(&label0);
     269          56 :       ca_.Goto(&block6, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
     270             :     }
     271          56 :     if (label1.is_used()) {
     272          56 :       ca_.Bind(&label1);
     273          56 :       ca_.Goto(&block7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13);
     274             :     }
     275             :   }
     276             : 
     277          56 :   if (block6.is_used()) {
     278          56 :     compiler::TNode<Context> tmp15;
     279          56 :     compiler::TNode<Object> tmp16;
     280          56 :     compiler::TNode<JSReceiver> tmp17;
     281          56 :     compiler::TNode<Number> tmp18;
     282          56 :     compiler::TNode<Smi> tmp19;
     283          56 :     compiler::TNode<Number> tmp20;
     284          56 :     ca_.Bind(&block6, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
     285          56 :     ca_.Goto(&block4, tmp15, tmp16, tmp17, tmp18, tmp19);
     286             :   }
     287             : 
     288          56 :   if (block7.is_used()) {
     289          56 :     compiler::TNode<Context> tmp21;
     290          56 :     compiler::TNode<Object> tmp22;
     291          56 :     compiler::TNode<JSReceiver> tmp23;
     292          56 :     compiler::TNode<Number> tmp24;
     293          56 :     compiler::TNode<Smi> tmp25;
     294          56 :     compiler::TNode<Number> tmp26;
     295          56 :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
     296          56 :     ca_.Goto(&block5, tmp21, tmp22, tmp23, tmp24, tmp25);
     297             :   }
     298             : 
     299          56 :   if (block4.is_used()) {
     300          56 :     compiler::TNode<Context> tmp27;
     301          56 :     compiler::TNode<Object> tmp28;
     302          56 :     compiler::TNode<JSReceiver> tmp29;
     303          56 :     compiler::TNode<Number> tmp30;
     304          56 :     compiler::TNode<Smi> tmp31;
     305          56 :     ca_.Bind(&block4, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
     306          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 39);
     307          56 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp27}, MessageTemplate::kInvalidArrayLength);
     308             :   }
     309             : 
     310          56 :   if (block5.is_used()) {
     311          56 :     compiler::TNode<Context> tmp32;
     312          56 :     compiler::TNode<Object> tmp33;
     313          56 :     compiler::TNode<JSReceiver> tmp34;
     314          56 :     compiler::TNode<Number> tmp35;
     315          56 :     compiler::TNode<Smi> tmp36;
     316          56 :     ca_.Bind(&block5, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36);
     317          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 43);
     318          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 46);
     319          56 :     ca_.Goto(&block10, tmp32, tmp33, tmp34, tmp35, tmp36, tmp35);
     320             :   }
     321             : 
     322          56 :   if (block10.is_used()) {
     323          56 :     compiler::TNode<Context> tmp37;
     324          56 :     compiler::TNode<Object> tmp38;
     325          56 :     compiler::TNode<JSReceiver> tmp39;
     326          56 :     compiler::TNode<Number> tmp40;
     327          56 :     compiler::TNode<Smi> tmp41;
     328          56 :     compiler::TNode<Number> tmp42;
     329          56 :     ca_.Bind(&block10, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42);
     330          56 :     compiler::TNode<Number> tmp43;
     331          56 :     USE(tmp43);
     332          56 :     tmp43 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
     333         112 :     compiler::CodeAssemblerLabel label0(&ca_);
     334         112 :     compiler::CodeAssemblerLabel label1(&ca_);
     335          56 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp42}, compiler::TNode<Number>{tmp43}, &label0, &label1);
     336          56 :     if (label0.is_used()) {
     337          56 :       ca_.Bind(&label0);
     338          56 :       ca_.Goto(&block11, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp42);
     339             :     }
     340          56 :     if (label1.is_used()) {
     341          56 :       ca_.Bind(&label1);
     342          56 :       ca_.Goto(&block12, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp42);
     343             :     }
     344             :   }
     345             : 
     346          56 :   if (block11.is_used()) {
     347          56 :     compiler::TNode<Context> tmp44;
     348          56 :     compiler::TNode<Object> tmp45;
     349          56 :     compiler::TNode<JSReceiver> tmp46;
     350          56 :     compiler::TNode<Number> tmp47;
     351          56 :     compiler::TNode<Smi> tmp48;
     352          56 :     compiler::TNode<Number> tmp49;
     353          56 :     compiler::TNode<Number> tmp50;
     354          56 :     ca_.Bind(&block11, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
     355          56 :     ca_.Goto(&block8, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49);
     356             :   }
     357             : 
     358          56 :   if (block12.is_used()) {
     359          56 :     compiler::TNode<Context> tmp51;
     360          56 :     compiler::TNode<Object> tmp52;
     361          56 :     compiler::TNode<JSReceiver> tmp53;
     362          56 :     compiler::TNode<Number> tmp54;
     363          56 :     compiler::TNode<Smi> tmp55;
     364          56 :     compiler::TNode<Number> tmp56;
     365          56 :     compiler::TNode<Number> tmp57;
     366          56 :     ca_.Bind(&block12, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
     367          56 :     ca_.Goto(&block9, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56);
     368             :   }
     369             : 
     370          56 :   if (block8.is_used()) {
     371          56 :     compiler::TNode<Context> tmp58;
     372          56 :     compiler::TNode<Object> tmp59;
     373          56 :     compiler::TNode<JSReceiver> tmp60;
     374          56 :     compiler::TNode<Number> tmp61;
     375          56 :     compiler::TNode<Smi> tmp62;
     376          56 :     compiler::TNode<Number> tmp63;
     377          56 :     ca_.Bind(&block8, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63);
     378          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 48);
     379          56 :     compiler::TNode<Number> tmp64;
     380          56 :     USE(tmp64);
     381          56 :     tmp64 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
     382          56 :     compiler::TNode<Number> tmp65;
     383          56 :     USE(tmp65);
     384          56 :     tmp65 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp63}, compiler::TNode<Number>{tmp64}));
     385          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 51);
     386          56 :     compiler::TNode<Number> tmp66;
     387          56 :     USE(tmp66);
     388          56 :     tmp66 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp63}, compiler::TNode<Number>{tmp62}));
     389          56 :     compiler::TNode<Number> tmp67;
     390          56 :     USE(tmp67);
     391          56 :     tmp67 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
     392          56 :     compiler::TNode<Number> tmp68;
     393          56 :     USE(tmp68);
     394          56 :     tmp68 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp66}, compiler::TNode<Number>{tmp67}));
     395          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 54);
     396          56 :     compiler::TNode<Oddball> tmp69;
     397          56 :     tmp69 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kHasProperty, tmp58, tmp60, tmp65));
     398          56 :     USE(tmp69);
     399          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 57);
     400          56 :     compiler::TNode<Oddball> tmp70;
     401          56 :     USE(tmp70);
     402          56 :     tmp70 = BaseBuiltinsFromDSLAssembler(state_).True();
     403          56 :     compiler::TNode<BoolT> tmp71;
     404          56 :     USE(tmp71);
     405          56 :     tmp71 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp69}, compiler::TNode<HeapObject>{tmp70}));
     406          56 :     ca_.Branch(tmp71, &block13, &block14, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp65, tmp68, tmp69);
     407             :   }
     408             : 
     409          56 :   if (block13.is_used()) {
     410          56 :     compiler::TNode<Context> tmp72;
     411          56 :     compiler::TNode<Object> tmp73;
     412          56 :     compiler::TNode<JSReceiver> tmp74;
     413          56 :     compiler::TNode<Number> tmp75;
     414          56 :     compiler::TNode<Smi> tmp76;
     415          56 :     compiler::TNode<Number> tmp77;
     416          56 :     compiler::TNode<Number> tmp78;
     417          56 :     compiler::TNode<Number> tmp79;
     418          56 :     compiler::TNode<Oddball> tmp80;
     419          56 :     ca_.Bind(&block13, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80);
     420          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 59);
     421          56 :     compiler::TNode<Object> tmp81;
     422          56 :     USE(tmp81);
     423          56 :     tmp81 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp72}, compiler::TNode<Object>{tmp74}, compiler::TNode<Object>{tmp78}));
     424          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 62);
     425          56 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp72, tmp74, tmp79, tmp81);
     426          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 57);
     427          56 :     ca_.Goto(&block15, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80);
     428             :   }
     429             : 
     430          56 :   if (block14.is_used()) {
     431          56 :     compiler::TNode<Context> tmp83;
     432          56 :     compiler::TNode<Object> tmp84;
     433          56 :     compiler::TNode<JSReceiver> tmp85;
     434          56 :     compiler::TNode<Number> tmp86;
     435          56 :     compiler::TNode<Smi> tmp87;
     436          56 :     compiler::TNode<Number> tmp88;
     437          56 :     compiler::TNode<Number> tmp89;
     438          56 :     compiler::TNode<Number> tmp90;
     439          56 :     compiler::TNode<Oddball> tmp91;
     440          56 :     ca_.Bind(&block14, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91);
     441          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 65);
     442          56 :     compiler::TNode<Smi> tmp92;
     443          56 :     USE(tmp92);
     444          56 :     tmp92 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode::kStrict));
     445          56 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kDeleteProperty, tmp83, tmp85, tmp90, tmp92);
     446          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 57);
     447          56 :     ca_.Goto(&block15, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91);
     448             :   }
     449             : 
     450          56 :   if (block15.is_used()) {
     451          56 :     compiler::TNode<Context> tmp94;
     452          56 :     compiler::TNode<Object> tmp95;
     453          56 :     compiler::TNode<JSReceiver> tmp96;
     454          56 :     compiler::TNode<Number> tmp97;
     455          56 :     compiler::TNode<Smi> tmp98;
     456          56 :     compiler::TNode<Number> tmp99;
     457          56 :     compiler::TNode<Number> tmp100;
     458          56 :     compiler::TNode<Number> tmp101;
     459          56 :     compiler::TNode<Oddball> tmp102;
     460          56 :     ca_.Bind(&block15, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102);
     461          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 69);
     462          56 :     compiler::TNode<Number> tmp103;
     463          56 :     USE(tmp103);
     464          56 :     tmp103 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
     465          56 :     compiler::TNode<Number> tmp104;
     466          56 :     USE(tmp104);
     467          56 :     tmp104 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp99}, compiler::TNode<Number>{tmp103}));
     468          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 46);
     469          56 :     ca_.Goto(&block10, tmp94, tmp95, tmp96, tmp97, tmp98, tmp104);
     470             :   }
     471             : 
     472          56 :   if (block9.is_used()) {
     473          56 :     compiler::TNode<Context> tmp105;
     474          56 :     compiler::TNode<Object> tmp106;
     475          56 :     compiler::TNode<JSReceiver> tmp107;
     476          56 :     compiler::TNode<Number> tmp108;
     477          56 :     compiler::TNode<Smi> tmp109;
     478          56 :     compiler::TNode<Number> tmp110;
     479          56 :     ca_.Bind(&block9, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110);
     480          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 73);
     481          56 :     compiler::TNode<Smi> tmp111;
     482          56 :     USE(tmp111);
     483          56 :     tmp111 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
     484          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 78);
     485          56 :     ca_.Goto(&block18, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111);
     486             :   }
     487             : 
     488          56 :   if (block18.is_used()) {
     489          56 :     compiler::TNode<Context> tmp112;
     490          56 :     compiler::TNode<Object> tmp113;
     491          56 :     compiler::TNode<JSReceiver> tmp114;
     492          56 :     compiler::TNode<Number> tmp115;
     493          56 :     compiler::TNode<Smi> tmp116;
     494          56 :     compiler::TNode<Number> tmp117;
     495          56 :     compiler::TNode<Smi> tmp118;
     496          56 :     ca_.Bind(&block18, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
     497          56 :     compiler::TNode<BoolT> tmp119;
     498          56 :     USE(tmp119);
     499          56 :     tmp119 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp118}, compiler::TNode<Smi>{tmp116}));
     500          56 :     ca_.Branch(tmp119, &block16, &block17, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
     501             :   }
     502             : 
     503          56 :   if (block16.is_used()) {
     504          56 :     compiler::TNode<Context> tmp120;
     505          56 :     compiler::TNode<Object> tmp121;
     506          56 :     compiler::TNode<JSReceiver> tmp122;
     507          56 :     compiler::TNode<Number> tmp123;
     508          56 :     compiler::TNode<Smi> tmp124;
     509          56 :     compiler::TNode<Number> tmp125;
     510          56 :     compiler::TNode<Smi> tmp126;
     511          56 :     ca_.Bind(&block16, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126);
     512          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 80);
     513          56 :     compiler::TNode<IntPtrT> tmp127;
     514          56 :     USE(tmp127);
     515          56 :     tmp127 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp126}));
     516          56 :     compiler::TNode<Object> tmp128;
     517          56 :     USE(tmp128);
     518          56 :     tmp128 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(p_arguments, compiler::TNode<IntPtrT>{tmp127}));
     519          56 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp120, tmp122, tmp126, tmp128);
     520          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 83);
     521          56 :     compiler::TNode<Smi> tmp130;
     522          56 :     USE(tmp130);
     523          56 :     tmp130 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
     524          56 :     compiler::TNode<Smi> tmp131;
     525          56 :     USE(tmp131);
     526          56 :     tmp131 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp126}, compiler::TNode<Smi>{tmp130}));
     527          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 78);
     528          56 :     ca_.Goto(&block18, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp131);
     529             :   }
     530             : 
     531          56 :   if (block17.is_used()) {
     532          56 :     compiler::TNode<Context> tmp132;
     533          56 :     compiler::TNode<Object> tmp133;
     534          56 :     compiler::TNode<JSReceiver> tmp134;
     535          56 :     compiler::TNode<Number> tmp135;
     536          56 :     compiler::TNode<Smi> tmp136;
     537          56 :     compiler::TNode<Number> tmp137;
     538          56 :     compiler::TNode<Smi> tmp138;
     539          56 :     ca_.Bind(&block17, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
     540          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 36);
     541          56 :     ca_.Goto(&block3, tmp132, tmp133, tmp134, tmp135, tmp136);
     542             :   }
     543             : 
     544          56 :   if (block3.is_used()) {
     545          56 :     compiler::TNode<Context> tmp139;
     546          56 :     compiler::TNode<Object> tmp140;
     547          56 :     compiler::TNode<JSReceiver> tmp141;
     548          56 :     compiler::TNode<Number> tmp142;
     549          56 :     compiler::TNode<Smi> tmp143;
     550          56 :     ca_.Bind(&block3, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143);
     551          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 88);
     552          56 :     compiler::TNode<Number> tmp144;
     553          56 :     USE(tmp144);
     554          56 :     tmp144 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp142}, compiler::TNode<Number>{tmp143}));
     555          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 89);
     556          56 :     compiler::TNode<String> tmp145;
     557          56 :     USE(tmp145);
     558          56 :     tmp145 = BaseBuiltinsFromDSLAssembler(state_).kLengthString();
     559          56 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp139, tmp141, tmp145, tmp144);
     560          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 92);
     561          56 :     ca_.Goto(&block1, tmp139, tmp140, tmp144);
     562             :   }
     563             : 
     564          56 :   if (block1.is_used()) {
     565          56 :     compiler::TNode<Context> tmp147;
     566          56 :     compiler::TNode<Object> tmp148;
     567          56 :     compiler::TNode<Number> tmp149;
     568          56 :     ca_.Bind(&block1, &tmp147, &tmp148, &tmp149);
     569          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 23);
     570          56 :     ca_.Goto(&block19, tmp147, tmp148, tmp149);
     571             :   }
     572             : 
     573          56 :     compiler::TNode<Context> tmp150;
     574          56 :     compiler::TNode<Object> tmp151;
     575          56 :     compiler::TNode<Number> tmp152;
     576          56 :     ca_.Bind(&block19, &tmp150, &tmp151, &tmp152);
     577         112 :   return compiler::TNode<Number>{tmp152};
     578             : }
     579             : 
     580         336 : TF_BUILTIN(ArrayPrototypeUnshift, CodeStubAssembler) {
     581         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     582          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     583          56 :   USE(parameter0);
     584          56 :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
     585          56 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
     586          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
     587          56 : auto arguments = &arguments_impl;
     588          56 : USE(arguments);
     589          56 : USE(parameter1);
     590         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     591         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Context, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     592         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     593          56 :     ca_.Goto(&block0, parameter0, parameter1);
     594             : 
     595          56 :   if (block0.is_used()) {
     596          56 :     compiler::TNode<Context> tmp0;
     597          56 :     compiler::TNode<Object> tmp1;
     598          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
     599          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 99);
     600         112 :     compiler::CodeAssemblerLabel label0(&ca_);
     601          56 :     ArrayUnshiftBuiltinsFromDSLAssembler(state_).TryFastArrayUnshift(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, arguments, &label0);
     602          56 :     if (label0.is_used()) {
     603          56 :       ca_.Bind(&label0);
     604          56 :       ca_.Goto(&block3, tmp0, tmp1, tmp0, tmp1);
     605             :     }
     606             :   }
     607             : 
     608          56 :   if (block3.is_used()) {
     609          56 :     compiler::TNode<Context> tmp2;
     610          56 :     compiler::TNode<Object> tmp3;
     611          56 :     compiler::TNode<Context> tmp4;
     612          56 :     compiler::TNode<Object> tmp5;
     613          56 :     ca_.Bind(&block3, &tmp2, &tmp3, &tmp4, &tmp5);
     614          56 :     ca_.Goto(&block2, tmp2, tmp3);
     615             :   }
     616             : 
     617          56 :   if (block2.is_used()) {
     618          56 :     compiler::TNode<Context> tmp6;
     619          56 :     compiler::TNode<Object> tmp7;
     620          56 :     ca_.Bind(&block2, &tmp6, &tmp7);
     621          56 :     ca_.SetSourcePosition("../../src/builtins/array-unshift.tq", 102);
     622          56 :     compiler::TNode<Number> tmp8;
     623          56 :     USE(tmp8);
     624          56 :     tmp8 = ca_.UncheckedCast<Number>(ArrayUnshiftBuiltinsFromDSLAssembler(state_).GenericArrayUnshift(compiler::TNode<Context>{tmp6}, compiler::TNode<Object>{tmp7}, arguments));
     625          56 :     arguments->PopAndReturn(tmp8);
     626             :   }
     627          56 : }
     628             : 
     629             : }  // namespace internal
     630       87414 : }  // namespace v8
     631             : 

Generated by: LCOV version 1.10