LCOV - code coverage report
Current view: top level - out/Release/gen/torque-generated - builtins-string-repeat-from-dsl-gen.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 137 137 100.0 %
Date: 2019-03-21 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/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         392 : TF_BUILTIN(StringRepeat, CodeStubAssembler) {
      75         112 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
      76          56 :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
      77          56 :   USE(parameter0);
      78          56 :   compiler::TNode<String> parameter1 = UncheckedCast<String>(Parameter(Descriptor::kString));
      79          56 :   USE(parameter1);
      80          56 :   compiler::TNode<Smi> parameter2 = UncheckedCast<Smi>(Parameter(Descriptor::kCount));
      81          56 :   USE(parameter2);
      82         112 :   compiler::CodeAssemblerParameterizedLabel<Context, String, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      83         112 :   compiler::CodeAssemblerParameterizedLabel<Context, String, Smi, String, String, IntPtrT> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      84         112 :   compiler::CodeAssemblerParameterizedLabel<Context, String, Smi, String, String, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      85         112 :   compiler::CodeAssemblerParameterizedLabel<Context, String, Smi, String, String, IntPtrT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      86         112 :   compiler::CodeAssemblerParameterizedLabel<Context, String, Smi, String, String, IntPtrT> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      87         112 :   compiler::CodeAssemblerParameterizedLabel<Context, String, Smi, String, String, IntPtrT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      88         112 :   compiler::CodeAssemblerParameterizedLabel<Context, String, Smi, String, String, IntPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      89         112 :   compiler::CodeAssemblerParameterizedLabel<Context, String, Smi, String, String, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      90          56 :     ca_.Goto(&block0, parameter0, parameter1, parameter2);
      91             : 
      92          56 :   if (block0.is_used()) {
      93          56 :     compiler::TNode<Context> tmp0;
      94          56 :     compiler::TNode<String> tmp1;
      95          56 :     compiler::TNode<Smi> tmp2;
      96          56 :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
      97          56 :     ca_.SetSourcePosition("../../src/builtins/string-repeat.tq", 11);
      98          56 :     compiler::TNode<String> tmp3;
      99          56 :     USE(tmp3);
     100          56 :     tmp3 = BaseBuiltinsFromDSLAssembler(state_).kEmptyString();
     101          56 :     ca_.SetSourcePosition("../../src/builtins/string-repeat.tq", 12);
     102          56 :     ca_.SetSourcePosition("../../src/builtins/string-repeat.tq", 13);
     103          56 :     compiler::TNode<IntPtrT> tmp4;
     104          56 :     USE(tmp4);
     105          56 :     tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp2}));
     106          56 :     ca_.SetSourcePosition("../../src/builtins/string-repeat.tq", 15);
     107          56 :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp1, tmp4);
     108             :   }
     109             : 
     110          56 :   if (block3.is_used()) {
     111          56 :     compiler::TNode<Context> tmp5;
     112          56 :     compiler::TNode<String> tmp6;
     113          56 :     compiler::TNode<Smi> tmp7;
     114          56 :     compiler::TNode<String> tmp8;
     115          56 :     compiler::TNode<String> tmp9;
     116          56 :     compiler::TNode<IntPtrT> tmp10;
     117          56 :     ca_.Bind(&block3, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
     118          56 :     compiler::TNode<BoolT> tmp11;
     119          56 :     USE(tmp11);
     120          56 :     tmp11 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
     121          56 :     ca_.Branch(tmp11, &block1, &block2, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10);
     122             :   }
     123             : 
     124          56 :   if (block1.is_used()) {
     125          56 :     compiler::TNode<Context> tmp12;
     126          56 :     compiler::TNode<String> tmp13;
     127          56 :     compiler::TNode<Smi> tmp14;
     128          56 :     compiler::TNode<String> tmp15;
     129          56 :     compiler::TNode<String> tmp16;
     130          56 :     compiler::TNode<IntPtrT> tmp17;
     131          56 :     ca_.Bind(&block1, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17);
     132          56 :     ca_.SetSourcePosition("../../src/builtins/string-repeat.tq", 16);
     133          56 :     compiler::TNode<IntPtrT> tmp18;
     134          56 :     USE(tmp18);
     135          56 :     tmp18 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
     136          56 :     compiler::TNode<IntPtrT> tmp19;
     137          56 :     USE(tmp19);
     138          56 :     tmp19 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).WordAnd(compiler::TNode<IntPtrT>{tmp17}, compiler::TNode<IntPtrT>{tmp18}));
     139          56 :     compiler::TNode<IntPtrT> tmp20;
     140          56 :     USE(tmp20);
     141          56 :     tmp20 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
     142          56 :     compiler::TNode<BoolT> tmp21;
     143          56 :     USE(tmp21);
     144          56 :     tmp21 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp19}, compiler::TNode<IntPtrT>{tmp20}));
     145          56 :     ca_.Branch(tmp21, &block4, &block5, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
     146             :   }
     147             : 
     148          56 :   if (block4.is_used()) {
     149          56 :     compiler::TNode<Context> tmp22;
     150          56 :     compiler::TNode<String> tmp23;
     151          56 :     compiler::TNode<Smi> tmp24;
     152          56 :     compiler::TNode<String> tmp25;
     153          56 :     compiler::TNode<String> tmp26;
     154          56 :     compiler::TNode<IntPtrT> tmp27;
     155          56 :     ca_.Bind(&block4, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
     156          56 :     compiler::TNode<String> tmp28;
     157          56 :     USE(tmp28);
     158          56 :     tmp28 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).StringAdd(compiler::TNode<Context>{tmp22}, compiler::TNode<String>{tmp25}, compiler::TNode<String>{tmp26}));
     159          56 :     ca_.Goto(&block5, tmp22, tmp23, tmp24, tmp28, tmp26, tmp27);
     160             :   }
     161             : 
     162          56 :   if (block5.is_used()) {
     163          56 :     compiler::TNode<Context> tmp29;
     164          56 :     compiler::TNode<String> tmp30;
     165          56 :     compiler::TNode<Smi> tmp31;
     166          56 :     compiler::TNode<String> tmp32;
     167          56 :     compiler::TNode<String> tmp33;
     168          56 :     compiler::TNode<IntPtrT> tmp34;
     169          56 :     ca_.Bind(&block5, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
     170          56 :     ca_.SetSourcePosition("../../src/builtins/string-repeat.tq", 18);
     171          56 :     compiler::TNode<IntPtrT> tmp35;
     172          56 :     USE(tmp35);
     173          56 :     tmp35 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
     174          56 :     compiler::TNode<IntPtrT> tmp36;
     175          56 :     USE(tmp36);
     176          56 :     tmp36 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).WordSar(compiler::TNode<IntPtrT>{tmp34}, compiler::TNode<IntPtrT>{tmp35}));
     177          56 :     ca_.SetSourcePosition("../../src/builtins/string-repeat.tq", 19);
     178          56 :     compiler::TNode<IntPtrT> tmp37;
     179          56 :     USE(tmp37);
     180          56 :     tmp37 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
     181          56 :     compiler::TNode<BoolT> tmp38;
     182          56 :     USE(tmp38);
     183          56 :     tmp38 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp36}, compiler::TNode<IntPtrT>{tmp37}));
     184          56 :     ca_.Branch(tmp38, &block6, &block7, tmp29, tmp30, tmp31, tmp32, tmp33, tmp36);
     185             :   }
     186             : 
     187          56 :   if (block6.is_used()) {
     188          56 :     compiler::TNode<Context> tmp39;
     189          56 :     compiler::TNode<String> tmp40;
     190          56 :     compiler::TNode<Smi> tmp41;
     191          56 :     compiler::TNode<String> tmp42;
     192          56 :     compiler::TNode<String> tmp43;
     193          56 :     compiler::TNode<IntPtrT> tmp44;
     194          56 :     ca_.Bind(&block6, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44);
     195          56 :     ca_.Goto(&block2, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44);
     196             :   }
     197             : 
     198          56 :   if (block7.is_used()) {
     199          56 :     compiler::TNode<Context> tmp45;
     200          56 :     compiler::TNode<String> tmp46;
     201          56 :     compiler::TNode<Smi> tmp47;
     202          56 :     compiler::TNode<String> tmp48;
     203          56 :     compiler::TNode<String> tmp49;
     204          56 :     compiler::TNode<IntPtrT> tmp50;
     205          56 :     ca_.Bind(&block7, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
     206          56 :     ca_.SetSourcePosition("../../src/builtins/string-repeat.tq", 21);
     207          56 :     compiler::TNode<String> tmp51;
     208          56 :     USE(tmp51);
     209          56 :     tmp51 = ca_.UncheckedCast<String>(BaseBuiltinsFromDSLAssembler(state_).StringAdd(compiler::TNode<Context>{tmp45}, compiler::TNode<String>{tmp49}, compiler::TNode<String>{tmp49}));
     210          56 :     ca_.SetSourcePosition("../../src/builtins/string-repeat.tq", 15);
     211          56 :     ca_.Goto(&block3, tmp45, tmp46, tmp47, tmp48, tmp51, tmp50);
     212             :   }
     213             : 
     214          56 :   if (block2.is_used()) {
     215          56 :     compiler::TNode<Context> tmp52;
     216          56 :     compiler::TNode<String> tmp53;
     217          56 :     compiler::TNode<Smi> tmp54;
     218          56 :     compiler::TNode<String> tmp55;
     219          56 :     compiler::TNode<String> tmp56;
     220          56 :     compiler::TNode<IntPtrT> tmp57;
     221          56 :     ca_.Bind(&block2, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
     222          56 :     ca_.SetSourcePosition("../../src/builtins/string-repeat.tq", 24);
     223          56 :     CodeStubAssembler(state_).Return(tmp55);
     224             :   }
     225          56 : }
     226             : 
     227             : }  // namespace internal
     228       87414 : }  // namespace v8
     229             : 

Generated by: LCOV version 1.10