LCOV - code coverage report
Current view: top level - out/Release/gen/torque-generated - builtins-array-reverse-from-dsl-gen.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 377 377 100.0 %
Date: 2019-04-17 Functions: 14 14 100.0 %

          Line data    Source code
       1             : #include "src/builtins/builtins-utils-gen.h"
       2             : #include "src/builtins/builtins.h"
       3             : #include "src/code-factory.h"
       4             : #include "src/elements-kind.h"
       5             : #include "src/heap/factory-inl.h"
       6             : #include "src/objects.h"
       7             : #include "src/objects/arguments.h"
       8             : #include "src/objects/bigint.h"
       9             : #include "src/objects/free-space.h"
      10             : #include "src/objects/js-generator.h"
      11             : #include "src/objects/js-promise.h"
      12             : #include "src/objects/js-regexp-string-iterator.h"
      13             : #include "src/objects/module.h"
      14             : #include "src/objects/stack-frame-info.h"
      15             : #include "src/builtins/builtins-regexp-gen.h"
      16             : #include "src/builtins/builtins-array-gen.h"
      17             : #include "src/builtins/builtins-collections-gen.h"
      18             : #include "src/builtins/builtins-data-view-gen.h"
      19             : #include "src/builtins/builtins-iterator-gen.h"
      20             : #include "src/builtins/builtins-proxy-gen.h"
      21             : #include "src/builtins/builtins-proxy-gen.h"
      22             : #include "src/builtins/builtins-regexp-gen.h"
      23             : #include "src/builtins/builtins-regexp-gen.h"
      24             : #include "src/builtins/builtins-regexp-gen.h"
      25             : #include "src/builtins/builtins-typed-array-gen.h"
      26             : #include "src/builtins/builtins-constructor-gen.h"
      27             : #include "src/builtins/builtins-typed-array-gen.h"
      28             : #include "src/builtins/builtins-typed-array-gen.h"
      29             : #include "src/builtins/builtins-typed-array-gen.h"
      30             : #include "src/builtins/builtins-typed-array-gen.h"
      31             : #include "src/builtins/builtins-typed-array-gen.h"
      32             : #include "src/builtins/builtins-typed-array-gen.h"
      33             : #include "src/builtins/builtins-typed-array-gen.h"
      34             : #include "src/builtins/builtins-typed-array-gen.h"
      35             : #include "torque-generated/builtins-base-from-dsl-gen.h"
      36             : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
      37             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      38             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      39             : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
      40             : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
      41             : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
      42             : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
      43             : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
      44             : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
      45             : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
      46             : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
      47             : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
      48             : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
      49             : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
      50             : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
      51             : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
      52             : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
      53             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      54             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      55             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      56             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      57             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      58             : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
      59             : #include "torque-generated/builtins-regexp-from-dsl-gen.h"
      60             : #include "torque-generated/builtins-regexp-replace-from-dsl-gen.h"
      61             : #include "torque-generated/builtins-string-from-dsl-gen.h"
      62             : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
      63             : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
      64             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      65             : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
      66             : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
      67             : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
      68             : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
      69             : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
      70             : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
      71             : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
      72             : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
      73             : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
      74             : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
      75             : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
      76             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      77             : 
      78             : namespace v8 {
      79             : namespace internal {
      80             : 
      81         112 : compiler::TNode<Smi> ArrayReverseBuiltinsFromDSLAssembler::LoadElement23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index) {
      82         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      83             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      84             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      85             :     ca_.Goto(&block0, p_context, p_elements, p_index);
      86             : 
      87         112 :   if (block0.is_used()) {
      88             :     compiler::TNode<Context> tmp0;
      89             :     compiler::TNode<FixedArrayBase> tmp1;
      90             :     compiler::TNode<Smi> tmp2;
      91             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
      92         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 11);
      93             :     compiler::TNode<FixedArray> tmp3;
      94             :     USE(tmp3);
      95         336 :     tmp3 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
      96         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 12);
      97             :     compiler::TNode<Object> tmp4;
      98             :     USE(tmp4);
      99         224 :     tmp4 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp3}, compiler::TNode<Smi>{tmp2}));
     100             :     compiler::TNode<Smi> tmp5;
     101             :     USE(tmp5);
     102         336 :     tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
     103             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp5);
     104             :   }
     105             : 
     106         112 :   if (block1.is_used()) {
     107             :     compiler::TNode<Context> tmp6;
     108             :     compiler::TNode<FixedArrayBase> tmp7;
     109             :     compiler::TNode<Smi> tmp8;
     110             :     compiler::TNode<Smi> tmp9;
     111             :     ca_.Bind(&block1, &tmp6, &tmp7, &tmp8, &tmp9);
     112         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 6);
     113             :     ca_.Goto(&block2, tmp6, tmp7, tmp8, tmp9);
     114             :   }
     115             : 
     116             :     compiler::TNode<Context> tmp10;
     117             :     compiler::TNode<FixedArrayBase> tmp11;
     118             :     compiler::TNode<Smi> tmp12;
     119             :     compiler::TNode<Smi> tmp13;
     120             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13);
     121         224 :   return compiler::TNode<Smi>{tmp13};
     122             : }
     123             : 
     124         112 : compiler::TNode<Object> ArrayReverseBuiltinsFromDSLAssembler::LoadElement26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index) {
     125         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     126             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     127             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     128             :     ca_.Goto(&block0, p_context, p_elements, p_index);
     129             : 
     130         112 :   if (block0.is_used()) {
     131             :     compiler::TNode<Context> tmp0;
     132             :     compiler::TNode<FixedArrayBase> tmp1;
     133             :     compiler::TNode<Smi> tmp2;
     134             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     135         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 17);
     136             :     compiler::TNode<FixedArray> tmp3;
     137             :     USE(tmp3);
     138         336 :     tmp3 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     139         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 18);
     140             :     compiler::TNode<Object> tmp4;
     141             :     USE(tmp4);
     142         224 :     tmp4 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp3}, compiler::TNode<Smi>{tmp2}));
     143             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp4);
     144             :   }
     145             : 
     146         112 :   if (block1.is_used()) {
     147             :     compiler::TNode<Context> tmp5;
     148             :     compiler::TNode<FixedArrayBase> tmp6;
     149             :     compiler::TNode<Smi> tmp7;
     150             :     compiler::TNode<Object> tmp8;
     151             :     ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
     152         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 6);
     153             :     ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8);
     154             :   }
     155             : 
     156             :     compiler::TNode<Context> tmp9;
     157             :     compiler::TNode<FixedArrayBase> tmp10;
     158             :     compiler::TNode<Smi> tmp11;
     159             :     compiler::TNode<Object> tmp12;
     160             :     ca_.Bind(&block2, &tmp9, &tmp10, &tmp11, &tmp12);
     161         224 :   return compiler::TNode<Object>{tmp12};
     162             : }
     163             : 
     164         112 : compiler::TNode<Float64T> ArrayReverseBuiltinsFromDSLAssembler::LoadElement26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index) {
     165         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     166             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, FixedDoubleArray, FixedDoubleArray, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     167             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, FixedDoubleArray, FixedDoubleArray, Smi, Float64T> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     168             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, FixedDoubleArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     169             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, FixedDoubleArray, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     170             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     171             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Float64T> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     172             :     ca_.Goto(&block0, p_context, p_elements, p_index);
     173             : 
     174         112 :   if (block0.is_used()) {
     175             :     compiler::TNode<Context> tmp0;
     176             :     compiler::TNode<FixedArrayBase> tmp1;
     177             :     compiler::TNode<Smi> tmp2;
     178             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     179         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 24);
     180             :     compiler::TNode<FixedDoubleArray> tmp3;
     181             :     USE(tmp3);
     182         336 :     tmp3 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     183         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 27);
     184             :     compiler::TNode<Float64T> tmp4;
     185             :     USE(tmp4);
     186         112 :     compiler::CodeAssemblerLabel label0(&ca_);
     187         224 :     tmp4 = CodeStubAssembler(state_).LoadDoubleWithHoleCheck(compiler::TNode<FixedDoubleArray>{tmp3}, compiler::TNode<Smi>{tmp2}, &label0);
     188             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp3, tmp2, tmp4);
     189         112 :     if (label0.is_used()) {
     190         112 :       ca_.Bind(&label0);
     191             :       ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp3, tmp2);
     192             :     }
     193             :   }
     194             : 
     195         112 :   if (block5.is_used()) {
     196             :     compiler::TNode<Context> tmp5;
     197             :     compiler::TNode<FixedArrayBase> tmp6;
     198             :     compiler::TNode<Smi> tmp7;
     199             :     compiler::TNode<FixedDoubleArray> tmp8;
     200             :     compiler::TNode<FixedDoubleArray> tmp9;
     201             :     compiler::TNode<Smi> tmp10;
     202             :     ca_.Bind(&block5, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
     203             :     ca_.Goto(&block3, tmp5, tmp6, tmp7, tmp8);
     204             :   }
     205             : 
     206         112 :   if (block4.is_used()) {
     207             :     compiler::TNode<Context> tmp11;
     208             :     compiler::TNode<FixedArrayBase> tmp12;
     209             :     compiler::TNode<Smi> tmp13;
     210             :     compiler::TNode<FixedDoubleArray> tmp14;
     211             :     compiler::TNode<FixedDoubleArray> tmp15;
     212             :     compiler::TNode<Smi> tmp16;
     213             :     compiler::TNode<Float64T> tmp17;
     214             :     ca_.Bind(&block4, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17);
     215             :     ca_.Goto(&block2, tmp11, tmp12, tmp13, tmp14, tmp17);
     216             :   }
     217             : 
     218         112 :   if (block3.is_used()) {
     219             :     compiler::TNode<Context> tmp18;
     220             :     compiler::TNode<FixedArrayBase> tmp19;
     221             :     compiler::TNode<Smi> tmp20;
     222             :     compiler::TNode<FixedDoubleArray> tmp21;
     223             :     ca_.Bind(&block3, &tmp18, &tmp19, &tmp20, &tmp21);
     224         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 28);
     225         224 :     CodeStubAssembler(state_).Unreachable();
     226             :   }
     227             : 
     228         112 :   if (block2.is_used()) {
     229             :     compiler::TNode<Context> tmp22;
     230             :     compiler::TNode<FixedArrayBase> tmp23;
     231             :     compiler::TNode<Smi> tmp24;
     232             :     compiler::TNode<FixedDoubleArray> tmp25;
     233             :     compiler::TNode<Float64T> tmp26;
     234             :     ca_.Bind(&block2, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
     235         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 27);
     236             :     ca_.Goto(&block1, tmp22, tmp23, tmp24, tmp26);
     237             :   }
     238             : 
     239         112 :   if (block1.is_used()) {
     240             :     compiler::TNode<Context> tmp27;
     241             :     compiler::TNode<FixedArrayBase> tmp28;
     242             :     compiler::TNode<Smi> tmp29;
     243             :     compiler::TNode<Float64T> tmp30;
     244             :     ca_.Bind(&block1, &tmp27, &tmp28, &tmp29, &tmp30);
     245         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 6);
     246             :     ca_.Goto(&block6, tmp27, tmp28, tmp29, tmp30);
     247             :   }
     248             : 
     249             :     compiler::TNode<Context> tmp31;
     250             :     compiler::TNode<FixedArrayBase> tmp32;
     251             :     compiler::TNode<Smi> tmp33;
     252             :     compiler::TNode<Float64T> tmp34;
     253             :     ca_.Bind(&block6, &tmp31, &tmp32, &tmp33, &tmp34);
     254         224 :   return compiler::TNode<Float64T>{tmp34};
     255             : }
     256             : 
     257         112 : void ArrayReverseBuiltinsFromDSLAssembler::StoreElement23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index, compiler::TNode<Smi> p_value) {
     258         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     259             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     260             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     261             :     ca_.Goto(&block0, p_context, p_elements, p_index, p_value);
     262             : 
     263         112 :   if (block0.is_used()) {
     264             :     compiler::TNode<Context> tmp0;
     265             :     compiler::TNode<FixedArrayBase> tmp1;
     266             :     compiler::TNode<Smi> tmp2;
     267             :     compiler::TNode<Smi> tmp3;
     268             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
     269         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 37);
     270             :     compiler::TNode<FixedArray> tmp4;
     271             :     USE(tmp4);
     272         336 :     tmp4 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     273         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 38);
     274         224 :     CodeStubAssembler(state_).StoreFixedArrayElementSmi(compiler::TNode<FixedArray>{tmp4}, compiler::TNode<Smi>{tmp2}, compiler::TNode<Object>{tmp3}, SKIP_WRITE_BARRIER);
     275         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 36);
     276         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 31);
     277             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
     278             :   }
     279             : 
     280         112 :   if (block1.is_used()) {
     281             :     compiler::TNode<Context> tmp5;
     282             :     compiler::TNode<FixedArrayBase> tmp6;
     283             :     compiler::TNode<Smi> tmp7;
     284             :     compiler::TNode<Smi> tmp8;
     285             :     ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
     286             :     ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8);
     287             :   }
     288             : 
     289             :     compiler::TNode<Context> tmp9;
     290             :     compiler::TNode<FixedArrayBase> tmp10;
     291             :     compiler::TNode<Smi> tmp11;
     292             :     compiler::TNode<Smi> tmp12;
     293             :     ca_.Bind(&block2, &tmp9, &tmp10, &tmp11, &tmp12);
     294         112 : }
     295             : 
     296         112 : void ArrayReverseBuiltinsFromDSLAssembler::StoreElement26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index, compiler::TNode<Object> p_value) {
     297         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     298             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     299             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     300             :     ca_.Goto(&block0, p_context, p_elements, p_index, p_value);
     301             : 
     302         112 :   if (block0.is_used()) {
     303             :     compiler::TNode<Context> tmp0;
     304             :     compiler::TNode<FixedArrayBase> tmp1;
     305             :     compiler::TNode<Smi> tmp2;
     306             :     compiler::TNode<Object> tmp3;
     307             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
     308         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 44);
     309             :     compiler::TNode<FixedArray> tmp4;
     310             :     USE(tmp4);
     311         336 :     tmp4 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     312         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 45);
     313         224 :     CodeStubAssembler(state_).StoreFixedArrayElementSmi(compiler::TNode<FixedArray>{tmp4}, compiler::TNode<Smi>{tmp2}, compiler::TNode<Object>{tmp3});
     314         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 43);
     315         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 31);
     316             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
     317             :   }
     318             : 
     319         112 :   if (block1.is_used()) {
     320             :     compiler::TNode<Context> tmp5;
     321             :     compiler::TNode<FixedArrayBase> tmp6;
     322             :     compiler::TNode<Smi> tmp7;
     323             :     compiler::TNode<Object> tmp8;
     324             :     ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
     325             :     ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8);
     326             :   }
     327             : 
     328             :     compiler::TNode<Context> tmp9;
     329             :     compiler::TNode<FixedArrayBase> tmp10;
     330             :     compiler::TNode<Smi> tmp11;
     331             :     compiler::TNode<Object> tmp12;
     332             :     ca_.Bind(&block2, &tmp9, &tmp10, &tmp11, &tmp12);
     333         112 : }
     334             : 
     335         112 : void ArrayReverseBuiltinsFromDSLAssembler::StoreElement26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index, compiler::TNode<Float64T> p_value) {
     336         112 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Float64T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     337             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     338             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     339             :     ca_.Goto(&block0, p_context, p_elements, p_index, p_value);
     340             : 
     341         112 :   if (block0.is_used()) {
     342             :     compiler::TNode<Context> tmp0;
     343             :     compiler::TNode<FixedArrayBase> tmp1;
     344             :     compiler::TNode<Smi> tmp2;
     345             :     compiler::TNode<Float64T> tmp3;
     346             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
     347         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 51);
     348             :     compiler::TNode<FixedDoubleArray> tmp4;
     349             :     USE(tmp4);
     350         336 :     tmp4 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     351         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 52);
     352         224 :     CodeStubAssembler(state_).StoreFixedDoubleArrayElementSmi(compiler::TNode<FixedDoubleArray>{tmp4}, compiler::TNode<Smi>{tmp2}, compiler::TNode<Float64T>{tmp3});
     353         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 50);
     354         112 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 31);
     355             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
     356             :   }
     357             : 
     358         112 :   if (block1.is_used()) {
     359             :     compiler::TNode<Context> tmp5;
     360             :     compiler::TNode<FixedArrayBase> tmp6;
     361             :     compiler::TNode<Smi> tmp7;
     362             :     compiler::TNode<Float64T> tmp8;
     363             :     ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
     364             :     ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8);
     365             :   }
     366             : 
     367             :     compiler::TNode<Context> tmp9;
     368             :     compiler::TNode<FixedArrayBase> tmp10;
     369             :     compiler::TNode<Smi> tmp11;
     370             :     compiler::TNode<Float64T> tmp12;
     371             :     ca_.Bind(&block2, &tmp9, &tmp10, &tmp11, &tmp12);
     372         112 : }
     373             : 
     374          56 : compiler::TNode<Object> ArrayReverseBuiltinsFromDSLAssembler::GenericArrayReverse(compiler::TNode<Context> p_context, compiler::TNode<Object> p_receiver) {
     375          56 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     376             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     377             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     378             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     379             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     380             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     381             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     382             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     383             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     384             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     385             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     386             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     387             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     388             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     389             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     390             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     391             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     392             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     393             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     394             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     395             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     396             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     397             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     398             :     ca_.Goto(&block0, p_context, p_receiver);
     399             : 
     400          56 :   if (block0.is_used()) {
     401             :     compiler::TNode<Context> tmp0;
     402             :     compiler::TNode<Object> tmp1;
     403             :     ca_.Bind(&block0, &tmp0, &tmp1);
     404          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 76);
     405             :     compiler::TNode<JSReceiver> tmp2;
     406             :     USE(tmp2);
     407         112 :     tmp2 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
     408          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 79);
     409             :     compiler::TNode<Number> tmp3;
     410             :     USE(tmp3);
     411         168 :     tmp3 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
     412          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 88);
     413             :     compiler::TNode<Number> tmp4;
     414             :     USE(tmp4);
     415         168 :     tmp4 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
     416          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 89);
     417             :     compiler::TNode<Number> tmp5;
     418             :     USE(tmp5);
     419         168 :     tmp5 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
     420             :     compiler::TNode<Number> tmp6;
     421             :     USE(tmp6);
     422         112 :     tmp6 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp3}, compiler::TNode<Number>{tmp5}));
     423          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 91);
     424             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6);
     425             :   }
     426             : 
     427          56 :   if (block4.is_used()) {
     428             :     compiler::TNode<Context> tmp7;
     429             :     compiler::TNode<Object> tmp8;
     430             :     compiler::TNode<JSReceiver> tmp9;
     431             :     compiler::TNode<Number> tmp10;
     432             :     compiler::TNode<Number> tmp11;
     433             :     compiler::TNode<Number> tmp12;
     434             :     ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12);
     435          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     436          56 :     compiler::CodeAssemblerLabel label1(&ca_);
     437         112 :     CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp11}, compiler::TNode<Number>{tmp12}, &label0, &label1);
     438          56 :     if (label0.is_used()) {
     439          56 :       ca_.Bind(&label0);
     440             :       ca_.Goto(&block5, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp11, tmp12);
     441             :     }
     442          56 :     if (label1.is_used()) {
     443          56 :       ca_.Bind(&label1);
     444             :       ca_.Goto(&block6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp11, tmp12);
     445             :     }
     446             :   }
     447             : 
     448          56 :   if (block5.is_used()) {
     449             :     compiler::TNode<Context> tmp13;
     450             :     compiler::TNode<Object> tmp14;
     451             :     compiler::TNode<JSReceiver> tmp15;
     452             :     compiler::TNode<Number> tmp16;
     453             :     compiler::TNode<Number> tmp17;
     454             :     compiler::TNode<Number> tmp18;
     455             :     compiler::TNode<Number> tmp19;
     456             :     compiler::TNode<Number> tmp20;
     457             :     ca_.Bind(&block5, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
     458             :     ca_.Goto(&block2, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18);
     459             :   }
     460             : 
     461          56 :   if (block6.is_used()) {
     462             :     compiler::TNode<Context> tmp21;
     463             :     compiler::TNode<Object> tmp22;
     464             :     compiler::TNode<JSReceiver> tmp23;
     465             :     compiler::TNode<Number> tmp24;
     466             :     compiler::TNode<Number> tmp25;
     467             :     compiler::TNode<Number> tmp26;
     468             :     compiler::TNode<Number> tmp27;
     469             :     compiler::TNode<Number> tmp28;
     470             :     ca_.Bind(&block6, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
     471             :     ca_.Goto(&block3, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26);
     472             :   }
     473             : 
     474          56 :   if (block2.is_used()) {
     475             :     compiler::TNode<Context> tmp29;
     476             :     compiler::TNode<Object> tmp30;
     477             :     compiler::TNode<JSReceiver> tmp31;
     478             :     compiler::TNode<Number> tmp32;
     479             :     compiler::TNode<Number> tmp33;
     480             :     compiler::TNode<Number> tmp34;
     481             :     ca_.Bind(&block2, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
     482          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 92);
     483             :     compiler::TNode<Oddball> tmp35;
     484             :     USE(tmp35);
     485         168 :     tmp35 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     486          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 93);
     487             :     compiler::TNode<Oddball> tmp36;
     488             :     USE(tmp36);
     489         168 :     tmp36 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
     490          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 98);
     491             :     compiler::TNode<Oddball> tmp37;
     492         112 :     tmp37 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kHasProperty, tmp29, tmp31, tmp33));
     493             :     USE(tmp37);
     494          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 101);
     495             :     compiler::TNode<Oddball> tmp38;
     496             :     USE(tmp38);
     497         168 :     tmp38 = BaseBuiltinsFromDSLAssembler(state_).True();
     498             :     compiler::TNode<BoolT> tmp39;
     499             :     USE(tmp39);
     500         112 :     tmp39 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp37}, compiler::TNode<HeapObject>{tmp38}));
     501          56 :     ca_.Branch(tmp39, &block7, &block8, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37);
     502             :   }
     503             : 
     504          56 :   if (block7.is_used()) {
     505             :     compiler::TNode<Context> tmp40;
     506             :     compiler::TNode<Object> tmp41;
     507             :     compiler::TNode<JSReceiver> tmp42;
     508             :     compiler::TNode<Number> tmp43;
     509             :     compiler::TNode<Number> tmp44;
     510             :     compiler::TNode<Number> tmp45;
     511             :     compiler::TNode<Object> tmp46;
     512             :     compiler::TNode<Object> tmp47;
     513             :     compiler::TNode<Oddball> tmp48;
     514             :     ca_.Bind(&block7, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48);
     515          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 103);
     516             :     compiler::TNode<Object> tmp49;
     517             :     USE(tmp49);
     518         112 :     tmp49 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp40}, compiler::TNode<Object>{tmp42}, compiler::TNode<Object>{tmp44}));
     519          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 101);
     520             :     ca_.Goto(&block8, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp49, tmp47, tmp48);
     521             :   }
     522             : 
     523          56 :   if (block8.is_used()) {
     524             :     compiler::TNode<Context> tmp50;
     525             :     compiler::TNode<Object> tmp51;
     526             :     compiler::TNode<JSReceiver> tmp52;
     527             :     compiler::TNode<Number> tmp53;
     528             :     compiler::TNode<Number> tmp54;
     529             :     compiler::TNode<Number> tmp55;
     530             :     compiler::TNode<Object> tmp56;
     531             :     compiler::TNode<Object> tmp57;
     532             :     compiler::TNode<Oddball> tmp58;
     533             :     ca_.Bind(&block8, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
     534          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 107);
     535             :     compiler::TNode<Oddball> tmp59;
     536         112 :     tmp59 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kHasProperty, tmp50, tmp52, tmp55));
     537             :     USE(tmp59);
     538          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 110);
     539             :     compiler::TNode<Oddball> tmp60;
     540             :     USE(tmp60);
     541         168 :     tmp60 = BaseBuiltinsFromDSLAssembler(state_).True();
     542             :     compiler::TNode<BoolT> tmp61;
     543             :     USE(tmp61);
     544         112 :     tmp61 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp59}, compiler::TNode<HeapObject>{tmp60}));
     545          56 :     ca_.Branch(tmp61, &block9, &block10, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59);
     546             :   }
     547             : 
     548          56 :   if (block9.is_used()) {
     549             :     compiler::TNode<Context> tmp62;
     550             :     compiler::TNode<Object> tmp63;
     551             :     compiler::TNode<JSReceiver> tmp64;
     552             :     compiler::TNode<Number> tmp65;
     553             :     compiler::TNode<Number> tmp66;
     554             :     compiler::TNode<Number> tmp67;
     555             :     compiler::TNode<Object> tmp68;
     556             :     compiler::TNode<Object> tmp69;
     557             :     compiler::TNode<Oddball> tmp70;
     558             :     compiler::TNode<Oddball> tmp71;
     559             :     ca_.Bind(&block9, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71);
     560          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 112);
     561             :     compiler::TNode<Object> tmp72;
     562             :     USE(tmp72);
     563         112 :     tmp72 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp62}, compiler::TNode<Object>{tmp64}, compiler::TNode<Object>{tmp67}));
     564          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 110);
     565             :     ca_.Goto(&block10, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp72, tmp70, tmp71);
     566             :   }
     567             : 
     568          56 :   if (block10.is_used()) {
     569             :     compiler::TNode<Context> tmp73;
     570             :     compiler::TNode<Object> tmp74;
     571             :     compiler::TNode<JSReceiver> tmp75;
     572             :     compiler::TNode<Number> tmp76;
     573             :     compiler::TNode<Number> tmp77;
     574             :     compiler::TNode<Number> tmp78;
     575             :     compiler::TNode<Object> tmp79;
     576             :     compiler::TNode<Object> tmp80;
     577             :     compiler::TNode<Oddball> tmp81;
     578             :     compiler::TNode<Oddball> tmp82;
     579             :     ca_.Bind(&block10, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82);
     580          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 116);
     581             :     compiler::TNode<Oddball> tmp83;
     582             :     USE(tmp83);
     583         168 :     tmp83 = BaseBuiltinsFromDSLAssembler(state_).True();
     584             :     compiler::TNode<BoolT> tmp84;
     585             :     USE(tmp84);
     586         112 :     tmp84 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp81}, compiler::TNode<HeapObject>{tmp83}));
     587          56 :     ca_.Branch(tmp84, &block13, &block12, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82);
     588             :   }
     589             : 
     590          56 :   if (block13.is_used()) {
     591             :     compiler::TNode<Context> tmp85;
     592             :     compiler::TNode<Object> tmp86;
     593             :     compiler::TNode<JSReceiver> tmp87;
     594             :     compiler::TNode<Number> tmp88;
     595             :     compiler::TNode<Number> tmp89;
     596             :     compiler::TNode<Number> tmp90;
     597             :     compiler::TNode<Object> tmp91;
     598             :     compiler::TNode<Object> tmp92;
     599             :     compiler::TNode<Oddball> tmp93;
     600             :     compiler::TNode<Oddball> tmp94;
     601             :     ca_.Bind(&block13, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94);
     602             :     compiler::TNode<Oddball> tmp95;
     603             :     USE(tmp95);
     604         168 :     tmp95 = BaseBuiltinsFromDSLAssembler(state_).True();
     605             :     compiler::TNode<BoolT> tmp96;
     606             :     USE(tmp96);
     607         112 :     tmp96 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp94}, compiler::TNode<HeapObject>{tmp95}));
     608          56 :     ca_.Branch(tmp96, &block11, &block12, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94);
     609             :   }
     610             : 
     611          56 :   if (block11.is_used()) {
     612             :     compiler::TNode<Context> tmp97;
     613             :     compiler::TNode<Object> tmp98;
     614             :     compiler::TNode<JSReceiver> tmp99;
     615             :     compiler::TNode<Number> tmp100;
     616             :     compiler::TNode<Number> tmp101;
     617             :     compiler::TNode<Number> tmp102;
     618             :     compiler::TNode<Object> tmp103;
     619             :     compiler::TNode<Object> tmp104;
     620             :     compiler::TNode<Oddball> tmp105;
     621             :     compiler::TNode<Oddball> tmp106;
     622             :     ca_.Bind(&block11, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106);
     623          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 118);
     624         112 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp97, tmp99, tmp101, tmp104);
     625          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 121);
     626         112 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp97, tmp99, tmp102, tmp103);
     627          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 116);
     628             :     ca_.Goto(&block14, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106);
     629             :   }
     630             : 
     631          56 :   if (block12.is_used()) {
     632             :     compiler::TNode<Context> tmp109;
     633             :     compiler::TNode<Object> tmp110;
     634             :     compiler::TNode<JSReceiver> tmp111;
     635             :     compiler::TNode<Number> tmp112;
     636             :     compiler::TNode<Number> tmp113;
     637             :     compiler::TNode<Number> tmp114;
     638             :     compiler::TNode<Object> tmp115;
     639             :     compiler::TNode<Object> tmp116;
     640             :     compiler::TNode<Oddball> tmp117;
     641             :     compiler::TNode<Oddball> tmp118;
     642             :     ca_.Bind(&block12, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
     643          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 122);
     644             :     compiler::TNode<Oddball> tmp119;
     645             :     USE(tmp119);
     646         168 :     tmp119 = BaseBuiltinsFromDSLAssembler(state_).False();
     647             :     compiler::TNode<BoolT> tmp120;
     648             :     USE(tmp120);
     649         112 :     tmp120 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp117}, compiler::TNode<HeapObject>{tmp119}));
     650          56 :     ca_.Branch(tmp120, &block17, &block16, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
     651             :   }
     652             : 
     653          56 :   if (block17.is_used()) {
     654             :     compiler::TNode<Context> tmp121;
     655             :     compiler::TNode<Object> tmp122;
     656             :     compiler::TNode<JSReceiver> tmp123;
     657             :     compiler::TNode<Number> tmp124;
     658             :     compiler::TNode<Number> tmp125;
     659             :     compiler::TNode<Number> tmp126;
     660             :     compiler::TNode<Object> tmp127;
     661             :     compiler::TNode<Object> tmp128;
     662             :     compiler::TNode<Oddball> tmp129;
     663             :     compiler::TNode<Oddball> tmp130;
     664             :     ca_.Bind(&block17, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130);
     665             :     compiler::TNode<Oddball> tmp131;
     666             :     USE(tmp131);
     667         168 :     tmp131 = BaseBuiltinsFromDSLAssembler(state_).True();
     668             :     compiler::TNode<BoolT> tmp132;
     669             :     USE(tmp132);
     670         112 :     tmp132 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp130}, compiler::TNode<HeapObject>{tmp131}));
     671          56 :     ca_.Branch(tmp132, &block15, &block16, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130);
     672             :   }
     673             : 
     674          56 :   if (block15.is_used()) {
     675             :     compiler::TNode<Context> tmp133;
     676             :     compiler::TNode<Object> tmp134;
     677             :     compiler::TNode<JSReceiver> tmp135;
     678             :     compiler::TNode<Number> tmp136;
     679             :     compiler::TNode<Number> tmp137;
     680             :     compiler::TNode<Number> tmp138;
     681             :     compiler::TNode<Object> tmp139;
     682             :     compiler::TNode<Object> tmp140;
     683             :     compiler::TNode<Oddball> tmp141;
     684             :     compiler::TNode<Oddball> tmp142;
     685             :     ca_.Bind(&block15, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142);
     686          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 124);
     687         112 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp133, tmp135, tmp137, tmp140);
     688          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 127);
     689             :     compiler::TNode<Smi> tmp144;
     690             :     USE(tmp144);
     691         168 :     tmp144 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode::kStrict));
     692         112 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kDeleteProperty, tmp133, tmp135, tmp138, tmp144);
     693          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 122);
     694             :     ca_.Goto(&block18, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp140, tmp141, tmp142);
     695             :   }
     696             : 
     697          56 :   if (block16.is_used()) {
     698             :     compiler::TNode<Context> tmp146;
     699             :     compiler::TNode<Object> tmp147;
     700             :     compiler::TNode<JSReceiver> tmp148;
     701             :     compiler::TNode<Number> tmp149;
     702             :     compiler::TNode<Number> tmp150;
     703             :     compiler::TNode<Number> tmp151;
     704             :     compiler::TNode<Object> tmp152;
     705             :     compiler::TNode<Object> tmp153;
     706             :     compiler::TNode<Oddball> tmp154;
     707             :     compiler::TNode<Oddball> tmp155;
     708             :     ca_.Bind(&block16, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155);
     709          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 128);
     710             :     compiler::TNode<Oddball> tmp156;
     711             :     USE(tmp156);
     712         168 :     tmp156 = BaseBuiltinsFromDSLAssembler(state_).True();
     713             :     compiler::TNode<BoolT> tmp157;
     714             :     USE(tmp157);
     715         112 :     tmp157 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp154}, compiler::TNode<HeapObject>{tmp156}));
     716          56 :     ca_.Branch(tmp157, &block21, &block20, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155);
     717             :   }
     718             : 
     719          56 :   if (block21.is_used()) {
     720             :     compiler::TNode<Context> tmp158;
     721             :     compiler::TNode<Object> tmp159;
     722             :     compiler::TNode<JSReceiver> tmp160;
     723             :     compiler::TNode<Number> tmp161;
     724             :     compiler::TNode<Number> tmp162;
     725             :     compiler::TNode<Number> tmp163;
     726             :     compiler::TNode<Object> tmp164;
     727             :     compiler::TNode<Object> tmp165;
     728             :     compiler::TNode<Oddball> tmp166;
     729             :     compiler::TNode<Oddball> tmp167;
     730             :     ca_.Bind(&block21, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167);
     731             :     compiler::TNode<Oddball> tmp168;
     732             :     USE(tmp168);
     733         168 :     tmp168 = BaseBuiltinsFromDSLAssembler(state_).False();
     734             :     compiler::TNode<BoolT> tmp169;
     735             :     USE(tmp169);
     736         112 :     tmp169 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp167}, compiler::TNode<HeapObject>{tmp168}));
     737          56 :     ca_.Branch(tmp169, &block19, &block20, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167);
     738             :   }
     739             : 
     740          56 :   if (block19.is_used()) {
     741             :     compiler::TNode<Context> tmp170;
     742             :     compiler::TNode<Object> tmp171;
     743             :     compiler::TNode<JSReceiver> tmp172;
     744             :     compiler::TNode<Number> tmp173;
     745             :     compiler::TNode<Number> tmp174;
     746             :     compiler::TNode<Number> tmp175;
     747             :     compiler::TNode<Object> tmp176;
     748             :     compiler::TNode<Object> tmp177;
     749             :     compiler::TNode<Oddball> tmp178;
     750             :     compiler::TNode<Oddball> tmp179;
     751             :     ca_.Bind(&block19, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179);
     752          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 130);
     753             :     compiler::TNode<Smi> tmp180;
     754             :     USE(tmp180);
     755         168 :     tmp180 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode::kStrict));
     756         112 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kDeleteProperty, tmp170, tmp172, tmp174, tmp180);
     757          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 133);
     758         112 :     CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp170, tmp172, tmp175, tmp176);
     759          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 128);
     760             :     ca_.Goto(&block20, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179);
     761             :   }
     762             : 
     763          56 :   if (block20.is_used()) {
     764             :     compiler::TNode<Context> tmp183;
     765             :     compiler::TNode<Object> tmp184;
     766             :     compiler::TNode<JSReceiver> tmp185;
     767             :     compiler::TNode<Number> tmp186;
     768             :     compiler::TNode<Number> tmp187;
     769             :     compiler::TNode<Number> tmp188;
     770             :     compiler::TNode<Object> tmp189;
     771             :     compiler::TNode<Object> tmp190;
     772             :     compiler::TNode<Oddball> tmp191;
     773             :     compiler::TNode<Oddball> tmp192;
     774             :     ca_.Bind(&block20, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192);
     775          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 122);
     776             :     ca_.Goto(&block18, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192);
     777             :   }
     778             : 
     779          56 :   if (block18.is_used()) {
     780             :     compiler::TNode<Context> tmp193;
     781             :     compiler::TNode<Object> tmp194;
     782             :     compiler::TNode<JSReceiver> tmp195;
     783             :     compiler::TNode<Number> tmp196;
     784             :     compiler::TNode<Number> tmp197;
     785             :     compiler::TNode<Number> tmp198;
     786             :     compiler::TNode<Object> tmp199;
     787             :     compiler::TNode<Object> tmp200;
     788             :     compiler::TNode<Oddball> tmp201;
     789             :     compiler::TNode<Oddball> tmp202;
     790             :     ca_.Bind(&block18, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202);
     791          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 116);
     792             :     ca_.Goto(&block14, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202);
     793             :   }
     794             : 
     795          56 :   if (block14.is_used()) {
     796             :     compiler::TNode<Context> tmp203;
     797             :     compiler::TNode<Object> tmp204;
     798             :     compiler::TNode<JSReceiver> tmp205;
     799             :     compiler::TNode<Number> tmp206;
     800             :     compiler::TNode<Number> tmp207;
     801             :     compiler::TNode<Number> tmp208;
     802             :     compiler::TNode<Object> tmp209;
     803             :     compiler::TNode<Object> tmp210;
     804             :     compiler::TNode<Oddball> tmp211;
     805             :     compiler::TNode<Oddball> tmp212;
     806             :     ca_.Bind(&block14, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211, &tmp212);
     807          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 137);
     808             :     compiler::TNode<Number> tmp213;
     809             :     USE(tmp213);
     810         168 :     tmp213 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
     811             :     compiler::TNode<Number> tmp214;
     812             :     USE(tmp214);
     813         168 :     tmp214 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp207}, compiler::TNode<Number>{tmp213}));
     814          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 138);
     815             :     compiler::TNode<Number> tmp215;
     816             :     USE(tmp215);
     817         168 :     tmp215 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
     818             :     compiler::TNode<Number> tmp216;
     819             :     USE(tmp216);
     820         168 :     tmp216 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp208}, compiler::TNode<Number>{tmp215}));
     821          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 91);
     822             :     ca_.Goto(&block4, tmp203, tmp204, tmp205, tmp206, tmp214, tmp216);
     823             :   }
     824             : 
     825          56 :   if (block3.is_used()) {
     826             :     compiler::TNode<Context> tmp217;
     827             :     compiler::TNode<Object> tmp218;
     828             :     compiler::TNode<JSReceiver> tmp219;
     829             :     compiler::TNode<Number> tmp220;
     830             :     compiler::TNode<Number> tmp221;
     831             :     compiler::TNode<Number> tmp222;
     832             :     ca_.Bind(&block3, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222);
     833          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 142);
     834             :     ca_.Goto(&block1, tmp217, tmp218, tmp219);
     835             :   }
     836             : 
     837          56 :   if (block1.is_used()) {
     838             :     compiler::TNode<Context> tmp223;
     839             :     compiler::TNode<Object> tmp224;
     840             :     compiler::TNode<Object> tmp225;
     841             :     ca_.Bind(&block1, &tmp223, &tmp224, &tmp225);
     842          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 73);
     843             :     ca_.Goto(&block22, tmp223, tmp224, tmp225);
     844             :   }
     845             : 
     846             :     compiler::TNode<Context> tmp226;
     847             :     compiler::TNode<Object> tmp227;
     848             :     compiler::TNode<Object> tmp228;
     849             :     ca_.Bind(&block22, &tmp226, &tmp227, &tmp228);
     850         112 :   return compiler::TNode<Object>{tmp228};
     851             : }
     852             : 
     853          56 : void ArrayReverseBuiltinsFromDSLAssembler::TryFastPackedArrayReverse(compiler::TNode<Context> p_context, compiler::TNode<Object> p_receiver, compiler::CodeAssemblerLabel* label_Slow) {
     854          56 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     855             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     856             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     857             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     858             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     859             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     860             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     861             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     862             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     863             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     864             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     865             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     866             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     867             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     868             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     869             :     ca_.Goto(&block0, p_context, p_receiver);
     870             : 
     871          56 :   if (block0.is_used()) {
     872             :     compiler::TNode<Context> tmp0;
     873             :     compiler::TNode<Object> tmp1;
     874             :     ca_.Bind(&block0, &tmp0, &tmp1);
     875          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 147);
     876             :     compiler::TNode<JSArray> tmp2;
     877             :     USE(tmp2);
     878          56 :     compiler::CodeAssemblerLabel label0(&ca_);
     879         168 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
     880             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
     881          56 :     if (label0.is_used()) {
     882          56 :       ca_.Bind(&label0);
     883             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
     884             :     }
     885             :   }
     886             : 
     887          56 :   if (block4.is_used()) {
     888             :     compiler::TNode<Context> tmp3;
     889             :     compiler::TNode<Object> tmp4;
     890             :     compiler::TNode<Object> tmp5;
     891             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
     892             :     ca_.Goto(&block1);
     893             :   }
     894             : 
     895          56 :   if (block3.is_used()) {
     896             :     compiler::TNode<Context> tmp6;
     897             :     compiler::TNode<Object> tmp7;
     898             :     compiler::TNode<Object> tmp8;
     899             :     compiler::TNode<JSArray> tmp9;
     900             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
     901          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 149);
     902          56 :     compiler::TNode<IntPtrT> tmp10 = ca_.IntPtrConstant(HeapObject::kMapOffset);
     903             :     USE(tmp10);
     904         112 :     compiler::TNode<Map>tmp11 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp9, tmp10});
     905             :     compiler::TNode<Int32T> tmp12;
     906             :     USE(tmp12);
     907         112 :     tmp12 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp11}));
     908          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 150);
     909             :     compiler::TNode<Int32T> tmp13;
     910             :     USE(tmp13);
     911         168 :     tmp13 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_SMI_ELEMENTS));
     912             :     compiler::TNode<BoolT> tmp14;
     913             :     USE(tmp14);
     914         112 :     tmp14 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp12}, compiler::TNode<Int32T>{tmp13}));
     915          56 :     ca_.Branch(tmp14, &block5, &block6, tmp6, tmp7, tmp9, tmp12);
     916             :   }
     917             : 
     918          56 :   if (block5.is_used()) {
     919             :     compiler::TNode<Context> tmp15;
     920             :     compiler::TNode<Object> tmp16;
     921             :     compiler::TNode<JSArray> tmp17;
     922             :     compiler::TNode<Int32T> tmp18;
     923             :     ca_.Bind(&block5, &tmp15, &tmp16, &tmp17, &tmp18);
     924          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 151);
     925         168 :     ArrayBuiltinsFromDSLAssembler(state_).EnsureWriteableFastElements(compiler::TNode<Context>{tmp15}, compiler::TNode<JSArray>{tmp17});
     926          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 153);
     927          56 :     compiler::TNode<IntPtrT> tmp19 = ca_.IntPtrConstant(JSObject::kElementsOffset);
     928             :     USE(tmp19);
     929         168 :     compiler::TNode<FixedArrayBase>tmp20 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp17, tmp19});
     930             :     compiler::TNode<Smi> tmp21;
     931             :     USE(tmp21);
     932         168 :     tmp21 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp17}));
     933          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 152);
     934         168 :     ArrayReverseBuiltinsFromDSLAssembler(state_).FastPackedArrayReverse23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context>{tmp15}, compiler::TNode<FixedArrayBase>{tmp20}, compiler::TNode<Smi>{tmp21});
     935          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 150);
     936             :     ca_.Goto(&block7, tmp15, tmp16, tmp17, tmp18);
     937             :   }
     938             : 
     939          56 :   if (block6.is_used()) {
     940             :     compiler::TNode<Context> tmp22;
     941             :     compiler::TNode<Object> tmp23;
     942             :     compiler::TNode<JSArray> tmp24;
     943             :     compiler::TNode<Int32T> tmp25;
     944             :     ca_.Bind(&block6, &tmp22, &tmp23, &tmp24, &tmp25);
     945          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 154);
     946             :     compiler::TNode<Int32T> tmp26;
     947             :     USE(tmp26);
     948         168 :     tmp26 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_ELEMENTS));
     949             :     compiler::TNode<BoolT> tmp27;
     950             :     USE(tmp27);
     951         112 :     tmp27 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp25}, compiler::TNode<Int32T>{tmp26}));
     952          56 :     ca_.Branch(tmp27, &block8, &block9, tmp22, tmp23, tmp24, tmp25);
     953             :   }
     954             : 
     955          56 :   if (block8.is_used()) {
     956             :     compiler::TNode<Context> tmp28;
     957             :     compiler::TNode<Object> tmp29;
     958             :     compiler::TNode<JSArray> tmp30;
     959             :     compiler::TNode<Int32T> tmp31;
     960             :     ca_.Bind(&block8, &tmp28, &tmp29, &tmp30, &tmp31);
     961          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 155);
     962         168 :     ArrayBuiltinsFromDSLAssembler(state_).EnsureWriteableFastElements(compiler::TNode<Context>{tmp28}, compiler::TNode<JSArray>{tmp30});
     963          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 157);
     964          56 :     compiler::TNode<IntPtrT> tmp32 = ca_.IntPtrConstant(JSObject::kElementsOffset);
     965             :     USE(tmp32);
     966         168 :     compiler::TNode<FixedArrayBase>tmp33 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp30, tmp32});
     967             :     compiler::TNode<Smi> tmp34;
     968             :     USE(tmp34);
     969         168 :     tmp34 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp30}));
     970          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 156);
     971         168 :     ArrayReverseBuiltinsFromDSLAssembler(state_).FastPackedArrayReverse26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp28}, compiler::TNode<FixedArrayBase>{tmp33}, compiler::TNode<Smi>{tmp34});
     972          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 154);
     973             :     ca_.Goto(&block10, tmp28, tmp29, tmp30, tmp31);
     974             :   }
     975             : 
     976          56 :   if (block9.is_used()) {
     977             :     compiler::TNode<Context> tmp35;
     978             :     compiler::TNode<Object> tmp36;
     979             :     compiler::TNode<JSArray> tmp37;
     980             :     compiler::TNode<Int32T> tmp38;
     981             :     ca_.Bind(&block9, &tmp35, &tmp36, &tmp37, &tmp38);
     982          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 158);
     983             :     compiler::TNode<Int32T> tmp39;
     984             :     USE(tmp39);
     985         168 :     tmp39 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_DOUBLE_ELEMENTS));
     986             :     compiler::TNode<BoolT> tmp40;
     987             :     USE(tmp40);
     988         112 :     tmp40 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp38}, compiler::TNode<Int32T>{tmp39}));
     989          56 :     ca_.Branch(tmp40, &block11, &block12, tmp35, tmp36, tmp37, tmp38);
     990             :   }
     991             : 
     992          56 :   if (block11.is_used()) {
     993             :     compiler::TNode<Context> tmp41;
     994             :     compiler::TNode<Object> tmp42;
     995             :     compiler::TNode<JSArray> tmp43;
     996             :     compiler::TNode<Int32T> tmp44;
     997             :     ca_.Bind(&block11, &tmp41, &tmp42, &tmp43, &tmp44);
     998          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 160);
     999          56 :     compiler::TNode<IntPtrT> tmp45 = ca_.IntPtrConstant(JSObject::kElementsOffset);
    1000             :     USE(tmp45);
    1001         168 :     compiler::TNode<FixedArrayBase>tmp46 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp43, tmp45});
    1002             :     compiler::TNode<Smi> tmp47;
    1003             :     USE(tmp47);
    1004         168 :     tmp47 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp43}));
    1005          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 159);
    1006         168 :     ArrayReverseBuiltinsFromDSLAssembler(state_).FastPackedArrayReverse26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context>{tmp41}, compiler::TNode<FixedArrayBase>{tmp46}, compiler::TNode<Smi>{tmp47});
    1007          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 158);
    1008             :     ca_.Goto(&block13, tmp41, tmp42, tmp43, tmp44);
    1009             :   }
    1010             : 
    1011          56 :   if (block12.is_used()) {
    1012             :     compiler::TNode<Context> tmp48;
    1013             :     compiler::TNode<Object> tmp49;
    1014             :     compiler::TNode<JSArray> tmp50;
    1015             :     compiler::TNode<Int32T> tmp51;
    1016             :     ca_.Bind(&block12, &tmp48, &tmp49, &tmp50, &tmp51);
    1017          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 162);
    1018             :     ca_.Goto(&block1);
    1019             :   }
    1020             : 
    1021          56 :   if (block13.is_used()) {
    1022             :     compiler::TNode<Context> tmp52;
    1023             :     compiler::TNode<Object> tmp53;
    1024             :     compiler::TNode<JSArray> tmp54;
    1025             :     compiler::TNode<Int32T> tmp55;
    1026             :     ca_.Bind(&block13, &tmp52, &tmp53, &tmp54, &tmp55);
    1027          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 154);
    1028             :     ca_.Goto(&block10, tmp52, tmp53, tmp54, tmp55);
    1029             :   }
    1030             : 
    1031          56 :   if (block10.is_used()) {
    1032             :     compiler::TNode<Context> tmp56;
    1033             :     compiler::TNode<Object> tmp57;
    1034             :     compiler::TNode<JSArray> tmp58;
    1035             :     compiler::TNode<Int32T> tmp59;
    1036             :     ca_.Bind(&block10, &tmp56, &tmp57, &tmp58, &tmp59);
    1037          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 150);
    1038             :     ca_.Goto(&block7, tmp56, tmp57, tmp58, tmp59);
    1039             :   }
    1040             : 
    1041          56 :   if (block7.is_used()) {
    1042             :     compiler::TNode<Context> tmp60;
    1043             :     compiler::TNode<Object> tmp61;
    1044             :     compiler::TNode<JSArray> tmp62;
    1045             :     compiler::TNode<Int32T> tmp63;
    1046             :     ca_.Bind(&block7, &tmp60, &tmp61, &tmp62, &tmp63);
    1047          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 146);
    1048          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 145);
    1049             :     ca_.Goto(&block2, tmp60, tmp61);
    1050             :   }
    1051             : 
    1052          56 :   if (block2.is_used()) {
    1053             :     compiler::TNode<Context> tmp64;
    1054             :     compiler::TNode<Object> tmp65;
    1055             :     ca_.Bind(&block2, &tmp64, &tmp65);
    1056             :     ca_.Goto(&block14, tmp64, tmp65);
    1057             :   }
    1058             : 
    1059          56 :   if (block1.is_used()) {
    1060             :     ca_.Bind(&block1);
    1061          56 :     ca_.Goto(label_Slow);
    1062             :   }
    1063             : 
    1064             :     compiler::TNode<Context> tmp66;
    1065             :     compiler::TNode<Object> tmp67;
    1066             :     ca_.Bind(&block14, &tmp66, &tmp67);
    1067          56 : }
    1068             : 
    1069         224 : TF_BUILTIN(ArrayPrototypeReverse, CodeStubAssembler) {
    1070          56 :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
    1071             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
    1072             :   USE(parameter0);
    1073             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
    1074          56 :   TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
    1075          56 :   TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
    1076          56 :   BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
    1077             :   CodeStubArguments arguments(this, torque_arguments);
    1078          56 :   TNode<Object> parameter1 = arguments.GetReceiver();
    1079             : USE(parameter1);
    1080             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1081             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1082             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1083             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1084             :     ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
    1085             : 
    1086          56 :   if (block0.is_used()) {
    1087             :     compiler::TNode<Context> tmp0;
    1088             :     compiler::TNode<Object> tmp1;
    1089             :     compiler::TNode<RawPtrT> tmp2;
    1090             :     compiler::TNode<RawPtrT> tmp3;
    1091             :     compiler::TNode<IntPtrT> tmp4;
    1092             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    1093          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 170);
    1094          56 :     compiler::CodeAssemblerLabel label0(&ca_);
    1095         112 :     ArrayReverseBuiltinsFromDSLAssembler(state_).TryFastPackedArrayReverse(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
    1096             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp1);
    1097          56 :     if (label0.is_used()) {
    1098          56 :       ca_.Bind(&label0);
    1099             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp1);
    1100             :     }
    1101             :   }
    1102             : 
    1103          56 :   if (block4.is_used()) {
    1104             :     compiler::TNode<Context> tmp5;
    1105             :     compiler::TNode<Object> tmp6;
    1106             :     compiler::TNode<RawPtrT> tmp7;
    1107             :     compiler::TNode<RawPtrT> tmp8;
    1108             :     compiler::TNode<IntPtrT> tmp9;
    1109             :     compiler::TNode<Object> tmp10;
    1110             :     ca_.Bind(&block4, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
    1111             :     ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8, tmp9);
    1112             :   }
    1113             : 
    1114          56 :   if (block3.is_used()) {
    1115             :     compiler::TNode<Context> tmp11;
    1116             :     compiler::TNode<Object> tmp12;
    1117             :     compiler::TNode<RawPtrT> tmp13;
    1118             :     compiler::TNode<RawPtrT> tmp14;
    1119             :     compiler::TNode<IntPtrT> tmp15;
    1120             :     compiler::TNode<Object> tmp16;
    1121             :     ca_.Bind(&block3, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
    1122          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 171);
    1123          56 :     arguments.PopAndReturn(tmp12);
    1124             :   }
    1125             : 
    1126          56 :   if (block2.is_used()) {
    1127             :     compiler::TNode<Context> tmp17;
    1128             :     compiler::TNode<Object> tmp18;
    1129             :     compiler::TNode<RawPtrT> tmp19;
    1130             :     compiler::TNode<RawPtrT> tmp20;
    1131             :     compiler::TNode<IntPtrT> tmp21;
    1132             :     ca_.Bind(&block2, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
    1133          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 174);
    1134             :     compiler::TNode<Object> tmp22;
    1135             :     USE(tmp22);
    1136         112 :     tmp22 = ca_.UncheckedCast<Object>(ArrayReverseBuiltinsFromDSLAssembler(state_).GenericArrayReverse(compiler::TNode<Context>{tmp17}, compiler::TNode<Object>{tmp18}));
    1137          56 :     arguments.PopAndReturn(tmp22);
    1138             :   }
    1139          56 : }
    1140             : 
    1141          56 : void ArrayReverseBuiltinsFromDSLAssembler::FastPackedArrayReverse23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_length) {
    1142          56 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1143             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1144             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1145             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1146             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1147             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1148             :     ca_.Goto(&block0, p_context, p_elements, p_length);
    1149             : 
    1150          56 :   if (block0.is_used()) {
    1151             :     compiler::TNode<Context> tmp0;
    1152             :     compiler::TNode<FixedArrayBase> tmp1;
    1153             :     compiler::TNode<Smi> tmp2;
    1154             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    1155          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 60);
    1156             :     compiler::TNode<Smi> tmp3;
    1157             :     USE(tmp3);
    1158         168 :     tmp3 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
    1159          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 61);
    1160             :     compiler::TNode<Smi> tmp4;
    1161             :     USE(tmp4);
    1162         168 :     tmp4 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    1163             :     compiler::TNode<Smi> tmp5;
    1164             :     USE(tmp5);
    1165         112 :     tmp5 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp2}, compiler::TNode<Smi>{tmp4}));
    1166          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 63);
    1167             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp5);
    1168             :   }
    1169             : 
    1170          56 :   if (block4.is_used()) {
    1171             :     compiler::TNode<Context> tmp6;
    1172             :     compiler::TNode<FixedArrayBase> tmp7;
    1173             :     compiler::TNode<Smi> tmp8;
    1174             :     compiler::TNode<Smi> tmp9;
    1175             :     compiler::TNode<Smi> tmp10;
    1176             :     ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
    1177             :     compiler::TNode<BoolT> tmp11;
    1178             :     USE(tmp11);
    1179         112 :     tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp9}, compiler::TNode<Smi>{tmp10}));
    1180          56 :     ca_.Branch(tmp11, &block2, &block3, tmp6, tmp7, tmp8, tmp9, tmp10);
    1181             :   }
    1182             : 
    1183          56 :   if (block2.is_used()) {
    1184             :     compiler::TNode<Context> tmp12;
    1185             :     compiler::TNode<FixedArrayBase> tmp13;
    1186             :     compiler::TNode<Smi> tmp14;
    1187             :     compiler::TNode<Smi> tmp15;
    1188             :     compiler::TNode<Smi> tmp16;
    1189             :     ca_.Bind(&block2, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
    1190          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 64);
    1191             :     compiler::TNode<Smi> tmp17;
    1192             :     USE(tmp17);
    1193         168 :     tmp17 = ca_.UncheckedCast<Smi>(ArrayReverseBuiltinsFromDSLAssembler(state_).LoadElement23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp15}));
    1194          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 65);
    1195             :     compiler::TNode<Smi> tmp18;
    1196             :     USE(tmp18);
    1197         168 :     tmp18 = ca_.UncheckedCast<Smi>(ArrayReverseBuiltinsFromDSLAssembler(state_).LoadElement23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp16}));
    1198          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 66);
    1199         168 :     ArrayReverseBuiltinsFromDSLAssembler(state_).StoreElement23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp15}, compiler::TNode<Smi>{tmp18});
    1200          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 67);
    1201         168 :     ArrayReverseBuiltinsFromDSLAssembler(state_).StoreElement23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp16}, compiler::TNode<Smi>{tmp17});
    1202          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 68);
    1203             :     compiler::TNode<Smi> tmp19;
    1204             :     USE(tmp19);
    1205         168 :     tmp19 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    1206             :     compiler::TNode<Smi> tmp20;
    1207             :     USE(tmp20);
    1208         112 :     tmp20 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp15}, compiler::TNode<Smi>{tmp19}));
    1209          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 69);
    1210             :     compiler::TNode<Smi> tmp21;
    1211             :     USE(tmp21);
    1212         168 :     tmp21 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    1213             :     compiler::TNode<Smi> tmp22;
    1214             :     USE(tmp22);
    1215         112 :     tmp22 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp16}, compiler::TNode<Smi>{tmp21}));
    1216          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 63);
    1217             :     ca_.Goto(&block4, tmp12, tmp13, tmp14, tmp20, tmp22);
    1218             :   }
    1219             : 
    1220          56 :   if (block3.is_used()) {
    1221             :     compiler::TNode<Context> tmp23;
    1222             :     compiler::TNode<FixedArrayBase> tmp24;
    1223             :     compiler::TNode<Smi> tmp25;
    1224             :     compiler::TNode<Smi> tmp26;
    1225             :     compiler::TNode<Smi> tmp27;
    1226             :     ca_.Bind(&block3, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
    1227          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 59);
    1228          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 58);
    1229             :     ca_.Goto(&block1, tmp23, tmp24, tmp25);
    1230             :   }
    1231             : 
    1232          56 :   if (block1.is_used()) {
    1233             :     compiler::TNode<Context> tmp28;
    1234             :     compiler::TNode<FixedArrayBase> tmp29;
    1235             :     compiler::TNode<Smi> tmp30;
    1236             :     ca_.Bind(&block1, &tmp28, &tmp29, &tmp30);
    1237             :     ca_.Goto(&block5, tmp28, tmp29, tmp30);
    1238             :   }
    1239             : 
    1240             :     compiler::TNode<Context> tmp31;
    1241             :     compiler::TNode<FixedArrayBase> tmp32;
    1242             :     compiler::TNode<Smi> tmp33;
    1243             :     ca_.Bind(&block5, &tmp31, &tmp32, &tmp33);
    1244          56 : }
    1245             : 
    1246          56 : void ArrayReverseBuiltinsFromDSLAssembler::FastPackedArrayReverse26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_length) {
    1247          56 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1248             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1249             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1250             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1251             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1252             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1253             :     ca_.Goto(&block0, p_context, p_elements, p_length);
    1254             : 
    1255          56 :   if (block0.is_used()) {
    1256             :     compiler::TNode<Context> tmp0;
    1257             :     compiler::TNode<FixedArrayBase> tmp1;
    1258             :     compiler::TNode<Smi> tmp2;
    1259             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    1260          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 60);
    1261             :     compiler::TNode<Smi> tmp3;
    1262             :     USE(tmp3);
    1263         168 :     tmp3 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
    1264          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 61);
    1265             :     compiler::TNode<Smi> tmp4;
    1266             :     USE(tmp4);
    1267         168 :     tmp4 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    1268             :     compiler::TNode<Smi> tmp5;
    1269             :     USE(tmp5);
    1270         112 :     tmp5 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp2}, compiler::TNode<Smi>{tmp4}));
    1271          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 63);
    1272             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp5);
    1273             :   }
    1274             : 
    1275          56 :   if (block4.is_used()) {
    1276             :     compiler::TNode<Context> tmp6;
    1277             :     compiler::TNode<FixedArrayBase> tmp7;
    1278             :     compiler::TNode<Smi> tmp8;
    1279             :     compiler::TNode<Smi> tmp9;
    1280             :     compiler::TNode<Smi> tmp10;
    1281             :     ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
    1282             :     compiler::TNode<BoolT> tmp11;
    1283             :     USE(tmp11);
    1284         112 :     tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp9}, compiler::TNode<Smi>{tmp10}));
    1285          56 :     ca_.Branch(tmp11, &block2, &block3, tmp6, tmp7, tmp8, tmp9, tmp10);
    1286             :   }
    1287             : 
    1288          56 :   if (block2.is_used()) {
    1289             :     compiler::TNode<Context> tmp12;
    1290             :     compiler::TNode<FixedArrayBase> tmp13;
    1291             :     compiler::TNode<Smi> tmp14;
    1292             :     compiler::TNode<Smi> tmp15;
    1293             :     compiler::TNode<Smi> tmp16;
    1294             :     ca_.Bind(&block2, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
    1295          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 64);
    1296             :     compiler::TNode<Object> tmp17;
    1297             :     USE(tmp17);
    1298         168 :     tmp17 = ca_.UncheckedCast<Object>(ArrayReverseBuiltinsFromDSLAssembler(state_).LoadElement26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp15}));
    1299          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 65);
    1300             :     compiler::TNode<Object> tmp18;
    1301             :     USE(tmp18);
    1302         168 :     tmp18 = ca_.UncheckedCast<Object>(ArrayReverseBuiltinsFromDSLAssembler(state_).LoadElement26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp16}));
    1303          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 66);
    1304         168 :     ArrayReverseBuiltinsFromDSLAssembler(state_).StoreElement26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp15}, compiler::TNode<Object>{tmp18});
    1305          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 67);
    1306         168 :     ArrayReverseBuiltinsFromDSLAssembler(state_).StoreElement26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp16}, compiler::TNode<Object>{tmp17});
    1307          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 68);
    1308             :     compiler::TNode<Smi> tmp19;
    1309             :     USE(tmp19);
    1310         168 :     tmp19 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    1311             :     compiler::TNode<Smi> tmp20;
    1312             :     USE(tmp20);
    1313         112 :     tmp20 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp15}, compiler::TNode<Smi>{tmp19}));
    1314          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 69);
    1315             :     compiler::TNode<Smi> tmp21;
    1316             :     USE(tmp21);
    1317         168 :     tmp21 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    1318             :     compiler::TNode<Smi> tmp22;
    1319             :     USE(tmp22);
    1320         112 :     tmp22 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp16}, compiler::TNode<Smi>{tmp21}));
    1321          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 63);
    1322             :     ca_.Goto(&block4, tmp12, tmp13, tmp14, tmp20, tmp22);
    1323             :   }
    1324             : 
    1325          56 :   if (block3.is_used()) {
    1326             :     compiler::TNode<Context> tmp23;
    1327             :     compiler::TNode<FixedArrayBase> tmp24;
    1328             :     compiler::TNode<Smi> tmp25;
    1329             :     compiler::TNode<Smi> tmp26;
    1330             :     compiler::TNode<Smi> tmp27;
    1331             :     ca_.Bind(&block3, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
    1332          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 59);
    1333          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 58);
    1334             :     ca_.Goto(&block1, tmp23, tmp24, tmp25);
    1335             :   }
    1336             : 
    1337          56 :   if (block1.is_used()) {
    1338             :     compiler::TNode<Context> tmp28;
    1339             :     compiler::TNode<FixedArrayBase> tmp29;
    1340             :     compiler::TNode<Smi> tmp30;
    1341             :     ca_.Bind(&block1, &tmp28, &tmp29, &tmp30);
    1342             :     ca_.Goto(&block5, tmp28, tmp29, tmp30);
    1343             :   }
    1344             : 
    1345             :     compiler::TNode<Context> tmp31;
    1346             :     compiler::TNode<FixedArrayBase> tmp32;
    1347             :     compiler::TNode<Smi> tmp33;
    1348             :     ca_.Bind(&block5, &tmp31, &tmp32, &tmp33);
    1349          56 : }
    1350             : 
    1351          56 : void ArrayReverseBuiltinsFromDSLAssembler::FastPackedArrayReverse26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_length) {
    1352          56 :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1353             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1354             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1355             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1356             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1357             :   compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1358             :     ca_.Goto(&block0, p_context, p_elements, p_length);
    1359             : 
    1360          56 :   if (block0.is_used()) {
    1361             :     compiler::TNode<Context> tmp0;
    1362             :     compiler::TNode<FixedArrayBase> tmp1;
    1363             :     compiler::TNode<Smi> tmp2;
    1364             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    1365          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 60);
    1366             :     compiler::TNode<Smi> tmp3;
    1367             :     USE(tmp3);
    1368         168 :     tmp3 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
    1369          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 61);
    1370             :     compiler::TNode<Smi> tmp4;
    1371             :     USE(tmp4);
    1372         168 :     tmp4 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    1373             :     compiler::TNode<Smi> tmp5;
    1374             :     USE(tmp5);
    1375         112 :     tmp5 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp2}, compiler::TNode<Smi>{tmp4}));
    1376          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 63);
    1377             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp5);
    1378             :   }
    1379             : 
    1380          56 :   if (block4.is_used()) {
    1381             :     compiler::TNode<Context> tmp6;
    1382             :     compiler::TNode<FixedArrayBase> tmp7;
    1383             :     compiler::TNode<Smi> tmp8;
    1384             :     compiler::TNode<Smi> tmp9;
    1385             :     compiler::TNode<Smi> tmp10;
    1386             :     ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
    1387             :     compiler::TNode<BoolT> tmp11;
    1388             :     USE(tmp11);
    1389         112 :     tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp9}, compiler::TNode<Smi>{tmp10}));
    1390          56 :     ca_.Branch(tmp11, &block2, &block3, tmp6, tmp7, tmp8, tmp9, tmp10);
    1391             :   }
    1392             : 
    1393          56 :   if (block2.is_used()) {
    1394             :     compiler::TNode<Context> tmp12;
    1395             :     compiler::TNode<FixedArrayBase> tmp13;
    1396             :     compiler::TNode<Smi> tmp14;
    1397             :     compiler::TNode<Smi> tmp15;
    1398             :     compiler::TNode<Smi> tmp16;
    1399             :     ca_.Bind(&block2, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
    1400          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 64);
    1401             :     compiler::TNode<Float64T> tmp17;
    1402             :     USE(tmp17);
    1403         168 :     tmp17 = ca_.UncheckedCast<Float64T>(ArrayReverseBuiltinsFromDSLAssembler(state_).LoadElement26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp15}));
    1404          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 65);
    1405             :     compiler::TNode<Float64T> tmp18;
    1406             :     USE(tmp18);
    1407         168 :     tmp18 = ca_.UncheckedCast<Float64T>(ArrayReverseBuiltinsFromDSLAssembler(state_).LoadElement26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp16}));
    1408          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 66);
    1409         168 :     ArrayReverseBuiltinsFromDSLAssembler(state_).StoreElement26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp15}, compiler::TNode<Float64T>{tmp18});
    1410          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 67);
    1411         168 :     ArrayReverseBuiltinsFromDSLAssembler(state_).StoreElement26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp16}, compiler::TNode<Float64T>{tmp17});
    1412          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 68);
    1413             :     compiler::TNode<Smi> tmp19;
    1414             :     USE(tmp19);
    1415         168 :     tmp19 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    1416             :     compiler::TNode<Smi> tmp20;
    1417             :     USE(tmp20);
    1418         112 :     tmp20 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp15}, compiler::TNode<Smi>{tmp19}));
    1419          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 69);
    1420             :     compiler::TNode<Smi> tmp21;
    1421             :     USE(tmp21);
    1422         168 :     tmp21 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
    1423             :     compiler::TNode<Smi> tmp22;
    1424             :     USE(tmp22);
    1425         112 :     tmp22 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp16}, compiler::TNode<Smi>{tmp21}));
    1426          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 63);
    1427             :     ca_.Goto(&block4, tmp12, tmp13, tmp14, tmp20, tmp22);
    1428             :   }
    1429             : 
    1430          56 :   if (block3.is_used()) {
    1431             :     compiler::TNode<Context> tmp23;
    1432             :     compiler::TNode<FixedArrayBase> tmp24;
    1433             :     compiler::TNode<Smi> tmp25;
    1434             :     compiler::TNode<Smi> tmp26;
    1435             :     compiler::TNode<Smi> tmp27;
    1436             :     ca_.Bind(&block3, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
    1437          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 59);
    1438          56 :     ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 58);
    1439             :     ca_.Goto(&block1, tmp23, tmp24, tmp25);
    1440             :   }
    1441             : 
    1442          56 :   if (block1.is_used()) {
    1443             :     compiler::TNode<Context> tmp28;
    1444             :     compiler::TNode<FixedArrayBase> tmp29;
    1445             :     compiler::TNode<Smi> tmp30;
    1446             :     ca_.Bind(&block1, &tmp28, &tmp29, &tmp30);
    1447             :     ca_.Goto(&block5, tmp28, tmp29, tmp30);
    1448             :   }
    1449             : 
    1450             :     compiler::TNode<Context> tmp31;
    1451             :     compiler::TNode<FixedArrayBase> tmp32;
    1452             :     compiler::TNode<Smi> tmp33;
    1453             :     ca_.Bind(&block5, &tmp31, &tmp32, &tmp33);
    1454          56 : }
    1455             : 
    1456             : }  // namespace internal
    1457       59456 : }  // namespace v8
    1458             : 

Generated by: LCOV version 1.10