LCOV - code coverage report
Current view: top level - out/Release/gen/torque-generated - builtins-string-from-dsl-gen.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 219 219 100.0 %
Date: 2019-04-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/objects/free-space.h"
      10             : #include "src/objects/js-generator.h"
      11             : #include "src/objects/js-promise.h"
      12             : #include "src/objects/js-regexp-string-iterator.h"
      13             : #include "src/objects/module.h"
      14             : #include "src/objects/stack-frame-info.h"
      15             : #include "src/builtins/builtins-regexp-gen.h"
      16             : #include "src/builtins/builtins-array-gen.h"
      17             : #include "src/builtins/builtins-collections-gen.h"
      18             : #include "src/builtins/builtins-data-view-gen.h"
      19             : #include "src/builtins/builtins-iterator-gen.h"
      20             : #include "src/builtins/builtins-proxy-gen.h"
      21             : #include "src/builtins/builtins-proxy-gen.h"
      22             : #include "src/builtins/builtins-proxy-gen.h"
      23             : #include "src/builtins/builtins-proxy-gen.h"
      24             : #include "src/builtins/builtins-regexp-gen.h"
      25             : #include "src/builtins/builtins-regexp-gen.h"
      26             : #include "src/builtins/builtins-regexp-gen.h"
      27             : #include "src/builtins/builtins-typed-array-gen.h"
      28             : #include "src/builtins/builtins-constructor-gen.h"
      29             : #include "src/builtins/builtins-typed-array-gen.h"
      30             : #include "src/builtins/builtins-typed-array-gen.h"
      31             : #include "src/builtins/builtins-typed-array-gen.h"
      32             : #include "src/builtins/builtins-typed-array-gen.h"
      33             : #include "src/builtins/builtins-typed-array-gen.h"
      34             : #include "src/builtins/builtins-typed-array-gen.h"
      35             : #include "src/builtins/builtins-typed-array-gen.h"
      36             : #include "src/builtins/builtins-typed-array-gen.h"
      37             : #include "torque-generated/builtins-base-from-dsl-gen.h"
      38             : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
      39             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      40             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      41             : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
      42             : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
      43             : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
      44             : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
      45             : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
      46             : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
      47             : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
      48             : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
      49             : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
      50             : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
      51             : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
      52             : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
      53             : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
      54             : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
      55             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      56             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      57             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      58             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      59             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      60             : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
      61             : #include "torque-generated/builtins-regexp-from-dsl-gen.h"
      62             : #include "torque-generated/builtins-regexp-replace-from-dsl-gen.h"
      63             : #include "torque-generated/builtins-string-from-dsl-gen.h"
      64             : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
      65             : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
      66             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      67             : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
      68             : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
      69             : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
      70             : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
      71             : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
      72             : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
      73             : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
      74             : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
      75             : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
      76             : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
      77             : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
      78             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      79             : 
      80             : namespace v8 {
      81             : namespace internal {
      82             : 
      83         112 : compiler::TNode<Oddball> StringBuiltinsFromDSLAssembler::TryFastStringCompareSequence(compiler::TNode<String> p_string, compiler::TNode<String> p_searchStr, compiler::TNode<Number> p_start, compiler::TNode<Smi> p_searchLength, compiler::CodeAssemblerLabel* label_Slow) {
      84         112 :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      85             :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi, String> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      86             :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi, String, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      87             :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi, String, String> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      88             :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi, String, String, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      89             :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi, String, String, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      90             :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi, String, String, Number, Smi> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      91             :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi, String, String, Smi, IntPtrT, IntPtrT, IntPtrT> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      92             :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi, String, String, Smi, IntPtrT, IntPtrT, IntPtrT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      93             :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi, String, String, Smi, IntPtrT, IntPtrT, IntPtrT> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      94             :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi, String, String, Smi, IntPtrT, IntPtrT, IntPtrT> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      95             :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi, String, String, Smi, IntPtrT, IntPtrT, IntPtrT> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      96             :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi, Oddball> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      97             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      98             :   compiler::CodeAssemblerParameterizedLabel<String, String, Number, Smi, Oddball> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      99             :     ca_.Goto(&block0, p_string, p_searchStr, p_start, p_searchLength);
     100             : 
     101         112 :   if (block0.is_used()) {
     102             :     compiler::TNode<String> tmp0;
     103             :     compiler::TNode<String> tmp1;
     104             :     compiler::TNode<Number> tmp2;
     105             :     compiler::TNode<Smi> tmp3;
     106             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
     107         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 9);
     108             :     compiler::TNode<String> tmp4;
     109             :     USE(tmp4);
     110         112 :     compiler::CodeAssemblerLabel label0(&ca_);
     111         336 :     tmp4 = BaseBuiltinsFromDSLAssembler(state_).Cast14ATDirectString(compiler::TNode<HeapObject>{tmp0}, &label0);
     112             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp0, tmp4);
     113         112 :     if (label0.is_used()) {
     114         112 :       ca_.Bind(&label0);
     115             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp0);
     116             :     }
     117             :   }
     118             : 
     119         112 :   if (block4.is_used()) {
     120             :     compiler::TNode<String> tmp5;
     121             :     compiler::TNode<String> tmp6;
     122             :     compiler::TNode<Number> tmp7;
     123             :     compiler::TNode<Smi> tmp8;
     124             :     compiler::TNode<String> tmp9;
     125             :     ca_.Bind(&block4, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
     126             :     ca_.Goto(&block1);
     127             :   }
     128             : 
     129         112 :   if (block3.is_used()) {
     130             :     compiler::TNode<String> tmp10;
     131             :     compiler::TNode<String> tmp11;
     132             :     compiler::TNode<Number> tmp12;
     133             :     compiler::TNode<Smi> tmp13;
     134             :     compiler::TNode<String> tmp14;
     135             :     compiler::TNode<String> tmp15;
     136             :     ca_.Bind(&block3, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15);
     137         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 10);
     138             :     compiler::TNode<String> tmp16;
     139             :     USE(tmp16);
     140         112 :     compiler::CodeAssemblerLabel label0(&ca_);
     141         336 :     tmp16 = BaseBuiltinsFromDSLAssembler(state_).Cast14ATDirectString(compiler::TNode<HeapObject>{tmp11}, &label0);
     142             :     ca_.Goto(&block5, tmp10, tmp11, tmp12, tmp13, tmp15, tmp11, tmp16);
     143         112 :     if (label0.is_used()) {
     144         112 :       ca_.Bind(&label0);
     145             :       ca_.Goto(&block6, tmp10, tmp11, tmp12, tmp13, tmp15, tmp11);
     146             :     }
     147             :   }
     148             : 
     149         112 :   if (block6.is_used()) {
     150             :     compiler::TNode<String> tmp17;
     151             :     compiler::TNode<String> tmp18;
     152             :     compiler::TNode<Number> tmp19;
     153             :     compiler::TNode<Smi> tmp20;
     154             :     compiler::TNode<String> tmp21;
     155             :     compiler::TNode<String> tmp22;
     156             :     ca_.Bind(&block6, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
     157             :     ca_.Goto(&block1);
     158             :   }
     159             : 
     160         112 :   if (block5.is_used()) {
     161             :     compiler::TNode<String> tmp23;
     162             :     compiler::TNode<String> tmp24;
     163             :     compiler::TNode<Number> tmp25;
     164             :     compiler::TNode<Smi> tmp26;
     165             :     compiler::TNode<String> tmp27;
     166             :     compiler::TNode<String> tmp28;
     167             :     compiler::TNode<String> tmp29;
     168             :     ca_.Bind(&block5, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
     169         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 11);
     170             :     compiler::TNode<Smi> tmp30;
     171             :     USE(tmp30);
     172         112 :     compiler::CodeAssemblerLabel label0(&ca_);
     173         336 :     tmp30 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp25}, &label0);
     174             :     ca_.Goto(&block7, tmp23, tmp24, tmp25, tmp26, tmp27, tmp29, tmp25, tmp30);
     175         112 :     if (label0.is_used()) {
     176         112 :       ca_.Bind(&label0);
     177             :       ca_.Goto(&block8, tmp23, tmp24, tmp25, tmp26, tmp27, tmp29, tmp25);
     178             :     }
     179             :   }
     180             : 
     181         112 :   if (block8.is_used()) {
     182             :     compiler::TNode<String> tmp31;
     183             :     compiler::TNode<String> tmp32;
     184             :     compiler::TNode<Number> tmp33;
     185             :     compiler::TNode<Smi> tmp34;
     186             :     compiler::TNode<String> tmp35;
     187             :     compiler::TNode<String> tmp36;
     188             :     compiler::TNode<Number> tmp37;
     189             :     ca_.Bind(&block8, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37);
     190             :     ca_.Goto(&block1);
     191             :   }
     192             : 
     193         112 :   if (block7.is_used()) {
     194             :     compiler::TNode<String> tmp38;
     195             :     compiler::TNode<String> tmp39;
     196             :     compiler::TNode<Number> tmp40;
     197             :     compiler::TNode<Smi> tmp41;
     198             :     compiler::TNode<String> tmp42;
     199             :     compiler::TNode<String> tmp43;
     200             :     compiler::TNode<Number> tmp44;
     201             :     compiler::TNode<Smi> tmp45;
     202             :     ca_.Bind(&block7, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
     203         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 13);
     204             :     compiler::TNode<IntPtrT> tmp46;
     205             :     USE(tmp46);
     206         336 :     tmp46 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
     207         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 14);
     208             :     compiler::TNode<IntPtrT> tmp47;
     209             :     USE(tmp47);
     210         336 :     tmp47 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp45}));
     211         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 15);
     212             :     compiler::TNode<IntPtrT> tmp48;
     213             :     USE(tmp48);
     214         336 :     tmp48 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp41}));
     215         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 17);
     216             :     ca_.Goto(&block11, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp45, tmp46, tmp47, tmp48);
     217             :   }
     218             : 
     219         112 :   if (block11.is_used()) {
     220             :     compiler::TNode<String> tmp49;
     221             :     compiler::TNode<String> tmp50;
     222             :     compiler::TNode<Number> tmp51;
     223             :     compiler::TNode<Smi> tmp52;
     224             :     compiler::TNode<String> tmp53;
     225             :     compiler::TNode<String> tmp54;
     226             :     compiler::TNode<Smi> tmp55;
     227             :     compiler::TNode<IntPtrT> tmp56;
     228             :     compiler::TNode<IntPtrT> tmp57;
     229             :     compiler::TNode<IntPtrT> tmp58;
     230             :     ca_.Bind(&block11, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
     231             :     compiler::TNode<BoolT> tmp59;
     232             :     USE(tmp59);
     233         448 :     tmp59 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp56}, compiler::TNode<IntPtrT>{tmp58}));
     234         112 :     ca_.Branch(tmp59, &block9, &block10, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58);
     235             :   }
     236             : 
     237         112 :   if (block9.is_used()) {
     238             :     compiler::TNode<String> tmp60;
     239             :     compiler::TNode<String> tmp61;
     240             :     compiler::TNode<Number> tmp62;
     241             :     compiler::TNode<Smi> tmp63;
     242             :     compiler::TNode<String> tmp64;
     243             :     compiler::TNode<String> tmp65;
     244             :     compiler::TNode<Smi> tmp66;
     245             :     compiler::TNode<IntPtrT> tmp67;
     246             :     compiler::TNode<IntPtrT> tmp68;
     247             :     compiler::TNode<IntPtrT> tmp69;
     248             :     ca_.Bind(&block9, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
     249         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 18);
     250             :     compiler::TNode<Int32T> tmp70;
     251             :     USE(tmp70);
     252         448 :     tmp70 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).StringCharCodeAt(compiler::TNode<String>{tmp65}, compiler::TNode<IntPtrT>{tmp67}));
     253         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 19);
     254             :     compiler::TNode<Int32T> tmp71;
     255             :     USE(tmp71);
     256         448 :     tmp71 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).StringCharCodeAt(compiler::TNode<String>{tmp64}, compiler::TNode<IntPtrT>{tmp68}));
     257         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 18);
     258             :     compiler::TNode<BoolT> tmp72;
     259             :     USE(tmp72);
     260         224 :     tmp72 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32NotEqual(compiler::TNode<Int32T>{tmp70}, compiler::TNode<Int32T>{tmp71}));
     261         112 :     ca_.Branch(tmp72, &block12, &block13, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69);
     262             :   }
     263             : 
     264         112 :   if (block12.is_used()) {
     265             :     compiler::TNode<String> tmp73;
     266             :     compiler::TNode<String> tmp74;
     267             :     compiler::TNode<Number> tmp75;
     268             :     compiler::TNode<Smi> tmp76;
     269             :     compiler::TNode<String> tmp77;
     270             :     compiler::TNode<String> tmp78;
     271             :     compiler::TNode<Smi> tmp79;
     272             :     compiler::TNode<IntPtrT> tmp80;
     273             :     compiler::TNode<IntPtrT> tmp81;
     274             :     compiler::TNode<IntPtrT> tmp82;
     275             :     ca_.Bind(&block12, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82);
     276         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 20);
     277             :     compiler::TNode<Oddball> tmp83;
     278             :     USE(tmp83);
     279         336 :     tmp83 = BaseBuiltinsFromDSLAssembler(state_).False();
     280             :     ca_.Goto(&block2, tmp73, tmp74, tmp75, tmp76, tmp83);
     281             :   }
     282             : 
     283         112 :   if (block13.is_used()) {
     284             :     compiler::TNode<String> tmp84;
     285             :     compiler::TNode<String> tmp85;
     286             :     compiler::TNode<Number> tmp86;
     287             :     compiler::TNode<Smi> tmp87;
     288             :     compiler::TNode<String> tmp88;
     289             :     compiler::TNode<String> tmp89;
     290             :     compiler::TNode<Smi> tmp90;
     291             :     compiler::TNode<IntPtrT> tmp91;
     292             :     compiler::TNode<IntPtrT> tmp92;
     293             :     compiler::TNode<IntPtrT> tmp93;
     294             :     ca_.Bind(&block13, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93);
     295         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 23);
     296             :     compiler::TNode<IntPtrT> tmp94;
     297             :     USE(tmp94);
     298         336 :     tmp94 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
     299             :     compiler::TNode<IntPtrT> tmp95;
     300             :     USE(tmp95);
     301         224 :     tmp95 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp91}, compiler::TNode<IntPtrT>{tmp94}));
     302         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 24);
     303             :     compiler::TNode<IntPtrT> tmp96;
     304             :     USE(tmp96);
     305         336 :     tmp96 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
     306             :     compiler::TNode<IntPtrT> tmp97;
     307             :     USE(tmp97);
     308         224 :     tmp97 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp92}, compiler::TNode<IntPtrT>{tmp96}));
     309         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 17);
     310             :     ca_.Goto(&block11, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp95, tmp97, tmp93);
     311             :   }
     312             : 
     313         112 :   if (block10.is_used()) {
     314             :     compiler::TNode<String> tmp98;
     315             :     compiler::TNode<String> tmp99;
     316             :     compiler::TNode<Number> tmp100;
     317             :     compiler::TNode<Smi> tmp101;
     318             :     compiler::TNode<String> tmp102;
     319             :     compiler::TNode<String> tmp103;
     320             :     compiler::TNode<Smi> tmp104;
     321             :     compiler::TNode<IntPtrT> tmp105;
     322             :     compiler::TNode<IntPtrT> tmp106;
     323             :     compiler::TNode<IntPtrT> tmp107;
     324             :     ca_.Bind(&block10, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107);
     325         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 26);
     326             :     compiler::TNode<Oddball> tmp108;
     327             :     USE(tmp108);
     328         336 :     tmp108 = BaseBuiltinsFromDSLAssembler(state_).True();
     329             :     ca_.Goto(&block2, tmp98, tmp99, tmp100, tmp101, tmp108);
     330             :   }
     331             : 
     332         112 :   if (block2.is_used()) {
     333             :     compiler::TNode<String> tmp109;
     334             :     compiler::TNode<String> tmp110;
     335             :     compiler::TNode<Number> tmp111;
     336             :     compiler::TNode<Smi> tmp112;
     337             :     compiler::TNode<Oddball> tmp113;
     338             :     ca_.Bind(&block2, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113);
     339         112 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 6);
     340             :     ca_.Goto(&block14, tmp109, tmp110, tmp111, tmp112, tmp113);
     341             :   }
     342             : 
     343         112 :   if (block1.is_used()) {
     344             :     ca_.Bind(&block1);
     345         112 :     ca_.Goto(label_Slow);
     346             :   }
     347             : 
     348             :     compiler::TNode<String> tmp114;
     349             :     compiler::TNode<String> tmp115;
     350             :     compiler::TNode<Number> tmp116;
     351             :     compiler::TNode<Smi> tmp117;
     352             :     compiler::TNode<Oddball> tmp118;
     353             :     ca_.Bind(&block14, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
     354         224 :   return compiler::TNode<Oddball>{tmp118};
     355             : }
     356             : 
     357         224 : TF_BUILTIN(StringPrototypeEndsWith, CodeStubAssembler) {
     358          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     359             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     360             :   USE(parameter0);
     361             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
     362          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
     363          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
     364          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
     365             :   CodeStubArguments arguments(this, torque_arguments);
     366          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
     367             : USE(parameter1);
     368             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     369             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     370             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     371             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     372             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     373             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     374             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     375             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi, Number, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     376             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi, Number, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     377             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     378             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     379             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi, Number, String, String, Number, Smi> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     380             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi, Number, String, String, Number, Smi, Oddball> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     381             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     382             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
     383             : 
     384          56 :   if (block0.is_used()) {
     385             :     compiler::TNode<Context> tmp0;
     386             :     compiler::TNode<Object> tmp1;
     387             :     compiler::TNode<RawPtrT> tmp2;
     388             :     compiler::TNode<RawPtrT> tmp3;
     389             :     compiler::TNode<IntPtrT> tmp4;
     390             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     391          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 32);
     392             :     compiler::TNode<IntPtrT> tmp5;
     393             :     USE(tmp5);
     394         112 :     tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
     395             :     compiler::TNode<Object> tmp6;
     396             :     USE(tmp6);
     397         112 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
     398          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 33);
     399             :     compiler::TNode<IntPtrT> tmp7;
     400             :     USE(tmp7);
     401         112 :     tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
     402             :     compiler::TNode<Object> tmp8;
     403             :     USE(tmp8);
     404         112 :     tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp7}));
     405          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 36);
     406             :     compiler::TNode<Object> tmp9;
     407             :     USE(tmp9);
     408         112 :     tmp9 = ca_.UncheckedCast<Object>(StringBuiltinsFromDSLAssembler(state_).RequireObjectCoercible(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     409          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 39);
     410             :     compiler::TNode<String> tmp10;
     411             :     USE(tmp10);
     412         168 :     tmp10 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp9}));
     413          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 43);
     414             :     compiler::TNode<BoolT> tmp11;
     415             :     USE(tmp11);
     416         112 :     tmp11 = ca_.UncheckedCast<BoolT>(RegExpBuiltinsAssembler(state_).IsRegExp(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp6}));
     417          56 :     ca_.Branch(tmp11, &block1, &block2, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp8, tmp9, tmp10);
     418             :   }
     419             : 
     420          56 :   if (block1.is_used()) {
     421             :     compiler::TNode<Context> tmp12;
     422             :     compiler::TNode<Object> tmp13;
     423             :     compiler::TNode<RawPtrT> tmp14;
     424             :     compiler::TNode<RawPtrT> tmp15;
     425             :     compiler::TNode<IntPtrT> tmp16;
     426             :     compiler::TNode<Object> tmp17;
     427             :     compiler::TNode<Object> tmp18;
     428             :     compiler::TNode<Object> tmp19;
     429             :     compiler::TNode<String> tmp20;
     430             :     ca_.Bind(&block1, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
     431          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 44);
     432         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp12}, MessageTemplate::kFirstArgumentNotRegExp, "String.prototype.endsWith");
     433             :   }
     434             : 
     435          56 :   if (block2.is_used()) {
     436             :     compiler::TNode<Context> tmp21;
     437             :     compiler::TNode<Object> tmp22;
     438             :     compiler::TNode<RawPtrT> tmp23;
     439             :     compiler::TNode<RawPtrT> tmp24;
     440             :     compiler::TNode<IntPtrT> tmp25;
     441             :     compiler::TNode<Object> tmp26;
     442             :     compiler::TNode<Object> tmp27;
     443             :     compiler::TNode<Object> tmp28;
     444             :     compiler::TNode<String> tmp29;
     445             :     ca_.Bind(&block2, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
     446          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 48);
     447             :     compiler::TNode<String> tmp30;
     448             :     USE(tmp30);
     449         224 :     tmp30 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp21}, compiler::TNode<Object>{tmp26}));
     450          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 51);
     451             :     compiler::TNode<Smi> tmp31;
     452             :     USE(tmp31);
     453         168 :     tmp31 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadStringLengthAsSmi(compiler::TNode<String>{tmp29}));
     454          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 55);
     455             :     compiler::TNode<Oddball> tmp32;
     456             :     USE(tmp32);
     457         112 :     tmp32 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     458             :     compiler::TNode<BoolT> tmp33;
     459             :     USE(tmp33);
     460         112 :     tmp33 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp27}, compiler::TNode<HeapObject>{tmp32}));
     461          56 :     ca_.Branch(tmp33, &block3, &block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31);
     462             :   }
     463             : 
     464          56 :   if (block3.is_used()) {
     465             :     compiler::TNode<Context> tmp34;
     466             :     compiler::TNode<Object> tmp35;
     467             :     compiler::TNode<RawPtrT> tmp36;
     468             :     compiler::TNode<RawPtrT> tmp37;
     469             :     compiler::TNode<IntPtrT> tmp38;
     470             :     compiler::TNode<Object> tmp39;
     471             :     compiler::TNode<Object> tmp40;
     472             :     compiler::TNode<Object> tmp41;
     473             :     compiler::TNode<String> tmp42;
     474             :     compiler::TNode<String> tmp43;
     475             :     compiler::TNode<Number> tmp44;
     476             :     ca_.Bind(&block3, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44);
     477          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 56);
     478          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 55);
     479             :     ca_.Goto(&block6, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp44);
     480             :   }
     481             : 
     482          56 :   if (block4.is_used()) {
     483             :     compiler::TNode<Context> tmp45;
     484             :     compiler::TNode<Object> tmp46;
     485             :     compiler::TNode<RawPtrT> tmp47;
     486             :     compiler::TNode<RawPtrT> tmp48;
     487             :     compiler::TNode<IntPtrT> tmp49;
     488             :     compiler::TNode<Object> tmp50;
     489             :     compiler::TNode<Object> tmp51;
     490             :     compiler::TNode<Object> tmp52;
     491             :     compiler::TNode<String> tmp53;
     492             :     compiler::TNode<String> tmp54;
     493             :     compiler::TNode<Number> tmp55;
     494             :     ca_.Bind(&block4, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55);
     495          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 57);
     496             :     compiler::TNode<Number> tmp56;
     497             :     USE(tmp56);
     498         224 :     tmp56 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ToInteger_Inline(compiler::TNode<Context>{tmp45}, compiler::TNode<Object>{tmp51}));
     499          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 55);
     500             :     ca_.Goto(&block5, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56);
     501             :   }
     502             : 
     503          56 :   if (block6.is_used()) {
     504             :     compiler::TNode<Context> tmp57;
     505             :     compiler::TNode<Object> tmp58;
     506             :     compiler::TNode<RawPtrT> tmp59;
     507             :     compiler::TNode<RawPtrT> tmp60;
     508             :     compiler::TNode<IntPtrT> tmp61;
     509             :     compiler::TNode<Object> tmp62;
     510             :     compiler::TNode<Object> tmp63;
     511             :     compiler::TNode<Object> tmp64;
     512             :     compiler::TNode<String> tmp65;
     513             :     compiler::TNode<String> tmp66;
     514             :     compiler::TNode<Number> tmp67;
     515             :     compiler::TNode<Number> tmp68;
     516             :     ca_.Bind(&block6, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68);
     517             :     ca_.Goto(&block5, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68);
     518             :   }
     519             : 
     520          56 :   if (block5.is_used()) {
     521             :     compiler::TNode<Context> tmp69;
     522             :     compiler::TNode<Object> tmp70;
     523             :     compiler::TNode<RawPtrT> tmp71;
     524             :     compiler::TNode<RawPtrT> tmp72;
     525             :     compiler::TNode<IntPtrT> tmp73;
     526             :     compiler::TNode<Object> tmp74;
     527             :     compiler::TNode<Object> tmp75;
     528             :     compiler::TNode<Object> tmp76;
     529             :     compiler::TNode<String> tmp77;
     530             :     compiler::TNode<String> tmp78;
     531             :     compiler::TNode<Number> tmp79;
     532             :     compiler::TNode<Number> tmp80;
     533             :     ca_.Bind(&block5, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80);
     534          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 60);
     535             :     compiler::TNode<Number> tmp81;
     536             :     USE(tmp81);
     537         112 :     tmp81 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
     538             :     compiler::TNode<Number> tmp82;
     539             :     USE(tmp82);
     540         168 :     tmp82 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberMax(compiler::TNode<Number>{tmp80}, compiler::TNode<Number>{tmp81}));
     541             :     compiler::TNode<Number> tmp83;
     542             :     USE(tmp83);
     543         168 :     tmp83 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberMin(compiler::TNode<Number>{tmp82}, compiler::TNode<Number>{tmp79}));
     544          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 63);
     545             :     compiler::TNode<Smi> tmp84;
     546             :     USE(tmp84);
     547         168 :     tmp84 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadStringLengthAsSmi(compiler::TNode<String>{tmp78}));
     548          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 66);
     549             :     compiler::TNode<Number> tmp85;
     550             :     USE(tmp85);
     551         112 :     tmp85 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp83}, compiler::TNode<Number>{tmp84}));
     552          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 69);
     553             :     compiler::TNode<Number> tmp86;
     554             :     USE(tmp86);
     555         112 :     tmp86 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
     556          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     557          56 :     compiler::CodeAssemblerLabel label1(&ca_);
     558         112 :     CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp85}, compiler::TNode<Number>{tmp86}, &label0, &label1);
     559          56 :     if (label0.is_used()) {
     560          56 :       ca_.Bind(&label0);
     561             :       ca_.Goto(&block9, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp83, tmp84, tmp85, tmp85);
     562             :     }
     563          56 :     if (label1.is_used()) {
     564          56 :       ca_.Bind(&label1);
     565             :       ca_.Goto(&block10, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp83, tmp84, tmp85, tmp85);
     566             :     }
     567             :   }
     568             : 
     569          56 :   if (block9.is_used()) {
     570             :     compiler::TNode<Context> tmp87;
     571             :     compiler::TNode<Object> tmp88;
     572             :     compiler::TNode<RawPtrT> tmp89;
     573             :     compiler::TNode<RawPtrT> tmp90;
     574             :     compiler::TNode<IntPtrT> tmp91;
     575             :     compiler::TNode<Object> tmp92;
     576             :     compiler::TNode<Object> tmp93;
     577             :     compiler::TNode<Object> tmp94;
     578             :     compiler::TNode<String> tmp95;
     579             :     compiler::TNode<String> tmp96;
     580             :     compiler::TNode<Number> tmp97;
     581             :     compiler::TNode<Number> tmp98;
     582             :     compiler::TNode<Number> tmp99;
     583             :     compiler::TNode<Smi> tmp100;
     584             :     compiler::TNode<Number> tmp101;
     585             :     compiler::TNode<Number> tmp102;
     586             :     ca_.Bind(&block9, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102);
     587             :     ca_.Goto(&block7, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101);
     588             :   }
     589             : 
     590          56 :   if (block10.is_used()) {
     591             :     compiler::TNode<Context> tmp103;
     592             :     compiler::TNode<Object> tmp104;
     593             :     compiler::TNode<RawPtrT> tmp105;
     594             :     compiler::TNode<RawPtrT> tmp106;
     595             :     compiler::TNode<IntPtrT> tmp107;
     596             :     compiler::TNode<Object> tmp108;
     597             :     compiler::TNode<Object> tmp109;
     598             :     compiler::TNode<Object> tmp110;
     599             :     compiler::TNode<String> tmp111;
     600             :     compiler::TNode<String> tmp112;
     601             :     compiler::TNode<Number> tmp113;
     602             :     compiler::TNode<Number> tmp114;
     603             :     compiler::TNode<Number> tmp115;
     604             :     compiler::TNode<Smi> tmp116;
     605             :     compiler::TNode<Number> tmp117;
     606             :     compiler::TNode<Number> tmp118;
     607             :     ca_.Bind(&block10, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
     608             :     ca_.Goto(&block8, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117);
     609             :   }
     610             : 
     611          56 :   if (block7.is_used()) {
     612             :     compiler::TNode<Context> tmp119;
     613             :     compiler::TNode<Object> tmp120;
     614             :     compiler::TNode<RawPtrT> tmp121;
     615             :     compiler::TNode<RawPtrT> tmp122;
     616             :     compiler::TNode<IntPtrT> tmp123;
     617             :     compiler::TNode<Object> tmp124;
     618             :     compiler::TNode<Object> tmp125;
     619             :     compiler::TNode<Object> tmp126;
     620             :     compiler::TNode<String> tmp127;
     621             :     compiler::TNode<String> tmp128;
     622             :     compiler::TNode<Number> tmp129;
     623             :     compiler::TNode<Number> tmp130;
     624             :     compiler::TNode<Number> tmp131;
     625             :     compiler::TNode<Smi> tmp132;
     626             :     compiler::TNode<Number> tmp133;
     627             :     ca_.Bind(&block7, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133);
     628             :     compiler::TNode<Oddball> tmp134;
     629             :     USE(tmp134);
     630         112 :     tmp134 = BaseBuiltinsFromDSLAssembler(state_).False();
     631          56 :     arguments.PopAndReturn(tmp134);
     632             :   }
     633             : 
     634          56 :   if (block8.is_used()) {
     635             :     compiler::TNode<Context> tmp135;
     636             :     compiler::TNode<Object> tmp136;
     637             :     compiler::TNode<RawPtrT> tmp137;
     638             :     compiler::TNode<RawPtrT> tmp138;
     639             :     compiler::TNode<IntPtrT> tmp139;
     640             :     compiler::TNode<Object> tmp140;
     641             :     compiler::TNode<Object> tmp141;
     642             :     compiler::TNode<Object> tmp142;
     643             :     compiler::TNode<String> tmp143;
     644             :     compiler::TNode<String> tmp144;
     645             :     compiler::TNode<Number> tmp145;
     646             :     compiler::TNode<Number> tmp146;
     647             :     compiler::TNode<Number> tmp147;
     648             :     compiler::TNode<Smi> tmp148;
     649             :     compiler::TNode<Number> tmp149;
     650             :     ca_.Bind(&block8, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149);
     651          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 78);
     652          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 77);
     653             :     compiler::TNode<Oddball> tmp150;
     654             :     USE(tmp150);
     655          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     656         112 :     tmp150 = StringBuiltinsFromDSLAssembler(state_).TryFastStringCompareSequence(compiler::TNode<String>{tmp143}, compiler::TNode<String>{tmp144}, compiler::TNode<Number>{tmp149}, compiler::TNode<Smi>{tmp148}, &label0);
     657             :     ca_.Goto(&block13, tmp135, tmp136, tmp137, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp143, tmp144, tmp149, tmp148, tmp150);
     658          56 :     if (label0.is_used()) {
     659          56 :       ca_.Bind(&label0);
     660             :       ca_.Goto(&block14, tmp135, tmp136, tmp137, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp143, tmp144, tmp149, tmp148);
     661             :     }
     662             :   }
     663             : 
     664          56 :   if (block14.is_used()) {
     665             :     compiler::TNode<Context> tmp151;
     666             :     compiler::TNode<Object> tmp152;
     667             :     compiler::TNode<RawPtrT> tmp153;
     668             :     compiler::TNode<RawPtrT> tmp154;
     669             :     compiler::TNode<IntPtrT> tmp155;
     670             :     compiler::TNode<Object> tmp156;
     671             :     compiler::TNode<Object> tmp157;
     672             :     compiler::TNode<Object> tmp158;
     673             :     compiler::TNode<String> tmp159;
     674             :     compiler::TNode<String> tmp160;
     675             :     compiler::TNode<Number> tmp161;
     676             :     compiler::TNode<Number> tmp162;
     677             :     compiler::TNode<Number> tmp163;
     678             :     compiler::TNode<Smi> tmp164;
     679             :     compiler::TNode<Number> tmp165;
     680             :     compiler::TNode<String> tmp166;
     681             :     compiler::TNode<String> tmp167;
     682             :     compiler::TNode<Number> tmp168;
     683             :     compiler::TNode<Smi> tmp169;
     684             :     ca_.Bind(&block14, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169);
     685             :     ca_.Goto(&block12, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165);
     686             :   }
     687             : 
     688          56 :   if (block13.is_used()) {
     689             :     compiler::TNode<Context> tmp170;
     690             :     compiler::TNode<Object> tmp171;
     691             :     compiler::TNode<RawPtrT> tmp172;
     692             :     compiler::TNode<RawPtrT> tmp173;
     693             :     compiler::TNode<IntPtrT> tmp174;
     694             :     compiler::TNode<Object> tmp175;
     695             :     compiler::TNode<Object> tmp176;
     696             :     compiler::TNode<Object> tmp177;
     697             :     compiler::TNode<String> tmp178;
     698             :     compiler::TNode<String> tmp179;
     699             :     compiler::TNode<Number> tmp180;
     700             :     compiler::TNode<Number> tmp181;
     701             :     compiler::TNode<Number> tmp182;
     702             :     compiler::TNode<Smi> tmp183;
     703             :     compiler::TNode<Number> tmp184;
     704             :     compiler::TNode<String> tmp185;
     705             :     compiler::TNode<String> tmp186;
     706             :     compiler::TNode<Number> tmp187;
     707             :     compiler::TNode<Smi> tmp188;
     708             :     compiler::TNode<Oddball> tmp189;
     709             :     ca_.Bind(&block13, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189);
     710          56 :     arguments.PopAndReturn(tmp189);
     711             :   }
     712             : 
     713          56 :   if (block12.is_used()) {
     714             :     compiler::TNode<Context> tmp190;
     715             :     compiler::TNode<Object> tmp191;
     716             :     compiler::TNode<RawPtrT> tmp192;
     717             :     compiler::TNode<RawPtrT> tmp193;
     718             :     compiler::TNode<IntPtrT> tmp194;
     719             :     compiler::TNode<Object> tmp195;
     720             :     compiler::TNode<Object> tmp196;
     721             :     compiler::TNode<Object> tmp197;
     722             :     compiler::TNode<String> tmp198;
     723             :     compiler::TNode<String> tmp199;
     724             :     compiler::TNode<Number> tmp200;
     725             :     compiler::TNode<Number> tmp201;
     726             :     compiler::TNode<Number> tmp202;
     727             :     compiler::TNode<Smi> tmp203;
     728             :     compiler::TNode<Number> tmp204;
     729             :     ca_.Bind(&block12, &tmp190, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204);
     730          56 :     ca_.SetSourcePosition("../../src/builtins/string-endswith.tq", 82);
     731             :     compiler::TNode<Oddball> tmp205;
     732         112 :     tmp205 = TORQUE_CAST(CodeStubAssembler(state_).CallRuntime(Runtime::kStringCompareSequence, tmp190, tmp198, tmp199, tmp204));
     733             :     USE(tmp205);
     734          56 :     arguments.PopAndReturn(tmp205);
     735             :   }
     736          56 : }
     737             : 
     738         112 : compiler::TNode<Object> StringBuiltinsFromDSLAssembler::RequireObjectCoercible(compiler::TNode<Context> p_context, compiler::TNode<Object> p_argument) {
     739         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     740             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     741             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     742             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     743             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     744             :     ca_.Goto(&block0, p_context, p_argument);
     745             : 
     746         112 :   if (block0.is_used()) {
     747             :     compiler::TNode<Context> tmp0;
     748             :     compiler::TNode<Object> tmp1;
     749             :     ca_.Bind(&block0, &tmp0, &tmp1);
     750         112 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 14);
     751             :     compiler::TNode<BoolT> tmp2;
     752             :     USE(tmp2);
     753         336 :     tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp1}));
     754         112 :     ca_.Branch(tmp2, &block2, &block3, tmp0, tmp1);
     755             :   }
     756             : 
     757         112 :   if (block2.is_used()) {
     758             :     compiler::TNode<Context> tmp3;
     759             :     compiler::TNode<Object> tmp4;
     760             :     ca_.Bind(&block2, &tmp3, &tmp4);
     761         112 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 15);
     762         224 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp3}, MessageTemplate::kCalledOnNullOrUndefined, "String.prototype.startsWith");
     763             :   }
     764             : 
     765         112 :   if (block3.is_used()) {
     766             :     compiler::TNode<Context> tmp5;
     767             :     compiler::TNode<Object> tmp6;
     768             :     ca_.Bind(&block3, &tmp5, &tmp6);
     769         112 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 17);
     770             :     ca_.Goto(&block1, tmp5, tmp6, tmp6);
     771             :   }
     772             : 
     773         112 :   if (block1.is_used()) {
     774             :     compiler::TNode<Context> tmp7;
     775             :     compiler::TNode<Object> tmp8;
     776             :     compiler::TNode<Object> tmp9;
     777             :     ca_.Bind(&block1, &tmp7, &tmp8, &tmp9);
     778         112 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 12);
     779             :     ca_.Goto(&block4, tmp7, tmp8, tmp9);
     780             :   }
     781             : 
     782             :     compiler::TNode<Context> tmp10;
     783             :     compiler::TNode<Object> tmp11;
     784             :     compiler::TNode<Object> tmp12;
     785             :     ca_.Bind(&block4, &tmp10, &tmp11, &tmp12);
     786         224 :   return compiler::TNode<Object>{tmp12};
     787             : }
     788             : 
     789         224 : TF_BUILTIN(StringPrototypeStartsWith, CodeStubAssembler) {
     790          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     791             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     792             :   USE(parameter0);
     793             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
     794          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
     795          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
     796          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
     797             :   CodeStubArguments arguments(this, torque_arguments);
     798          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
     799             : USE(parameter1);
     800             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     801             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     802             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     803             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     804             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     805             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     806             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     807             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi, String, String, Number, Smi> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     808             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi, String, String, Number, Smi, Oddball> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     809             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object, Object, Object, String, String, Number, Number, Number, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     810             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
     811             : 
     812          56 :   if (block0.is_used()) {
     813             :     compiler::TNode<Context> tmp0;
     814             :     compiler::TNode<Object> tmp1;
     815             :     compiler::TNode<RawPtrT> tmp2;
     816             :     compiler::TNode<RawPtrT> tmp3;
     817             :     compiler::TNode<IntPtrT> tmp4;
     818             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     819          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 23);
     820             :     compiler::TNode<IntPtrT> tmp5;
     821             :     USE(tmp5);
     822         112 :     tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
     823             :     compiler::TNode<Object> tmp6;
     824             :     USE(tmp6);
     825         112 :     tmp6 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp5}));
     826          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 24);
     827             :     compiler::TNode<IntPtrT> tmp7;
     828             :     USE(tmp7);
     829         112 :     tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
     830             :     compiler::TNode<Object> tmp8;
     831             :     USE(tmp8);
     832         112 :     tmp8 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp2}, compiler::TNode<RawPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4}}, compiler::TNode<IntPtrT>{tmp7}));
     833          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 27);
     834             :     compiler::TNode<Object> tmp9;
     835             :     USE(tmp9);
     836         112 :     tmp9 = ca_.UncheckedCast<Object>(StringBuiltinsFromDSLAssembler(state_).RequireObjectCoercible(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     837          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 30);
     838             :     compiler::TNode<String> tmp10;
     839             :     USE(tmp10);
     840         168 :     tmp10 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp9}));
     841          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 34);
     842             :     compiler::TNode<BoolT> tmp11;
     843             :     USE(tmp11);
     844         112 :     tmp11 = ca_.UncheckedCast<BoolT>(RegExpBuiltinsAssembler(state_).IsRegExp(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp6}));
     845          56 :     ca_.Branch(tmp11, &block1, &block2, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6, tmp8, tmp9, tmp10);
     846             :   }
     847             : 
     848          56 :   if (block1.is_used()) {
     849             :     compiler::TNode<Context> tmp12;
     850             :     compiler::TNode<Object> tmp13;
     851             :     compiler::TNode<RawPtrT> tmp14;
     852             :     compiler::TNode<RawPtrT> tmp15;
     853             :     compiler::TNode<IntPtrT> tmp16;
     854             :     compiler::TNode<Object> tmp17;
     855             :     compiler::TNode<Object> tmp18;
     856             :     compiler::TNode<Object> tmp19;
     857             :     compiler::TNode<String> tmp20;
     858             :     ca_.Bind(&block1, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
     859          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 35);
     860         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp12}, MessageTemplate::kFirstArgumentNotRegExp, "String.prototype.startsWith");
     861             :   }
     862             : 
     863          56 :   if (block2.is_used()) {
     864             :     compiler::TNode<Context> tmp21;
     865             :     compiler::TNode<Object> tmp22;
     866             :     compiler::TNode<RawPtrT> tmp23;
     867             :     compiler::TNode<RawPtrT> tmp24;
     868             :     compiler::TNode<IntPtrT> tmp25;
     869             :     compiler::TNode<Object> tmp26;
     870             :     compiler::TNode<Object> tmp27;
     871             :     compiler::TNode<Object> tmp28;
     872             :     compiler::TNode<String> tmp29;
     873             :     ca_.Bind(&block2, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
     874          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 39);
     875             :     compiler::TNode<String> tmp30;
     876             :     USE(tmp30);
     877         224 :     tmp30 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).ToString_Inline(compiler::TNode<Context>{tmp21}, compiler::TNode<Object>{tmp26}));
     878          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 42);
     879             :     compiler::TNode<Number> tmp31;
     880             :     USE(tmp31);
     881         224 :     tmp31 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ToInteger_Inline(compiler::TNode<Context>{tmp21}, compiler::TNode<Object>{tmp27}));
     882          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 46);
     883             :     compiler::TNode<Smi> tmp32;
     884             :     USE(tmp32);
     885         168 :     tmp32 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadStringLengthAsSmi(compiler::TNode<String>{tmp29}));
     886          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 49);
     887             :     compiler::TNode<Number> tmp33;
     888             :     USE(tmp33);
     889         112 :     tmp33 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
     890             :     compiler::TNode<Number> tmp34;
     891             :     USE(tmp34);
     892         112 :     tmp34 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberMax(compiler::TNode<Number>{tmp31}, compiler::TNode<Number>{tmp33}));
     893             :     compiler::TNode<Number> tmp35;
     894             :     USE(tmp35);
     895         112 :     tmp35 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberMin(compiler::TNode<Number>{tmp34}, compiler::TNode<Number>{tmp32}));
     896          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 52);
     897             :     compiler::TNode<Smi> tmp36;
     898             :     USE(tmp36);
     899         112 :     tmp36 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadStringLengthAsSmi(compiler::TNode<String>{tmp30}));
     900          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 55);
     901             :     compiler::TNode<Number> tmp37;
     902             :     USE(tmp37);
     903         112 :     tmp37 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp36}, compiler::TNode<Number>{tmp35}));
     904          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     905          56 :     compiler::CodeAssemblerLabel label1(&ca_);
     906         112 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp37}, compiler::TNode<Number>{tmp32}, &label0, &label1);
     907          56 :     if (label0.is_used()) {
     908          56 :       ca_.Bind(&label0);
     909             :       ca_.Goto(&block5, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp35, tmp36, tmp37, tmp32);
     910             :     }
     911          56 :     if (label1.is_used()) {
     912          56 :       ca_.Bind(&label1);
     913             :       ca_.Goto(&block6, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp35, tmp36, tmp37, tmp32);
     914             :     }
     915             :   }
     916             : 
     917          56 :   if (block5.is_used()) {
     918             :     compiler::TNode<Context> tmp38;
     919             :     compiler::TNode<Object> tmp39;
     920             :     compiler::TNode<RawPtrT> tmp40;
     921             :     compiler::TNode<RawPtrT> tmp41;
     922             :     compiler::TNode<IntPtrT> tmp42;
     923             :     compiler::TNode<Object> tmp43;
     924             :     compiler::TNode<Object> tmp44;
     925             :     compiler::TNode<Object> tmp45;
     926             :     compiler::TNode<String> tmp46;
     927             :     compiler::TNode<String> tmp47;
     928             :     compiler::TNode<Number> tmp48;
     929             :     compiler::TNode<Number> tmp49;
     930             :     compiler::TNode<Number> tmp50;
     931             :     compiler::TNode<Smi> tmp51;
     932             :     compiler::TNode<Number> tmp52;
     933             :     compiler::TNode<Number> tmp53;
     934             :     ca_.Bind(&block5, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
     935             :     ca_.Goto(&block3, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51);
     936             :   }
     937             : 
     938          56 :   if (block6.is_used()) {
     939             :     compiler::TNode<Context> tmp54;
     940             :     compiler::TNode<Object> tmp55;
     941             :     compiler::TNode<RawPtrT> tmp56;
     942             :     compiler::TNode<RawPtrT> tmp57;
     943             :     compiler::TNode<IntPtrT> tmp58;
     944             :     compiler::TNode<Object> tmp59;
     945             :     compiler::TNode<Object> tmp60;
     946             :     compiler::TNode<Object> tmp61;
     947             :     compiler::TNode<String> tmp62;
     948             :     compiler::TNode<String> tmp63;
     949             :     compiler::TNode<Number> tmp64;
     950             :     compiler::TNode<Number> tmp65;
     951             :     compiler::TNode<Number> tmp66;
     952             :     compiler::TNode<Smi> tmp67;
     953             :     compiler::TNode<Number> tmp68;
     954             :     compiler::TNode<Number> tmp69;
     955             :     ca_.Bind(&block6, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
     956             :     ca_.Goto(&block4, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67);
     957             :   }
     958             : 
     959          56 :   if (block3.is_used()) {
     960             :     compiler::TNode<Context> tmp70;
     961             :     compiler::TNode<Object> tmp71;
     962             :     compiler::TNode<RawPtrT> tmp72;
     963             :     compiler::TNode<RawPtrT> tmp73;
     964             :     compiler::TNode<IntPtrT> tmp74;
     965             :     compiler::TNode<Object> tmp75;
     966             :     compiler::TNode<Object> tmp76;
     967             :     compiler::TNode<Object> tmp77;
     968             :     compiler::TNode<String> tmp78;
     969             :     compiler::TNode<String> tmp79;
     970             :     compiler::TNode<Number> tmp80;
     971             :     compiler::TNode<Number> tmp81;
     972             :     compiler::TNode<Number> tmp82;
     973             :     compiler::TNode<Smi> tmp83;
     974             :     ca_.Bind(&block3, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83);
     975             :     compiler::TNode<Oddball> tmp84;
     976             :     USE(tmp84);
     977         112 :     tmp84 = BaseBuiltinsFromDSLAssembler(state_).False();
     978          56 :     arguments.PopAndReturn(tmp84);
     979             :   }
     980             : 
     981          56 :   if (block4.is_used()) {
     982             :     compiler::TNode<Context> tmp85;
     983             :     compiler::TNode<Object> tmp86;
     984             :     compiler::TNode<RawPtrT> tmp87;
     985             :     compiler::TNode<RawPtrT> tmp88;
     986             :     compiler::TNode<IntPtrT> tmp89;
     987             :     compiler::TNode<Object> tmp90;
     988             :     compiler::TNode<Object> tmp91;
     989             :     compiler::TNode<Object> tmp92;
     990             :     compiler::TNode<String> tmp93;
     991             :     compiler::TNode<String> tmp94;
     992             :     compiler::TNode<Number> tmp95;
     993             :     compiler::TNode<Number> tmp96;
     994             :     compiler::TNode<Number> tmp97;
     995             :     compiler::TNode<Smi> tmp98;
     996             :     ca_.Bind(&block4, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98);
     997          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 64);
     998          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 63);
     999             :     compiler::TNode<Oddball> tmp99;
    1000             :     USE(tmp99);
    1001          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    1002         112 :     tmp99 = StringBuiltinsFromDSLAssembler(state_).TryFastStringCompareSequence(compiler::TNode<String>{tmp93}, compiler::TNode<String>{tmp94}, compiler::TNode<Number>{tmp97}, compiler::TNode<Smi>{tmp98}, &label0);
    1003             :     ca_.Goto(&block9, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp93, tmp94, tmp97, tmp98, tmp99);
    1004          56 :     if (label0.is_used()) {
    1005          56 :       ca_.Bind(&label0);
    1006             :       ca_.Goto(&block10, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp93, tmp94, tmp97, tmp98);
    1007             :     }
    1008             :   }
    1009             : 
    1010          56 :   if (block10.is_used()) {
    1011             :     compiler::TNode<Context> tmp100;
    1012             :     compiler::TNode<Object> tmp101;
    1013             :     compiler::TNode<RawPtrT> tmp102;
    1014             :     compiler::TNode<RawPtrT> tmp103;
    1015             :     compiler::TNode<IntPtrT> tmp104;
    1016             :     compiler::TNode<Object> tmp105;
    1017             :     compiler::TNode<Object> tmp106;
    1018             :     compiler::TNode<Object> tmp107;
    1019             :     compiler::TNode<String> tmp108;
    1020             :     compiler::TNode<String> tmp109;
    1021             :     compiler::TNode<Number> tmp110;
    1022             :     compiler::TNode<Number> tmp111;
    1023             :     compiler::TNode<Number> tmp112;
    1024             :     compiler::TNode<Smi> tmp113;
    1025             :     compiler::TNode<String> tmp114;
    1026             :     compiler::TNode<String> tmp115;
    1027             :     compiler::TNode<Number> tmp116;
    1028             :     compiler::TNode<Smi> tmp117;
    1029             :     ca_.Bind(&block10, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117);
    1030             :     ca_.Goto(&block8, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113);
    1031             :   }
    1032             : 
    1033          56 :   if (block9.is_used()) {
    1034             :     compiler::TNode<Context> tmp118;
    1035             :     compiler::TNode<Object> tmp119;
    1036             :     compiler::TNode<RawPtrT> tmp120;
    1037             :     compiler::TNode<RawPtrT> tmp121;
    1038             :     compiler::TNode<IntPtrT> tmp122;
    1039             :     compiler::TNode<Object> tmp123;
    1040             :     compiler::TNode<Object> tmp124;
    1041             :     compiler::TNode<Object> tmp125;
    1042             :     compiler::TNode<String> tmp126;
    1043             :     compiler::TNode<String> tmp127;
    1044             :     compiler::TNode<Number> tmp128;
    1045             :     compiler::TNode<Number> tmp129;
    1046             :     compiler::TNode<Number> tmp130;
    1047             :     compiler::TNode<Smi> tmp131;
    1048             :     compiler::TNode<String> tmp132;
    1049             :     compiler::TNode<String> tmp133;
    1050             :     compiler::TNode<Number> tmp134;
    1051             :     compiler::TNode<Smi> tmp135;
    1052             :     compiler::TNode<Oddball> tmp136;
    1053             :     ca_.Bind(&block9, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136);
    1054          56 :     arguments.PopAndReturn(tmp136);
    1055             :   }
    1056             : 
    1057          56 :   if (block8.is_used()) {
    1058             :     compiler::TNode<Context> tmp137;
    1059             :     compiler::TNode<Object> tmp138;
    1060             :     compiler::TNode<RawPtrT> tmp139;
    1061             :     compiler::TNode<RawPtrT> tmp140;
    1062             :     compiler::TNode<IntPtrT> tmp141;
    1063             :     compiler::TNode<Object> tmp142;
    1064             :     compiler::TNode<Object> tmp143;
    1065             :     compiler::TNode<Object> tmp144;
    1066             :     compiler::TNode<String> tmp145;
    1067             :     compiler::TNode<String> tmp146;
    1068             :     compiler::TNode<Number> tmp147;
    1069             :     compiler::TNode<Number> tmp148;
    1070             :     compiler::TNode<Number> tmp149;
    1071             :     compiler::TNode<Smi> tmp150;
    1072             :     ca_.Bind(&block8, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150);
    1073          56 :     ca_.SetSourcePosition("../../src/builtins/string-startswith.tq", 68);
    1074             :     compiler::TNode<Oddball> tmp151;
    1075         112 :     tmp151 = TORQUE_CAST(CodeStubAssembler(state_).CallRuntime(Runtime::kStringCompareSequence, tmp137, tmp145, tmp146, tmp149));
    1076             :     USE(tmp151);
    1077          56 :     arguments.PopAndReturn(tmp151);
    1078             :   }
    1079          56 : }
    1080             : 
    1081             : }  // namespace internal
    1082       59480 : }  // namespace v8
    1083             : 

Generated by: LCOV version 1.10