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

          Line data    Source code
       1             : #include "src/builtins/builtins-utils-gen.h"
       2             : #include "src/builtins/builtins.h"
       3             : #include "src/code-factory.h"
       4             : #include "src/elements-kind.h"
       5             : #include "src/heap/factory-inl.h"
       6             : #include "src/objects.h"
       7             : #include "src/objects/arguments.h"
       8             : #include "src/objects/bigint.h"
       9             : #include "src/builtins/builtins-array-gen.h"
      10             : #include "src/builtins/builtins-collections-gen.h"
      11             : #include "src/builtins/builtins-data-view-gen.h"
      12             : #include "src/builtins/builtins-iterator-gen.h"
      13             : #include "src/builtins/builtins-regexp-gen.h"
      14             : #include "src/builtins/builtins-typed-array-gen.h"
      15             : #include "src/builtins/builtins-constructor-gen.h"
      16             : #include "torque-generated/builtins-base-from-dsl-gen.h"
      17             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      18             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      19             : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
      20             : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
      21             : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
      22             : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
      23             : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
      24             : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
      25             : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
      26             : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
      27             : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
      28             : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
      29             : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
      30             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      31             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      32             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      33             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      34             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      35             : #include "torque-generated/builtins-string-from-dsl-gen.h"
      36             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      37             : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
      38             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      39             : 
      40             : namespace v8 {
      41             : namespace internal {
      42             : 
      43         336 : TF_BUILTIN(ArrayOf, CodeStubAssembler) {
      44          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
      45          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
      46          56 :   USE(parameter0);
      47          56 :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
      48          56 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
      49          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
      50          56 : auto arguments = &arguments_impl;
      51          56 : USE(arguments);
      52          56 : USE(parameter1);
      53         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      54         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Smi, Object, JSReceiver, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      55         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Smi, Object, JSReceiver, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      56         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Smi, Object, JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      57         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Smi, Object, JSReceiver, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      58         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Smi, Object, JSReceiver, Smi> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      59         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Smi, Object, JSReceiver, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      60         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Smi, Object, JSReceiver, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      61          56 :     ca_.Goto(&block0, parameter0, parameter1);
      62             : 
      63          56 :   if (block0.is_used()) {
      64          56 :     compiler::TNode<Context> tmp0;
      65          56 :     compiler::TNode<Object> tmp1;
      66          56 :     ca_.Bind(&block0, &tmp0, &tmp1);
      67          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 10);
      68          56 :     compiler::TNode<IntPtrT> tmp2;
      69          56 :     USE(tmp2);
      70          56 :     tmp2 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).GetArgumentsLength(arguments));
      71          56 :     compiler::TNode<Smi> tmp3;
      72          56 :     USE(tmp3);
      73          56 :     tmp3 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp2}));
      74          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 16);
      75          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 18);
      76          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 21);
      77          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 22);
      78          56 :     compiler::TNode<JSReceiver> tmp4;
      79          56 :     USE(tmp4);
      80          56 :     compiler::CodeAssemblerLabel label0(&ca_);
      81          56 :     tmp4 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATConstructor(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
      82          56 :     ca_.Goto(&block3, tmp0, tmp1, tmp3, tmp1, ca_.Uninitialized<JSReceiver>(), tmp1, tmp1, tmp4);
      83          56 :     if (label0.is_used()) {
      84          56 :       ca_.Bind(&label0);
      85          56 :       ca_.Goto(&block4, tmp0, tmp1, tmp3, tmp1, ca_.Uninitialized<JSReceiver>(), tmp1, tmp1);
      86          56 :     }
      87             :   }
      88             : 
      89          56 :   if (block4.is_used()) {
      90          56 :     compiler::TNode<Context> tmp5;
      91          56 :     compiler::TNode<Object> tmp6;
      92          56 :     compiler::TNode<Smi> tmp7;
      93          56 :     compiler::TNode<Object> tmp8;
      94          56 :     compiler::TNode<JSReceiver> tmp9;
      95          56 :     compiler::TNode<Object> tmp10;
      96          56 :     compiler::TNode<Object> tmp11;
      97          56 :     ca_.Bind(&block4, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
      98          56 :     ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10);
      99             :   }
     100             : 
     101          56 :   if (block3.is_used()) {
     102          56 :     compiler::TNode<Context> tmp12;
     103          56 :     compiler::TNode<Object> tmp13;
     104          56 :     compiler::TNode<Smi> tmp14;
     105          56 :     compiler::TNode<Object> tmp15;
     106          56 :     compiler::TNode<JSReceiver> tmp16;
     107          56 :     compiler::TNode<Object> tmp17;
     108          56 :     compiler::TNode<Object> tmp18;
     109          56 :     compiler::TNode<JSReceiver> tmp19;
     110          56 :     ca_.Bind(&block3, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
     111          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 24);
     112          56 :     compiler::TNode<JSReceiver> tmp20;
     113          56 :     USE(tmp20);
     114          56 :     tmp20 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).Construct(compiler::TNode<Context>{tmp12}, compiler::TNode<JSReceiver>{tmp19}, compiler::TNode<Object>{tmp14}));
     115          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 22);
     116          56 :     ca_.Goto(&block1, tmp12, tmp13, tmp14, tmp15, tmp20, tmp17);
     117             :   }
     118             : 
     119          56 :   if (block2.is_used()) {
     120          56 :     compiler::TNode<Context> tmp21;
     121          56 :     compiler::TNode<Object> tmp22;
     122          56 :     compiler::TNode<Smi> tmp23;
     123          56 :     compiler::TNode<Object> tmp24;
     124          56 :     compiler::TNode<JSReceiver> tmp25;
     125          56 :     compiler::TNode<Object> tmp26;
     126          56 :     ca_.Bind(&block2, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
     127          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 26);
     128          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 28);
     129          56 :     compiler::TNode<JSArray> tmp27;
     130          56 :     USE(tmp27);
     131          56 :     tmp27 = ca_.UncheckedCast<JSArray>(CodeStubAssembler(state_).ArrayCreate(compiler::TNode<Context>{tmp21}, compiler::TNode<Number>{tmp23}));
     132          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 22);
     133          56 :     ca_.Goto(&block1, tmp21, tmp22, tmp23, tmp24, tmp27, tmp26);
     134             :   }
     135             : 
     136          56 :   if (block1.is_used()) {
     137          56 :     compiler::TNode<Context> tmp28;
     138          56 :     compiler::TNode<Object> tmp29;
     139          56 :     compiler::TNode<Smi> tmp30;
     140          56 :     compiler::TNode<Object> tmp31;
     141          56 :     compiler::TNode<JSReceiver> tmp32;
     142          56 :     compiler::TNode<Object> tmp33;
     143          56 :     ca_.Bind(&block1, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
     144          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 21);
     145          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 33);
     146          56 :     compiler::TNode<Smi> tmp34;
     147          56 :     USE(tmp34);
     148          56 :     tmp34 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
     149          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 36);
     150          56 :     ca_.Goto(&block7, tmp28, tmp29, tmp30, tmp31, tmp32, tmp34);
     151             :   }
     152             : 
     153          56 :   if (block7.is_used()) {
     154          56 :     compiler::TNode<Context> tmp35;
     155          56 :     compiler::TNode<Object> tmp36;
     156          56 :     compiler::TNode<Smi> tmp37;
     157          56 :     compiler::TNode<Object> tmp38;
     158          56 :     compiler::TNode<JSReceiver> tmp39;
     159          56 :     compiler::TNode<Smi> tmp40;
     160          56 :     ca_.Bind(&block7, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40);
     161          56 :     compiler::TNode<BoolT> tmp41;
     162          56 :     USE(tmp41);
     163          56 :     tmp41 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp40}, compiler::TNode<Smi>{tmp37}));
     164          56 :     ca_.Branch(tmp41, &block5, &block6, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40);
     165             :   }
     166             : 
     167          56 :   if (block5.is_used()) {
     168          56 :     compiler::TNode<Context> tmp42;
     169          56 :     compiler::TNode<Object> tmp43;
     170          56 :     compiler::TNode<Smi> tmp44;
     171          56 :     compiler::TNode<Object> tmp45;
     172          56 :     compiler::TNode<JSReceiver> tmp46;
     173          56 :     compiler::TNode<Smi> tmp47;
     174          56 :     ca_.Bind(&block5, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47);
     175          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 38);
     176          56 :     compiler::TNode<IntPtrT> tmp48;
     177          56 :     USE(tmp48);
     178          56 :     tmp48 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp47}));
     179          56 :     compiler::TNode<Object> tmp49;
     180          56 :     USE(tmp49);
     181          56 :     tmp49 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp48}));
     182          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 42);
     183          56 :     CodeStubAssembler(state_).CallRuntime(Runtime::kCreateDataProperty, tmp42, tmp46, tmp47, tmp49);
     184          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 45);
     185          56 :     compiler::TNode<Smi> tmp51;
     186          56 :     USE(tmp51);
     187          56 :     tmp51 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
     188          56 :     compiler::TNode<Smi> tmp52;
     189          56 :     USE(tmp52);
     190          56 :     tmp52 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp47}, compiler::TNode<Smi>{tmp51}));
     191          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 36);
     192          56 :     ca_.Goto(&block7, tmp42, tmp43, tmp44, tmp45, tmp46, tmp52);
     193             :   }
     194             : 
     195          56 :   if (block6.is_used()) {
     196          56 :     compiler::TNode<Context> tmp53;
     197          56 :     compiler::TNode<Object> tmp54;
     198          56 :     compiler::TNode<Smi> tmp55;
     199          56 :     compiler::TNode<Object> tmp56;
     200          56 :     compiler::TNode<JSReceiver> tmp57;
     201          56 :     compiler::TNode<Smi> tmp58;
     202          56 :     ca_.Bind(&block6, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
     203          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 49);
     204          56 :     CodeStubAssembler(state_).SetPropertyLength(compiler::TNode<Context>{tmp53}, compiler::TNode<Object>{tmp57}, compiler::TNode<Number>{tmp55});
     205          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 52);
     206          56 :     arguments->PopAndReturn(tmp57);
     207          56 :   }
     208          56 : }
     209             : 
     210             : }  // namespace internal
     211       86739 : }  // namespace v8
     212             : 

Generated by: LCOV version 1.10