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: 53 53 100.0 %
Date: 2019-04-17 Functions: 3 3 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-regexp-gen.h"
      23             : #include "src/builtins/builtins-regexp-gen.h"
      24             : #include "src/builtins/builtins-regexp-gen.h"
      25             : #include "src/builtins/builtins-typed-array-gen.h"
      26             : #include "src/builtins/builtins-constructor-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 "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 "torque-generated/builtins-base-from-dsl-gen.h"
      36             : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
      37             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      38             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      39             : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
      40             : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
      41             : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
      42             : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
      43             : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
      44             : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
      45             : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
      46             : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
      47             : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
      48             : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
      49             : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
      50             : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
      51             : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
      52             : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
      53             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      54             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      55             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      56             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      57             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      58             : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
      59             : #include "torque-generated/builtins-regexp-from-dsl-gen.h"
      60             : #include "torque-generated/builtins-regexp-replace-from-dsl-gen.h"
      61             : #include "torque-generated/builtins-string-from-dsl-gen.h"
      62             : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
      63             : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
      64             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      65             : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
      66             : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
      67             : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
      68             : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
      69             : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
      70             : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
      71             : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
      72             : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
      73             : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
      74             : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
      75             : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
      76             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      77             : 
      78             : namespace v8 {
      79             : namespace internal {
      80             : 
      81         224 : TF_BUILTIN(ArrayOf, CodeStubAssembler) {
      82          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
      83             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
      84             :   USE(parameter0);
      85             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
      86          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
      87          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
      88          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
      89             :   CodeStubArguments arguments(this, torque_arguments);
      90          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
      91             : USE(parameter1);
      92             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      93             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Smi, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      94             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Smi, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      95             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Smi, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      96             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Smi, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      97             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Smi, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Smi> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      98             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Smi, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      99             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Smi, RawPtrT, RawPtrT, IntPtrT, Object, JSReceiver, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     100             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
     101             : 
     102          56 :   if (block0.is_used()) {
     103             :     compiler::TNode<Context> tmp0;
     104             :     compiler::TNode<Object> tmp1;
     105             :     compiler::TNode<RawPtrT> tmp2;
     106             :     compiler::TNode<RawPtrT> tmp3;
     107             :     compiler::TNode<IntPtrT> tmp4;
     108             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     109          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 10);
     110             :     compiler::TNode<Smi> tmp5;
     111             :     USE(tmp5);
     112         112 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp4}));
     113          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 13);
     114          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 16);
     115          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 18);
     116          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 21);
     117          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 22);
     118             :     compiler::TNode<JSReceiver> tmp6;
     119             :     USE(tmp6);
     120          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     121         112 :     tmp6 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATConstructor(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
     122             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp2, tmp3, tmp4, tmp1, ca_.Uninitialized<JSReceiver>(), tmp1, tmp1, tmp6);
     123          56 :     if (label0.is_used()) {
     124          56 :       ca_.Bind(&label0);
     125             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp2, tmp3, tmp4, tmp1, ca_.Uninitialized<JSReceiver>(), tmp1, tmp1);
     126             :     }
     127             :   }
     128             : 
     129          56 :   if (block4.is_used()) {
     130             :     compiler::TNode<Context> tmp7;
     131             :     compiler::TNode<Object> tmp8;
     132             :     compiler::TNode<RawPtrT> tmp9;
     133             :     compiler::TNode<RawPtrT> tmp10;
     134             :     compiler::TNode<IntPtrT> tmp11;
     135             :     compiler::TNode<Smi> tmp12;
     136             :     compiler::TNode<RawPtrT> tmp13;
     137             :     compiler::TNode<RawPtrT> tmp14;
     138             :     compiler::TNode<IntPtrT> tmp15;
     139             :     compiler::TNode<Object> tmp16;
     140             :     compiler::TNode<JSReceiver> tmp17;
     141             :     compiler::TNode<Object> tmp18;
     142             :     compiler::TNode<Object> tmp19;
     143             :     ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
     144             :     ca_.Goto(&block2, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18);
     145             :   }
     146             : 
     147          56 :   if (block3.is_used()) {
     148             :     compiler::TNode<Context> tmp20;
     149             :     compiler::TNode<Object> tmp21;
     150             :     compiler::TNode<RawPtrT> tmp22;
     151             :     compiler::TNode<RawPtrT> tmp23;
     152             :     compiler::TNode<IntPtrT> tmp24;
     153             :     compiler::TNode<Smi> tmp25;
     154             :     compiler::TNode<RawPtrT> tmp26;
     155             :     compiler::TNode<RawPtrT> tmp27;
     156             :     compiler::TNode<IntPtrT> tmp28;
     157             :     compiler::TNode<Object> tmp29;
     158             :     compiler::TNode<JSReceiver> tmp30;
     159             :     compiler::TNode<Object> tmp31;
     160             :     compiler::TNode<Object> tmp32;
     161             :     compiler::TNode<JSReceiver> tmp33;
     162             :     ca_.Bind(&block3, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
     163          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 24);
     164             :     compiler::TNode<JSReceiver> tmp34;
     165             :     USE(tmp34);
     166         112 :     tmp34 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).Construct(compiler::TNode<Context>{tmp20}, compiler::TNode<JSReceiver>{tmp33}, compiler::TNode<Object>{tmp25}));
     167          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 22);
     168             :     ca_.Goto(&block1, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp34, tmp31);
     169             :   }
     170             : 
     171          56 :   if (block2.is_used()) {
     172             :     compiler::TNode<Context> tmp35;
     173             :     compiler::TNode<Object> tmp36;
     174             :     compiler::TNode<RawPtrT> tmp37;
     175             :     compiler::TNode<RawPtrT> tmp38;
     176             :     compiler::TNode<IntPtrT> tmp39;
     177             :     compiler::TNode<Smi> tmp40;
     178             :     compiler::TNode<RawPtrT> tmp41;
     179             :     compiler::TNode<RawPtrT> tmp42;
     180             :     compiler::TNode<IntPtrT> tmp43;
     181             :     compiler::TNode<Object> tmp44;
     182             :     compiler::TNode<JSReceiver> tmp45;
     183             :     compiler::TNode<Object> tmp46;
     184             :     ca_.Bind(&block2, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46);
     185          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 26);
     186          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 28);
     187             :     compiler::TNode<JSArray> tmp47;
     188             :     USE(tmp47);
     189         112 :     tmp47 = ca_.UncheckedCast<JSArray>(CodeStubAssembler(state_).ArrayCreate(compiler::TNode<Context>{tmp35}, compiler::TNode<Number>{tmp40}));
     190          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 22);
     191             :     ca_.Goto(&block1, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp47, tmp46);
     192             :   }
     193             : 
     194          56 :   if (block1.is_used()) {
     195             :     compiler::TNode<Context> tmp48;
     196             :     compiler::TNode<Object> tmp49;
     197             :     compiler::TNode<RawPtrT> tmp50;
     198             :     compiler::TNode<RawPtrT> tmp51;
     199             :     compiler::TNode<IntPtrT> tmp52;
     200             :     compiler::TNode<Smi> tmp53;
     201             :     compiler::TNode<RawPtrT> tmp54;
     202             :     compiler::TNode<RawPtrT> tmp55;
     203             :     compiler::TNode<IntPtrT> tmp56;
     204             :     compiler::TNode<Object> tmp57;
     205             :     compiler::TNode<JSReceiver> tmp58;
     206             :     compiler::TNode<Object> tmp59;
     207             :     ca_.Bind(&block1, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59);
     208          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 21);
     209          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 33);
     210             :     compiler::TNode<Smi> tmp60;
     211             :     USE(tmp60);
     212         112 :     tmp60 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
     213          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 36);
     214             :     ca_.Goto(&block7, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp60);
     215             :   }
     216             : 
     217          56 :   if (block7.is_used()) {
     218             :     compiler::TNode<Context> tmp61;
     219             :     compiler::TNode<Object> tmp62;
     220             :     compiler::TNode<RawPtrT> tmp63;
     221             :     compiler::TNode<RawPtrT> tmp64;
     222             :     compiler::TNode<IntPtrT> tmp65;
     223             :     compiler::TNode<Smi> tmp66;
     224             :     compiler::TNode<RawPtrT> tmp67;
     225             :     compiler::TNode<RawPtrT> tmp68;
     226             :     compiler::TNode<IntPtrT> tmp69;
     227             :     compiler::TNode<Object> tmp70;
     228             :     compiler::TNode<JSReceiver> tmp71;
     229             :     compiler::TNode<Smi> tmp72;
     230             :     ca_.Bind(&block7, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72);
     231             :     compiler::TNode<BoolT> tmp73;
     232             :     USE(tmp73);
     233         112 :     tmp73 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp72}, compiler::TNode<Smi>{tmp66}));
     234          56 :     ca_.Branch(tmp73, &block5, &block6, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72);
     235             :   }
     236             : 
     237          56 :   if (block5.is_used()) {
     238             :     compiler::TNode<Context> tmp74;
     239             :     compiler::TNode<Object> tmp75;
     240             :     compiler::TNode<RawPtrT> tmp76;
     241             :     compiler::TNode<RawPtrT> tmp77;
     242             :     compiler::TNode<IntPtrT> tmp78;
     243             :     compiler::TNode<Smi> tmp79;
     244             :     compiler::TNode<RawPtrT> tmp80;
     245             :     compiler::TNode<RawPtrT> tmp81;
     246             :     compiler::TNode<IntPtrT> tmp82;
     247             :     compiler::TNode<Object> tmp83;
     248             :     compiler::TNode<JSReceiver> tmp84;
     249             :     compiler::TNode<Smi> tmp85;
     250             :     ca_.Bind(&block5, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85);
     251          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 38);
     252             :     compiler::TNode<IntPtrT> tmp86;
     253             :     USE(tmp86);
     254         112 :     tmp86 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp85}));
     255             :     compiler::TNode<Object> tmp87;
     256             :     USE(tmp87);
     257         112 :     tmp87 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp80}, compiler::TNode<RawPtrT>{tmp81}, compiler::TNode<IntPtrT>{tmp82}}, compiler::TNode<IntPtrT>{tmp86}));
     258          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 42);
     259             :     compiler::TNode<Object> tmp88;
     260         112 :     tmp88 = CodeStubAssembler(state_).CallBuiltin(Builtins::kFastCreateDataProperty, tmp74, tmp84, tmp85, tmp87);
     261             :     USE(tmp88);
     262          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 45);
     263             :     compiler::TNode<Smi> tmp89;
     264             :     USE(tmp89);
     265         112 :     tmp89 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
     266             :     compiler::TNode<Smi> tmp90;
     267             :     USE(tmp90);
     268         112 :     tmp90 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp85}, compiler::TNode<Smi>{tmp89}));
     269          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 36);
     270             :     ca_.Goto(&block7, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp90);
     271             :   }
     272             : 
     273          56 :   if (block6.is_used()) {
     274             :     compiler::TNode<Context> tmp91;
     275             :     compiler::TNode<Object> tmp92;
     276             :     compiler::TNode<RawPtrT> tmp93;
     277             :     compiler::TNode<RawPtrT> tmp94;
     278             :     compiler::TNode<IntPtrT> tmp95;
     279             :     compiler::TNode<Smi> tmp96;
     280             :     compiler::TNode<RawPtrT> tmp97;
     281             :     compiler::TNode<RawPtrT> tmp98;
     282             :     compiler::TNode<IntPtrT> tmp99;
     283             :     compiler::TNode<Object> tmp100;
     284             :     compiler::TNode<JSReceiver> tmp101;
     285             :     compiler::TNode<Smi> tmp102;
     286             :     ca_.Bind(&block6, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102);
     287          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 49);
     288         112 :     CodeStubAssembler(state_).SetPropertyLength(compiler::TNode<Context>{tmp91}, compiler::TNode<Object>{tmp101}, compiler::TNode<Number>{tmp96});
     289          56 :     ca_.SetSourcePosition("../../src/builtins/array-of.tq", 52);
     290          56 :     arguments.PopAndReturn(tmp101);
     291             :   }
     292          56 : }
     293             : 
     294             : }  // namespace internal
     295       59456 : }  // namespace v8
     296             : 

Generated by: LCOV version 1.10