LCOV - code coverage report
Current view: top level - out/Release/gen/torque-generated - builtins-base-from-dsl-gen.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 1571 2067 76.0 %
Date: 2019-01-20 Functions: 159 209 76.1 %

          Line data    Source code
       1             : #include "src/builtins/builtins-utils-gen.h"
       2             : #include "src/builtins/builtins.h"
       3             : #include "src/code-factory.h"
       4             : #include "src/elements-kind.h"
       5             : #include "src/heap/factory-inl.h"
       6             : #include "src/objects.h"
       7             : #include "src/objects/arguments.h"
       8             : #include "src/objects/bigint.h"
       9             : #include "src/builtins/builtins-array-gen.h"
      10             : #include "src/builtins/builtins-collections-gen.h"
      11             : #include "src/builtins/builtins-data-view-gen.h"
      12             : #include "src/builtins/builtins-iterator-gen.h"
      13             : #include "src/builtins/builtins-typed-array-gen.h"
      14             : #include "torque-generated/builtins-base-from-dsl-gen.h"
      15             : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
      16             : #include "torque-generated/builtins-array-from-dsl-gen.h"
      17             : #include "torque-generated/builtins-collections-from-dsl-gen.h"
      18             : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
      19             : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
      20             : #include "torque-generated/builtins-object-from-dsl-gen.h"
      21             : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
      22             : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
      23             : #include "torque-generated/builtins-test-from-dsl-gen.h"
      24             : 
      25             : namespace v8 {
      26             : namespace internal {
      27             : 
      28           5 : compiler::TNode<HeapObject> BaseBuiltinsFromDSLAssembler::_method_HeapObject_constructor(compiler::TNode<HeapObject> p_this, compiler::TNode<Object> p_p0) {
      29           5 :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      30             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      31             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Object, HeapObject> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      32             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Object, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      33             :     ca_.Goto(&block0, p_this, p_p0);
      34             : 
      35           5 :   if (block0.is_used()) {
      36             :     compiler::TNode<HeapObject> tmp0;
      37             :     compiler::TNode<Object> tmp1;
      38             :     ca_.Bind(&block0, &tmp0, &tmp1);
      39          10 :     CodeStubAssembler(state_).StoreMap(tmp0, tmp1);
      40             :     ca_.Goto(&block1, tmp0, tmp1, tmp0);
      41             :   }
      42             : 
      43           5 :   if (block3.is_used()) {
      44             :     compiler::TNode<HeapObject> tmp2;
      45             :     compiler::TNode<Object> tmp3;
      46             :     ca_.Bind(&block3, &tmp2, &tmp3);
      47           0 :     CodeStubAssembler(state_).Unreachable();
      48             :   }
      49             : 
      50           5 :   if (block1.is_used()) {
      51             :     compiler::TNode<HeapObject> tmp4;
      52             :     compiler::TNode<Object> tmp5;
      53             :     compiler::TNode<HeapObject> tmp6;
      54             :     ca_.Bind(&block1, &tmp4, &tmp5, &tmp6);
      55             :     ca_.Goto(&block4, tmp4, tmp5, tmp6);
      56             :   }
      57             : 
      58             :     compiler::TNode<HeapObject> tmp7;
      59             :     compiler::TNode<Object> tmp8;
      60             :     compiler::TNode<HeapObject> tmp9;
      61             :     ca_.Bind(&block4, &tmp7, &tmp8, &tmp9);
      62          10 :   return compiler::TNode<HeapObject>{tmp9};
      63             : }
      64             : 
      65           0 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadHeapObjectMapUntyped(compiler::TNode<HeapObject> p_o) {
      66           0 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      67             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      68             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      69             :     ca_.Goto(&block0, p_o);
      70             : 
      71           0 :   if (block0.is_used()) {
      72             :     compiler::TNode<HeapObject> tmp0;
      73             :     ca_.Bind(&block0, &tmp0);
      74           0 : compiler::TNode<Object> tmp1 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadObjectField(tmp0, 0, MachineType::AnyTagged()));
      75             :     ca_.Goto(&block1, tmp0, tmp1);
      76             :   }
      77             : 
      78           0 :   if (block1.is_used()) {
      79             :     compiler::TNode<HeapObject> tmp2;
      80             :     compiler::TNode<Object> tmp3;
      81             :     ca_.Bind(&block1, &tmp2, &tmp3);
      82             :     ca_.Goto(&block2, tmp2, tmp3);
      83             :   }
      84             : 
      85             :     compiler::TNode<HeapObject> tmp4;
      86             :     compiler::TNode<Object> tmp5;
      87             :     ca_.Bind(&block2, &tmp4, &tmp5);
      88           0 :   return compiler::TNode<Object>{tmp5};
      89             : }
      90             : 
      91           0 : void BaseBuiltinsFromDSLAssembler::StoreHeapObjectMapUntyped(compiler::TNode<HeapObject> p_o, compiler::TNode<Object> p_v) {
      92           0 :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      93             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      94             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      95             :     ca_.Goto(&block0, p_o, p_v);
      96             : 
      97           0 :   if (block0.is_used()) {
      98             :     compiler::TNode<HeapObject> tmp0;
      99             :     compiler::TNode<Object> tmp1;
     100             :     ca_.Bind(&block0, &tmp0, &tmp1);
     101           0 :     CodeStubAssembler(state_).StoreMap(tmp0, tmp1);
     102             :     ca_.Goto(&block1, tmp0, tmp1);
     103             :   }
     104             : 
     105           0 :   if (block1.is_used()) {
     106             :     compiler::TNode<HeapObject> tmp2;
     107             :     compiler::TNode<Object> tmp3;
     108             :     ca_.Bind(&block1, &tmp2, &tmp3);
     109             :     ca_.Goto(&block2, tmp2, tmp3);
     110             :   }
     111             : 
     112             :     compiler::TNode<HeapObject> tmp4;
     113             :     compiler::TNode<Object> tmp5;
     114             :     ca_.Bind(&block2, &tmp4, &tmp5);
     115           0 : }
     116             : 
     117           5 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::_method_JSReceiver_constructor(compiler::TNode<JSReceiver> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1) {
     118           5 :   compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     119             :   compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object, Object, JSReceiver, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     120             :   compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     121             :   compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     122             :   compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object, Object, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     123             :     ca_.Goto(&block0, p_this, p_p0, p_p1);
     124             : 
     125           5 :   if (block0.is_used()) {
     126             :     compiler::TNode<JSReceiver> tmp0;
     127             :     compiler::TNode<Object> tmp1;
     128             :     compiler::TNode<Object> tmp2;
     129             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
     130             :     compiler::TNode<HeapObject> tmp3;
     131             :     USE(tmp3);
     132             :     compiler::CodeAssemblerExceptionHandlerLabel catch4_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     133           5 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch4_label);
     134          15 :     tmp3 = ca_.UncheckedCast<HeapObject>(BaseBuiltinsFromDSLAssembler(state_)._method_HeapObject_constructor(compiler::TNode<HeapObject>{tmp0}, compiler::TNode<Object>{tmp1}));
     135             :     }
     136           5 :     if (catch4_label.is_used()) {
     137             :       compiler::CodeAssemblerLabel catch4_skip(&ca_);
     138           0 :       ca_.Goto(&catch4_skip);
     139             :       compiler::TNode<Object> catch4_exception_object;
     140             :       ca_.Bind(&catch4_label, &catch4_exception_object);
     141             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp0, tmp1, catch4_exception_object);
     142           0 :       ca_.Bind(&catch4_skip);
     143             :     }
     144          10 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 8, tmp2);
     145             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp0);
     146             :   }
     147             : 
     148           5 :   if (block4.is_used()) {
     149             :     compiler::TNode<JSReceiver> tmp5;
     150             :     compiler::TNode<Object> tmp6;
     151             :     compiler::TNode<Object> tmp7;
     152             :     compiler::TNode<JSReceiver> tmp8;
     153             :     compiler::TNode<Object> tmp9;
     154             :     compiler::TNode<Object> tmp10;
     155             :     ca_.Bind(&block4, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
     156             :     ca_.Goto(&block3, tmp5, tmp6, tmp10);
     157             :   }
     158             : 
     159           5 :   if (block3.is_used()) {
     160             :     compiler::TNode<JSReceiver> tmp11;
     161             :     compiler::TNode<Object> tmp12;
     162             :     compiler::TNode<Object> tmp13;
     163             :     ca_.Bind(&block3, &tmp11, &tmp12, &tmp13);
     164           0 :     CodeStubAssembler(state_).Unreachable();
     165             :   }
     166             : 
     167           5 :   if (block1.is_used()) {
     168             :     compiler::TNode<JSReceiver> tmp14;
     169             :     compiler::TNode<Object> tmp15;
     170             :     compiler::TNode<Object> tmp16;
     171             :     compiler::TNode<JSReceiver> tmp17;
     172             :     ca_.Bind(&block1, &tmp14, &tmp15, &tmp16, &tmp17);
     173             :     ca_.Goto(&block5, tmp14, tmp15, tmp16, tmp17);
     174             :   }
     175             : 
     176             :     compiler::TNode<JSReceiver> tmp18;
     177             :     compiler::TNode<Object> tmp19;
     178             :     compiler::TNode<Object> tmp20;
     179             :     compiler::TNode<JSReceiver> tmp21;
     180             :     ca_.Bind(&block5, &tmp18, &tmp19, &tmp20, &tmp21);
     181          10 :   return compiler::TNode<JSReceiver>{tmp21};
     182             : }
     183             : 
     184       10105 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadJSReceiverPropertiesOrHash(compiler::TNode<JSReceiver> p_o) {
     185       10105 :   compiler::CodeAssemblerParameterizedLabel<JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     186             :   compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     187             :   compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     188             :     ca_.Goto(&block0, p_o);
     189             : 
     190       10105 :   if (block0.is_used()) {
     191             :     compiler::TNode<JSReceiver> tmp0;
     192             :     ca_.Bind(&block0, &tmp0);
     193       20210 : compiler::TNode<Object> tmp1 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadObjectField(tmp0, 8, MachineType::AnyTagged()));
     194             :     ca_.Goto(&block1, tmp0, tmp1);
     195             :   }
     196             : 
     197       10105 :   if (block1.is_used()) {
     198             :     compiler::TNode<JSReceiver> tmp2;
     199             :     compiler::TNode<Object> tmp3;
     200             :     ca_.Bind(&block1, &tmp2, &tmp3);
     201             :     ca_.Goto(&block2, tmp2, tmp3);
     202             :   }
     203             : 
     204             :     compiler::TNode<JSReceiver> tmp4;
     205             :     compiler::TNode<Object> tmp5;
     206             :     ca_.Bind(&block2, &tmp4, &tmp5);
     207       20210 :   return compiler::TNode<Object>{tmp5};
     208             : }
     209             : 
     210           0 : void BaseBuiltinsFromDSLAssembler::StoreJSReceiverPropertiesOrHash(compiler::TNode<JSReceiver> p_o, compiler::TNode<Object> p_v) {
     211           0 :   compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     212             :   compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     213             :   compiler::CodeAssemblerParameterizedLabel<JSReceiver, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     214             :     ca_.Goto(&block0, p_o, p_v);
     215             : 
     216           0 :   if (block0.is_used()) {
     217             :     compiler::TNode<JSReceiver> tmp0;
     218             :     compiler::TNode<Object> tmp1;
     219             :     ca_.Bind(&block0, &tmp0, &tmp1);
     220           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 8, tmp1);
     221             :     ca_.Goto(&block1, tmp0, tmp1);
     222             :   }
     223             : 
     224           0 :   if (block1.is_used()) {
     225             :     compiler::TNode<JSReceiver> tmp2;
     226             :     compiler::TNode<Object> tmp3;
     227             :     ca_.Bind(&block1, &tmp2, &tmp3);
     228             :     ca_.Goto(&block2, tmp2, tmp3);
     229             :   }
     230             : 
     231             :     compiler::TNode<JSReceiver> tmp4;
     232             :     compiler::TNode<Object> tmp5;
     233             :     ca_.Bind(&block2, &tmp4, &tmp5);
     234           0 : }
     235             : 
     236           5 : compiler::TNode<JSObject> BaseBuiltinsFromDSLAssembler::_method_JSObject_constructor(compiler::TNode<JSObject> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1, compiler::TNode<FixedArrayBase> p_p2) {
     237           5 :   compiler::CodeAssemblerParameterizedLabel<JSObject, Object, Object, FixedArrayBase> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     238             :   compiler::CodeAssemblerParameterizedLabel<JSObject, Object, Object, FixedArrayBase, JSObject, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     239             :   compiler::CodeAssemblerParameterizedLabel<JSObject, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     240             :   compiler::CodeAssemblerParameterizedLabel<JSObject, Object, Object, FixedArrayBase, JSObject> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     241             :   compiler::CodeAssemblerParameterizedLabel<JSObject, Object, Object, FixedArrayBase, JSObject> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     242             :     ca_.Goto(&block0, p_this, p_p0, p_p1, p_p2);
     243             : 
     244           5 :   if (block0.is_used()) {
     245             :     compiler::TNode<JSObject> tmp0;
     246             :     compiler::TNode<Object> tmp1;
     247             :     compiler::TNode<Object> tmp2;
     248             :     compiler::TNode<FixedArrayBase> tmp3;
     249             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
     250             :     compiler::TNode<JSReceiver> tmp4;
     251             :     USE(tmp4);
     252             :     compiler::CodeAssemblerExceptionHandlerLabel catch5_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     253           5 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch5_label);
     254          15 :     tmp4 = ca_.UncheckedCast<JSReceiver>(BaseBuiltinsFromDSLAssembler(state_)._method_JSReceiver_constructor(compiler::TNode<JSReceiver>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}));
     255             :     }
     256           5 :     if (catch5_label.is_used()) {
     257             :       compiler::CodeAssemblerLabel catch5_skip(&ca_);
     258           0 :       ca_.Goto(&catch5_skip);
     259             :       compiler::TNode<Object> catch5_exception_object;
     260             :       ca_.Bind(&catch5_label, &catch5_exception_object);
     261             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp0, tmp1, tmp2, catch5_exception_object);
     262           0 :       ca_.Bind(&catch5_skip);
     263             :     }
     264          10 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 16, tmp3);
     265             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp0);
     266             :   }
     267             : 
     268           5 :   if (block4.is_used()) {
     269             :     compiler::TNode<JSObject> tmp6;
     270             :     compiler::TNode<Object> tmp7;
     271             :     compiler::TNode<Object> tmp8;
     272             :     compiler::TNode<FixedArrayBase> tmp9;
     273             :     compiler::TNode<JSObject> tmp10;
     274             :     compiler::TNode<Object> tmp11;
     275             :     compiler::TNode<Object> tmp12;
     276             :     compiler::TNode<Object> tmp13;
     277             :     ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
     278             :     ca_.Goto(&block3, tmp6, tmp7, tmp8, tmp13);
     279             :   }
     280             : 
     281           5 :   if (block3.is_used()) {
     282             :     compiler::TNode<JSObject> tmp14;
     283             :     compiler::TNode<Object> tmp15;
     284             :     compiler::TNode<Object> tmp16;
     285             :     compiler::TNode<Object> tmp17;
     286             :     ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17);
     287           0 :     CodeStubAssembler(state_).Unreachable();
     288             :   }
     289             : 
     290           5 :   if (block1.is_used()) {
     291             :     compiler::TNode<JSObject> tmp18;
     292             :     compiler::TNode<Object> tmp19;
     293             :     compiler::TNode<Object> tmp20;
     294             :     compiler::TNode<FixedArrayBase> tmp21;
     295             :     compiler::TNode<JSObject> tmp22;
     296             :     ca_.Bind(&block1, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
     297             :     ca_.Goto(&block5, tmp18, tmp19, tmp20, tmp21, tmp22);
     298             :   }
     299             : 
     300             :     compiler::TNode<JSObject> tmp23;
     301             :     compiler::TNode<Object> tmp24;
     302             :     compiler::TNode<Object> tmp25;
     303             :     compiler::TNode<FixedArrayBase> tmp26;
     304             :     compiler::TNode<JSObject> tmp27;
     305             :     ca_.Bind(&block5, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
     306          10 :   return compiler::TNode<JSObject>{tmp27};
     307             : }
     308             : 
     309       30188 : compiler::TNode<FixedArrayBase> BaseBuiltinsFromDSLAssembler::LoadJSObjectElements(compiler::TNode<JSObject> p_o) {
     310       30188 :   compiler::CodeAssemblerParameterizedLabel<JSObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     311             :   compiler::CodeAssemblerParameterizedLabel<JSObject, FixedArrayBase> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     312             :   compiler::CodeAssemblerParameterizedLabel<JSObject, FixedArrayBase> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     313             :     ca_.Goto(&block0, p_o);
     314             : 
     315       30188 :   if (block0.is_used()) {
     316             :     compiler::TNode<JSObject> tmp0;
     317             :     ca_.Bind(&block0, &tmp0);
     318       60376 : compiler::TNode<FixedArrayBase> tmp1 = ca_.UncheckedCast<FixedArrayBase>(CodeStubAssembler(state_).LoadObjectField(tmp0, 16, MachineType::AnyTagged()));
     319             :     ca_.Goto(&block1, tmp0, tmp1);
     320             :   }
     321             : 
     322       30188 :   if (block1.is_used()) {
     323             :     compiler::TNode<JSObject> tmp2;
     324             :     compiler::TNode<FixedArrayBase> tmp3;
     325             :     ca_.Bind(&block1, &tmp2, &tmp3);
     326             :     ca_.Goto(&block2, tmp2, tmp3);
     327             :   }
     328             : 
     329             :     compiler::TNode<JSObject> tmp4;
     330             :     compiler::TNode<FixedArrayBase> tmp5;
     331             :     ca_.Bind(&block2, &tmp4, &tmp5);
     332       60376 :   return compiler::TNode<FixedArrayBase>{tmp5};
     333             : }
     334             : 
     335         448 : void BaseBuiltinsFromDSLAssembler::StoreJSObjectElements(compiler::TNode<JSObject> p_o, compiler::TNode<FixedArrayBase> p_v) {
     336         448 :   compiler::CodeAssemblerParameterizedLabel<JSObject, FixedArrayBase> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     337             :   compiler::CodeAssemblerParameterizedLabel<JSObject, FixedArrayBase> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     338             :   compiler::CodeAssemblerParameterizedLabel<JSObject, FixedArrayBase> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     339             :     ca_.Goto(&block0, p_o, p_v);
     340             : 
     341         448 :   if (block0.is_used()) {
     342             :     compiler::TNode<JSObject> tmp0;
     343             :     compiler::TNode<FixedArrayBase> tmp1;
     344             :     ca_.Bind(&block0, &tmp0, &tmp1);
     345         896 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 16, tmp1);
     346             :     ca_.Goto(&block1, tmp0, tmp1);
     347             :   }
     348             : 
     349         448 :   if (block1.is_used()) {
     350             :     compiler::TNode<JSObject> tmp2;
     351             :     compiler::TNode<FixedArrayBase> tmp3;
     352             :     ca_.Bind(&block1, &tmp2, &tmp3);
     353             :     ca_.Goto(&block2, tmp2, tmp3);
     354             :   }
     355             : 
     356             :     compiler::TNode<JSObject> tmp4;
     357             :     compiler::TNode<FixedArrayBase> tmp5;
     358             :     ca_.Bind(&block2, &tmp4, &tmp5);
     359         448 : }
     360             : 
     361           0 : compiler::TNode<JSArgumentsObjectWithLength> BaseBuiltinsFromDSLAssembler::_method_JSArgumentsObjectWithLength_constructor(compiler::TNode<JSArgumentsObjectWithLength> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1, compiler::TNode<FixedArrayBase> p_p2, compiler::TNode<Object> p_p3) {
     362           0 :   compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object, Object, FixedArrayBase, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     363             :   compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object, Object, FixedArrayBase, Object, JSArgumentsObjectWithLength, Object, Object, FixedArrayBase, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     364             :   compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object, Object, FixedArrayBase, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     365             :   compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object, Object, FixedArrayBase, Object, JSArgumentsObjectWithLength> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     366             :   compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object, Object, FixedArrayBase, Object, JSArgumentsObjectWithLength> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     367             :     ca_.Goto(&block0, p_this, p_p0, p_p1, p_p2, p_p3);
     368             : 
     369           0 :   if (block0.is_used()) {
     370             :     compiler::TNode<JSArgumentsObjectWithLength> tmp0;
     371             :     compiler::TNode<Object> tmp1;
     372             :     compiler::TNode<Object> tmp2;
     373             :     compiler::TNode<FixedArrayBase> tmp3;
     374             :     compiler::TNode<Object> tmp4;
     375             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
     376             :     compiler::TNode<JSObject> tmp5;
     377             :     USE(tmp5);
     378             :     compiler::CodeAssemblerExceptionHandlerLabel catch6_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     379           0 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch6_label);
     380           0 :     tmp5 = ca_.UncheckedCast<JSObject>(BaseBuiltinsFromDSLAssembler(state_)._method_JSObject_constructor(compiler::TNode<JSObject>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}, compiler::TNode<FixedArrayBase>{tmp3}));
     381             :     }
     382           0 :     if (catch6_label.is_used()) {
     383             :       compiler::CodeAssemblerLabel catch6_skip(&ca_);
     384           0 :       ca_.Goto(&catch6_skip);
     385             :       compiler::TNode<Object> catch6_exception_object;
     386             :       ca_.Bind(&catch6_label, &catch6_exception_object);
     387             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp0, tmp1, tmp2, tmp3, catch6_exception_object);
     388           0 :       ca_.Bind(&catch6_skip);
     389             :     }
     390           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp4);
     391             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp4, tmp0);
     392             :   }
     393             : 
     394           0 :   if (block4.is_used()) {
     395             :     compiler::TNode<JSArgumentsObjectWithLength> tmp7;
     396             :     compiler::TNode<Object> tmp8;
     397             :     compiler::TNode<Object> tmp9;
     398             :     compiler::TNode<FixedArrayBase> tmp10;
     399             :     compiler::TNode<Object> tmp11;
     400             :     compiler::TNode<JSArgumentsObjectWithLength> tmp12;
     401             :     compiler::TNode<Object> tmp13;
     402             :     compiler::TNode<Object> tmp14;
     403             :     compiler::TNode<FixedArrayBase> tmp15;
     404             :     compiler::TNode<Object> tmp16;
     405             :     ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
     406             :     ca_.Goto(&block3, tmp7, tmp8, tmp9, tmp10, tmp16);
     407             :   }
     408             : 
     409           0 :   if (block3.is_used()) {
     410             :     compiler::TNode<JSArgumentsObjectWithLength> tmp17;
     411             :     compiler::TNode<Object> tmp18;
     412             :     compiler::TNode<Object> tmp19;
     413             :     compiler::TNode<FixedArrayBase> tmp20;
     414             :     compiler::TNode<Object> tmp21;
     415             :     ca_.Bind(&block3, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
     416           0 :     CodeStubAssembler(state_).Unreachable();
     417             :   }
     418             : 
     419           0 :   if (block1.is_used()) {
     420             :     compiler::TNode<JSArgumentsObjectWithLength> tmp22;
     421             :     compiler::TNode<Object> tmp23;
     422             :     compiler::TNode<Object> tmp24;
     423             :     compiler::TNode<FixedArrayBase> tmp25;
     424             :     compiler::TNode<Object> tmp26;
     425             :     compiler::TNode<JSArgumentsObjectWithLength> tmp27;
     426             :     ca_.Bind(&block1, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
     427             :     ca_.Goto(&block5, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27);
     428             :   }
     429             : 
     430             :     compiler::TNode<JSArgumentsObjectWithLength> tmp28;
     431             :     compiler::TNode<Object> tmp29;
     432             :     compiler::TNode<Object> tmp30;
     433             :     compiler::TNode<FixedArrayBase> tmp31;
     434             :     compiler::TNode<Object> tmp32;
     435             :     compiler::TNode<JSArgumentsObjectWithLength> tmp33;
     436             :     ca_.Bind(&block5, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
     437           0 :   return compiler::TNode<JSArgumentsObjectWithLength>{tmp33};
     438             : }
     439             : 
     440         616 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadJSArgumentsObjectWithLengthLength(compiler::TNode<JSArgumentsObjectWithLength> p_o) {
     441         616 :   compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     442             :   compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     443             :   compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     444             :     ca_.Goto(&block0, p_o);
     445             : 
     446         616 :   if (block0.is_used()) {
     447             :     compiler::TNode<JSArgumentsObjectWithLength> tmp0;
     448             :     ca_.Bind(&block0, &tmp0);
     449         616 : compiler::TNode<Object> tmp1 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadObjectField(tmp0, 24, MachineType::AnyTagged()));
     450             :     ca_.Goto(&block1, tmp0, tmp1);
     451             :   }
     452             : 
     453         616 :   if (block1.is_used()) {
     454             :     compiler::TNode<JSArgumentsObjectWithLength> tmp2;
     455             :     compiler::TNode<Object> tmp3;
     456             :     ca_.Bind(&block1, &tmp2, &tmp3);
     457             :     ca_.Goto(&block2, tmp2, tmp3);
     458             :   }
     459             : 
     460             :     compiler::TNode<JSArgumentsObjectWithLength> tmp4;
     461             :     compiler::TNode<Object> tmp5;
     462             :     ca_.Bind(&block2, &tmp4, &tmp5);
     463        1232 :   return compiler::TNode<Object>{tmp5};
     464             : }
     465             : 
     466           0 : void BaseBuiltinsFromDSLAssembler::StoreJSArgumentsObjectWithLengthLength(compiler::TNode<JSArgumentsObjectWithLength> p_o, compiler::TNode<Object> p_v) {
     467           0 :   compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     468             :   compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     469             :   compiler::CodeAssemblerParameterizedLabel<JSArgumentsObjectWithLength, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     470             :     ca_.Goto(&block0, p_o, p_v);
     471             : 
     472           0 :   if (block0.is_used()) {
     473             :     compiler::TNode<JSArgumentsObjectWithLength> tmp0;
     474             :     compiler::TNode<Object> tmp1;
     475             :     ca_.Bind(&block0, &tmp0, &tmp1);
     476           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp1);
     477             :     ca_.Goto(&block1, tmp0, tmp1);
     478             :   }
     479             : 
     480           0 :   if (block1.is_used()) {
     481             :     compiler::TNode<JSArgumentsObjectWithLength> tmp2;
     482             :     compiler::TNode<Object> tmp3;
     483             :     ca_.Bind(&block1, &tmp2, &tmp3);
     484             :     ca_.Goto(&block2, tmp2, tmp3);
     485             :   }
     486             : 
     487             :     compiler::TNode<JSArgumentsObjectWithLength> tmp4;
     488             :     compiler::TNode<Object> tmp5;
     489             :     ca_.Bind(&block2, &tmp4, &tmp5);
     490           0 : }
     491             : 
     492           5 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::_method_JSArray_constructor(compiler::TNode<JSArray> p_this, compiler::TNode<Context> p_context) {
     493           5 :   compiler::CodeAssemblerParameterizedLabel<JSArray, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     494             :   compiler::CodeAssemblerParameterizedLabel<JSArray, Context, JSArray, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     495             :   compiler::CodeAssemblerParameterizedLabel<JSArray, Context, JSArray, Map, FixedArrayBase, FixedArrayBase, Object> block5(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     496             :   compiler::CodeAssemblerParameterizedLabel<JSArray, Context, JSArray, JSArray, Object> block6(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     497             :   compiler::CodeAssemblerParameterizedLabel<JSArray, Context, JSArray, Object> block7(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     498             :   compiler::CodeAssemblerParameterizedLabel<JSArray, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     499             :   compiler::CodeAssemblerParameterizedLabel<JSArray, Context, JSArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     500             :   compiler::CodeAssemblerParameterizedLabel<JSArray, Context, JSArray> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     501             :     ca_.Goto(&block0, p_this, p_context);
     502             : 
     503           5 :   if (block0.is_used()) {
     504             :     compiler::TNode<JSArray> tmp0;
     505             :     compiler::TNode<Context> tmp1;
     506             :     ca_.Bind(&block0, &tmp0, &tmp1);
     507             :     compiler::TNode<Map> tmp2;
     508             :     USE(tmp2);
     509             :     compiler::CodeAssemblerExceptionHandlerLabel catch3_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     510           5 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch3_label);
     511          15 :     tmp2 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).GetFastPackedSmiElementsJSArrayMap(compiler::TNode<Context>{tmp1}));
     512             :     }
     513           5 :     if (catch3_label.is_used()) {
     514             :       compiler::CodeAssemblerLabel catch3_skip(&ca_);
     515           0 :       ca_.Goto(&catch3_skip);
     516             :       compiler::TNode<Object> catch3_exception_object;
     517             :       ca_.Bind(&catch3_label, &catch3_exception_object);
     518             :       ca_.Goto(&block4, tmp0, tmp1, tmp0, catch3_exception_object);
     519           0 :       ca_.Bind(&catch3_skip);
     520             :     }
     521             :     compiler::TNode<FixedArrayBase> tmp4;
     522             :     USE(tmp4);
     523          15 :     tmp4 = BaseBuiltinsFromDSLAssembler(state_).kEmptyFixedArray();
     524             :     compiler::TNode<FixedArrayBase> tmp5;
     525             :     USE(tmp5);
     526          15 :     tmp5 = BaseBuiltinsFromDSLAssembler(state_).kEmptyFixedArray();
     527             :     compiler::TNode<JSObject> tmp6;
     528             :     USE(tmp6);
     529             :     compiler::CodeAssemblerExceptionHandlerLabel catch7_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     530           5 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch7_label);
     531          15 :     tmp6 = ca_.UncheckedCast<JSObject>(BaseBuiltinsFromDSLAssembler(state_)._method_JSObject_constructor(compiler::TNode<JSObject>{tmp0}, compiler::TNode<Object>{tmp2}, compiler::TNode<Object>{tmp4}, compiler::TNode<FixedArrayBase>{tmp5}));
     532             :     }
     533           5 :     if (catch7_label.is_used()) {
     534             :       compiler::CodeAssemblerLabel catch7_skip(&ca_);
     535           0 :       ca_.Goto(&catch7_skip);
     536             :       compiler::TNode<Object> catch7_exception_object;
     537             :       ca_.Bind(&catch7_label, &catch7_exception_object);
     538             :       ca_.Goto(&block5, tmp0, tmp1, tmp0, tmp2, tmp4, tmp5, catch7_exception_object);
     539           0 :       ca_.Bind(&catch7_skip);
     540             :     }
     541             :     compiler::TNode<Number> tmp8;
     542             :     USE(tmp8);
     543             :     compiler::CodeAssemblerExceptionHandlerLabel catch9_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     544           5 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch9_label);
     545          15 :     tmp8 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
     546             :     }
     547           5 :     if (catch9_label.is_used()) {
     548             :       compiler::CodeAssemblerLabel catch9_skip(&ca_);
     549           0 :       ca_.Goto(&catch9_skip);
     550             :       compiler::TNode<Object> catch9_exception_object;
     551             :       ca_.Bind(&catch9_label, &catch9_exception_object);
     552             :       ca_.Goto(&block6, tmp0, tmp1, tmp0, tmp0, catch9_exception_object);
     553           0 :       ca_.Bind(&catch9_skip);
     554             :     }
     555             :     compiler::CodeAssemblerExceptionHandlerLabel catch10_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     556           5 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch10_label);
     557          15 :     BaseBuiltinsFromDSLAssembler(state_).StoreJSArrayLength(compiler::TNode<JSArray>{tmp0}, compiler::TNode<Number>{tmp8});
     558             :     }
     559           5 :     if (catch10_label.is_used()) {
     560             :       compiler::CodeAssemblerLabel catch10_skip(&ca_);
     561           0 :       ca_.Goto(&catch10_skip);
     562             :       compiler::TNode<Object> catch10_exception_object;
     563             :       ca_.Bind(&catch10_label, &catch10_exception_object);
     564             :       ca_.Goto(&block7, tmp0, tmp1, tmp0, catch10_exception_object);
     565           0 :       ca_.Bind(&catch10_skip);
     566             :     }
     567             :     ca_.Goto(&block1, tmp0, tmp1, tmp0);
     568             :   }
     569             : 
     570           5 :   if (block4.is_used()) {
     571             :     compiler::TNode<JSArray> tmp11;
     572             :     compiler::TNode<Context> tmp12;
     573             :     compiler::TNode<JSArray> tmp13;
     574             :     compiler::TNode<Object> tmp14;
     575             :     ca_.Bind(&block4, &tmp11, &tmp12, &tmp13, &tmp14);
     576             :     ca_.Goto(&block3, tmp11, tmp14);
     577             :   }
     578             : 
     579           5 :   if (block5.is_used()) {
     580             :     compiler::TNode<JSArray> tmp15;
     581             :     compiler::TNode<Context> tmp16;
     582             :     compiler::TNode<JSArray> tmp17;
     583             :     compiler::TNode<Map> tmp18;
     584             :     compiler::TNode<FixedArrayBase> tmp19;
     585             :     compiler::TNode<FixedArrayBase> tmp20;
     586             :     compiler::TNode<Object> tmp21;
     587             :     ca_.Bind(&block5, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
     588             :     ca_.Goto(&block3, tmp15, tmp21);
     589             :   }
     590             : 
     591           5 :   if (block6.is_used()) {
     592             :     compiler::TNode<JSArray> tmp22;
     593             :     compiler::TNode<Context> tmp23;
     594             :     compiler::TNode<JSArray> tmp24;
     595             :     compiler::TNode<JSArray> tmp25;
     596             :     compiler::TNode<Object> tmp26;
     597             :     ca_.Bind(&block6, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
     598             :     ca_.Goto(&block3, tmp22, tmp26);
     599             :   }
     600             : 
     601           5 :   if (block7.is_used()) {
     602             :     compiler::TNode<JSArray> tmp27;
     603             :     compiler::TNode<Context> tmp28;
     604             :     compiler::TNode<JSArray> tmp29;
     605             :     compiler::TNode<Object> tmp30;
     606             :     ca_.Bind(&block7, &tmp27, &tmp28, &tmp29, &tmp30);
     607             :     ca_.Goto(&block3, tmp27, tmp30);
     608             :   }
     609             : 
     610           5 :   if (block3.is_used()) {
     611             :     compiler::TNode<JSArray> tmp31;
     612             :     compiler::TNode<Object> tmp32;
     613             :     ca_.Bind(&block3, &tmp31, &tmp32);
     614           0 :     CodeStubAssembler(state_).Unreachable();
     615             :   }
     616             : 
     617           5 :   if (block1.is_used()) {
     618             :     compiler::TNode<JSArray> tmp33;
     619             :     compiler::TNode<Context> tmp34;
     620             :     compiler::TNode<JSArray> tmp35;
     621             :     ca_.Bind(&block1, &tmp33, &tmp34, &tmp35);
     622             :     ca_.Goto(&block8, tmp33, tmp34, tmp35);
     623             :   }
     624             : 
     625             :     compiler::TNode<JSArray> tmp36;
     626             :     compiler::TNode<Context> tmp37;
     627             :     compiler::TNode<JSArray> tmp38;
     628             :     ca_.Bind(&block8, &tmp36, &tmp37, &tmp38);
     629          10 :   return compiler::TNode<JSArray>{tmp38};
     630             : }
     631             : 
     632           0 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::_method_JSArray_IsEmpty(compiler::TNode<JSArray> p_this) {
     633           0 :   compiler::CodeAssemblerParameterizedLabel<JSArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     634             :   compiler::CodeAssemblerParameterizedLabel<JSArray, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     635             :   compiler::CodeAssemblerParameterizedLabel<JSArray, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     636             :     ca_.Goto(&block0, p_this);
     637             : 
     638           0 :   if (block0.is_used()) {
     639             :     compiler::TNode<JSArray> tmp0;
     640             :     ca_.Bind(&block0, &tmp0);
     641             :     compiler::TNode<Number> tmp1;
     642             :     USE(tmp1);
     643           0 :     tmp1 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArrayLength(compiler::TNode<JSArray>{tmp0}));
     644             :     compiler::TNode<Number> tmp2;
     645             :     USE(tmp2);
     646           0 :     tmp2 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
     647             :     compiler::TNode<BoolT> tmp3;
     648             :     USE(tmp3);
     649           0 :     tmp3 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberEqual(compiler::TNode<Number>{tmp1}, compiler::TNode<Number>{tmp2}));
     650             :     ca_.Goto(&block1, tmp0, tmp3);
     651             :   }
     652             : 
     653           0 :   if (block1.is_used()) {
     654             :     compiler::TNode<JSArray> tmp4;
     655             :     compiler::TNode<BoolT> tmp5;
     656             :     ca_.Bind(&block1, &tmp4, &tmp5);
     657             :     ca_.Goto(&block2, tmp4, tmp5);
     658             :   }
     659             : 
     660             :     compiler::TNode<JSArray> tmp6;
     661             :     compiler::TNode<BoolT> tmp7;
     662             :     ca_.Bind(&block2, &tmp6, &tmp7);
     663           0 :   return compiler::TNode<BoolT>{tmp7};
     664             : }
     665             : 
     666        1344 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::LoadJSArrayLength(compiler::TNode<JSArray> p_o) {
     667        1344 :   compiler::CodeAssemblerParameterizedLabel<JSArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     668             :   compiler::CodeAssemblerParameterizedLabel<JSArray, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     669             :   compiler::CodeAssemblerParameterizedLabel<JSArray, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     670             :     ca_.Goto(&block0, p_o);
     671             : 
     672        1344 :   if (block0.is_used()) {
     673             :     compiler::TNode<JSArray> tmp0;
     674             :     ca_.Bind(&block0, &tmp0);
     675        2688 : compiler::TNode<Number> tmp1 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).LoadObjectField(tmp0, 24, MachineType::AnyTagged()));
     676             :     ca_.Goto(&block1, tmp0, tmp1);
     677             :   }
     678             : 
     679        1344 :   if (block1.is_used()) {
     680             :     compiler::TNode<JSArray> tmp2;
     681             :     compiler::TNode<Number> tmp3;
     682             :     ca_.Bind(&block1, &tmp2, &tmp3);
     683             :     ca_.Goto(&block2, tmp2, tmp3);
     684             :   }
     685             : 
     686             :     compiler::TNode<JSArray> tmp4;
     687             :     compiler::TNode<Number> tmp5;
     688             :     ca_.Bind(&block2, &tmp4, &tmp5);
     689        2688 :   return compiler::TNode<Number>{tmp5};
     690             : }
     691             : 
     692         178 : void BaseBuiltinsFromDSLAssembler::StoreJSArrayLength(compiler::TNode<JSArray> p_o, compiler::TNode<Number> p_v) {
     693         178 :   compiler::CodeAssemblerParameterizedLabel<JSArray, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     694             :   compiler::CodeAssemblerParameterizedLabel<JSArray, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     695             :   compiler::CodeAssemblerParameterizedLabel<JSArray, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     696             :     ca_.Goto(&block0, p_o, p_v);
     697             : 
     698         178 :   if (block0.is_used()) {
     699             :     compiler::TNode<JSArray> tmp0;
     700             :     compiler::TNode<Number> tmp1;
     701             :     ca_.Bind(&block0, &tmp0, &tmp1);
     702         356 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp1);
     703             :     ca_.Goto(&block1, tmp0, tmp1);
     704             :   }
     705             : 
     706         178 :   if (block1.is_used()) {
     707             :     compiler::TNode<JSArray> tmp2;
     708             :     compiler::TNode<Number> tmp3;
     709             :     ca_.Bind(&block1, &tmp2, &tmp3);
     710             :     ca_.Goto(&block2, tmp2, tmp3);
     711             :   }
     712             : 
     713             :     compiler::TNode<JSArray> tmp4;
     714             :     compiler::TNode<Number> tmp5;
     715             :     ca_.Bind(&block2, &tmp4, &tmp5);
     716         178 : }
     717             : 
     718           0 : compiler::TNode<JSFunction> BaseBuiltinsFromDSLAssembler::_method_JSFunction_constructor(compiler::TNode<JSFunction> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1, compiler::TNode<FixedArrayBase> p_p2, compiler::TNode<SharedFunctionInfo> p_p3, compiler::TNode<Context> p_p4, compiler::TNode<Smi> p_p5, compiler::TNode<Code> p_p6, compiler::TNode<HeapObject> p_p7) {
     719           0 :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Object, Object, FixedArrayBase, SharedFunctionInfo, Context, Smi, Code, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     720             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Object, Object, FixedArrayBase, SharedFunctionInfo, Context, Smi, Code, HeapObject, JSFunction, Object, Object, FixedArrayBase, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     721             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Object, Object, FixedArrayBase, SharedFunctionInfo, Context, Smi, Code, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     722             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Object, Object, FixedArrayBase, SharedFunctionInfo, Context, Smi, Code, HeapObject, JSFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     723             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Object, Object, FixedArrayBase, SharedFunctionInfo, Context, Smi, Code, HeapObject, JSFunction> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     724             :     ca_.Goto(&block0, p_this, p_p0, p_p1, p_p2, p_p3, p_p4, p_p5, p_p6, p_p7);
     725             : 
     726           0 :   if (block0.is_used()) {
     727             :     compiler::TNode<JSFunction> tmp0;
     728             :     compiler::TNode<Object> tmp1;
     729             :     compiler::TNode<Object> tmp2;
     730             :     compiler::TNode<FixedArrayBase> tmp3;
     731             :     compiler::TNode<SharedFunctionInfo> tmp4;
     732             :     compiler::TNode<Context> tmp5;
     733             :     compiler::TNode<Smi> tmp6;
     734             :     compiler::TNode<Code> tmp7;
     735             :     compiler::TNode<HeapObject> tmp8;
     736             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
     737             :     compiler::TNode<JSObject> tmp9;
     738             :     USE(tmp9);
     739             :     compiler::CodeAssemblerExceptionHandlerLabel catch10_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     740           0 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch10_label);
     741           0 :     tmp9 = ca_.UncheckedCast<JSObject>(BaseBuiltinsFromDSLAssembler(state_)._method_JSObject_constructor(compiler::TNode<JSObject>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}, compiler::TNode<FixedArrayBase>{tmp3}));
     742             :     }
     743           0 :     if (catch10_label.is_used()) {
     744             :       compiler::CodeAssemblerLabel catch10_skip(&ca_);
     745           0 :       ca_.Goto(&catch10_skip);
     746             :       compiler::TNode<Object> catch10_exception_object;
     747             :       ca_.Bind(&catch10_label, &catch10_exception_object);
     748             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp0, tmp1, tmp2, tmp3, catch10_exception_object);
     749           0 :       ca_.Bind(&catch10_skip);
     750             :     }
     751           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp4);
     752           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 32, tmp5);
     753           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 40, tmp6);
     754           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 48, tmp7);
     755           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 56, tmp8);
     756             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp0);
     757             :   }
     758             : 
     759           0 :   if (block4.is_used()) {
     760             :     compiler::TNode<JSFunction> tmp11;
     761             :     compiler::TNode<Object> tmp12;
     762             :     compiler::TNode<Object> tmp13;
     763             :     compiler::TNode<FixedArrayBase> tmp14;
     764             :     compiler::TNode<SharedFunctionInfo> tmp15;
     765             :     compiler::TNode<Context> tmp16;
     766             :     compiler::TNode<Smi> tmp17;
     767             :     compiler::TNode<Code> tmp18;
     768             :     compiler::TNode<HeapObject> tmp19;
     769             :     compiler::TNode<JSFunction> tmp20;
     770             :     compiler::TNode<Object> tmp21;
     771             :     compiler::TNode<Object> tmp22;
     772             :     compiler::TNode<FixedArrayBase> tmp23;
     773             :     compiler::TNode<Object> tmp24;
     774             :     ca_.Bind(&block4, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
     775             :     ca_.Goto(&block3, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp24);
     776             :   }
     777             : 
     778           0 :   if (block3.is_used()) {
     779             :     compiler::TNode<JSFunction> tmp25;
     780             :     compiler::TNode<Object> tmp26;
     781             :     compiler::TNode<Object> tmp27;
     782             :     compiler::TNode<FixedArrayBase> tmp28;
     783             :     compiler::TNode<SharedFunctionInfo> tmp29;
     784             :     compiler::TNode<Context> tmp30;
     785             :     compiler::TNode<Smi> tmp31;
     786             :     compiler::TNode<Code> tmp32;
     787             :     compiler::TNode<Object> tmp33;
     788             :     ca_.Bind(&block3, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
     789           0 :     CodeStubAssembler(state_).Unreachable();
     790             :   }
     791             : 
     792           0 :   if (block1.is_used()) {
     793             :     compiler::TNode<JSFunction> tmp34;
     794             :     compiler::TNode<Object> tmp35;
     795             :     compiler::TNode<Object> tmp36;
     796             :     compiler::TNode<FixedArrayBase> tmp37;
     797             :     compiler::TNode<SharedFunctionInfo> tmp38;
     798             :     compiler::TNode<Context> tmp39;
     799             :     compiler::TNode<Smi> tmp40;
     800             :     compiler::TNode<Code> tmp41;
     801             :     compiler::TNode<HeapObject> tmp42;
     802             :     compiler::TNode<JSFunction> tmp43;
     803             :     ca_.Bind(&block1, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
     804             :     ca_.Goto(&block5, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43);
     805             :   }
     806             : 
     807             :     compiler::TNode<JSFunction> tmp44;
     808             :     compiler::TNode<Object> tmp45;
     809             :     compiler::TNode<Object> tmp46;
     810             :     compiler::TNode<FixedArrayBase> tmp47;
     811             :     compiler::TNode<SharedFunctionInfo> tmp48;
     812             :     compiler::TNode<Context> tmp49;
     813             :     compiler::TNode<Smi> tmp50;
     814             :     compiler::TNode<Code> tmp51;
     815             :     compiler::TNode<HeapObject> tmp52;
     816             :     compiler::TNode<JSFunction> tmp53;
     817             :     ca_.Bind(&block5, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
     818           0 :   return compiler::TNode<JSFunction>{tmp53};
     819             : }
     820             : 
     821         168 : compiler::TNode<SharedFunctionInfo> BaseBuiltinsFromDSLAssembler::LoadJSFunctionSharedFunctionInfo(compiler::TNode<JSFunction> p_o) {
     822         168 :   compiler::CodeAssemblerParameterizedLabel<JSFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     823             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, SharedFunctionInfo> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     824             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, SharedFunctionInfo> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     825             :     ca_.Goto(&block0, p_o);
     826             : 
     827         168 :   if (block0.is_used()) {
     828             :     compiler::TNode<JSFunction> tmp0;
     829             :     ca_.Bind(&block0, &tmp0);
     830         336 : compiler::TNode<SharedFunctionInfo> tmp1 = ca_.UncheckedCast<SharedFunctionInfo>(CodeStubAssembler(state_).LoadObjectField(tmp0, 24, MachineType::AnyTagged()));
     831             :     ca_.Goto(&block1, tmp0, tmp1);
     832             :   }
     833             : 
     834         168 :   if (block1.is_used()) {
     835             :     compiler::TNode<JSFunction> tmp2;
     836             :     compiler::TNode<SharedFunctionInfo> tmp3;
     837             :     ca_.Bind(&block1, &tmp2, &tmp3);
     838             :     ca_.Goto(&block2, tmp2, tmp3);
     839             :   }
     840             : 
     841             :     compiler::TNode<JSFunction> tmp4;
     842             :     compiler::TNode<SharedFunctionInfo> tmp5;
     843             :     ca_.Bind(&block2, &tmp4, &tmp5);
     844         336 :   return compiler::TNode<SharedFunctionInfo>{tmp5};
     845             : }
     846             : 
     847           0 : void BaseBuiltinsFromDSLAssembler::StoreJSFunctionSharedFunctionInfo(compiler::TNode<JSFunction> p_o, compiler::TNode<SharedFunctionInfo> p_v) {
     848           0 :   compiler::CodeAssemblerParameterizedLabel<JSFunction, SharedFunctionInfo> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     849             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, SharedFunctionInfo> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     850             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, SharedFunctionInfo> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     851             :     ca_.Goto(&block0, p_o, p_v);
     852             : 
     853           0 :   if (block0.is_used()) {
     854             :     compiler::TNode<JSFunction> tmp0;
     855             :     compiler::TNode<SharedFunctionInfo> tmp1;
     856             :     ca_.Bind(&block0, &tmp0, &tmp1);
     857           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp1);
     858             :     ca_.Goto(&block1, tmp0, tmp1);
     859             :   }
     860             : 
     861           0 :   if (block1.is_used()) {
     862             :     compiler::TNode<JSFunction> tmp2;
     863             :     compiler::TNode<SharedFunctionInfo> tmp3;
     864             :     ca_.Bind(&block1, &tmp2, &tmp3);
     865             :     ca_.Goto(&block2, tmp2, tmp3);
     866             :   }
     867             : 
     868             :     compiler::TNode<JSFunction> tmp4;
     869             :     compiler::TNode<SharedFunctionInfo> tmp5;
     870             :     ca_.Bind(&block2, &tmp4, &tmp5);
     871           0 : }
     872             : 
     873           0 : compiler::TNode<Context> BaseBuiltinsFromDSLAssembler::LoadJSFunctionContext(compiler::TNode<JSFunction> p_o) {
     874           0 :   compiler::CodeAssemblerParameterizedLabel<JSFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     875             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     876             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     877             :     ca_.Goto(&block0, p_o);
     878             : 
     879           0 :   if (block0.is_used()) {
     880             :     compiler::TNode<JSFunction> tmp0;
     881             :     ca_.Bind(&block0, &tmp0);
     882           0 : compiler::TNode<Context> tmp1 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadObjectField(tmp0, 32, MachineType::AnyTagged()));
     883             :     ca_.Goto(&block1, tmp0, tmp1);
     884             :   }
     885             : 
     886           0 :   if (block1.is_used()) {
     887             :     compiler::TNode<JSFunction> tmp2;
     888             :     compiler::TNode<Context> tmp3;
     889             :     ca_.Bind(&block1, &tmp2, &tmp3);
     890             :     ca_.Goto(&block2, tmp2, tmp3);
     891             :   }
     892             : 
     893             :     compiler::TNode<JSFunction> tmp4;
     894             :     compiler::TNode<Context> tmp5;
     895             :     ca_.Bind(&block2, &tmp4, &tmp5);
     896           0 :   return compiler::TNode<Context>{tmp5};
     897             : }
     898             : 
     899           0 : void BaseBuiltinsFromDSLAssembler::StoreJSFunctionContext(compiler::TNode<JSFunction> p_o, compiler::TNode<Context> p_v) {
     900           0 :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     901             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     902             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     903             :     ca_.Goto(&block0, p_o, p_v);
     904             : 
     905           0 :   if (block0.is_used()) {
     906             :     compiler::TNode<JSFunction> tmp0;
     907             :     compiler::TNode<Context> tmp1;
     908             :     ca_.Bind(&block0, &tmp0, &tmp1);
     909           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 32, tmp1);
     910             :     ca_.Goto(&block1, tmp0, tmp1);
     911             :   }
     912             : 
     913           0 :   if (block1.is_used()) {
     914             :     compiler::TNode<JSFunction> tmp2;
     915             :     compiler::TNode<Context> tmp3;
     916             :     ca_.Bind(&block1, &tmp2, &tmp3);
     917             :     ca_.Goto(&block2, tmp2, tmp3);
     918             :   }
     919             : 
     920             :     compiler::TNode<JSFunction> tmp4;
     921             :     compiler::TNode<Context> tmp5;
     922             :     ca_.Bind(&block2, &tmp4, &tmp5);
     923           0 : }
     924             : 
     925           0 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::LoadJSFunctionFeedbackCell(compiler::TNode<JSFunction> p_o) {
     926           0 :   compiler::CodeAssemblerParameterizedLabel<JSFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     927             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     928             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     929             :     ca_.Goto(&block0, p_o);
     930             : 
     931           0 :   if (block0.is_used()) {
     932             :     compiler::TNode<JSFunction> tmp0;
     933             :     ca_.Bind(&block0, &tmp0);
     934           0 : compiler::TNode<Smi> tmp1 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadObjectField(tmp0, 40, MachineType::TaggedSigned()));
     935             :     ca_.Goto(&block1, tmp0, tmp1);
     936             :   }
     937             : 
     938           0 :   if (block1.is_used()) {
     939             :     compiler::TNode<JSFunction> tmp2;
     940             :     compiler::TNode<Smi> tmp3;
     941             :     ca_.Bind(&block1, &tmp2, &tmp3);
     942             :     ca_.Goto(&block2, tmp2, tmp3);
     943             :   }
     944             : 
     945             :     compiler::TNode<JSFunction> tmp4;
     946             :     compiler::TNode<Smi> tmp5;
     947             :     ca_.Bind(&block2, &tmp4, &tmp5);
     948           0 :   return compiler::TNode<Smi>{tmp5};
     949             : }
     950             : 
     951           0 : void BaseBuiltinsFromDSLAssembler::StoreJSFunctionFeedbackCell(compiler::TNode<JSFunction> p_o, compiler::TNode<Smi> p_v) {
     952           0 :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     953             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     954             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     955             :     ca_.Goto(&block0, p_o, p_v);
     956             : 
     957           0 :   if (block0.is_used()) {
     958             :     compiler::TNode<JSFunction> tmp0;
     959             :     compiler::TNode<Smi> tmp1;
     960             :     ca_.Bind(&block0, &tmp0, &tmp1);
     961           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 40, tmp1);
     962             :     ca_.Goto(&block1, tmp0, tmp1);
     963             :   }
     964             : 
     965           0 :   if (block1.is_used()) {
     966             :     compiler::TNode<JSFunction> tmp2;
     967             :     compiler::TNode<Smi> tmp3;
     968             :     ca_.Bind(&block1, &tmp2, &tmp3);
     969             :     ca_.Goto(&block2, tmp2, tmp3);
     970             :   }
     971             : 
     972             :     compiler::TNode<JSFunction> tmp4;
     973             :     compiler::TNode<Smi> tmp5;
     974             :     ca_.Bind(&block2, &tmp4, &tmp5);
     975           0 : }
     976             : 
     977           0 : compiler::TNode<Code> BaseBuiltinsFromDSLAssembler::LoadJSFunctionCode(compiler::TNode<JSFunction> p_o) {
     978           0 :   compiler::CodeAssemblerParameterizedLabel<JSFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     979             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Code> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     980             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Code> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     981             :     ca_.Goto(&block0, p_o);
     982             : 
     983           0 :   if (block0.is_used()) {
     984             :     compiler::TNode<JSFunction> tmp0;
     985             :     ca_.Bind(&block0, &tmp0);
     986           0 : compiler::TNode<Code> tmp1 = ca_.UncheckedCast<Code>(CodeStubAssembler(state_).LoadObjectField(tmp0, 48, MachineType::AnyTagged()));
     987             :     ca_.Goto(&block1, tmp0, tmp1);
     988             :   }
     989             : 
     990           0 :   if (block1.is_used()) {
     991             :     compiler::TNode<JSFunction> tmp2;
     992             :     compiler::TNode<Code> tmp3;
     993             :     ca_.Bind(&block1, &tmp2, &tmp3);
     994             :     ca_.Goto(&block2, tmp2, tmp3);
     995             :   }
     996             : 
     997             :     compiler::TNode<JSFunction> tmp4;
     998             :     compiler::TNode<Code> tmp5;
     999             :     ca_.Bind(&block2, &tmp4, &tmp5);
    1000           0 :   return compiler::TNode<Code>{tmp5};
    1001             : }
    1002             : 
    1003           0 : void BaseBuiltinsFromDSLAssembler::StoreJSFunctionCode(compiler::TNode<JSFunction> p_o, compiler::TNode<Code> p_v) {
    1004           0 :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Code> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1005             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Code> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1006             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, Code> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1007             :     ca_.Goto(&block0, p_o, p_v);
    1008             : 
    1009           0 :   if (block0.is_used()) {
    1010             :     compiler::TNode<JSFunction> tmp0;
    1011             :     compiler::TNode<Code> tmp1;
    1012             :     ca_.Bind(&block0, &tmp0, &tmp1);
    1013           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 48, tmp1);
    1014             :     ca_.Goto(&block1, tmp0, tmp1);
    1015             :   }
    1016             : 
    1017           0 :   if (block1.is_used()) {
    1018             :     compiler::TNode<JSFunction> tmp2;
    1019             :     compiler::TNode<Code> tmp3;
    1020             :     ca_.Bind(&block1, &tmp2, &tmp3);
    1021             :     ca_.Goto(&block2, tmp2, tmp3);
    1022             :   }
    1023             : 
    1024             :     compiler::TNode<JSFunction> tmp4;
    1025             :     compiler::TNode<Code> tmp5;
    1026             :     ca_.Bind(&block2, &tmp4, &tmp5);
    1027           0 : }
    1028             : 
    1029         112 : compiler::TNode<HeapObject> BaseBuiltinsFromDSLAssembler::LoadJSFunctionPrototypeOrInitialMap(compiler::TNode<JSFunction> p_o) {
    1030         112 :   compiler::CodeAssemblerParameterizedLabel<JSFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1031             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, HeapObject> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1032             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, HeapObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1033             :     ca_.Goto(&block0, p_o);
    1034             : 
    1035         112 :   if (block0.is_used()) {
    1036             :     compiler::TNode<JSFunction> tmp0;
    1037             :     ca_.Bind(&block0, &tmp0);
    1038         224 : compiler::TNode<HeapObject> tmp1 = ca_.UncheckedCast<HeapObject>(CodeStubAssembler(state_).LoadObjectField(tmp0, 56, MachineType::AnyTagged()));
    1039             :     ca_.Goto(&block1, tmp0, tmp1);
    1040             :   }
    1041             : 
    1042         112 :   if (block1.is_used()) {
    1043             :     compiler::TNode<JSFunction> tmp2;
    1044             :     compiler::TNode<HeapObject> tmp3;
    1045             :     ca_.Bind(&block1, &tmp2, &tmp3);
    1046             :     ca_.Goto(&block2, tmp2, tmp3);
    1047             :   }
    1048             : 
    1049             :     compiler::TNode<JSFunction> tmp4;
    1050             :     compiler::TNode<HeapObject> tmp5;
    1051             :     ca_.Bind(&block2, &tmp4, &tmp5);
    1052         224 :   return compiler::TNode<HeapObject>{tmp5};
    1053             : }
    1054             : 
    1055           0 : void BaseBuiltinsFromDSLAssembler::StoreJSFunctionPrototypeOrInitialMap(compiler::TNode<JSFunction> p_o, compiler::TNode<HeapObject> p_v) {
    1056           0 :   compiler::CodeAssemblerParameterizedLabel<JSFunction, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1057             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, HeapObject> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1058             :   compiler::CodeAssemblerParameterizedLabel<JSFunction, HeapObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1059             :     ca_.Goto(&block0, p_o, p_v);
    1060             : 
    1061           0 :   if (block0.is_used()) {
    1062             :     compiler::TNode<JSFunction> tmp0;
    1063             :     compiler::TNode<HeapObject> tmp1;
    1064             :     ca_.Bind(&block0, &tmp0, &tmp1);
    1065           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 56, tmp1);
    1066             :     ca_.Goto(&block1, tmp0, tmp1);
    1067             :   }
    1068             : 
    1069           0 :   if (block1.is_used()) {
    1070             :     compiler::TNode<JSFunction> tmp2;
    1071             :     compiler::TNode<HeapObject> tmp3;
    1072             :     ca_.Bind(&block1, &tmp2, &tmp3);
    1073             :     ca_.Goto(&block2, tmp2, tmp3);
    1074             :   }
    1075             : 
    1076             :     compiler::TNode<JSFunction> tmp4;
    1077             :     compiler::TNode<HeapObject> tmp5;
    1078             :     ca_.Bind(&block2, &tmp4, &tmp5);
    1079           0 : }
    1080             : 
    1081           0 : compiler::TNode<JSBoundFunction> BaseBuiltinsFromDSLAssembler::_method_JSBoundFunction_constructor(compiler::TNode<JSBoundFunction> p_this, compiler::TNode<Object> p_p0, compiler::TNode<Object> p_p1, compiler::TNode<FixedArrayBase> p_p2, compiler::TNode<JSReceiver> p_p3, compiler::TNode<Object> p_p4, compiler::TNode<FixedArray> p_p5) {
    1082           0 :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object, Object, FixedArrayBase, JSReceiver, Object, FixedArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1083             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object, Object, FixedArrayBase, JSReceiver, Object, FixedArray, JSBoundFunction, Object, Object, FixedArrayBase, Object> block4(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    1084             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object, Object, FixedArrayBase, JSReceiver, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1085             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object, Object, FixedArrayBase, JSReceiver, Object, FixedArray, JSBoundFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1086             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object, Object, FixedArrayBase, JSReceiver, Object, FixedArray, JSBoundFunction> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1087             :     ca_.Goto(&block0, p_this, p_p0, p_p1, p_p2, p_p3, p_p4, p_p5);
    1088             : 
    1089           0 :   if (block0.is_used()) {
    1090             :     compiler::TNode<JSBoundFunction> tmp0;
    1091             :     compiler::TNode<Object> tmp1;
    1092             :     compiler::TNode<Object> tmp2;
    1093             :     compiler::TNode<FixedArrayBase> tmp3;
    1094             :     compiler::TNode<JSReceiver> tmp4;
    1095             :     compiler::TNode<Object> tmp5;
    1096             :     compiler::TNode<FixedArray> tmp6;
    1097             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6);
    1098             :     compiler::TNode<JSObject> tmp7;
    1099             :     USE(tmp7);
    1100             :     compiler::CodeAssemblerExceptionHandlerLabel catch8_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    1101           0 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch8_label);
    1102           0 :     tmp7 = ca_.UncheckedCast<JSObject>(BaseBuiltinsFromDSLAssembler(state_)._method_JSObject_constructor(compiler::TNode<JSObject>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Object>{tmp2}, compiler::TNode<FixedArrayBase>{tmp3}));
    1103             :     }
    1104           0 :     if (catch8_label.is_used()) {
    1105             :       compiler::CodeAssemblerLabel catch8_skip(&ca_);
    1106           0 :       ca_.Goto(&catch8_skip);
    1107             :       compiler::TNode<Object> catch8_exception_object;
    1108             :       ca_.Bind(&catch8_label, &catch8_exception_object);
    1109             :       ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp0, tmp1, tmp2, tmp3, catch8_exception_object);
    1110           0 :       ca_.Bind(&catch8_skip);
    1111             :     }
    1112           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp4);
    1113           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 32, tmp5);
    1114           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 40, tmp6);
    1115             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp0);
    1116             :   }
    1117             : 
    1118           0 :   if (block4.is_used()) {
    1119             :     compiler::TNode<JSBoundFunction> tmp9;
    1120             :     compiler::TNode<Object> tmp10;
    1121             :     compiler::TNode<Object> tmp11;
    1122             :     compiler::TNode<FixedArrayBase> tmp12;
    1123             :     compiler::TNode<JSReceiver> tmp13;
    1124             :     compiler::TNode<Object> tmp14;
    1125             :     compiler::TNode<FixedArray> tmp15;
    1126             :     compiler::TNode<JSBoundFunction> tmp16;
    1127             :     compiler::TNode<Object> tmp17;
    1128             :     compiler::TNode<Object> tmp18;
    1129             :     compiler::TNode<FixedArrayBase> tmp19;
    1130             :     compiler::TNode<Object> tmp20;
    1131             :     ca_.Bind(&block4, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
    1132             :     ca_.Goto(&block3, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp20);
    1133             :   }
    1134             : 
    1135           0 :   if (block3.is_used()) {
    1136             :     compiler::TNode<JSBoundFunction> tmp21;
    1137             :     compiler::TNode<Object> tmp22;
    1138             :     compiler::TNode<Object> tmp23;
    1139             :     compiler::TNode<FixedArrayBase> tmp24;
    1140             :     compiler::TNode<JSReceiver> tmp25;
    1141             :     compiler::TNode<Object> tmp26;
    1142             :     compiler::TNode<Object> tmp27;
    1143             :     ca_.Bind(&block3, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
    1144           0 :     CodeStubAssembler(state_).Unreachable();
    1145             :   }
    1146             : 
    1147           0 :   if (block1.is_used()) {
    1148             :     compiler::TNode<JSBoundFunction> tmp28;
    1149             :     compiler::TNode<Object> tmp29;
    1150             :     compiler::TNode<Object> tmp30;
    1151             :     compiler::TNode<FixedArrayBase> tmp31;
    1152             :     compiler::TNode<JSReceiver> tmp32;
    1153             :     compiler::TNode<Object> tmp33;
    1154             :     compiler::TNode<FixedArray> tmp34;
    1155             :     compiler::TNode<JSBoundFunction> tmp35;
    1156             :     ca_.Bind(&block1, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
    1157             :     ca_.Goto(&block5, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35);
    1158             :   }
    1159             : 
    1160             :     compiler::TNode<JSBoundFunction> tmp36;
    1161             :     compiler::TNode<Object> tmp37;
    1162             :     compiler::TNode<Object> tmp38;
    1163             :     compiler::TNode<FixedArrayBase> tmp39;
    1164             :     compiler::TNode<JSReceiver> tmp40;
    1165             :     compiler::TNode<Object> tmp41;
    1166             :     compiler::TNode<FixedArray> tmp42;
    1167             :     compiler::TNode<JSBoundFunction> tmp43;
    1168             :     ca_.Bind(&block5, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43);
    1169           0 :   return compiler::TNode<JSBoundFunction>{tmp43};
    1170             : }
    1171             : 
    1172           0 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::LoadJSBoundFunctionBoundTargetFunction(compiler::TNode<JSBoundFunction> p_o) {
    1173           0 :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1174             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1175             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1176             :     ca_.Goto(&block0, p_o);
    1177             : 
    1178           0 :   if (block0.is_used()) {
    1179             :     compiler::TNode<JSBoundFunction> tmp0;
    1180             :     ca_.Bind(&block0, &tmp0);
    1181           0 : compiler::TNode<JSReceiver> tmp1 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).LoadObjectField(tmp0, 24, MachineType::AnyTagged()));
    1182             :     ca_.Goto(&block1, tmp0, tmp1);
    1183             :   }
    1184             : 
    1185           0 :   if (block1.is_used()) {
    1186             :     compiler::TNode<JSBoundFunction> tmp2;
    1187             :     compiler::TNode<JSReceiver> tmp3;
    1188             :     ca_.Bind(&block1, &tmp2, &tmp3);
    1189             :     ca_.Goto(&block2, tmp2, tmp3);
    1190             :   }
    1191             : 
    1192             :     compiler::TNode<JSBoundFunction> tmp4;
    1193             :     compiler::TNode<JSReceiver> tmp5;
    1194             :     ca_.Bind(&block2, &tmp4, &tmp5);
    1195           0 :   return compiler::TNode<JSReceiver>{tmp5};
    1196             : }
    1197             : 
    1198           0 : void BaseBuiltinsFromDSLAssembler::StoreJSBoundFunctionBoundTargetFunction(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<JSReceiver> p_v) {
    1199           0 :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1200             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1201             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1202             :     ca_.Goto(&block0, p_o, p_v);
    1203             : 
    1204           0 :   if (block0.is_used()) {
    1205             :     compiler::TNode<JSBoundFunction> tmp0;
    1206             :     compiler::TNode<JSReceiver> tmp1;
    1207             :     ca_.Bind(&block0, &tmp0, &tmp1);
    1208           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 24, tmp1);
    1209             :     ca_.Goto(&block1, tmp0, tmp1);
    1210             :   }
    1211             : 
    1212           0 :   if (block1.is_used()) {
    1213             :     compiler::TNode<JSBoundFunction> tmp2;
    1214             :     compiler::TNode<JSReceiver> tmp3;
    1215             :     ca_.Bind(&block1, &tmp2, &tmp3);
    1216             :     ca_.Goto(&block2, tmp2, tmp3);
    1217             :   }
    1218             : 
    1219             :     compiler::TNode<JSBoundFunction> tmp4;
    1220             :     compiler::TNode<JSReceiver> tmp5;
    1221             :     ca_.Bind(&block2, &tmp4, &tmp5);
    1222           0 : }
    1223             : 
    1224           0 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadJSBoundFunctionBoundThis(compiler::TNode<JSBoundFunction> p_o) {
    1225           0 :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1226             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1227             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1228             :     ca_.Goto(&block0, p_o);
    1229             : 
    1230           0 :   if (block0.is_used()) {
    1231             :     compiler::TNode<JSBoundFunction> tmp0;
    1232             :     ca_.Bind(&block0, &tmp0);
    1233           0 : compiler::TNode<Object> tmp1 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadObjectField(tmp0, 32, MachineType::AnyTagged()));
    1234             :     ca_.Goto(&block1, tmp0, tmp1);
    1235             :   }
    1236             : 
    1237           0 :   if (block1.is_used()) {
    1238             :     compiler::TNode<JSBoundFunction> tmp2;
    1239             :     compiler::TNode<Object> tmp3;
    1240             :     ca_.Bind(&block1, &tmp2, &tmp3);
    1241             :     ca_.Goto(&block2, tmp2, tmp3);
    1242             :   }
    1243             : 
    1244             :     compiler::TNode<JSBoundFunction> tmp4;
    1245             :     compiler::TNode<Object> tmp5;
    1246             :     ca_.Bind(&block2, &tmp4, &tmp5);
    1247           0 :   return compiler::TNode<Object>{tmp5};
    1248             : }
    1249             : 
    1250           0 : void BaseBuiltinsFromDSLAssembler::StoreJSBoundFunctionBoundThis(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<Object> p_v) {
    1251           0 :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1252             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1253             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1254             :     ca_.Goto(&block0, p_o, p_v);
    1255             : 
    1256           0 :   if (block0.is_used()) {
    1257             :     compiler::TNode<JSBoundFunction> tmp0;
    1258             :     compiler::TNode<Object> tmp1;
    1259             :     ca_.Bind(&block0, &tmp0, &tmp1);
    1260           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 32, tmp1);
    1261             :     ca_.Goto(&block1, tmp0, tmp1);
    1262             :   }
    1263             : 
    1264           0 :   if (block1.is_used()) {
    1265             :     compiler::TNode<JSBoundFunction> tmp2;
    1266             :     compiler::TNode<Object> tmp3;
    1267             :     ca_.Bind(&block1, &tmp2, &tmp3);
    1268             :     ca_.Goto(&block2, tmp2, tmp3);
    1269             :   }
    1270             : 
    1271             :     compiler::TNode<JSBoundFunction> tmp4;
    1272             :     compiler::TNode<Object> tmp5;
    1273             :     ca_.Bind(&block2, &tmp4, &tmp5);
    1274           0 : }
    1275             : 
    1276           0 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::LoadJSBoundFunctionBoundArguments(compiler::TNode<JSBoundFunction> p_o) {
    1277           0 :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1278             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1279             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1280             :     ca_.Goto(&block0, p_o);
    1281             : 
    1282           0 :   if (block0.is_used()) {
    1283             :     compiler::TNode<JSBoundFunction> tmp0;
    1284             :     ca_.Bind(&block0, &tmp0);
    1285           0 : compiler::TNode<FixedArray> tmp1 = ca_.UncheckedCast<FixedArray>(CodeStubAssembler(state_).LoadObjectField(tmp0, 40, MachineType::AnyTagged()));
    1286             :     ca_.Goto(&block1, tmp0, tmp1);
    1287             :   }
    1288             : 
    1289           0 :   if (block1.is_used()) {
    1290             :     compiler::TNode<JSBoundFunction> tmp2;
    1291             :     compiler::TNode<FixedArray> tmp3;
    1292             :     ca_.Bind(&block1, &tmp2, &tmp3);
    1293             :     ca_.Goto(&block2, tmp2, tmp3);
    1294             :   }
    1295             : 
    1296             :     compiler::TNode<JSBoundFunction> tmp4;
    1297             :     compiler::TNode<FixedArray> tmp5;
    1298             :     ca_.Bind(&block2, &tmp4, &tmp5);
    1299           0 :   return compiler::TNode<FixedArray>{tmp5};
    1300             : }
    1301             : 
    1302           0 : void BaseBuiltinsFromDSLAssembler::StoreJSBoundFunctionBoundArguments(compiler::TNode<JSBoundFunction> p_o, compiler::TNode<FixedArray> p_v) {
    1303           0 :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, FixedArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1304             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1305             :   compiler::CodeAssemblerParameterizedLabel<JSBoundFunction, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1306             :     ca_.Goto(&block0, p_o, p_v);
    1307             : 
    1308           0 :   if (block0.is_used()) {
    1309             :     compiler::TNode<JSBoundFunction> tmp0;
    1310             :     compiler::TNode<FixedArray> tmp1;
    1311             :     ca_.Bind(&block0, &tmp0, &tmp1);
    1312           0 :     CodeStubAssembler(state_).StoreObjectField(tmp0, 40, tmp1);
    1313             :     ca_.Goto(&block1, tmp0, tmp1);
    1314             :   }
    1315             : 
    1316           0 :   if (block1.is_used()) {
    1317             :     compiler::TNode<JSBoundFunction> tmp2;
    1318             :     compiler::TNode<FixedArray> tmp3;
    1319             :     ca_.Bind(&block1, &tmp2, &tmp3);
    1320             :     ca_.Goto(&block2, tmp2, tmp3);
    1321             :   }
    1322             : 
    1323             :     compiler::TNode<JSBoundFunction> tmp4;
    1324             :     compiler::TNode<FixedArray> tmp5;
    1325             :     ca_.Bind(&block2, &tmp4, &tmp5);
    1326           0 : }
    1327             : 
    1328        1904 : compiler::TNode<Oddball> BaseBuiltinsFromDSLAssembler::Hole() {
    1329        1904 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1330             :     ca_.Goto(&block0);
    1331             : 
    1332             :     ca_.Bind(&block0);
    1333             :     compiler::TNode<Oddball> tmp0;
    1334             :     USE(tmp0);
    1335        3808 :     tmp0 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).TheHoleConstant());
    1336        3808 : return compiler::TNode<Oddball>{tmp0};
    1337             : }
    1338             : 
    1339          86 : compiler::TNode<Oddball> BaseBuiltinsFromDSLAssembler::Null() {
    1340          86 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1341             :     ca_.Goto(&block0);
    1342             : 
    1343             :     ca_.Bind(&block0);
    1344             :     compiler::TNode<Oddball> tmp0;
    1345             :     USE(tmp0);
    1346         172 :     tmp0 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).NullConstant());
    1347         172 : return compiler::TNode<Oddball>{tmp0};
    1348             : }
    1349             : 
    1350       10608 : compiler::TNode<Oddball> BaseBuiltinsFromDSLAssembler::Undefined() {
    1351       10608 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1352             :     ca_.Goto(&block0);
    1353             : 
    1354             :     ca_.Bind(&block0);
    1355             :     compiler::TNode<Oddball> tmp0;
    1356             :     USE(tmp0);
    1357       21216 :     tmp0 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).UndefinedConstant());
    1358       21216 : return compiler::TNode<Oddball>{tmp0};
    1359             : }
    1360             : 
    1361        2056 : compiler::TNode<Oddball> BaseBuiltinsFromDSLAssembler::True() {
    1362        2056 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1363             :     ca_.Goto(&block0);
    1364             : 
    1365             :     ca_.Bind(&block0);
    1366             :     compiler::TNode<Oddball> tmp0;
    1367             :     USE(tmp0);
    1368        4112 :     tmp0 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).TrueConstant());
    1369        4112 : return compiler::TNode<Oddball>{tmp0};
    1370             : }
    1371             : 
    1372         977 : compiler::TNode<Oddball> BaseBuiltinsFromDSLAssembler::False() {
    1373         977 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1374             :     ca_.Goto(&block0);
    1375             : 
    1376             :     ca_.Bind(&block0);
    1377             :     compiler::TNode<Oddball> tmp0;
    1378             :     USE(tmp0);
    1379        1954 :     tmp0 = ca_.UncheckedCast<Oddball>(CodeStubAssembler(state_).FalseConstant());
    1380        1954 : return compiler::TNode<Oddball>{tmp0};
    1381             : }
    1382             : 
    1383        1120 : compiler::TNode<String> BaseBuiltinsFromDSLAssembler::kEmptyString() {
    1384        1120 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1385             :     ca_.Goto(&block0);
    1386             : 
    1387             :     ca_.Bind(&block0);
    1388             :     compiler::TNode<String> tmp0;
    1389             :     USE(tmp0);
    1390        2240 :     tmp0 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).EmptyStringConstant());
    1391        2240 : return compiler::TNode<String>{tmp0};
    1392             : }
    1393             : 
    1394         840 : compiler::TNode<String> BaseBuiltinsFromDSLAssembler::kLengthString() {
    1395         840 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1396             :     ca_.Goto(&block0);
    1397             : 
    1398             :     ca_.Bind(&block0);
    1399             :     compiler::TNode<String> tmp0;
    1400             :     USE(tmp0);
    1401        1680 :     tmp0 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).LengthStringConstant());
    1402        1680 : return compiler::TNode<String>{tmp0};
    1403             : }
    1404             : 
    1405          56 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::ElementsKindNotEqual(compiler::TNode<Int32T> p_k1, compiler::TNode<Int32T> p_k2) {
    1406          56 :   compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1407             :   compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1408             :   compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1409             :     ca_.Goto(&block0, p_k1, p_k2);
    1410             : 
    1411          56 :   if (block0.is_used()) {
    1412             :     compiler::TNode<Int32T> tmp0;
    1413             :     compiler::TNode<Int32T> tmp1;
    1414             :     ca_.Bind(&block0, &tmp0, &tmp1);
    1415             :     compiler::TNode<BoolT> tmp2;
    1416             :     USE(tmp2);
    1417         112 :     tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp0}, compiler::TNode<Int32T>{tmp1}));
    1418             :     compiler::TNode<BoolT> tmp3;
    1419             :     USE(tmp3);
    1420         112 :     tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp2}));
    1421             :     ca_.Goto(&block1, tmp0, tmp1, tmp3);
    1422             :   }
    1423             : 
    1424          56 :   if (block1.is_used()) {
    1425             :     compiler::TNode<Int32T> tmp4;
    1426             :     compiler::TNode<Int32T> tmp5;
    1427             :     compiler::TNode<BoolT> tmp6;
    1428             :     ca_.Bind(&block1, &tmp4, &tmp5, &tmp6);
    1429             :     ca_.Goto(&block2, tmp4, tmp5, tmp6);
    1430             :   }
    1431             : 
    1432             :     compiler::TNode<Int32T> tmp7;
    1433             :     compiler::TNode<Int32T> tmp8;
    1434             :     compiler::TNode<BoolT> tmp9;
    1435             :     ca_.Bind(&block2, &tmp7, &tmp8, &tmp9);
    1436         112 :   return compiler::TNode<BoolT>{tmp9};
    1437             : }
    1438             : 
    1439          56 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::IsNumberEqual(compiler::TNode<Number> p_a, compiler::TNode<Number> p_b) {
    1440          56 :   compiler::CodeAssemblerParameterizedLabel<Number, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1441             :   compiler::CodeAssemblerParameterizedLabel<Number, Number, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1442             :   compiler::CodeAssemblerParameterizedLabel<Number, Number, Number, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1443             :   compiler::CodeAssemblerParameterizedLabel<Number, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1444             :   compiler::CodeAssemblerParameterizedLabel<Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1445             :   compiler::CodeAssemblerParameterizedLabel<Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1446             :   compiler::CodeAssemblerParameterizedLabel<Number, Number, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1447             :   compiler::CodeAssemblerParameterizedLabel<Number, Number, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1448             :   compiler::CodeAssemblerParameterizedLabel<Number, Number, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1449             :     ca_.Goto(&block0, p_a, p_b);
    1450             : 
    1451          56 :   if (block0.is_used()) {
    1452             :     compiler::TNode<Number> tmp0;
    1453             :     compiler::TNode<Number> tmp1;
    1454             :     ca_.Bind(&block0, &tmp0, &tmp1);
    1455             :     compiler::CodeAssemblerLabel label0(&ca_);
    1456          56 :     compiler::CodeAssemblerLabel label1(&ca_);
    1457         112 :     CodeStubAssembler(state_).BranchIfNumberEqual(compiler::TNode<Number>{tmp0}, compiler::TNode<Number>{tmp1}, &label0, &label1);
    1458          56 :     if (label0.is_used()) {
    1459          56 :       ca_.Bind(&label0);
    1460             :       ca_.Goto(&block6, tmp0, tmp1, tmp0, tmp1);
    1461             :     }
    1462          56 :     if (label1.is_used()) {
    1463          56 :       ca_.Bind(&label1);
    1464             :       ca_.Goto(&block7, tmp0, tmp1, tmp0, tmp1);
    1465          56 :     }
    1466             :   }
    1467             : 
    1468          56 :   if (block6.is_used()) {
    1469             :     compiler::TNode<Number> tmp2;
    1470             :     compiler::TNode<Number> tmp3;
    1471             :     compiler::TNode<Number> tmp4;
    1472             :     compiler::TNode<Number> tmp5;
    1473             :     ca_.Bind(&block6, &tmp2, &tmp3, &tmp4, &tmp5);
    1474             :     ca_.Goto(&block2, tmp2, tmp3);
    1475             :   }
    1476             : 
    1477          56 :   if (block7.is_used()) {
    1478             :     compiler::TNode<Number> tmp6;
    1479             :     compiler::TNode<Number> tmp7;
    1480             :     compiler::TNode<Number> tmp8;
    1481             :     compiler::TNode<Number> tmp9;
    1482             :     ca_.Bind(&block7, &tmp6, &tmp7, &tmp8, &tmp9);
    1483             :     ca_.Goto(&block3, tmp6, tmp7);
    1484             :   }
    1485             : 
    1486          56 :   if (block2.is_used()) {
    1487             :     compiler::TNode<Number> tmp10;
    1488             :     compiler::TNode<Number> tmp11;
    1489             :     ca_.Bind(&block2, &tmp10, &tmp11);
    1490             :     ca_.Goto(&block5, tmp10, tmp11);
    1491             :   }
    1492             : 
    1493          56 :   if (block3.is_used()) {
    1494             :     compiler::TNode<Number> tmp12;
    1495             :     compiler::TNode<Number> tmp13;
    1496             :     ca_.Bind(&block3, &tmp12, &tmp13);
    1497             :     compiler::TNode<BoolT> tmp14;
    1498             :     USE(tmp14);
    1499         168 :     tmp14 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
    1500             :     ca_.Goto(&block4, tmp12, tmp13, tmp14);
    1501             :   }
    1502             : 
    1503          56 :   if (block5.is_used()) {
    1504             :     compiler::TNode<Number> tmp15;
    1505             :     compiler::TNode<Number> tmp16;
    1506             :     ca_.Bind(&block5, &tmp15, &tmp16);
    1507             :     compiler::TNode<BoolT> tmp17;
    1508             :     USE(tmp17);
    1509         168 :     tmp17 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
    1510             :     ca_.Goto(&block4, tmp15, tmp16, tmp17);
    1511             :   }
    1512             : 
    1513          56 :   if (block4.is_used()) {
    1514             :     compiler::TNode<Number> tmp18;
    1515             :     compiler::TNode<Number> tmp19;
    1516             :     compiler::TNode<BoolT> tmp20;
    1517             :     ca_.Bind(&block4, &tmp18, &tmp19, &tmp20);
    1518             :     ca_.Goto(&block1, tmp18, tmp19, tmp20);
    1519             :   }
    1520             : 
    1521          56 :   if (block1.is_used()) {
    1522             :     compiler::TNode<Number> tmp21;
    1523             :     compiler::TNode<Number> tmp22;
    1524             :     compiler::TNode<BoolT> tmp23;
    1525             :     ca_.Bind(&block1, &tmp21, &tmp22, &tmp23);
    1526             :     ca_.Goto(&block8, tmp21, tmp22, tmp23);
    1527             :   }
    1528             : 
    1529             :     compiler::TNode<Number> tmp24;
    1530             :     compiler::TNode<Number> tmp25;
    1531             :     compiler::TNode<BoolT> tmp26;
    1532             :     ca_.Bind(&block8, &tmp24, &tmp25, &tmp26);
    1533         112 :   return compiler::TNode<BoolT>{tmp26};
    1534             : }
    1535             : 
    1536         504 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Min(compiler::TNode<Number> p_x, compiler::TNode<Number> p_y) {
    1537         504 :   compiler::CodeAssemblerParameterizedLabel<Number, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1538             :   compiler::CodeAssemblerParameterizedLabel<Number, Number, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1539             :   compiler::CodeAssemblerParameterizedLabel<Number, Number, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1540             :     ca_.Goto(&block0, p_x, p_y);
    1541             : 
    1542         504 :   if (block0.is_used()) {
    1543             :     compiler::TNode<Number> tmp0;
    1544             :     compiler::TNode<Number> tmp1;
    1545             :     ca_.Bind(&block0, &tmp0, &tmp1);
    1546             :     compiler::TNode<Number> tmp2;
    1547             :     USE(tmp2);
    1548        2016 :     tmp2 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberMin(compiler::TNode<Number>{tmp0}, compiler::TNode<Number>{tmp1}));
    1549             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    1550             :   }
    1551             : 
    1552         504 :   if (block1.is_used()) {
    1553             :     compiler::TNode<Number> tmp3;
    1554             :     compiler::TNode<Number> tmp4;
    1555             :     compiler::TNode<Number> tmp5;
    1556             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    1557             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    1558             :   }
    1559             : 
    1560             :     compiler::TNode<Number> tmp6;
    1561             :     compiler::TNode<Number> tmp7;
    1562             :     compiler::TNode<Number> tmp8;
    1563             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    1564        1008 :   return compiler::TNode<Number>{tmp8};
    1565             : }
    1566             : 
    1567         448 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Max(compiler::TNode<Number> p_x, compiler::TNode<Number> p_y) {
    1568         448 :   compiler::CodeAssemblerParameterizedLabel<Number, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1569             :   compiler::CodeAssemblerParameterizedLabel<Number, Number, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1570             :   compiler::CodeAssemblerParameterizedLabel<Number, Number, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1571             :     ca_.Goto(&block0, p_x, p_y);
    1572             : 
    1573         448 :   if (block0.is_used()) {
    1574             :     compiler::TNode<Number> tmp0;
    1575             :     compiler::TNode<Number> tmp1;
    1576             :     ca_.Bind(&block0, &tmp0, &tmp1);
    1577             :     compiler::TNode<Number> tmp2;
    1578             :     USE(tmp2);
    1579        1792 :     tmp2 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberMax(compiler::TNode<Number>{tmp0}, compiler::TNode<Number>{tmp1}));
    1580             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    1581             :   }
    1582             : 
    1583         448 :   if (block1.is_used()) {
    1584             :     compiler::TNode<Number> tmp3;
    1585             :     compiler::TNode<Number> tmp4;
    1586             :     compiler::TNode<Number> tmp5;
    1587             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    1588             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    1589             :   }
    1590             : 
    1591             :     compiler::TNode<Number> tmp6;
    1592             :     compiler::TNode<Number> tmp7;
    1593             :     compiler::TNode<Number> tmp8;
    1594             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    1595         896 :   return compiler::TNode<Number>{tmp8};
    1596             : }
    1597             : 
    1598           5 : compiler::TNode<HeapObject> BaseBuiltinsFromDSLAssembler::CastHeapObject10HeapObject(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    1599           5 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1600             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1601             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1602             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1603             :     ca_.Goto(&block0, p_o);
    1604             : 
    1605           5 :   if (block0.is_used()) {
    1606             :     compiler::TNode<HeapObject> tmp0;
    1607             :     ca_.Bind(&block0, &tmp0);
    1608             :     ca_.Goto(&block2, tmp0, tmp0);
    1609             :   }
    1610             : 
    1611           5 :   if (block2.is_used()) {
    1612             :     compiler::TNode<HeapObject> tmp1;
    1613             :     compiler::TNode<HeapObject> tmp2;
    1614             :     ca_.Bind(&block2, &tmp1, &tmp2);
    1615             :     ca_.Goto(&block3, tmp1, tmp2);
    1616             :   }
    1617             : 
    1618           5 :   if (block1.is_used()) {
    1619             :     ca_.Bind(&block1);
    1620           0 :     ca_.Goto(label_CastError);
    1621             :   }
    1622             : 
    1623             :     compiler::TNode<HeapObject> tmp3;
    1624             :     compiler::TNode<HeapObject> tmp4;
    1625             :     ca_.Bind(&block3, &tmp3, &tmp4);
    1626          10 :   return compiler::TNode<HeapObject>{tmp4};
    1627             : }
    1628             : 
    1629         758 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::CastHeapObject12ATFixedArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    1630         758 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1631             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1632             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, FixedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1633             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1634             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1635             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1636             :     ca_.Goto(&block0, p_o);
    1637             : 
    1638         758 :   if (block0.is_used()) {
    1639             :     compiler::TNode<HeapObject> tmp0;
    1640             :     ca_.Bind(&block0, &tmp0);
    1641             :     compiler::TNode<FixedArray> tmp1;
    1642             :     USE(tmp1);
    1643             :     compiler::CodeAssemblerLabel label0(&ca_);
    1644        1516 :     tmp1 = CodeStubAssembler(state_).HeapObjectToFixedArray(compiler::TNode<HeapObject>{tmp0}, &label0);
    1645             :     ca_.Goto(&block3, tmp0, tmp0, tmp1);
    1646         758 :     if (label0.is_used()) {
    1647         758 :       ca_.Bind(&label0);
    1648             :       ca_.Goto(&block4, tmp0, tmp0);
    1649         758 :     }
    1650             :   }
    1651             : 
    1652         758 :   if (block4.is_used()) {
    1653             :     compiler::TNode<HeapObject> tmp2;
    1654             :     compiler::TNode<HeapObject> tmp3;
    1655             :     ca_.Bind(&block4, &tmp2, &tmp3);
    1656             :     ca_.Goto(&block1);
    1657             :   }
    1658             : 
    1659         758 :   if (block3.is_used()) {
    1660             :     compiler::TNode<HeapObject> tmp4;
    1661             :     compiler::TNode<HeapObject> tmp5;
    1662             :     compiler::TNode<FixedArray> tmp6;
    1663             :     ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
    1664             :     ca_.Goto(&block2, tmp4, tmp6);
    1665             :   }
    1666             : 
    1667         758 :   if (block2.is_used()) {
    1668             :     compiler::TNode<HeapObject> tmp7;
    1669             :     compiler::TNode<FixedArray> tmp8;
    1670             :     ca_.Bind(&block2, &tmp7, &tmp8);
    1671             :     ca_.Goto(&block5, tmp7, tmp8);
    1672             :   }
    1673             : 
    1674         758 :   if (block1.is_used()) {
    1675             :     ca_.Bind(&block1);
    1676         758 :     ca_.Goto(label_CastError);
    1677             :   }
    1678             : 
    1679             :     compiler::TNode<HeapObject> tmp9;
    1680             :     compiler::TNode<FixedArray> tmp10;
    1681             :     ca_.Bind(&block5, &tmp9, &tmp10);
    1682        1516 :   return compiler::TNode<FixedArray>{tmp10};
    1683             : }
    1684             : 
    1685         448 : compiler::TNode<FixedDoubleArray> BaseBuiltinsFromDSLAssembler::CastHeapObject18ATFixedDoubleArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    1686         448 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1687             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1688             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, FixedDoubleArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1689             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedDoubleArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1690             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1691             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedDoubleArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1692             :     ca_.Goto(&block0, p_o);
    1693             : 
    1694         448 :   if (block0.is_used()) {
    1695             :     compiler::TNode<HeapObject> tmp0;
    1696             :     ca_.Bind(&block0, &tmp0);
    1697             :     compiler::TNode<FixedDoubleArray> tmp1;
    1698             :     USE(tmp1);
    1699             :     compiler::CodeAssemblerLabel label0(&ca_);
    1700         896 :     tmp1 = CodeStubAssembler(state_).HeapObjectToFixedDoubleArray(compiler::TNode<HeapObject>{tmp0}, &label0);
    1701             :     ca_.Goto(&block3, tmp0, tmp0, tmp1);
    1702         448 :     if (label0.is_used()) {
    1703         448 :       ca_.Bind(&label0);
    1704             :       ca_.Goto(&block4, tmp0, tmp0);
    1705         448 :     }
    1706             :   }
    1707             : 
    1708         448 :   if (block4.is_used()) {
    1709             :     compiler::TNode<HeapObject> tmp2;
    1710             :     compiler::TNode<HeapObject> tmp3;
    1711             :     ca_.Bind(&block4, &tmp2, &tmp3);
    1712             :     ca_.Goto(&block1);
    1713             :   }
    1714             : 
    1715         448 :   if (block3.is_used()) {
    1716             :     compiler::TNode<HeapObject> tmp4;
    1717             :     compiler::TNode<HeapObject> tmp5;
    1718             :     compiler::TNode<FixedDoubleArray> tmp6;
    1719             :     ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
    1720             :     ca_.Goto(&block2, tmp4, tmp6);
    1721             :   }
    1722             : 
    1723         448 :   if (block2.is_used()) {
    1724             :     compiler::TNode<HeapObject> tmp7;
    1725             :     compiler::TNode<FixedDoubleArray> tmp8;
    1726             :     ca_.Bind(&block2, &tmp7, &tmp8);
    1727             :     ca_.Goto(&block5, tmp7, tmp8);
    1728             :   }
    1729             : 
    1730         448 :   if (block1.is_used()) {
    1731             :     ca_.Bind(&block1);
    1732         448 :     ca_.Goto(label_CastError);
    1733             :   }
    1734             : 
    1735             :     compiler::TNode<HeapObject> tmp9;
    1736             :     compiler::TNode<FixedDoubleArray> tmp10;
    1737             :     ca_.Bind(&block5, &tmp9, &tmp10);
    1738         896 :   return compiler::TNode<FixedDoubleArray>{tmp10};
    1739             : }
    1740             : 
    1741          56 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::CastHeapObject25ATSloppyArgumentsElements(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    1742          56 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1743             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1744             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, FixedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1745             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1746             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1747             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1748             :     ca_.Goto(&block0, p_o);
    1749             : 
    1750          56 :   if (block0.is_used()) {
    1751             :     compiler::TNode<HeapObject> tmp0;
    1752             :     ca_.Bind(&block0, &tmp0);
    1753             :     compiler::TNode<FixedArray> tmp1;
    1754             :     USE(tmp1);
    1755             :     compiler::CodeAssemblerLabel label0(&ca_);
    1756         112 :     tmp1 = CodeStubAssembler(state_).HeapObjectToSloppyArgumentsElements(compiler::TNode<HeapObject>{tmp0}, &label0);
    1757             :     ca_.Goto(&block3, tmp0, tmp0, tmp1);
    1758          56 :     if (label0.is_used()) {
    1759          56 :       ca_.Bind(&label0);
    1760             :       ca_.Goto(&block4, tmp0, tmp0);
    1761          56 :     }
    1762             :   }
    1763             : 
    1764          56 :   if (block4.is_used()) {
    1765             :     compiler::TNode<HeapObject> tmp2;
    1766             :     compiler::TNode<HeapObject> tmp3;
    1767             :     ca_.Bind(&block4, &tmp2, &tmp3);
    1768             :     ca_.Goto(&block1);
    1769             :   }
    1770             : 
    1771          56 :   if (block3.is_used()) {
    1772             :     compiler::TNode<HeapObject> tmp4;
    1773             :     compiler::TNode<HeapObject> tmp5;
    1774             :     compiler::TNode<FixedArray> tmp6;
    1775             :     ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
    1776             :     ca_.Goto(&block2, tmp4, tmp6);
    1777             :   }
    1778             : 
    1779          56 :   if (block2.is_used()) {
    1780             :     compiler::TNode<HeapObject> tmp7;
    1781             :     compiler::TNode<FixedArray> tmp8;
    1782             :     ca_.Bind(&block2, &tmp7, &tmp8);
    1783             :     ca_.Goto(&block5, tmp7, tmp8);
    1784             :   }
    1785             : 
    1786          56 :   if (block1.is_used()) {
    1787             :     ca_.Bind(&block1);
    1788          56 :     ca_.Goto(label_CastError);
    1789             :   }
    1790             : 
    1791             :     compiler::TNode<HeapObject> tmp9;
    1792             :     compiler::TNode<FixedArray> tmp10;
    1793             :     ca_.Bind(&block5, &tmp9, &tmp10);
    1794         112 :   return compiler::TNode<FixedArray>{tmp10};
    1795             : }
    1796             : 
    1797        1288 : compiler::TNode<JSDataView> BaseBuiltinsFromDSLAssembler::CastHeapObject12ATJSDataView(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    1798        1288 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1799             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1800             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, JSDataView> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1801             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, JSDataView> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1802             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1803             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, JSDataView> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1804             :     ca_.Goto(&block0, p_o);
    1805             : 
    1806        1288 :   if (block0.is_used()) {
    1807             :     compiler::TNode<HeapObject> tmp0;
    1808             :     ca_.Bind(&block0, &tmp0);
    1809             :     compiler::TNode<JSDataView> tmp1;
    1810             :     USE(tmp1);
    1811             :     compiler::CodeAssemblerLabel label0(&ca_);
    1812        2576 :     tmp1 = CodeStubAssembler(state_).HeapObjectToJSDataView(compiler::TNode<HeapObject>{tmp0}, &label0);
    1813             :     ca_.Goto(&block3, tmp0, tmp0, tmp1);
    1814        1288 :     if (label0.is_used()) {
    1815        1288 :       ca_.Bind(&label0);
    1816             :       ca_.Goto(&block4, tmp0, tmp0);
    1817        1288 :     }
    1818             :   }
    1819             : 
    1820        1288 :   if (block4.is_used()) {
    1821             :     compiler::TNode<HeapObject> tmp2;
    1822             :     compiler::TNode<HeapObject> tmp3;
    1823             :     ca_.Bind(&block4, &tmp2, &tmp3);
    1824             :     ca_.Goto(&block1);
    1825             :   }
    1826             : 
    1827        1288 :   if (block3.is_used()) {
    1828             :     compiler::TNode<HeapObject> tmp4;
    1829             :     compiler::TNode<HeapObject> tmp5;
    1830             :     compiler::TNode<JSDataView> tmp6;
    1831             :     ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
    1832             :     ca_.Goto(&block2, tmp4, tmp6);
    1833             :   }
    1834             : 
    1835        1288 :   if (block2.is_used()) {
    1836             :     compiler::TNode<HeapObject> tmp7;
    1837             :     compiler::TNode<JSDataView> tmp8;
    1838             :     ca_.Bind(&block2, &tmp7, &tmp8);
    1839             :     ca_.Goto(&block5, tmp7, tmp8);
    1840             :   }
    1841             : 
    1842        1288 :   if (block1.is_used()) {
    1843             :     ca_.Bind(&block1);
    1844        1288 :     ca_.Goto(label_CastError);
    1845             :   }
    1846             : 
    1847             :     compiler::TNode<HeapObject> tmp9;
    1848             :     compiler::TNode<JSDataView> tmp10;
    1849             :     ca_.Bind(&block5, &tmp9, &tmp10);
    1850        2576 :   return compiler::TNode<JSDataView>{tmp10};
    1851             : }
    1852             : 
    1853           0 : compiler::TNode<JSTypedArray> BaseBuiltinsFromDSLAssembler::CastHeapObject14ATJSTypedArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    1854           0 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1855             :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1856             :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1857             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, JSTypedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1858             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1859             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, JSTypedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1860             :     ca_.Goto(&block0, p_o);
    1861             : 
    1862           0 :   if (block0.is_used()) {
    1863             :     compiler::TNode<HeapObject> tmp0;
    1864             :     ca_.Bind(&block0, &tmp0);
    1865             :     compiler::TNode<BoolT> tmp1;
    1866             :     USE(tmp1);
    1867           0 :     tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsJSTypedArray(compiler::TNode<HeapObject>{tmp0}));
    1868           0 :     ca_.Branch(tmp1, &block3, &block4, tmp0);
    1869             :   }
    1870             : 
    1871           0 :   if (block3.is_used()) {
    1872             :     compiler::TNode<HeapObject> tmp2;
    1873             :     ca_.Bind(&block3, &tmp2);
    1874             :     compiler::TNode<JSTypedArray> tmp3;
    1875             :     USE(tmp3);
    1876             :     tmp3 = TORQUE_CAST(compiler::TNode<Object>{tmp2});
    1877             :     ca_.Goto(&block2, tmp2, tmp3);
    1878             :   }
    1879             : 
    1880           0 :   if (block4.is_used()) {
    1881             :     compiler::TNode<HeapObject> tmp4;
    1882             :     ca_.Bind(&block4, &tmp4);
    1883             :     ca_.Goto(&block1);
    1884             :   }
    1885             : 
    1886           0 :   if (block2.is_used()) {
    1887             :     compiler::TNode<HeapObject> tmp5;
    1888             :     compiler::TNode<JSTypedArray> tmp6;
    1889             :     ca_.Bind(&block2, &tmp5, &tmp6);
    1890             :     ca_.Goto(&block5, tmp5, tmp6);
    1891             :   }
    1892             : 
    1893           0 :   if (block1.is_used()) {
    1894             :     ca_.Bind(&block1);
    1895           0 :     ca_.Goto(label_CastError);
    1896             :   }
    1897             : 
    1898             :     compiler::TNode<HeapObject> tmp7;
    1899             :     compiler::TNode<JSTypedArray> tmp8;
    1900             :     ca_.Bind(&block5, &tmp7, &tmp8);
    1901           0 :   return compiler::TNode<JSTypedArray>{tmp8};
    1902             : }
    1903             : 
    1904         504 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::CastHeapObject41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    1905         504 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1906             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1907             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1908             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1909             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1910             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1911             :     ca_.Goto(&block0, p_o);
    1912             : 
    1913         504 :   if (block0.is_used()) {
    1914             :     compiler::TNode<HeapObject> tmp0;
    1915             :     ca_.Bind(&block0, &tmp0);
    1916             :     compiler::TNode<JSReceiver> tmp1;
    1917             :     USE(tmp1);
    1918             :     compiler::CodeAssemblerLabel label0(&ca_);
    1919        1008 :     tmp1 = CodeStubAssembler(state_).HeapObjectToCallable(compiler::TNode<HeapObject>{tmp0}, &label0);
    1920             :     ca_.Goto(&block3, tmp0, tmp0, tmp1);
    1921         504 :     if (label0.is_used()) {
    1922         504 :       ca_.Bind(&label0);
    1923             :       ca_.Goto(&block4, tmp0, tmp0);
    1924         504 :     }
    1925             :   }
    1926             : 
    1927         504 :   if (block4.is_used()) {
    1928             :     compiler::TNode<HeapObject> tmp2;
    1929             :     compiler::TNode<HeapObject> tmp3;
    1930             :     ca_.Bind(&block4, &tmp2, &tmp3);
    1931             :     ca_.Goto(&block1);
    1932             :   }
    1933             : 
    1934         504 :   if (block3.is_used()) {
    1935             :     compiler::TNode<HeapObject> tmp4;
    1936             :     compiler::TNode<HeapObject> tmp5;
    1937             :     compiler::TNode<JSReceiver> tmp6;
    1938             :     ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
    1939             :     ca_.Goto(&block2, tmp4, tmp6);
    1940             :   }
    1941             : 
    1942         504 :   if (block2.is_used()) {
    1943             :     compiler::TNode<HeapObject> tmp7;
    1944             :     compiler::TNode<JSReceiver> tmp8;
    1945             :     ca_.Bind(&block2, &tmp7, &tmp8);
    1946             :     ca_.Goto(&block5, tmp7, tmp8);
    1947             :   }
    1948             : 
    1949         504 :   if (block1.is_used()) {
    1950             :     ca_.Bind(&block1);
    1951         504 :     ca_.Goto(label_CastError);
    1952             :   }
    1953             : 
    1954             :     compiler::TNode<HeapObject> tmp9;
    1955             :     compiler::TNode<JSReceiver> tmp10;
    1956             :     ca_.Bind(&block5, &tmp9, &tmp10);
    1957        1008 :   return compiler::TNode<JSReceiver>{tmp10};
    1958             : }
    1959             : 
    1960         789 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::CastHeapObject7JSArray(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    1961         789 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1962             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1963             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1964             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1965             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1966             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    1967             :     ca_.Goto(&block0, p_o);
    1968             : 
    1969         789 :   if (block0.is_used()) {
    1970             :     compiler::TNode<HeapObject> tmp0;
    1971             :     ca_.Bind(&block0, &tmp0);
    1972             :     compiler::TNode<JSArray> tmp1;
    1973             :     USE(tmp1);
    1974             :     compiler::CodeAssemblerLabel label0(&ca_);
    1975        1578 :     tmp1 = CodeStubAssembler(state_).HeapObjectToJSArray(compiler::TNode<HeapObject>{tmp0}, &label0);
    1976             :     ca_.Goto(&block3, tmp0, tmp0, tmp1);
    1977         789 :     if (label0.is_used()) {
    1978         789 :       ca_.Bind(&label0);
    1979             :       ca_.Goto(&block4, tmp0, tmp0);
    1980         789 :     }
    1981             :   }
    1982             : 
    1983         789 :   if (block4.is_used()) {
    1984             :     compiler::TNode<HeapObject> tmp2;
    1985             :     compiler::TNode<HeapObject> tmp3;
    1986             :     ca_.Bind(&block4, &tmp2, &tmp3);
    1987             :     ca_.Goto(&block1);
    1988             :   }
    1989             : 
    1990         789 :   if (block3.is_used()) {
    1991             :     compiler::TNode<HeapObject> tmp4;
    1992             :     compiler::TNode<HeapObject> tmp5;
    1993             :     compiler::TNode<JSArray> tmp6;
    1994             :     ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
    1995             :     ca_.Goto(&block2, tmp4, tmp6);
    1996             :   }
    1997             : 
    1998         789 :   if (block2.is_used()) {
    1999             :     compiler::TNode<HeapObject> tmp7;
    2000             :     compiler::TNode<JSArray> tmp8;
    2001             :     ca_.Bind(&block2, &tmp7, &tmp8);
    2002             :     ca_.Goto(&block5, tmp7, tmp8);
    2003             :   }
    2004             : 
    2005         789 :   if (block1.is_used()) {
    2006             :     ca_.Bind(&block1);
    2007         789 :     ca_.Goto(label_CastError);
    2008             :   }
    2009             : 
    2010             :     compiler::TNode<HeapObject> tmp9;
    2011             :     compiler::TNode<JSArray> tmp10;
    2012             :     ca_.Bind(&block5, &tmp9, &tmp10);
    2013        1578 :   return compiler::TNode<JSArray>{tmp10};
    2014             : }
    2015             : 
    2016           0 : compiler::TNode<Context> BaseBuiltinsFromDSLAssembler::CastHeapObject9ATContext(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    2017           0 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2018             :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2019             :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2020             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2021             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2022             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Context> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2023             :     ca_.Goto(&block0, p_o);
    2024             : 
    2025           0 :   if (block0.is_used()) {
    2026             :     compiler::TNode<HeapObject> tmp0;
    2027             :     ca_.Bind(&block0, &tmp0);
    2028             :     compiler::TNode<BoolT> tmp1;
    2029             :     USE(tmp1);
    2030           0 :     tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsContext(compiler::TNode<HeapObject>{tmp0}));
    2031           0 :     ca_.Branch(tmp1, &block3, &block4, tmp0);
    2032             :   }
    2033             : 
    2034           0 :   if (block3.is_used()) {
    2035             :     compiler::TNode<HeapObject> tmp2;
    2036             :     ca_.Bind(&block3, &tmp2);
    2037             :     compiler::TNode<Context> tmp3;
    2038             :     USE(tmp3);
    2039             :     tmp3 = TORQUE_CAST(compiler::TNode<Object>{tmp2});
    2040             :     ca_.Goto(&block2, tmp2, tmp3);
    2041             :   }
    2042             : 
    2043           0 :   if (block4.is_used()) {
    2044             :     compiler::TNode<HeapObject> tmp4;
    2045             :     ca_.Bind(&block4, &tmp4);
    2046             :     ca_.Goto(&block1);
    2047             :   }
    2048             : 
    2049           0 :   if (block2.is_used()) {
    2050             :     compiler::TNode<HeapObject> tmp5;
    2051             :     compiler::TNode<Context> tmp6;
    2052             :     ca_.Bind(&block2, &tmp5, &tmp6);
    2053             :     ca_.Goto(&block5, tmp5, tmp6);
    2054             :   }
    2055             : 
    2056           0 :   if (block1.is_used()) {
    2057             :     ca_.Bind(&block1);
    2058           0 :     ca_.Goto(label_CastError);
    2059             :   }
    2060             : 
    2061             :     compiler::TNode<HeapObject> tmp7;
    2062             :     compiler::TNode<Context> tmp8;
    2063             :     ca_.Bind(&block5, &tmp7, &tmp8);
    2064           0 :   return compiler::TNode<Context>{tmp8};
    2065             : }
    2066             : 
    2067           0 : compiler::TNode<JSObject> BaseBuiltinsFromDSLAssembler::CastHeapObject8JSObject(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    2068           0 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2069             :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2070             :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2071             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, JSObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2072             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2073             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, JSObject> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2074             :     ca_.Goto(&block0, p_o);
    2075             : 
    2076           0 :   if (block0.is_used()) {
    2077             :     compiler::TNode<HeapObject> tmp0;
    2078             :     ca_.Bind(&block0, &tmp0);
    2079             :     compiler::TNode<BoolT> tmp1;
    2080             :     USE(tmp1);
    2081           0 :     tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsJSObject(compiler::TNode<HeapObject>{tmp0}));
    2082           0 :     ca_.Branch(tmp1, &block3, &block4, tmp0);
    2083             :   }
    2084             : 
    2085           0 :   if (block3.is_used()) {
    2086             :     compiler::TNode<HeapObject> tmp2;
    2087             :     ca_.Bind(&block3, &tmp2);
    2088             :     compiler::TNode<JSObject> tmp3;
    2089             :     USE(tmp3);
    2090             :     tmp3 = TORQUE_CAST(compiler::TNode<Object>{tmp2});
    2091             :     ca_.Goto(&block2, tmp2, tmp3);
    2092             :   }
    2093             : 
    2094           0 :   if (block4.is_used()) {
    2095             :     compiler::TNode<HeapObject> tmp4;
    2096             :     ca_.Bind(&block4, &tmp4);
    2097             :     ca_.Goto(&block1);
    2098             :   }
    2099             : 
    2100           0 :   if (block2.is_used()) {
    2101             :     compiler::TNode<HeapObject> tmp5;
    2102             :     compiler::TNode<JSObject> tmp6;
    2103             :     ca_.Bind(&block2, &tmp5, &tmp6);
    2104             :     ca_.Goto(&block5, tmp5, tmp6);
    2105             :   }
    2106             : 
    2107           0 :   if (block1.is_used()) {
    2108             :     ca_.Bind(&block1);
    2109           0 :     ca_.Goto(label_CastError);
    2110             :   }
    2111             : 
    2112             :     compiler::TNode<HeapObject> tmp7;
    2113             :     compiler::TNode<JSObject> tmp8;
    2114             :     ca_.Bind(&block5, &tmp7, &tmp8);
    2115           0 :   return compiler::TNode<JSObject>{tmp8};
    2116             : }
    2117             : 
    2118           0 : compiler::TNode<NumberDictionary> BaseBuiltinsFromDSLAssembler::CastHeapObject18ATNumberDictionary(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    2119           0 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2120             :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2121             :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2122             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, NumberDictionary> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2123             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2124             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, NumberDictionary> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2125             :     ca_.Goto(&block0, p_o);
    2126             : 
    2127           0 :   if (block0.is_used()) {
    2128             :     compiler::TNode<HeapObject> tmp0;
    2129             :     ca_.Bind(&block0, &tmp0);
    2130             :     compiler::TNode<BoolT> tmp1;
    2131             :     USE(tmp1);
    2132           0 :     tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNumberDictionary(compiler::TNode<HeapObject>{tmp0}));
    2133           0 :     ca_.Branch(tmp1, &block3, &block4, tmp0);
    2134             :   }
    2135             : 
    2136           0 :   if (block3.is_used()) {
    2137             :     compiler::TNode<HeapObject> tmp2;
    2138             :     ca_.Bind(&block3, &tmp2);
    2139             :     compiler::TNode<NumberDictionary> tmp3;
    2140             :     USE(tmp3);
    2141             :     tmp3 = TORQUE_CAST(compiler::TNode<Object>{tmp2});
    2142             :     ca_.Goto(&block2, tmp2, tmp3);
    2143             :   }
    2144             : 
    2145           0 :   if (block4.is_used()) {
    2146             :     compiler::TNode<HeapObject> tmp4;
    2147             :     ca_.Bind(&block4, &tmp4);
    2148             :     ca_.Goto(&block1);
    2149             :   }
    2150             : 
    2151           0 :   if (block2.is_used()) {
    2152             :     compiler::TNode<HeapObject> tmp5;
    2153             :     compiler::TNode<NumberDictionary> tmp6;
    2154             :     ca_.Bind(&block2, &tmp5, &tmp6);
    2155             :     ca_.Goto(&block5, tmp5, tmp6);
    2156             :   }
    2157             : 
    2158           0 :   if (block1.is_used()) {
    2159             :     ca_.Bind(&block1);
    2160           0 :     ca_.Goto(label_CastError);
    2161             :   }
    2162             : 
    2163             :     compiler::TNode<HeapObject> tmp7;
    2164             :     compiler::TNode<NumberDictionary> tmp8;
    2165             :     ca_.Bind(&block5, &tmp7, &tmp8);
    2166           0 :   return compiler::TNode<NumberDictionary>{tmp8};
    2167             : }
    2168             : 
    2169           0 : compiler::TNode<FixedTypedArrayBase> BaseBuiltinsFromDSLAssembler::CastHeapObject21ATFixedTypedArrayBase(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    2170           0 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2171             :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2172             :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2173             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedTypedArrayBase> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2174             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2175             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, FixedTypedArrayBase> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2176             :     ca_.Goto(&block0, p_o);
    2177             : 
    2178           0 :   if (block0.is_used()) {
    2179             :     compiler::TNode<HeapObject> tmp0;
    2180             :     ca_.Bind(&block0, &tmp0);
    2181             :     compiler::TNode<BoolT> tmp1;
    2182             :     USE(tmp1);
    2183           0 :     tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsFixedTypedArray(compiler::TNode<HeapObject>{tmp0}));
    2184           0 :     ca_.Branch(tmp1, &block3, &block4, tmp0);
    2185             :   }
    2186             : 
    2187           0 :   if (block3.is_used()) {
    2188             :     compiler::TNode<HeapObject> tmp2;
    2189             :     ca_.Bind(&block3, &tmp2);
    2190             :     compiler::TNode<FixedTypedArrayBase> tmp3;
    2191             :     USE(tmp3);
    2192             :     tmp3 = TORQUE_CAST(compiler::TNode<Object>{tmp2});
    2193             :     ca_.Goto(&block2, tmp2, tmp3);
    2194             :   }
    2195             : 
    2196           0 :   if (block4.is_used()) {
    2197             :     compiler::TNode<HeapObject> tmp4;
    2198             :     ca_.Bind(&block4, &tmp4);
    2199             :     ca_.Goto(&block1);
    2200             :   }
    2201             : 
    2202           0 :   if (block2.is_used()) {
    2203             :     compiler::TNode<HeapObject> tmp5;
    2204             :     compiler::TNode<FixedTypedArrayBase> tmp6;
    2205             :     ca_.Bind(&block2, &tmp5, &tmp6);
    2206             :     ca_.Goto(&block5, tmp5, tmp6);
    2207             :   }
    2208             : 
    2209           0 :   if (block1.is_used()) {
    2210             :     ca_.Bind(&block1);
    2211           0 :     ca_.Goto(label_CastError);
    2212             :   }
    2213             : 
    2214             :     compiler::TNode<HeapObject> tmp7;
    2215             :     compiler::TNode<FixedTypedArrayBase> tmp8;
    2216             :     ca_.Bind(&block5, &tmp7, &tmp8);
    2217           0 :   return compiler::TNode<FixedTypedArrayBase>{tmp8};
    2218             : }
    2219             : 
    2220         336 : compiler::TNode<String> BaseBuiltinsFromDSLAssembler::CastHeapObject8ATString(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    2221         336 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2222             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2223             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, String> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2224             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2225             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2226             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2227             :     ca_.Goto(&block0, p_o);
    2228             : 
    2229         336 :   if (block0.is_used()) {
    2230             :     compiler::TNode<HeapObject> tmp0;
    2231             :     ca_.Bind(&block0, &tmp0);
    2232             :     compiler::TNode<String> tmp1;
    2233             :     USE(tmp1);
    2234             :     compiler::CodeAssemblerLabel label0(&ca_);
    2235         672 :     tmp1 = CodeStubAssembler(state_).HeapObjectToString(compiler::TNode<HeapObject>{tmp0}, &label0);
    2236             :     ca_.Goto(&block3, tmp0, tmp0, tmp1);
    2237         336 :     if (label0.is_used()) {
    2238         336 :       ca_.Bind(&label0);
    2239             :       ca_.Goto(&block4, tmp0, tmp0);
    2240         336 :     }
    2241             :   }
    2242             : 
    2243         336 :   if (block4.is_used()) {
    2244             :     compiler::TNode<HeapObject> tmp2;
    2245             :     compiler::TNode<HeapObject> tmp3;
    2246             :     ca_.Bind(&block4, &tmp2, &tmp3);
    2247             :     ca_.Goto(&block1);
    2248             :   }
    2249             : 
    2250         336 :   if (block3.is_used()) {
    2251             :     compiler::TNode<HeapObject> tmp4;
    2252             :     compiler::TNode<HeapObject> tmp5;
    2253             :     compiler::TNode<String> tmp6;
    2254             :     ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
    2255             :     ca_.Goto(&block2, tmp4, tmp6);
    2256             :   }
    2257             : 
    2258         336 :   if (block2.is_used()) {
    2259             :     compiler::TNode<HeapObject> tmp7;
    2260             :     compiler::TNode<String> tmp8;
    2261             :     ca_.Bind(&block2, &tmp7, &tmp8);
    2262             :     ca_.Goto(&block5, tmp7, tmp8);
    2263             :   }
    2264             : 
    2265         336 :   if (block1.is_used()) {
    2266             :     ca_.Bind(&block1);
    2267         336 :     ca_.Goto(label_CastError);
    2268             :   }
    2269             : 
    2270             :     compiler::TNode<HeapObject> tmp9;
    2271             :     compiler::TNode<String> tmp10;
    2272             :     ca_.Bind(&block5, &tmp9, &tmp10);
    2273         672 :   return compiler::TNode<String>{tmp10};
    2274             : }
    2275             : 
    2276          56 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::CastHeapObject13ATConstructor(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    2277          56 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2278             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2279             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapObject, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2280             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2281             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2282             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2283             :     ca_.Goto(&block0, p_o);
    2284             : 
    2285          56 :   if (block0.is_used()) {
    2286             :     compiler::TNode<HeapObject> tmp0;
    2287             :     ca_.Bind(&block0, &tmp0);
    2288             :     compiler::TNode<JSReceiver> tmp1;
    2289             :     USE(tmp1);
    2290             :     compiler::CodeAssemblerLabel label0(&ca_);
    2291         112 :     tmp1 = CodeStubAssembler(state_).HeapObjectToConstructor(compiler::TNode<HeapObject>{tmp0}, &label0);
    2292             :     ca_.Goto(&block3, tmp0, tmp0, tmp1);
    2293          56 :     if (label0.is_used()) {
    2294          56 :       ca_.Bind(&label0);
    2295             :       ca_.Goto(&block4, tmp0, tmp0);
    2296          56 :     }
    2297             :   }
    2298             : 
    2299          56 :   if (block4.is_used()) {
    2300             :     compiler::TNode<HeapObject> tmp2;
    2301             :     compiler::TNode<HeapObject> tmp3;
    2302             :     ca_.Bind(&block4, &tmp2, &tmp3);
    2303             :     ca_.Goto(&block1);
    2304             :   }
    2305             : 
    2306          56 :   if (block3.is_used()) {
    2307             :     compiler::TNode<HeapObject> tmp4;
    2308             :     compiler::TNode<HeapObject> tmp5;
    2309             :     compiler::TNode<JSReceiver> tmp6;
    2310             :     ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
    2311             :     ca_.Goto(&block2, tmp4, tmp6);
    2312             :   }
    2313             : 
    2314          56 :   if (block2.is_used()) {
    2315             :     compiler::TNode<HeapObject> tmp7;
    2316             :     compiler::TNode<JSReceiver> tmp8;
    2317             :     ca_.Bind(&block2, &tmp7, &tmp8);
    2318             :     ca_.Goto(&block5, tmp7, tmp8);
    2319             :   }
    2320             : 
    2321          56 :   if (block1.is_used()) {
    2322             :     ca_.Bind(&block1);
    2323          56 :     ca_.Goto(label_CastError);
    2324             :   }
    2325             : 
    2326             :     compiler::TNode<HeapObject> tmp9;
    2327             :     compiler::TNode<JSReceiver> tmp10;
    2328             :     ca_.Bind(&block5, &tmp9, &tmp10);
    2329         112 :   return compiler::TNode<JSReceiver>{tmp10};
    2330             : }
    2331             : 
    2332           0 : compiler::TNode<HeapNumber> BaseBuiltinsFromDSLAssembler::CastHeapObject12ATHeapNumber(compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    2333           0 :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2334             :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2335             :   compiler::CodeAssemblerParameterizedLabel<HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2336             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapNumber> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2337             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2338             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, HeapNumber> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2339             :     ca_.Goto(&block0, p_o);
    2340             : 
    2341           0 :   if (block0.is_used()) {
    2342             :     compiler::TNode<HeapObject> tmp0;
    2343             :     ca_.Bind(&block0, &tmp0);
    2344             :     compiler::TNode<BoolT> tmp1;
    2345             :     USE(tmp1);
    2346           0 :     tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsHeapNumber(compiler::TNode<HeapObject>{tmp0}));
    2347           0 :     ca_.Branch(tmp1, &block3, &block4, tmp0);
    2348             :   }
    2349             : 
    2350           0 :   if (block3.is_used()) {
    2351             :     compiler::TNode<HeapObject> tmp2;
    2352             :     ca_.Bind(&block3, &tmp2);
    2353             :     compiler::TNode<HeapNumber> tmp3;
    2354             :     USE(tmp3);
    2355             :     tmp3 = TORQUE_CAST(compiler::TNode<Object>{tmp2});
    2356             :     ca_.Goto(&block2, tmp2, tmp3);
    2357             :   }
    2358             : 
    2359           0 :   if (block4.is_used()) {
    2360             :     compiler::TNode<HeapObject> tmp4;
    2361             :     ca_.Bind(&block4, &tmp4);
    2362             :     ca_.Goto(&block1);
    2363             :   }
    2364             : 
    2365           0 :   if (block2.is_used()) {
    2366             :     compiler::TNode<HeapObject> tmp5;
    2367             :     compiler::TNode<HeapNumber> tmp6;
    2368             :     ca_.Bind(&block2, &tmp5, &tmp6);
    2369             :     ca_.Goto(&block5, tmp5, tmp6);
    2370             :   }
    2371             : 
    2372           0 :   if (block1.is_used()) {
    2373             :     ca_.Bind(&block1);
    2374           0 :     ca_.Goto(label_CastError);
    2375             :   }
    2376             : 
    2377             :     compiler::TNode<HeapObject> tmp7;
    2378             :     compiler::TNode<HeapNumber> tmp8;
    2379             :     ca_.Bind(&block5, &tmp7, &tmp8);
    2380           0 :   return compiler::TNode<HeapNumber>{tmp8};
    2381             : }
    2382             : 
    2383         168 : compiler::TNode<Map> BaseBuiltinsFromDSLAssembler::CastHeapObject5ATMap(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    2384         168 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2385             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2386             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2387             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2388             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2389             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2390             :     ca_.Goto(&block0, p_context, p_o);
    2391             : 
    2392         168 :   if (block0.is_used()) {
    2393             :     compiler::TNode<Context> tmp0;
    2394             :     compiler::TNode<HeapObject> tmp1;
    2395             :     ca_.Bind(&block0, &tmp0, &tmp1);
    2396             :     compiler::TNode<BoolT> tmp2;
    2397             :     USE(tmp2);
    2398         504 :     tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsMap(compiler::TNode<HeapObject>{tmp1}));
    2399         168 :     ca_.Branch(tmp2, &block3, &block4, tmp0, tmp1);
    2400             :   }
    2401             : 
    2402         168 :   if (block3.is_used()) {
    2403             :     compiler::TNode<Context> tmp3;
    2404             :     compiler::TNode<HeapObject> tmp4;
    2405             :     ca_.Bind(&block3, &tmp3, &tmp4);
    2406             :     compiler::TNode<Map> tmp5;
    2407             :     USE(tmp5);
    2408             :     tmp5 = TORQUE_CAST(compiler::TNode<Object>{tmp4});
    2409             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    2410             :   }
    2411             : 
    2412         168 :   if (block4.is_used()) {
    2413             :     compiler::TNode<Context> tmp6;
    2414             :     compiler::TNode<HeapObject> tmp7;
    2415             :     ca_.Bind(&block4, &tmp6, &tmp7);
    2416             :     ca_.Goto(&block1);
    2417             :   }
    2418             : 
    2419         168 :   if (block2.is_used()) {
    2420             :     compiler::TNode<Context> tmp8;
    2421             :     compiler::TNode<HeapObject> tmp9;
    2422             :     compiler::TNode<Map> tmp10;
    2423             :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10);
    2424             :     ca_.Goto(&block5, tmp8, tmp9, tmp10);
    2425             :   }
    2426             : 
    2427         168 :   if (block1.is_used()) {
    2428             :     ca_.Bind(&block1);
    2429         168 :     ca_.Goto(label_CastError);
    2430             :   }
    2431             : 
    2432             :     compiler::TNode<Context> tmp11;
    2433             :     compiler::TNode<HeapObject> tmp12;
    2434             :     compiler::TNode<Map> tmp13;
    2435             :     ca_.Bind(&block5, &tmp11, &tmp12, &tmp13);
    2436         336 :   return compiler::TNode<Map>{tmp13};
    2437             : }
    2438             : 
    2439         672 : compiler::TNode<JSArgumentsObjectWithLength> BaseBuiltinsFromDSLAssembler::CastHeapObject27JSArgumentsObjectWithLength(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    2440         672 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2441             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2442             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2443             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2444             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2445             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2446             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2447             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2448             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2449             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2450             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArgumentsObjectWithLength> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2451             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2452             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArgumentsObjectWithLength> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2453             :     ca_.Goto(&block0, p_context, p_o);
    2454             : 
    2455         672 :   if (block0.is_used()) {
    2456             :     compiler::TNode<Context> tmp0;
    2457             :     compiler::TNode<HeapObject> tmp1;
    2458             :     ca_.Bind(&block0, &tmp0, &tmp1);
    2459             :     compiler::TNode<Map> tmp2;
    2460             :     USE(tmp2);
    2461        2016 :     tmp2 = ca_.UncheckedCast<Map>(CodeStubAssembler(state_).LoadMap(compiler::TNode<HeapObject>{tmp1}));
    2462             :     compiler::TNode<BoolT> tmp3;
    2463             :     USE(tmp3);
    2464        1344 :     tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsFastAliasedArgumentsMap(compiler::TNode<Context>{tmp0}, compiler::TNode<Map>{tmp2}));
    2465         672 :     ca_.Branch(tmp3, &block5, &block6, tmp0, tmp1, tmp2);
    2466             :   }
    2467             : 
    2468         672 :   if (block5.is_used()) {
    2469             :     compiler::TNode<Context> tmp4;
    2470             :     compiler::TNode<HeapObject> tmp5;
    2471             :     compiler::TNode<Map> tmp6;
    2472             :     ca_.Bind(&block5, &tmp4, &tmp5, &tmp6);
    2473             :     ca_.Goto(&block4, tmp4, tmp5, tmp6);
    2474             :   }
    2475             : 
    2476         672 :   if (block6.is_used()) {
    2477             :     compiler::TNode<Context> tmp7;
    2478             :     compiler::TNode<HeapObject> tmp8;
    2479             :     compiler::TNode<Map> tmp9;
    2480             :     ca_.Bind(&block6, &tmp7, &tmp8, &tmp9);
    2481             :     compiler::TNode<BoolT> tmp10;
    2482             :     USE(tmp10);
    2483        1344 :     tmp10 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsSloppyArgumentsMap(compiler::TNode<Context>{tmp7}, compiler::TNode<Map>{tmp9}));
    2484         672 :     ca_.Branch(tmp10, &block7, &block8, tmp7, tmp8, tmp9);
    2485             :   }
    2486             : 
    2487         672 :   if (block7.is_used()) {
    2488             :     compiler::TNode<Context> tmp11;
    2489             :     compiler::TNode<HeapObject> tmp12;
    2490             :     compiler::TNode<Map> tmp13;
    2491             :     ca_.Bind(&block7, &tmp11, &tmp12, &tmp13);
    2492             :     ca_.Goto(&block4, tmp11, tmp12, tmp13);
    2493             :   }
    2494             : 
    2495         672 :   if (block8.is_used()) {
    2496             :     compiler::TNode<Context> tmp14;
    2497             :     compiler::TNode<HeapObject> tmp15;
    2498             :     compiler::TNode<Map> tmp16;
    2499             :     ca_.Bind(&block8, &tmp14, &tmp15, &tmp16);
    2500             :     compiler::TNode<BoolT> tmp17;
    2501             :     USE(tmp17);
    2502        1344 :     tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsStrictArgumentsMap(compiler::TNode<Context>{tmp14}, compiler::TNode<Map>{tmp16}));
    2503         672 :     ca_.Branch(tmp17, &block9, &block10, tmp14, tmp15, tmp16);
    2504             :   }
    2505             : 
    2506         672 :   if (block9.is_used()) {
    2507             :     compiler::TNode<Context> tmp18;
    2508             :     compiler::TNode<HeapObject> tmp19;
    2509             :     compiler::TNode<Map> tmp20;
    2510             :     ca_.Bind(&block9, &tmp18, &tmp19, &tmp20);
    2511             :     ca_.Goto(&block4, tmp18, tmp19, tmp20);
    2512             :   }
    2513             : 
    2514         672 :   if (block10.is_used()) {
    2515             :     compiler::TNode<Context> tmp21;
    2516             :     compiler::TNode<HeapObject> tmp22;
    2517             :     compiler::TNode<Map> tmp23;
    2518             :     ca_.Bind(&block10, &tmp21, &tmp22, &tmp23);
    2519             :     compiler::TNode<BoolT> tmp24;
    2520             :     USE(tmp24);
    2521        1344 :     tmp24 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsSlowAliasedArgumentsMap(compiler::TNode<Context>{tmp21}, compiler::TNode<Map>{tmp23}));
    2522         672 :     ca_.Branch(tmp24, &block11, &block12, tmp21, tmp22, tmp23);
    2523             :   }
    2524             : 
    2525         672 :   if (block11.is_used()) {
    2526             :     compiler::TNode<Context> tmp25;
    2527             :     compiler::TNode<HeapObject> tmp26;
    2528             :     compiler::TNode<Map> tmp27;
    2529             :     ca_.Bind(&block11, &tmp25, &tmp26, &tmp27);
    2530             :     ca_.Goto(&block4, tmp25, tmp26, tmp27);
    2531             :   }
    2532             : 
    2533         672 :   if (block12.is_used()) {
    2534             :     compiler::TNode<Context> tmp28;
    2535             :     compiler::TNode<HeapObject> tmp29;
    2536             :     compiler::TNode<Map> tmp30;
    2537             :     ca_.Bind(&block12, &tmp28, &tmp29, &tmp30);
    2538             :     ca_.Goto(&block1);
    2539             :   }
    2540             : 
    2541         672 :   if (block4.is_used()) {
    2542             :     compiler::TNode<Context> tmp31;
    2543             :     compiler::TNode<HeapObject> tmp32;
    2544             :     compiler::TNode<Map> tmp33;
    2545             :     ca_.Bind(&block4, &tmp31, &tmp32, &tmp33);
    2546             :     compiler::TNode<JSArgumentsObjectWithLength> tmp34;
    2547             :     USE(tmp34);
    2548             :     tmp34 = TORQUE_CAST(compiler::TNode<Object>{tmp32});
    2549             :     ca_.Goto(&block2, tmp31, tmp32, tmp34);
    2550             :   }
    2551             : 
    2552         672 :   if (block2.is_used()) {
    2553             :     compiler::TNode<Context> tmp35;
    2554             :     compiler::TNode<HeapObject> tmp36;
    2555             :     compiler::TNode<JSArgumentsObjectWithLength> tmp37;
    2556             :     ca_.Bind(&block2, &tmp35, &tmp36, &tmp37);
    2557             :     ca_.Goto(&block13, tmp35, tmp36, tmp37);
    2558             :   }
    2559             : 
    2560         672 :   if (block1.is_used()) {
    2561             :     ca_.Bind(&block1);
    2562         672 :     ca_.Goto(label_CastError);
    2563             :   }
    2564             : 
    2565             :     compiler::TNode<Context> tmp38;
    2566             :     compiler::TNode<HeapObject> tmp39;
    2567             :     compiler::TNode<JSArgumentsObjectWithLength> tmp40;
    2568             :     ca_.Bind(&block13, &tmp38, &tmp39, &tmp40);
    2569        1344 :   return compiler::TNode<JSArgumentsObjectWithLength>{tmp40};
    2570             : }
    2571             : 
    2572        2632 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::CastHeapObject13ATFastJSArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    2573        2632 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2574             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2575             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2576             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map, Int32T> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2577             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map, Int32T> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2578             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map, Int32T> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2579             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map, Int32T> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2580             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map, Int32T> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2581             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map, Int32T> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2582             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2583             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2584             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2585             :     ca_.Goto(&block0, p_context, p_o);
    2586             : 
    2587        2632 :   if (block0.is_used()) {
    2588             :     compiler::TNode<Context> tmp0;
    2589             :     compiler::TNode<HeapObject> tmp1;
    2590             :     ca_.Bind(&block0, &tmp0, &tmp1);
    2591             :     compiler::TNode<Map> tmp2;
    2592             :     USE(tmp2);
    2593        7896 :     tmp2 = ca_.UncheckedCast<Map>(CodeStubAssembler(state_).LoadMap(compiler::TNode<HeapObject>{tmp1}));
    2594             :     compiler::TNode<BoolT> tmp3;
    2595             :     USE(tmp3);
    2596        5264 :     tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsJSArrayMap(compiler::TNode<Map>{tmp2}));
    2597             :     compiler::TNode<BoolT> tmp4;
    2598             :     USE(tmp4);
    2599        5264 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp3}));
    2600        2632 :     ca_.Branch(tmp4, &block3, &block4, tmp0, tmp1, tmp2);
    2601             :   }
    2602             : 
    2603        2632 :   if (block3.is_used()) {
    2604             :     compiler::TNode<Context> tmp5;
    2605             :     compiler::TNode<HeapObject> tmp6;
    2606             :     compiler::TNode<Map> tmp7;
    2607             :     ca_.Bind(&block3, &tmp5, &tmp6, &tmp7);
    2608             :     ca_.Goto(&block1);
    2609             :   }
    2610             : 
    2611        2632 :   if (block4.is_used()) {
    2612             :     compiler::TNode<Context> tmp8;
    2613             :     compiler::TNode<HeapObject> tmp9;
    2614             :     compiler::TNode<Map> tmp10;
    2615             :     ca_.Bind(&block4, &tmp8, &tmp9, &tmp10);
    2616             :     compiler::TNode<Int32T> tmp11;
    2617             :     USE(tmp11);
    2618        7896 :     tmp11 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp10}));
    2619             :     compiler::TNode<BoolT> tmp12;
    2620             :     USE(tmp12);
    2621        5264 :     tmp12 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsFastElementsKind(compiler::TNode<Int32T>{tmp11}));
    2622             :     compiler::TNode<BoolT> tmp13;
    2623             :     USE(tmp13);
    2624        5264 :     tmp13 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp12}));
    2625        2632 :     ca_.Branch(tmp13, &block5, &block6, tmp8, tmp9, tmp10, tmp11);
    2626             :   }
    2627             : 
    2628        2632 :   if (block5.is_used()) {
    2629             :     compiler::TNode<Context> tmp14;
    2630             :     compiler::TNode<HeapObject> tmp15;
    2631             :     compiler::TNode<Map> tmp16;
    2632             :     compiler::TNode<Int32T> tmp17;
    2633             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    2634             :     ca_.Goto(&block1);
    2635             :   }
    2636             : 
    2637        2632 :   if (block6.is_used()) {
    2638             :     compiler::TNode<Context> tmp18;
    2639             :     compiler::TNode<HeapObject> tmp19;
    2640             :     compiler::TNode<Map> tmp20;
    2641             :     compiler::TNode<Int32T> tmp21;
    2642             :     ca_.Bind(&block6, &tmp18, &tmp19, &tmp20, &tmp21);
    2643             :     compiler::TNode<BoolT> tmp22;
    2644             :     USE(tmp22);
    2645       10528 :     tmp22 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsPrototypeInitialArrayPrototype(compiler::TNode<Context>{tmp18}, compiler::TNode<Map>{tmp20}));
    2646             :     compiler::TNode<BoolT> tmp23;
    2647             :     USE(tmp23);
    2648        5264 :     tmp23 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp22}));
    2649        2632 :     ca_.Branch(tmp23, &block7, &block8, tmp18, tmp19, tmp20, tmp21);
    2650             :   }
    2651             : 
    2652        2632 :   if (block7.is_used()) {
    2653             :     compiler::TNode<Context> tmp24;
    2654             :     compiler::TNode<HeapObject> tmp25;
    2655             :     compiler::TNode<Map> tmp26;
    2656             :     compiler::TNode<Int32T> tmp27;
    2657             :     ca_.Bind(&block7, &tmp24, &tmp25, &tmp26, &tmp27);
    2658             :     ca_.Goto(&block1);
    2659             :   }
    2660             : 
    2661        2632 :   if (block8.is_used()) {
    2662             :     compiler::TNode<Context> tmp28;
    2663             :     compiler::TNode<HeapObject> tmp29;
    2664             :     compiler::TNode<Map> tmp30;
    2665             :     compiler::TNode<Int32T> tmp31;
    2666             :     ca_.Bind(&block8, &tmp28, &tmp29, &tmp30, &tmp31);
    2667             :     compiler::TNode<BoolT> tmp32;
    2668             :     USE(tmp32);
    2669        5264 :     tmp32 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
    2670        2632 :     ca_.Branch(tmp32, &block9, &block10, tmp28, tmp29, tmp30, tmp31);
    2671             :   }
    2672             : 
    2673        2632 :   if (block9.is_used()) {
    2674             :     compiler::TNode<Context> tmp33;
    2675             :     compiler::TNode<HeapObject> tmp34;
    2676             :     compiler::TNode<Map> tmp35;
    2677             :     compiler::TNode<Int32T> tmp36;
    2678             :     ca_.Bind(&block9, &tmp33, &tmp34, &tmp35, &tmp36);
    2679             :     ca_.Goto(&block1);
    2680             :   }
    2681             : 
    2682        2632 :   if (block10.is_used()) {
    2683             :     compiler::TNode<Context> tmp37;
    2684             :     compiler::TNode<HeapObject> tmp38;
    2685             :     compiler::TNode<Map> tmp39;
    2686             :     compiler::TNode<Int32T> tmp40;
    2687             :     ca_.Bind(&block10, &tmp37, &tmp38, &tmp39, &tmp40);
    2688             :     compiler::TNode<JSArray> tmp41;
    2689             :     USE(tmp41);
    2690             :     tmp41 = TORQUE_CAST(compiler::TNode<Object>{tmp38});
    2691             :     ca_.Goto(&block2, tmp37, tmp38, tmp41);
    2692             :   }
    2693             : 
    2694        2632 :   if (block2.is_used()) {
    2695             :     compiler::TNode<Context> tmp42;
    2696             :     compiler::TNode<HeapObject> tmp43;
    2697             :     compiler::TNode<JSArray> tmp44;
    2698             :     ca_.Bind(&block2, &tmp42, &tmp43, &tmp44);
    2699             :     ca_.Goto(&block11, tmp42, tmp43, tmp44);
    2700             :   }
    2701             : 
    2702        2632 :   if (block1.is_used()) {
    2703             :     ca_.Bind(&block1);
    2704        2632 :     ca_.Goto(label_CastError);
    2705             :   }
    2706             : 
    2707             :     compiler::TNode<Context> tmp45;
    2708             :     compiler::TNode<HeapObject> tmp46;
    2709             :     compiler::TNode<JSArray> tmp47;
    2710             :     ca_.Bind(&block11, &tmp45, &tmp46, &tmp47);
    2711        5264 :   return compiler::TNode<JSArray>{tmp47};
    2712             : }
    2713             : 
    2714         448 : BaseBuiltinsFromDSLAssembler::FastJSArrayWitness BaseBuiltinsFromDSLAssembler::MakeWitness(compiler::TNode<JSArray> p_array) {
    2715         448 :   compiler::CodeAssemblerParameterizedLabel<JSArray> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2716             :   compiler::CodeAssemblerParameterizedLabel<JSArray, HeapObject, Map, JSArray, Map, HeapObject, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2717             :   compiler::CodeAssemblerParameterizedLabel<JSArray, HeapObject, Map, JSArray, Map, HeapObject, Map, HeapObject, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2718             :   compiler::CodeAssemblerParameterizedLabel<JSArray, HeapObject, Map> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2719             :   compiler::CodeAssemblerParameterizedLabel<JSArray, HeapObject, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2720             :     ca_.Goto(&block0, p_array);
    2721             : 
    2722         448 :   if (block0.is_used()) {
    2723             :     compiler::TNode<JSArray> tmp0;
    2724             :     ca_.Bind(&block0, &tmp0);
    2725             :     compiler::TNode<Map> tmp1;
    2726             :     USE(tmp1);
    2727         896 :     tmp1 = ca_.UncheckedCast<Map>(CodeStubAssembler(state_).LoadMap(compiler::TNode<HeapObject>{tmp0}));
    2728         448 :     ca_.Goto(&block2, tmp0, tmp0, tmp1, tmp0, tmp1, tmp0, tmp1, tmp0, tmp1);
    2729             :   }
    2730             : 
    2731         448 :   if (block4.is_used()) {
    2732             :     compiler::TNode<JSArray> tmp2;
    2733             :     compiler::TNode<HeapObject> tmp3;
    2734             :     compiler::TNode<Map> tmp4;
    2735             :     compiler::TNode<JSArray> tmp5;
    2736             :     compiler::TNode<Map> tmp6;
    2737             :     compiler::TNode<HeapObject> tmp7;
    2738             :     compiler::TNode<Map> tmp8;
    2739             :     ca_.Bind(&block4, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
    2740           0 :     CodeStubAssembler(state_).Unreachable();
    2741             :   }
    2742             : 
    2743         448 :   if (block2.is_used()) {
    2744             :     compiler::TNode<JSArray> tmp9;
    2745             :     compiler::TNode<HeapObject> tmp10;
    2746             :     compiler::TNode<Map> tmp11;
    2747             :     compiler::TNode<JSArray> tmp12;
    2748             :     compiler::TNode<Map> tmp13;
    2749             :     compiler::TNode<HeapObject> tmp14;
    2750             :     compiler::TNode<Map> tmp15;
    2751             :     compiler::TNode<HeapObject> tmp16;
    2752             :     compiler::TNode<Map> tmp17;
    2753             :     ca_.Bind(&block2, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17);
    2754             :     ca_.Goto(&block1, tmp9, tmp16, tmp17);
    2755             :   }
    2756             : 
    2757         448 :   if (block1.is_used()) {
    2758             :     compiler::TNode<JSArray> tmp18;
    2759             :     compiler::TNode<HeapObject> tmp19;
    2760             :     compiler::TNode<Map> tmp20;
    2761             :     ca_.Bind(&block1, &tmp18, &tmp19, &tmp20);
    2762             :     ca_.Goto(&block5, tmp18, tmp19, tmp20);
    2763             :   }
    2764             : 
    2765             :     compiler::TNode<JSArray> tmp21;
    2766             :     compiler::TNode<HeapObject> tmp22;
    2767             :     compiler::TNode<Map> tmp23;
    2768             :     ca_.Bind(&block5, &tmp21, &tmp22, &tmp23);
    2769         896 :   return BaseBuiltinsFromDSLAssembler::FastJSArrayWitness{compiler::TNode<HeapObject>{tmp22}, compiler::TNode<Map>{tmp23}};
    2770             : }
    2771             : 
    2772         448 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Testify(BaseBuiltinsFromDSLAssembler::FastJSArrayWitness p_witness, compiler::CodeAssemblerLabel* label_CastError) {
    2773         448 :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Map> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2774             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Map> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2775             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2776             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2777             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Map> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2778             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Map, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2779             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2780             :   compiler::CodeAssemblerParameterizedLabel<HeapObject, Map, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2781             :     ca_.Goto(&block0, p_witness.array, p_witness.map);
    2782             : 
    2783         448 :   if (block0.is_used()) {
    2784             :     compiler::TNode<HeapObject> tmp0;
    2785             :     compiler::TNode<Map> tmp1;
    2786             :     ca_.Bind(&block0, &tmp0, &tmp1);
    2787             :     compiler::TNode<Map> tmp2;
    2788             :     USE(tmp2);
    2789        1344 :     tmp2 = ca_.UncheckedCast<Map>(CodeStubAssembler(state_).LoadMap(compiler::TNode<HeapObject>{tmp0}));
    2790             :     compiler::TNode<BoolT> tmp3;
    2791             :     USE(tmp3);
    2792         896 :     tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordNotEqual(compiler::TNode<Object>{tmp2}, compiler::TNode<Object>{tmp1}));
    2793         448 :     ca_.Branch(tmp3, &block3, &block4, tmp0, tmp1);
    2794             :   }
    2795             : 
    2796         448 :   if (block3.is_used()) {
    2797             :     compiler::TNode<HeapObject> tmp4;
    2798             :     compiler::TNode<Map> tmp5;
    2799             :     ca_.Bind(&block3, &tmp4, &tmp5);
    2800             :     ca_.Goto(&block1);
    2801             :   }
    2802             : 
    2803         448 :   if (block4.is_used()) {
    2804             :     compiler::TNode<HeapObject> tmp6;
    2805             :     compiler::TNode<Map> tmp7;
    2806             :     ca_.Bind(&block4, &tmp6, &tmp7);
    2807             :     compiler::TNode<BoolT> tmp8;
    2808             :     USE(tmp8);
    2809         896 :     tmp8 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
    2810         448 :     ca_.Branch(tmp8, &block5, &block6, tmp6, tmp7);
    2811             :   }
    2812             : 
    2813         448 :   if (block5.is_used()) {
    2814             :     compiler::TNode<HeapObject> tmp9;
    2815             :     compiler::TNode<Map> tmp10;
    2816             :     ca_.Bind(&block5, &tmp9, &tmp10);
    2817             :     ca_.Goto(&block1);
    2818             :   }
    2819             : 
    2820         448 :   if (block6.is_used()) {
    2821             :     compiler::TNode<HeapObject> tmp11;
    2822             :     compiler::TNode<Map> tmp12;
    2823             :     ca_.Bind(&block6, &tmp11, &tmp12);
    2824             :     compiler::TNode<JSArray> tmp13;
    2825             :     USE(tmp13);
    2826             :     tmp13 = TORQUE_CAST(compiler::TNode<Object>{tmp11});
    2827             :     ca_.Goto(&block2, tmp11, tmp12, tmp13);
    2828             :   }
    2829             : 
    2830         448 :   if (block2.is_used()) {
    2831             :     compiler::TNode<HeapObject> tmp14;
    2832             :     compiler::TNode<Map> tmp15;
    2833             :     compiler::TNode<JSArray> tmp16;
    2834             :     ca_.Bind(&block2, &tmp14, &tmp15, &tmp16);
    2835             :     ca_.Goto(&block7, tmp14, tmp15, tmp16);
    2836             :   }
    2837             : 
    2838         448 :   if (block1.is_used()) {
    2839             :     ca_.Bind(&block1);
    2840         448 :     ca_.Goto(label_CastError);
    2841             :   }
    2842             : 
    2843             :     compiler::TNode<HeapObject> tmp17;
    2844             :     compiler::TNode<Map> tmp18;
    2845             :     compiler::TNode<JSArray> tmp19;
    2846             :     ca_.Bind(&block7, &tmp17, &tmp18, &tmp19);
    2847         896 :   return compiler::TNode<JSArray>{tmp19};
    2848             : }
    2849             : 
    2850         112 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::CastHeapObject20ATFastJSArrayForCopy(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    2851         112 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2852             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2853             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2854             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2855             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2856             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2857             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2858             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2859             :     ca_.Goto(&block0, p_context, p_o);
    2860             : 
    2861         112 :   if (block0.is_used()) {
    2862             :     compiler::TNode<Context> tmp0;
    2863             :     compiler::TNode<HeapObject> tmp1;
    2864             :     ca_.Bind(&block0, &tmp0, &tmp1);
    2865             :     compiler::TNode<BoolT> tmp2;
    2866             :     USE(tmp2);
    2867         224 :     tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsArraySpeciesProtectorCellInvalid());
    2868         112 :     ca_.Branch(tmp2, &block3, &block4, tmp0, tmp1);
    2869             :   }
    2870             : 
    2871         112 :   if (block3.is_used()) {
    2872             :     compiler::TNode<Context> tmp3;
    2873             :     compiler::TNode<HeapObject> tmp4;
    2874             :     ca_.Bind(&block3, &tmp3, &tmp4);
    2875             :     ca_.Goto(&block1);
    2876             :   }
    2877             : 
    2878         112 :   if (block4.is_used()) {
    2879             :     compiler::TNode<Context> tmp5;
    2880             :     compiler::TNode<HeapObject> tmp6;
    2881             :     ca_.Bind(&block4, &tmp5, &tmp6);
    2882             :     compiler::TNode<JSArray> tmp7;
    2883             :     USE(tmp7);
    2884             :     compiler::CodeAssemblerLabel label0(&ca_);
    2885         336 :     tmp7 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp5}, compiler::TNode<HeapObject>{tmp6}, &label0);
    2886             :     ca_.Goto(&block5, tmp5, tmp6, tmp6, tmp7);
    2887         112 :     if (label0.is_used()) {
    2888         112 :       ca_.Bind(&label0);
    2889             :       ca_.Goto(&block6, tmp5, tmp6, tmp6);
    2890         112 :     }
    2891             :   }
    2892             : 
    2893         112 :   if (block6.is_used()) {
    2894             :     compiler::TNode<Context> tmp8;
    2895             :     compiler::TNode<HeapObject> tmp9;
    2896             :     compiler::TNode<HeapObject> tmp10;
    2897             :     ca_.Bind(&block6, &tmp8, &tmp9, &tmp10);
    2898             :     ca_.Goto(&block1);
    2899             :   }
    2900             : 
    2901         112 :   if (block5.is_used()) {
    2902             :     compiler::TNode<Context> tmp11;
    2903             :     compiler::TNode<HeapObject> tmp12;
    2904             :     compiler::TNode<HeapObject> tmp13;
    2905             :     compiler::TNode<JSArray> tmp14;
    2906             :     ca_.Bind(&block5, &tmp11, &tmp12, &tmp13, &tmp14);
    2907             :     compiler::TNode<JSArray> tmp15;
    2908             :     USE(tmp15);
    2909             :     tmp15 = TORQUE_CAST(compiler::TNode<Object>{tmp12});
    2910             :     ca_.Goto(&block2, tmp11, tmp12, tmp15);
    2911             :   }
    2912             : 
    2913         112 :   if (block2.is_used()) {
    2914             :     compiler::TNode<Context> tmp16;
    2915             :     compiler::TNode<HeapObject> tmp17;
    2916             :     compiler::TNode<JSArray> tmp18;
    2917             :     ca_.Bind(&block2, &tmp16, &tmp17, &tmp18);
    2918             :     ca_.Goto(&block7, tmp16, tmp17, tmp18);
    2919             :   }
    2920             : 
    2921         112 :   if (block1.is_used()) {
    2922             :     ca_.Bind(&block1);
    2923         112 :     ca_.Goto(label_CastError);
    2924             :   }
    2925             : 
    2926             :     compiler::TNode<Context> tmp19;
    2927             :     compiler::TNode<HeapObject> tmp20;
    2928             :     compiler::TNode<JSArray> tmp21;
    2929             :     ca_.Bind(&block7, &tmp19, &tmp20, &tmp21);
    2930         224 :   return compiler::TNode<JSArray>{tmp21};
    2931             : }
    2932             : 
    2933         448 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::CastHeapObject34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    2934         448 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2935             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2936             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2937             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2938             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2939             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2940             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2941             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    2942             :     ca_.Goto(&block0, p_context, p_o);
    2943             : 
    2944         448 :   if (block0.is_used()) {
    2945             :     compiler::TNode<Context> tmp0;
    2946             :     compiler::TNode<HeapObject> tmp1;
    2947             :     ca_.Bind(&block0, &tmp0, &tmp1);
    2948             :     compiler::TNode<BoolT> tmp2;
    2949             :     USE(tmp2);
    2950         896 :     tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsArrayIteratorProtectorCellInvalid());
    2951         448 :     ca_.Branch(tmp2, &block3, &block4, tmp0, tmp1);
    2952             :   }
    2953             : 
    2954         448 :   if (block3.is_used()) {
    2955             :     compiler::TNode<Context> tmp3;
    2956             :     compiler::TNode<HeapObject> tmp4;
    2957             :     ca_.Bind(&block3, &tmp3, &tmp4);
    2958             :     ca_.Goto(&block1);
    2959             :   }
    2960             : 
    2961         448 :   if (block4.is_used()) {
    2962             :     compiler::TNode<Context> tmp5;
    2963             :     compiler::TNode<HeapObject> tmp6;
    2964             :     ca_.Bind(&block4, &tmp5, &tmp6);
    2965             :     compiler::TNode<JSArray> tmp7;
    2966             :     USE(tmp7);
    2967             :     compiler::CodeAssemblerLabel label0(&ca_);
    2968        1344 :     tmp7 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp5}, compiler::TNode<HeapObject>{tmp6}, &label0);
    2969             :     ca_.Goto(&block5, tmp5, tmp6, tmp6, tmp7);
    2970         448 :     if (label0.is_used()) {
    2971         448 :       ca_.Bind(&label0);
    2972             :       ca_.Goto(&block6, tmp5, tmp6, tmp6);
    2973         448 :     }
    2974             :   }
    2975             : 
    2976         448 :   if (block6.is_used()) {
    2977             :     compiler::TNode<Context> tmp8;
    2978             :     compiler::TNode<HeapObject> tmp9;
    2979             :     compiler::TNode<HeapObject> tmp10;
    2980             :     ca_.Bind(&block6, &tmp8, &tmp9, &tmp10);
    2981             :     ca_.Goto(&block1);
    2982             :   }
    2983             : 
    2984         448 :   if (block5.is_used()) {
    2985             :     compiler::TNode<Context> tmp11;
    2986             :     compiler::TNode<HeapObject> tmp12;
    2987             :     compiler::TNode<HeapObject> tmp13;
    2988             :     compiler::TNode<JSArray> tmp14;
    2989             :     ca_.Bind(&block5, &tmp11, &tmp12, &tmp13, &tmp14);
    2990             :     compiler::TNode<JSArray> tmp15;
    2991             :     USE(tmp15);
    2992             :     tmp15 = TORQUE_CAST(compiler::TNode<Object>{tmp12});
    2993             :     ca_.Goto(&block2, tmp11, tmp12, tmp15);
    2994             :   }
    2995             : 
    2996         448 :   if (block2.is_used()) {
    2997             :     compiler::TNode<Context> tmp16;
    2998             :     compiler::TNode<HeapObject> tmp17;
    2999             :     compiler::TNode<JSArray> tmp18;
    3000             :     ca_.Bind(&block2, &tmp16, &tmp17, &tmp18);
    3001             :     ca_.Goto(&block7, tmp16, tmp17, tmp18);
    3002             :   }
    3003             : 
    3004         448 :   if (block1.is_used()) {
    3005             :     ca_.Bind(&block1);
    3006         448 :     ca_.Goto(label_CastError);
    3007             :   }
    3008             : 
    3009             :     compiler::TNode<Context> tmp19;
    3010             :     compiler::TNode<HeapObject> tmp20;
    3011             :     compiler::TNode<JSArray> tmp21;
    3012             :     ca_.Bind(&block7, &tmp19, &tmp20, &tmp21);
    3013         896 :   return compiler::TNode<JSArray>{tmp21};
    3014             : }
    3015             : 
    3016         728 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::CastHeapObject10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    3017         728 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3018             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3019             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3020             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3021             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3022             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3023             :     ca_.Goto(&block0, p_context, p_o);
    3024             : 
    3025         728 :   if (block0.is_used()) {
    3026             :     compiler::TNode<Context> tmp0;
    3027             :     compiler::TNode<HeapObject> tmp1;
    3028             :     ca_.Bind(&block0, &tmp0, &tmp1);
    3029             :     compiler::TNode<BoolT> tmp2;
    3030             :     USE(tmp2);
    3031        2184 :     tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsJSReceiver(compiler::TNode<HeapObject>{tmp1}));
    3032         728 :     ca_.Branch(tmp2, &block3, &block4, tmp0, tmp1);
    3033             :   }
    3034             : 
    3035         728 :   if (block3.is_used()) {
    3036             :     compiler::TNode<Context> tmp3;
    3037             :     compiler::TNode<HeapObject> tmp4;
    3038             :     ca_.Bind(&block3, &tmp3, &tmp4);
    3039             :     compiler::TNode<JSReceiver> tmp5;
    3040             :     USE(tmp5);
    3041             :     tmp5 = TORQUE_CAST(compiler::TNode<Object>{tmp4});
    3042             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    3043             :   }
    3044             : 
    3045         728 :   if (block4.is_used()) {
    3046             :     compiler::TNode<Context> tmp6;
    3047             :     compiler::TNode<HeapObject> tmp7;
    3048             :     ca_.Bind(&block4, &tmp6, &tmp7);
    3049             :     ca_.Goto(&block1);
    3050             :   }
    3051             : 
    3052         728 :   if (block2.is_used()) {
    3053             :     compiler::TNode<Context> tmp8;
    3054             :     compiler::TNode<HeapObject> tmp9;
    3055             :     compiler::TNode<JSReceiver> tmp10;
    3056             :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10);
    3057             :     ca_.Goto(&block5, tmp8, tmp9, tmp10);
    3058             :   }
    3059             : 
    3060         728 :   if (block1.is_used()) {
    3061             :     ca_.Bind(&block1);
    3062         728 :     ca_.Goto(label_CastError);
    3063             :   }
    3064             : 
    3065             :     compiler::TNode<Context> tmp11;
    3066             :     compiler::TNode<HeapObject> tmp12;
    3067             :     compiler::TNode<JSReceiver> tmp13;
    3068             :     ca_.Bind(&block5, &tmp11, &tmp12, &tmp13);
    3069        1456 :   return compiler::TNode<JSReceiver>{tmp13};
    3070             : }
    3071             : 
    3072           0 : compiler::TNode<JSFunction> BaseBuiltinsFromDSLAssembler::CastHeapObject10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    3073           0 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3074             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3075             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3076             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSFunction> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3077             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3078             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSFunction> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3079             :     ca_.Goto(&block0, p_context, p_o);
    3080             : 
    3081           0 :   if (block0.is_used()) {
    3082             :     compiler::TNode<Context> tmp0;
    3083             :     compiler::TNode<HeapObject> tmp1;
    3084             :     ca_.Bind(&block0, &tmp0, &tmp1);
    3085             :     compiler::TNode<BoolT> tmp2;
    3086             :     USE(tmp2);
    3087           0 :     tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsJSFunction(compiler::TNode<HeapObject>{tmp1}));
    3088           0 :     ca_.Branch(tmp2, &block3, &block4, tmp0, tmp1);
    3089             :   }
    3090             : 
    3091           0 :   if (block3.is_used()) {
    3092             :     compiler::TNode<Context> tmp3;
    3093             :     compiler::TNode<HeapObject> tmp4;
    3094             :     ca_.Bind(&block3, &tmp3, &tmp4);
    3095             :     compiler::TNode<JSFunction> tmp5;
    3096             :     USE(tmp5);
    3097             :     tmp5 = TORQUE_CAST(compiler::TNode<Object>{tmp4});
    3098             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    3099             :   }
    3100             : 
    3101           0 :   if (block4.is_used()) {
    3102             :     compiler::TNode<Context> tmp6;
    3103             :     compiler::TNode<HeapObject> tmp7;
    3104             :     ca_.Bind(&block4, &tmp6, &tmp7);
    3105             :     ca_.Goto(&block1);
    3106             :   }
    3107             : 
    3108           0 :   if (block2.is_used()) {
    3109             :     compiler::TNode<Context> tmp8;
    3110             :     compiler::TNode<HeapObject> tmp9;
    3111             :     compiler::TNode<JSFunction> tmp10;
    3112             :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10);
    3113             :     ca_.Goto(&block5, tmp8, tmp9, tmp10);
    3114             :   }
    3115             : 
    3116           0 :   if (block1.is_used()) {
    3117             :     ca_.Bind(&block1);
    3118           0 :     ca_.Goto(label_CastError);
    3119             :   }
    3120             : 
    3121             :     compiler::TNode<Context> tmp11;
    3122             :     compiler::TNode<HeapObject> tmp12;
    3123             :     compiler::TNode<JSFunction> tmp13;
    3124             :     ca_.Bind(&block5, &tmp11, &tmp12, &tmp13);
    3125           0 :   return compiler::TNode<JSFunction>{tmp13};
    3126             : }
    3127             : 
    3128        1343 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::Cast5ATSmi(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    3129        1343 :   compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3130             :   compiler::CodeAssemblerParameterizedLabel<Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3131             :   compiler::CodeAssemblerParameterizedLabel<Object, Object, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3132             :   compiler::CodeAssemblerParameterizedLabel<Object, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3133             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3134             :   compiler::CodeAssemblerParameterizedLabel<Object, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3135             :     ca_.Goto(&block0, p_o);
    3136             : 
    3137        1343 :   if (block0.is_used()) {
    3138             :     compiler::TNode<Object> tmp0;
    3139             :     ca_.Bind(&block0, &tmp0);
    3140             :     compiler::TNode<Smi> tmp1;
    3141             :     USE(tmp1);
    3142             :     compiler::CodeAssemblerLabel label0(&ca_);
    3143        2686 :     tmp1 = CodeStubAssembler(state_).TaggedToSmi(compiler::TNode<Object>{tmp0}, &label0);
    3144             :     ca_.Goto(&block3, tmp0, tmp0, tmp1);
    3145        1343 :     if (label0.is_used()) {
    3146        1343 :       ca_.Bind(&label0);
    3147             :       ca_.Goto(&block4, tmp0, tmp0);
    3148        1343 :     }
    3149             :   }
    3150             : 
    3151        1343 :   if (block4.is_used()) {
    3152             :     compiler::TNode<Object> tmp2;
    3153             :     compiler::TNode<Object> tmp3;
    3154             :     ca_.Bind(&block4, &tmp2, &tmp3);
    3155             :     ca_.Goto(&block1);
    3156             :   }
    3157             : 
    3158        1343 :   if (block3.is_used()) {
    3159             :     compiler::TNode<Object> tmp4;
    3160             :     compiler::TNode<Object> tmp5;
    3161             :     compiler::TNode<Smi> tmp6;
    3162             :     ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
    3163             :     ca_.Goto(&block2, tmp4, tmp6);
    3164             :   }
    3165             : 
    3166        1343 :   if (block2.is_used()) {
    3167             :     compiler::TNode<Object> tmp7;
    3168             :     compiler::TNode<Smi> tmp8;
    3169             :     ca_.Bind(&block2, &tmp7, &tmp8);
    3170             :     ca_.Goto(&block5, tmp7, tmp8);
    3171             :   }
    3172             : 
    3173        1343 :   if (block1.is_used()) {
    3174             :     ca_.Bind(&block1);
    3175        1343 :     ca_.Goto(label_CastError);
    3176             :   }
    3177             : 
    3178             :     compiler::TNode<Object> tmp9;
    3179             :     compiler::TNode<Smi> tmp10;
    3180             :     ca_.Bind(&block5, &tmp9, &tmp10);
    3181        2686 :   return compiler::TNode<Smi>{tmp10};
    3182             : }
    3183             : 
    3184         896 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Cast22UT12ATHeapNumber5ATSmi(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    3185         896 :   compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3186             :   compiler::CodeAssemblerParameterizedLabel<Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3187             :   compiler::CodeAssemblerParameterizedLabel<Object, Object, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3188             :   compiler::CodeAssemblerParameterizedLabel<Object, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3189             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3190             :   compiler::CodeAssemblerParameterizedLabel<Object, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3191             :     ca_.Goto(&block0, p_o);
    3192             : 
    3193         896 :   if (block0.is_used()) {
    3194             :     compiler::TNode<Object> tmp0;
    3195             :     ca_.Bind(&block0, &tmp0);
    3196             :     compiler::TNode<Number> tmp1;
    3197             :     USE(tmp1);
    3198             :     compiler::CodeAssemblerLabel label0(&ca_);
    3199        1792 :     tmp1 = CodeStubAssembler(state_).TaggedToNumber(compiler::TNode<Object>{tmp0}, &label0);
    3200             :     ca_.Goto(&block3, tmp0, tmp0, tmp1);
    3201         896 :     if (label0.is_used()) {
    3202         896 :       ca_.Bind(&label0);
    3203             :       ca_.Goto(&block4, tmp0, tmp0);
    3204         896 :     }
    3205             :   }
    3206             : 
    3207         896 :   if (block4.is_used()) {
    3208             :     compiler::TNode<Object> tmp2;
    3209             :     compiler::TNode<Object> tmp3;
    3210             :     ca_.Bind(&block4, &tmp2, &tmp3);
    3211             :     ca_.Goto(&block1);
    3212             :   }
    3213             : 
    3214         896 :   if (block3.is_used()) {
    3215             :     compiler::TNode<Object> tmp4;
    3216             :     compiler::TNode<Object> tmp5;
    3217             :     compiler::TNode<Number> tmp6;
    3218             :     ca_.Bind(&block3, &tmp4, &tmp5, &tmp6);
    3219             :     ca_.Goto(&block2, tmp4, tmp6);
    3220             :   }
    3221             : 
    3222         896 :   if (block2.is_used()) {
    3223             :     compiler::TNode<Object> tmp7;
    3224             :     compiler::TNode<Number> tmp8;
    3225             :     ca_.Bind(&block2, &tmp7, &tmp8);
    3226             :     ca_.Goto(&block5, tmp7, tmp8);
    3227             :   }
    3228             : 
    3229         896 :   if (block1.is_used()) {
    3230             :     ca_.Bind(&block1);
    3231         896 :     ca_.Goto(label_CastError);
    3232             :   }
    3233             : 
    3234             :     compiler::TNode<Object> tmp9;
    3235             :     compiler::TNode<Number> tmp10;
    3236             :     ca_.Bind(&block5, &tmp9, &tmp10);
    3237        1792 :   return compiler::TNode<Number>{tmp10};
    3238             : }
    3239             : 
    3240           0 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::FromConstexpr7ATint3117ATconstexpr_int31(int31_t p_i) {
    3241           0 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3242             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3243             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3244             :     ca_.Goto(&block0);
    3245             : 
    3246           0 :   if (block0.is_used()) {
    3247             :     ca_.Bind(&block0);
    3248             :     compiler::TNode<Int32T> tmp0;
    3249             :     USE(tmp0);
    3250           0 :     tmp0 = ca_.Int32Constant(p_i);
    3251             :     ca_.Goto(&block1, tmp0);
    3252             :   }
    3253             : 
    3254           0 :   if (block1.is_used()) {
    3255             :     compiler::TNode<Int32T> tmp1;
    3256             :     ca_.Bind(&block1, &tmp1);
    3257             :     ca_.Goto(&block2, tmp1);
    3258             :   }
    3259             : 
    3260             :     compiler::TNode<Int32T> tmp2;
    3261             :     ca_.Bind(&block2, &tmp2);
    3262           0 :   return compiler::TNode<Int32T>{tmp2};
    3263             : }
    3264             : 
    3265         736 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::FromConstexpr7ATint3217ATconstexpr_int31(int31_t p_i) {
    3266         736 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3267             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3268             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3269             :     ca_.Goto(&block0);
    3270             : 
    3271         736 :   if (block0.is_used()) {
    3272             :     ca_.Bind(&block0);
    3273             :     compiler::TNode<Int32T> tmp0;
    3274             :     USE(tmp0);
    3275         736 :     tmp0 = ca_.Int32Constant(p_i);
    3276             :     ca_.Goto(&block1, tmp0);
    3277             :   }
    3278             : 
    3279         736 :   if (block1.is_used()) {
    3280             :     compiler::TNode<Int32T> tmp1;
    3281             :     ca_.Bind(&block1, &tmp1);
    3282             :     ca_.Goto(&block2, tmp1);
    3283             :   }
    3284             : 
    3285             :     compiler::TNode<Int32T> tmp2;
    3286             :     ca_.Bind(&block2, &tmp2);
    3287        1472 :   return compiler::TNode<Int32T>{tmp2};
    3288             : }
    3289             : 
    3290           0 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::FromConstexpr7ATint3217ATconstexpr_int32(int32_t p_i) {
    3291           0 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3292             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3293             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3294             :     ca_.Goto(&block0);
    3295             : 
    3296           0 :   if (block0.is_used()) {
    3297             :     ca_.Bind(&block0);
    3298             :     compiler::TNode<Int32T> tmp0;
    3299             :     USE(tmp0);
    3300           0 :     tmp0 = ca_.Int32Constant(p_i);
    3301             :     ca_.Goto(&block1, tmp0);
    3302             :   }
    3303             : 
    3304           0 :   if (block1.is_used()) {
    3305             :     compiler::TNode<Int32T> tmp1;
    3306             :     ca_.Bind(&block1, &tmp1);
    3307             :     ca_.Goto(&block2, tmp1);
    3308             :   }
    3309             : 
    3310             :     compiler::TNode<Int32T> tmp2;
    3311             :     ca_.Bind(&block2, &tmp2);
    3312           0 :   return compiler::TNode<Int32T>{tmp2};
    3313             : }
    3314             : 
    3315       16453 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::FromConstexpr8ATintptr17ATconstexpr_int31(int31_t p_i) {
    3316       16453 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3317             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3318             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3319             :     ca_.Goto(&block0);
    3320             : 
    3321       16453 :   if (block0.is_used()) {
    3322             :     ca_.Bind(&block0);
    3323             :     compiler::TNode<IntPtrT> tmp0;
    3324             :     USE(tmp0);
    3325       16453 :     tmp0 = ca_.IntPtrConstant(p_i);
    3326             :     ca_.Goto(&block1, tmp0);
    3327             :   }
    3328             : 
    3329       16453 :   if (block1.is_used()) {
    3330             :     compiler::TNode<IntPtrT> tmp1;
    3331             :     ca_.Bind(&block1, &tmp1);
    3332             :     ca_.Goto(&block2, tmp1);
    3333             :   }
    3334             : 
    3335             :     compiler::TNode<IntPtrT> tmp2;
    3336             :     ca_.Bind(&block2, &tmp2);
    3337       32906 :   return compiler::TNode<IntPtrT>{tmp2};
    3338             : }
    3339             : 
    3340           0 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::FromConstexpr8ATintptr17ATconstexpr_int32(int32_t p_i) {
    3341           0 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3342             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3343             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3344             :     ca_.Goto(&block0);
    3345             : 
    3346           0 :   if (block0.is_used()) {
    3347             :     ca_.Bind(&block0);
    3348             :     compiler::TNode<IntPtrT> tmp0;
    3349             :     USE(tmp0);
    3350           0 :     tmp0 = ca_.IntPtrConstant(p_i);
    3351             :     ca_.Goto(&block1, tmp0);
    3352             :   }
    3353             : 
    3354           0 :   if (block1.is_used()) {
    3355             :     compiler::TNode<IntPtrT> tmp1;
    3356             :     ca_.Bind(&block1, &tmp1);
    3357             :     ca_.Goto(&block2, tmp1);
    3358             :   }
    3359             : 
    3360             :     compiler::TNode<IntPtrT> tmp2;
    3361             :     ca_.Bind(&block2, &tmp2);
    3362           0 :   return compiler::TNode<IntPtrT>{tmp2};
    3363             : }
    3364             : 
    3365           0 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::FromConstexpr8ATintptr18ATconstexpr_intptr(intptr_t p_i) {
    3366           0 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3367             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3368             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3369             :     ca_.Goto(&block0);
    3370             : 
    3371           0 :   if (block0.is_used()) {
    3372             :     ca_.Bind(&block0);
    3373             :     compiler::TNode<IntPtrT> tmp0;
    3374             :     USE(tmp0);
    3375           0 :     tmp0 = ca_.IntPtrConstant(p_i);
    3376             :     ca_.Goto(&block1, tmp0);
    3377             :   }
    3378             : 
    3379           0 :   if (block1.is_used()) {
    3380             :     compiler::TNode<IntPtrT> tmp1;
    3381             :     ca_.Bind(&block1, &tmp1);
    3382             :     ca_.Goto(&block2, tmp1);
    3383             :   }
    3384             : 
    3385             :     compiler::TNode<IntPtrT> tmp2;
    3386             :     ca_.Bind(&block2, &tmp2);
    3387           0 :   return compiler::TNode<IntPtrT>{tmp2};
    3388             : }
    3389             : 
    3390         173 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::FromConstexpr9ATuintptr19ATconstexpr_uintptr(uintptr_t p_i) {
    3391         173 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3392             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3393             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3394             :     ca_.Goto(&block0);
    3395             : 
    3396         173 :   if (block0.is_used()) {
    3397             :     ca_.Bind(&block0);
    3398             :     compiler::TNode<UintPtrT> tmp0;
    3399             :     USE(tmp0);
    3400             :     tmp0 = ca_.UintPtrConstant(p_i);
    3401             :     ca_.Goto(&block1, tmp0);
    3402             :   }
    3403             : 
    3404         173 :   if (block1.is_used()) {
    3405             :     compiler::TNode<UintPtrT> tmp1;
    3406             :     ca_.Bind(&block1, &tmp1);
    3407             :     ca_.Goto(&block2, tmp1);
    3408             :   }
    3409             : 
    3410             :     compiler::TNode<UintPtrT> tmp2;
    3411             :     ca_.Bind(&block2, &tmp2);
    3412         346 :   return compiler::TNode<UintPtrT>{tmp2};
    3413             : }
    3414             : 
    3415       26670 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::FromConstexpr5ATSmi17ATconstexpr_int31(int31_t p_i) {
    3416       26670 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3417             :   compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3418             :   compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3419             :     ca_.Goto(&block0);
    3420             : 
    3421       26670 :   if (block0.is_used()) {
    3422             :     ca_.Bind(&block0);
    3423             :     compiler::TNode<Smi> tmp0;
    3424             :     USE(tmp0);
    3425       26670 :     tmp0 = ca_.SmiConstant(p_i);
    3426             :     ca_.Goto(&block1, tmp0);
    3427             :   }
    3428             : 
    3429       26670 :   if (block1.is_used()) {
    3430             :     compiler::TNode<Smi> tmp1;
    3431             :     ca_.Bind(&block1, &tmp1);
    3432             :     ca_.Goto(&block2, tmp1);
    3433             :   }
    3434             : 
    3435             :     compiler::TNode<Smi> tmp2;
    3436             :     ca_.Bind(&block2, &tmp2);
    3437       53340 :   return compiler::TNode<Smi>{tmp2};
    3438             : }
    3439             : 
    3440        2637 : compiler::TNode<String> BaseBuiltinsFromDSLAssembler::FromConstexpr8ATString18ATconstexpr_string(const char* p_s) {
    3441        2637 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3442             :   compiler::CodeAssemblerParameterizedLabel<String> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3443             :   compiler::CodeAssemblerParameterizedLabel<String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3444             :     ca_.Goto(&block0);
    3445             : 
    3446        2637 :   if (block0.is_used()) {
    3447             :     ca_.Bind(&block0);
    3448             :     compiler::TNode<String> tmp0;
    3449             :     USE(tmp0);
    3450        2637 :     tmp0 = ca_.StringConstant(p_s);
    3451             :     ca_.Goto(&block1, tmp0);
    3452             :   }
    3453             : 
    3454        2637 :   if (block1.is_used()) {
    3455             :     compiler::TNode<String> tmp1;
    3456             :     ca_.Bind(&block1, &tmp1);
    3457             :     ca_.Goto(&block2, tmp1);
    3458             :   }
    3459             : 
    3460             :     compiler::TNode<String> tmp2;
    3461             :     ca_.Bind(&block2, &tmp2);
    3462        5274 :   return compiler::TNode<String>{tmp2};
    3463             : }
    3464             : 
    3465         112 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::FromConstexpr22UT12ATHeapNumber5ATSmi18ATconstexpr_uint32(uint32_t p_i) {
    3466         112 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3467             :   compiler::CodeAssemblerParameterizedLabel<Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3468             :   compiler::CodeAssemblerParameterizedLabel<Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3469             :     ca_.Goto(&block0);
    3470             : 
    3471         112 :   if (block0.is_used()) {
    3472             :     ca_.Bind(&block0);
    3473             :     compiler::TNode<Number> tmp0;
    3474             :     USE(tmp0);
    3475         112 :     tmp0 = ca_.NumberConstant(p_i);
    3476             :     ca_.Goto(&block1, tmp0);
    3477             :   }
    3478             : 
    3479         112 :   if (block1.is_used()) {
    3480             :     compiler::TNode<Number> tmp1;
    3481             :     ca_.Bind(&block1, &tmp1);
    3482             :     ca_.Goto(&block2, tmp1);
    3483             :   }
    3484             : 
    3485             :     compiler::TNode<Number> tmp2;
    3486             :     ca_.Bind(&block2, &tmp2);
    3487         224 :   return compiler::TNode<Number>{tmp2};
    3488             : }
    3489             : 
    3490           0 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int32(int32_t p_i) {
    3491           0 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3492             :   compiler::CodeAssemblerParameterizedLabel<Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3493             :   compiler::CodeAssemblerParameterizedLabel<Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3494             :     ca_.Goto(&block0);
    3495             : 
    3496           0 :   if (block0.is_used()) {
    3497             :     ca_.Bind(&block0);
    3498             :     compiler::TNode<Number> tmp0;
    3499             :     USE(tmp0);
    3500           0 :     tmp0 = ca_.NumberConstant(p_i);
    3501             :     ca_.Goto(&block1, tmp0);
    3502             :   }
    3503             : 
    3504           0 :   if (block1.is_used()) {
    3505             :     compiler::TNode<Number> tmp1;
    3506             :     ca_.Bind(&block1, &tmp1);
    3507             :     ca_.Goto(&block2, tmp1);
    3508             :   }
    3509             : 
    3510             :     compiler::TNode<Number> tmp2;
    3511             :     ca_.Bind(&block2, &tmp2);
    3512           0 :   return compiler::TNode<Number>{tmp2};
    3513             : }
    3514             : 
    3515        1237 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::FromConstexpr22UT12ATHeapNumber5ATSmi19ATconstexpr_float64(double p_f) {
    3516        1237 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3517             :   compiler::CodeAssemblerParameterizedLabel<Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3518             :   compiler::CodeAssemblerParameterizedLabel<Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3519             :     ca_.Goto(&block0);
    3520             : 
    3521        1237 :   if (block0.is_used()) {
    3522             :     ca_.Bind(&block0);
    3523             :     compiler::TNode<Number> tmp0;
    3524             :     USE(tmp0);
    3525        1237 :     tmp0 = ca_.NumberConstant(p_f);
    3526             :     ca_.Goto(&block1, tmp0);
    3527             :   }
    3528             : 
    3529        1237 :   if (block1.is_used()) {
    3530             :     compiler::TNode<Number> tmp1;
    3531             :     ca_.Bind(&block1, &tmp1);
    3532             :     ca_.Goto(&block2, tmp1);
    3533             :   }
    3534             : 
    3535             :     compiler::TNode<Number> tmp2;
    3536             :     ca_.Bind(&block2, &tmp2);
    3537        2474 :   return compiler::TNode<Number>{tmp2};
    3538             : }
    3539             : 
    3540        7682 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(int31_t p_i) {
    3541        7682 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3542             :   compiler::CodeAssemblerParameterizedLabel<Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3543             :   compiler::CodeAssemblerParameterizedLabel<Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3544             :     ca_.Goto(&block0);
    3545             : 
    3546        7682 :   if (block0.is_used()) {
    3547             :     ca_.Bind(&block0);
    3548             :     compiler::TNode<Number> tmp0;
    3549             :     USE(tmp0);
    3550        7682 :     tmp0 = ca_.NumberConstant(p_i);
    3551             :     ca_.Goto(&block1, tmp0);
    3552             :   }
    3553             : 
    3554        7682 :   if (block1.is_used()) {
    3555             :     compiler::TNode<Number> tmp1;
    3556             :     ca_.Bind(&block1, &tmp1);
    3557             :     ca_.Goto(&block2, tmp1);
    3558             :   }
    3559             : 
    3560             :     compiler::TNode<Number> tmp2;
    3561             :     ca_.Bind(&block2, &tmp2);
    3562       15364 :   return compiler::TNode<Number>{tmp2};
    3563             : }
    3564             : 
    3565           0 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::FromConstexpr22UT12ATHeapNumber5ATSmi15ATconstexpr_Smi(Smi p_s) {
    3566           0 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3567             :   compiler::CodeAssemblerParameterizedLabel<Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3568             :   compiler::CodeAssemblerParameterizedLabel<Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3569             :     ca_.Goto(&block0);
    3570             : 
    3571           0 :   if (block0.is_used()) {
    3572             :     ca_.Bind(&block0);
    3573             :     compiler::TNode<Smi> tmp0;
    3574             :     USE(tmp0);
    3575           0 :     tmp0 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiConstant(p_s));
    3576             :     ca_.Goto(&block1, tmp0);
    3577             :   }
    3578             : 
    3579           0 :   if (block1.is_used()) {
    3580             :     compiler::TNode<Number> tmp1;
    3581             :     ca_.Bind(&block1, &tmp1);
    3582             :     ca_.Goto(&block2, tmp1);
    3583             :   }
    3584             : 
    3585             :     compiler::TNode<Number> tmp2;
    3586             :     ca_.Bind(&block2, &tmp2);
    3587           0 :   return compiler::TNode<Number>{tmp2};
    3588             : }
    3589             : 
    3590           0 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::FromConstexpr5ATSmi15ATconstexpr_Smi(Smi p_s) {
    3591           0 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3592             :   compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3593             :   compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3594             :     ca_.Goto(&block0);
    3595             : 
    3596           0 :   if (block0.is_used()) {
    3597             :     ca_.Bind(&block0);
    3598             :     compiler::TNode<Smi> tmp0;
    3599             :     USE(tmp0);
    3600           0 :     tmp0 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiConstant(p_s));
    3601             :     ca_.Goto(&block1, tmp0);
    3602             :   }
    3603             : 
    3604           0 :   if (block1.is_used()) {
    3605             :     compiler::TNode<Smi> tmp1;
    3606             :     ca_.Bind(&block1, &tmp1);
    3607             :     ca_.Goto(&block2, tmp1);
    3608             :   }
    3609             : 
    3610             :     compiler::TNode<Smi> tmp2;
    3611             :     ca_.Bind(&block2, &tmp2);
    3612           0 :   return compiler::TNode<Smi>{tmp2};
    3613             : }
    3614             : 
    3615       13776 : compiler::TNode<Uint32T> BaseBuiltinsFromDSLAssembler::FromConstexpr8ATuint3217ATconstexpr_int31(int31_t p_i) {
    3616       13776 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3617             :   compiler::CodeAssemblerParameterizedLabel<Uint32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3618             :   compiler::CodeAssemblerParameterizedLabel<Uint32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3619             :     ca_.Goto(&block0);
    3620             : 
    3621       13776 :   if (block0.is_used()) {
    3622             :     ca_.Bind(&block0);
    3623             :     compiler::TNode<Int32T> tmp0;
    3624             :     USE(tmp0);
    3625       27552 :     tmp0 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).Int32Constant(p_i));
    3626             :     compiler::TNode<Uint32T> tmp1;
    3627             :     USE(tmp1);
    3628       27552 :     tmp1 = ca_.UncheckedCast<Uint32T>(CodeStubAssembler(state_).Unsigned(compiler::TNode<Int32T>{tmp0}));
    3629             :     ca_.Goto(&block1, tmp1);
    3630             :   }
    3631             : 
    3632       13776 :   if (block1.is_used()) {
    3633             :     compiler::TNode<Uint32T> tmp2;
    3634             :     ca_.Bind(&block1, &tmp2);
    3635             :     ca_.Goto(&block2, tmp2);
    3636             :   }
    3637             : 
    3638             :     compiler::TNode<Uint32T> tmp3;
    3639             :     ca_.Bind(&block2, &tmp3);
    3640       27552 :   return compiler::TNode<Uint32T>{tmp3};
    3641             : }
    3642             : 
    3643        6496 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::FromConstexpr9ATuintptr17ATconstexpr_int31(int31_t p_i) {
    3644        6496 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3645             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3646             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3647             :     ca_.Goto(&block0);
    3648             : 
    3649        6496 :   if (block0.is_used()) {
    3650             :     ca_.Bind(&block0);
    3651             :     compiler::TNode<Uint32T> tmp0;
    3652             :     USE(tmp0);
    3653       19488 :     tmp0 = ca_.UncheckedCast<Uint32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATuint3217ATconstexpr_int31(p_i));
    3654             :     compiler::TNode<UintPtrT> tmp1;
    3655             :     USE(tmp1);
    3656       12992 :     tmp1 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).ChangeUint32ToWord(compiler::TNode<Uint32T>{tmp0}));
    3657             :     ca_.Goto(&block1, tmp1);
    3658             :   }
    3659             : 
    3660        6496 :   if (block1.is_used()) {
    3661             :     compiler::TNode<UintPtrT> tmp2;
    3662             :     ca_.Bind(&block1, &tmp2);
    3663             :     ca_.Goto(&block2, tmp2);
    3664             :   }
    3665             : 
    3666             :     compiler::TNode<UintPtrT> tmp3;
    3667             :     ca_.Bind(&block2, &tmp3);
    3668       12992 :   return compiler::TNode<UintPtrT>{tmp3};
    3669             : }
    3670             : 
    3671        1176 : compiler::TNode<Float64T> BaseBuiltinsFromDSLAssembler::FromConstexpr9ATfloat6417ATconstexpr_int31(int31_t p_i) {
    3672        1176 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3673             :   compiler::CodeAssemblerParameterizedLabel<Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3674             :   compiler::CodeAssemblerParameterizedLabel<Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3675             :     ca_.Goto(&block0);
    3676             : 
    3677        1176 :   if (block0.is_used()) {
    3678             :     ca_.Bind(&block0);
    3679             :     compiler::TNode<Float64T> tmp0;
    3680             :     USE(tmp0);
    3681        2352 :     tmp0 = ca_.UncheckedCast<Float64T>(CodeStubAssembler(state_).Float64Constant(p_i));
    3682             :     ca_.Goto(&block1, tmp0);
    3683             :   }
    3684             : 
    3685        1176 :   if (block1.is_used()) {
    3686             :     compiler::TNode<Float64T> tmp1;
    3687             :     ca_.Bind(&block1, &tmp1);
    3688             :     ca_.Goto(&block2, tmp1);
    3689             :   }
    3690             : 
    3691             :     compiler::TNode<Float64T> tmp2;
    3692             :     ca_.Bind(&block2, &tmp2);
    3693        2352 :   return compiler::TNode<Float64T>{tmp2};
    3694             : }
    3695             : 
    3696        6478 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::FromConstexpr6ATbool16ATconstexpr_bool(bool p_b) {
    3697        6478 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3698             :   compiler::CodeAssemblerParameterizedLabel<BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3699             :   compiler::CodeAssemblerParameterizedLabel<BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3700             :     ca_.Goto(&block0);
    3701             : 
    3702        6478 :   if (block0.is_used()) {
    3703             :     ca_.Bind(&block0);
    3704             :     compiler::TNode<BoolT> tmp0;
    3705             :     USE(tmp0);
    3706       12956 :     tmp0 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).BoolConstant(p_b));
    3707             :     ca_.Goto(&block1, tmp0);
    3708             :   }
    3709             : 
    3710        6478 :   if (block1.is_used()) {
    3711             :     compiler::TNode<BoolT> tmp1;
    3712             :     ca_.Bind(&block1, &tmp1);
    3713             :     ca_.Goto(&block2, tmp1);
    3714             :   }
    3715             : 
    3716             :     compiler::TNode<BoolT> tmp2;
    3717             :     ca_.Bind(&block2, &tmp2);
    3718       12956 :   return compiler::TNode<BoolT>{tmp2};
    3719             : }
    3720             : 
    3721         392 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode p_m) {
    3722         392 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3723             :   compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3724             :   compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3725             :     ca_.Goto(&block0);
    3726             : 
    3727         392 :   if (block0.is_used()) {
    3728             :     ca_.Bind(&block0);
    3729             :     compiler::TNode<Smi> tmp0;
    3730             :     USE(tmp0);
    3731             :     tmp0 = ca_.SmiConstant(p_m);
    3732             :     compiler::TNode<Smi> tmp1;
    3733             :     USE(tmp1);
    3734             :     tmp1 = TORQUE_CAST(compiler::TNode<Object>{tmp0});
    3735             :     ca_.Goto(&block1, tmp1);
    3736             :   }
    3737             : 
    3738         392 :   if (block1.is_used()) {
    3739             :     compiler::TNode<Smi> tmp2;
    3740             :     ca_.Bind(&block1, &tmp2);
    3741             :     ca_.Goto(&block2, tmp2);
    3742             :   }
    3743             : 
    3744             :     compiler::TNode<Smi> tmp3;
    3745             :     ca_.Bind(&block2, &tmp3);
    3746         784 :   return compiler::TNode<Smi>{tmp3};
    3747             : }
    3748             : 
    3749        3360 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(ElementsKind p_e) {
    3750        3360 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3751             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3752             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3753             :     ca_.Goto(&block0);
    3754             : 
    3755        3360 :   if (block0.is_used()) {
    3756             :     ca_.Bind(&block0);
    3757             :     compiler::TNode<Int32T> tmp0;
    3758             :     USE(tmp0);
    3759        6720 :     tmp0 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).Int32Constant(p_e));
    3760             :     ca_.Goto(&block1, tmp0);
    3761             :   }
    3762             : 
    3763        3360 :   if (block1.is_used()) {
    3764             :     compiler::TNode<Int32T> tmp1;
    3765             :     ca_.Bind(&block1, &tmp1);
    3766             :     ca_.Goto(&block2, tmp1);
    3767             :   }
    3768             : 
    3769             :     compiler::TNode<Int32T> tmp2;
    3770             :     ca_.Bind(&block2, &tmp2);
    3771        6720 :   return compiler::TNode<Int32T>{tmp2};
    3772             : }
    3773             : 
    3774         397 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::FromConstexpr20UT5ATSmi10HeapObject18ATconstexpr_string(const char* p_s) {
    3775         397 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3776             :   compiler::CodeAssemblerParameterizedLabel<Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3777             :   compiler::CodeAssemblerParameterizedLabel<Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3778             :     ca_.Goto(&block0);
    3779             : 
    3780         397 :   if (block0.is_used()) {
    3781             :     ca_.Bind(&block0);
    3782             :     compiler::TNode<String> tmp0;
    3783             :     USE(tmp0);
    3784         794 :     tmp0 = ca_.UncheckedCast<String>(CodeStubAssembler(state_).StringConstant(p_s));
    3785             :     ca_.Goto(&block1, tmp0);
    3786             :   }
    3787             : 
    3788         397 :   if (block1.is_used()) {
    3789             :     compiler::TNode<Object> tmp1;
    3790             :     ca_.Bind(&block1, &tmp1);
    3791             :     ca_.Goto(&block2, tmp1);
    3792             :   }
    3793             : 
    3794             :     compiler::TNode<Object> tmp2;
    3795             :     ca_.Bind(&block2, &tmp2);
    3796         794 :   return compiler::TNode<Object>{tmp2};
    3797             : }
    3798             : 
    3799        1181 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(int32_t p_c) {
    3800        1181 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3801             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3802             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3803             :     ca_.Goto(&block0);
    3804             : 
    3805        1181 :   if (block0.is_used()) {
    3806             :     ca_.Bind(&block0);
    3807             :     compiler::TNode<IntPtrT> tmp0;
    3808             :     USE(tmp0);
    3809        2362 :     tmp0 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrConstant(p_c));
    3810             :     ca_.Goto(&block1, tmp0);
    3811             :   }
    3812             : 
    3813        1181 :   if (block1.is_used()) {
    3814             :     compiler::TNode<IntPtrT> tmp1;
    3815             :     ca_.Bind(&block1, &tmp1);
    3816             :     ca_.Goto(&block2, tmp1);
    3817             :   }
    3818             : 
    3819             :     compiler::TNode<IntPtrT> tmp2;
    3820             :     ca_.Bind(&block2, &tmp2);
    3821        2362 :   return compiler::TNode<IntPtrT>{tmp2};
    3822             : }
    3823             : 
    3824          56 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::Convert7ATint3214ATElementsKind(compiler::TNode<Int32T> p_elementsKind) {
    3825          56 :   compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3826             :   compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3827             :   compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3828             :     ca_.Goto(&block0, p_elementsKind);
    3829             : 
    3830          56 :   if (block0.is_used()) {
    3831             :     compiler::TNode<Int32T> tmp0;
    3832             :     ca_.Bind(&block0, &tmp0);
    3833             :     compiler::TNode<Int32T> tmp1;
    3834             :     USE(tmp1);
    3835         112 :     tmp1 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).ConvertElementsKindToInt(compiler::TNode<Int32T>{tmp0}));
    3836             :     ca_.Goto(&block1, tmp0, tmp1);
    3837             :   }
    3838             : 
    3839          56 :   if (block1.is_used()) {
    3840             :     compiler::TNode<Int32T> tmp2;
    3841             :     compiler::TNode<Int32T> tmp3;
    3842             :     ca_.Bind(&block1, &tmp2, &tmp3);
    3843             :     ca_.Goto(&block2, tmp2, tmp3);
    3844             :   }
    3845             : 
    3846             :     compiler::TNode<Int32T> tmp4;
    3847             :     compiler::TNode<Int32T> tmp5;
    3848             :     ca_.Bind(&block2, &tmp4, &tmp5);
    3849         112 :   return compiler::TNode<Int32T>{tmp5};
    3850             : }
    3851             : 
    3852          56 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Convert22UT12ATHeapNumber5ATSmi7ATint32(compiler::TNode<Int32T> p_i) {
    3853          56 :   compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3854             :   compiler::CodeAssemblerParameterizedLabel<Int32T, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3855             :   compiler::CodeAssemblerParameterizedLabel<Int32T, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3856             :     ca_.Goto(&block0, p_i);
    3857             : 
    3858          56 :   if (block0.is_used()) {
    3859             :     compiler::TNode<Int32T> tmp0;
    3860             :     ca_.Bind(&block0, &tmp0);
    3861             :     compiler::TNode<Number> tmp1;
    3862             :     USE(tmp1);
    3863         168 :     tmp1 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ChangeInt32ToTagged(compiler::TNode<Int32T>{tmp0}));
    3864             :     ca_.Goto(&block1, tmp0, tmp1);
    3865             :   }
    3866             : 
    3867          56 :   if (block1.is_used()) {
    3868             :     compiler::TNode<Int32T> tmp2;
    3869             :     compiler::TNode<Number> tmp3;
    3870             :     ca_.Bind(&block1, &tmp2, &tmp3);
    3871             :     ca_.Goto(&block2, tmp2, tmp3);
    3872             :   }
    3873             : 
    3874             :     compiler::TNode<Int32T> tmp4;
    3875             :     compiler::TNode<Number> tmp5;
    3876             :     ca_.Bind(&block2, &tmp4, &tmp5);
    3877         112 :   return compiler::TNode<Number>{tmp5};
    3878             : }
    3879             : 
    3880         168 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::Convert8ATintptr7ATint32(compiler::TNode<Int32T> p_i) {
    3881         168 :   compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3882             :   compiler::CodeAssemblerParameterizedLabel<Int32T, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3883             :   compiler::CodeAssemblerParameterizedLabel<Int32T, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3884             :     ca_.Goto(&block0, p_i);
    3885             : 
    3886         168 :   if (block0.is_used()) {
    3887             :     compiler::TNode<Int32T> tmp0;
    3888             :     ca_.Bind(&block0, &tmp0);
    3889             :     compiler::TNode<IntPtrT> tmp1;
    3890             :     USE(tmp1);
    3891         504 :     tmp1 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).ChangeInt32ToIntPtr(compiler::TNode<Int32T>{tmp0}));
    3892             :     ca_.Goto(&block1, tmp0, tmp1);
    3893             :   }
    3894             : 
    3895         168 :   if (block1.is_used()) {
    3896             :     compiler::TNode<Int32T> tmp2;
    3897             :     compiler::TNode<IntPtrT> tmp3;
    3898             :     ca_.Bind(&block1, &tmp2, &tmp3);
    3899             :     ca_.Goto(&block2, tmp2, tmp3);
    3900             :   }
    3901             : 
    3902             :     compiler::TNode<Int32T> tmp4;
    3903             :     compiler::TNode<IntPtrT> tmp5;
    3904             :     ca_.Bind(&block2, &tmp4, &tmp5);
    3905         336 :   return compiler::TNode<IntPtrT>{tmp5};
    3906             : }
    3907             : 
    3908         224 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::Convert5ATSmi7ATint32(compiler::TNode<Int32T> p_i) {
    3909         224 :   compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3910             :   compiler::CodeAssemblerParameterizedLabel<Int32T, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3911             :   compiler::CodeAssemblerParameterizedLabel<Int32T, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3912             :     ca_.Goto(&block0, p_i);
    3913             : 
    3914         224 :   if (block0.is_used()) {
    3915             :     compiler::TNode<Int32T> tmp0;
    3916             :     ca_.Bind(&block0, &tmp0);
    3917             :     compiler::TNode<Smi> tmp1;
    3918             :     USE(tmp1);
    3919         672 :     tmp1 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiFromInt32(compiler::TNode<Int32T>{tmp0}));
    3920             :     ca_.Goto(&block1, tmp0, tmp1);
    3921             :   }
    3922             : 
    3923         224 :   if (block1.is_used()) {
    3924             :     compiler::TNode<Int32T> tmp2;
    3925             :     compiler::TNode<Smi> tmp3;
    3926             :     ca_.Bind(&block1, &tmp2, &tmp3);
    3927             :     ca_.Goto(&block2, tmp2, tmp3);
    3928             :   }
    3929             : 
    3930             :     compiler::TNode<Int32T> tmp4;
    3931             :     compiler::TNode<Smi> tmp5;
    3932             :     ca_.Bind(&block2, &tmp4, &tmp5);
    3933         448 :   return compiler::TNode<Smi>{tmp5};
    3934             : }
    3935             : 
    3936          56 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Convert22UT12ATHeapNumber5ATSmi8ATuint32(compiler::TNode<Uint32T> p_ui) {
    3937          56 :   compiler::CodeAssemblerParameterizedLabel<Uint32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3938             :   compiler::CodeAssemblerParameterizedLabel<Uint32T, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3939             :   compiler::CodeAssemblerParameterizedLabel<Uint32T, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3940             :     ca_.Goto(&block0, p_ui);
    3941             : 
    3942          56 :   if (block0.is_used()) {
    3943             :     compiler::TNode<Uint32T> tmp0;
    3944             :     ca_.Bind(&block0, &tmp0);
    3945             :     compiler::TNode<Number> tmp1;
    3946             :     USE(tmp1);
    3947         168 :     tmp1 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ChangeUint32ToTagged(compiler::TNode<Uint32T>{tmp0}));
    3948             :     ca_.Goto(&block1, tmp0, tmp1);
    3949             :   }
    3950             : 
    3951          56 :   if (block1.is_used()) {
    3952             :     compiler::TNode<Uint32T> tmp2;
    3953             :     compiler::TNode<Number> tmp3;
    3954             :     ca_.Bind(&block1, &tmp2, &tmp3);
    3955             :     ca_.Goto(&block2, tmp2, tmp3);
    3956             :   }
    3957             : 
    3958             :     compiler::TNode<Uint32T> tmp4;
    3959             :     compiler::TNode<Number> tmp5;
    3960             :     ca_.Bind(&block2, &tmp4, &tmp5);
    3961         112 :   return compiler::TNode<Number>{tmp5};
    3962             : }
    3963             : 
    3964          56 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::Convert5ATSmi8ATuint32(compiler::TNode<Uint32T> p_ui) {
    3965          56 :   compiler::CodeAssemblerParameterizedLabel<Uint32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3966             :   compiler::CodeAssemblerParameterizedLabel<Uint32T, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3967             :   compiler::CodeAssemblerParameterizedLabel<Uint32T, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3968             :     ca_.Goto(&block0, p_ui);
    3969             : 
    3970          56 :   if (block0.is_used()) {
    3971             :     compiler::TNode<Uint32T> tmp0;
    3972             :     ca_.Bind(&block0, &tmp0);
    3973             :     compiler::TNode<Int32T> tmp1;
    3974             :     USE(tmp1);
    3975         112 :     tmp1 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).Signed(compiler::TNode<Uint32T>{tmp0}));
    3976             :     compiler::TNode<Smi> tmp2;
    3977             :     USE(tmp2);
    3978         112 :     tmp2 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiFromInt32(compiler::TNode<Int32T>{tmp1}));
    3979             :     ca_.Goto(&block1, tmp0, tmp2);
    3980             :   }
    3981             : 
    3982          56 :   if (block1.is_used()) {
    3983             :     compiler::TNode<Uint32T> tmp3;
    3984             :     compiler::TNode<Smi> tmp4;
    3985             :     ca_.Bind(&block1, &tmp3, &tmp4);
    3986             :     ca_.Goto(&block2, tmp3, tmp4);
    3987             :   }
    3988             : 
    3989             :     compiler::TNode<Uint32T> tmp5;
    3990             :     compiler::TNode<Smi> tmp6;
    3991             :     ca_.Bind(&block2, &tmp5, &tmp6);
    3992         112 :   return compiler::TNode<Smi>{tmp6};
    3993             : }
    3994             : 
    3995         224 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::Convert9ATuintptr8ATuint32(compiler::TNode<Uint32T> p_ui) {
    3996         224 :   compiler::CodeAssemblerParameterizedLabel<Uint32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3997             :   compiler::CodeAssemblerParameterizedLabel<Uint32T, UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3998             :   compiler::CodeAssemblerParameterizedLabel<Uint32T, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    3999             :     ca_.Goto(&block0, p_ui);
    4000             : 
    4001         224 :   if (block0.is_used()) {
    4002             :     compiler::TNode<Uint32T> tmp0;
    4003             :     ca_.Bind(&block0, &tmp0);
    4004             :     compiler::TNode<UintPtrT> tmp1;
    4005             :     USE(tmp1);
    4006         672 :     tmp1 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).ChangeUint32ToWord(compiler::TNode<Uint32T>{tmp0}));
    4007             :     ca_.Goto(&block1, tmp0, tmp1);
    4008             :   }
    4009             : 
    4010         224 :   if (block1.is_used()) {
    4011             :     compiler::TNode<Uint32T> tmp2;
    4012             :     compiler::TNode<UintPtrT> tmp3;
    4013             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4014             :     ca_.Goto(&block2, tmp2, tmp3);
    4015             :   }
    4016             : 
    4017             :     compiler::TNode<Uint32T> tmp4;
    4018             :     compiler::TNode<UintPtrT> tmp5;
    4019             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4020         448 :   return compiler::TNode<UintPtrT>{tmp5};
    4021             : }
    4022             : 
    4023          56 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::Convert7ATint328ATintptr(compiler::TNode<IntPtrT> p_i) {
    4024          56 :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4025             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT, Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4026             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT, Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4027             :     ca_.Goto(&block0, p_i);
    4028             : 
    4029          56 :   if (block0.is_used()) {
    4030             :     compiler::TNode<IntPtrT> tmp0;
    4031             :     ca_.Bind(&block0, &tmp0);
    4032             :     compiler::TNode<Int32T> tmp1;
    4033             :     USE(tmp1);
    4034         168 :     tmp1 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).TruncateIntPtrToInt32(compiler::TNode<IntPtrT>{tmp0}));
    4035             :     ca_.Goto(&block1, tmp0, tmp1);
    4036             :   }
    4037             : 
    4038          56 :   if (block1.is_used()) {
    4039             :     compiler::TNode<IntPtrT> tmp2;
    4040             :     compiler::TNode<Int32T> tmp3;
    4041             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4042             :     ca_.Goto(&block2, tmp2, tmp3);
    4043             :   }
    4044             : 
    4045             :     compiler::TNode<IntPtrT> tmp4;
    4046             :     compiler::TNode<Int32T> tmp5;
    4047             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4048         112 :   return compiler::TNode<Int32T>{tmp5};
    4049             : }
    4050             : 
    4051         616 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT> p_i) {
    4052         616 :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4053             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4054             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4055             :     ca_.Goto(&block0, p_i);
    4056             : 
    4057         616 :   if (block0.is_used()) {
    4058             :     compiler::TNode<IntPtrT> tmp0;
    4059             :     ca_.Bind(&block0, &tmp0);
    4060             :     compiler::TNode<Smi> tmp1;
    4061             :     USE(tmp1);
    4062        1848 :     tmp1 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiTag(compiler::TNode<IntPtrT>{tmp0}));
    4063             :     ca_.Goto(&block1, tmp0, tmp1);
    4064             :   }
    4065             : 
    4066         616 :   if (block1.is_used()) {
    4067             :     compiler::TNode<IntPtrT> tmp2;
    4068             :     compiler::TNode<Smi> tmp3;
    4069             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4070             :     ca_.Goto(&block2, tmp2, tmp3);
    4071             :   }
    4072             : 
    4073             :     compiler::TNode<IntPtrT> tmp4;
    4074             :     compiler::TNode<Smi> tmp5;
    4075             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4076        1232 :   return compiler::TNode<Smi>{tmp5};
    4077             : }
    4078             : 
    4079         448 : compiler::TNode<Uint32T> BaseBuiltinsFromDSLAssembler::Convert8ATuint329ATuintptr(compiler::TNode<UintPtrT> p_ui) {
    4080         448 :   compiler::CodeAssemblerParameterizedLabel<UintPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4081             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, Uint32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4082             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, Uint32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4083             :     ca_.Goto(&block0, p_ui);
    4084             : 
    4085         448 :   if (block0.is_used()) {
    4086             :     compiler::TNode<UintPtrT> tmp0;
    4087             :     ca_.Bind(&block0, &tmp0);
    4088             :     compiler::TNode<IntPtrT> tmp1;
    4089             :     USE(tmp1);
    4090         896 :     tmp1 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<UintPtrT>{tmp0}));
    4091             :     compiler::TNode<Int32T> tmp2;
    4092             :     USE(tmp2);
    4093         896 :     tmp2 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).TruncateIntPtrToInt32(compiler::TNode<IntPtrT>{tmp1}));
    4094             :     compiler::TNode<Uint32T> tmp3;
    4095             :     USE(tmp3);
    4096         896 :     tmp3 = ca_.UncheckedCast<Uint32T>(CodeStubAssembler(state_).Unsigned(compiler::TNode<Int32T>{tmp2}));
    4097             :     ca_.Goto(&block1, tmp0, tmp3);
    4098             :   }
    4099             : 
    4100         448 :   if (block1.is_used()) {
    4101             :     compiler::TNode<UintPtrT> tmp4;
    4102             :     compiler::TNode<Uint32T> tmp5;
    4103             :     ca_.Bind(&block1, &tmp4, &tmp5);
    4104             :     ca_.Goto(&block2, tmp4, tmp5);
    4105             :   }
    4106             : 
    4107             :     compiler::TNode<UintPtrT> tmp6;
    4108             :     compiler::TNode<Uint32T> tmp7;
    4109             :     ca_.Bind(&block2, &tmp6, &tmp7);
    4110         896 :   return compiler::TNode<Uint32T>{tmp7};
    4111             : }
    4112             : 
    4113        1680 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::Convert8ATintptr5ATSmi(compiler::TNode<Smi> p_s) {
    4114        1680 :   compiler::CodeAssemblerParameterizedLabel<Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4115             :   compiler::CodeAssemblerParameterizedLabel<Smi, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4116             :   compiler::CodeAssemblerParameterizedLabel<Smi, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4117             :     ca_.Goto(&block0, p_s);
    4118             : 
    4119        1680 :   if (block0.is_used()) {
    4120             :     compiler::TNode<Smi> tmp0;
    4121             :     ca_.Bind(&block0, &tmp0);
    4122             :     compiler::TNode<IntPtrT> tmp1;
    4123             :     USE(tmp1);
    4124        5040 :     tmp1 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).SmiUntag(compiler::TNode<Smi>{tmp0}));
    4125             :     ca_.Goto(&block1, tmp0, tmp1);
    4126             :   }
    4127             : 
    4128        1680 :   if (block1.is_used()) {
    4129             :     compiler::TNode<Smi> tmp2;
    4130             :     compiler::TNode<IntPtrT> tmp3;
    4131             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4132             :     ca_.Goto(&block2, tmp2, tmp3);
    4133             :   }
    4134             : 
    4135             :     compiler::TNode<Smi> tmp4;
    4136             :     compiler::TNode<IntPtrT> tmp5;
    4137             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4138        3360 :   return compiler::TNode<IntPtrT>{tmp5};
    4139             : }
    4140             : 
    4141          30 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::Convert7ATint325ATSmi(compiler::TNode<Smi> p_s) {
    4142          30 :   compiler::CodeAssemblerParameterizedLabel<Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4143             :   compiler::CodeAssemblerParameterizedLabel<Smi, Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4144             :   compiler::CodeAssemblerParameterizedLabel<Smi, Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4145             :     ca_.Goto(&block0, p_s);
    4146             : 
    4147          30 :   if (block0.is_used()) {
    4148             :     compiler::TNode<Smi> tmp0;
    4149             :     ca_.Bind(&block0, &tmp0);
    4150             :     compiler::TNode<Int32T> tmp1;
    4151             :     USE(tmp1);
    4152          90 :     tmp1 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).SmiToInt32(compiler::TNode<Smi>{tmp0}));
    4153             :     ca_.Goto(&block1, tmp0, tmp1);
    4154             :   }
    4155             : 
    4156          30 :   if (block1.is_used()) {
    4157             :     compiler::TNode<Smi> tmp2;
    4158             :     compiler::TNode<Int32T> tmp3;
    4159             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4160             :     ca_.Goto(&block2, tmp2, tmp3);
    4161             :   }
    4162             : 
    4163             :     compiler::TNode<Smi> tmp4;
    4164             :     compiler::TNode<Int32T> tmp5;
    4165             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4166          60 :   return compiler::TNode<Int32T>{tmp5};
    4167             : }
    4168             : 
    4169         448 : compiler::TNode<Float64T> BaseBuiltinsFromDSLAssembler::Convert9ATfloat6412ATHeapNumber(compiler::TNode<HeapNumber> p_h) {
    4170         448 :   compiler::CodeAssemblerParameterizedLabel<HeapNumber> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4171             :   compiler::CodeAssemblerParameterizedLabel<HeapNumber, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4172             :   compiler::CodeAssemblerParameterizedLabel<HeapNumber, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4173             :     ca_.Goto(&block0, p_h);
    4174             : 
    4175         448 :   if (block0.is_used()) {
    4176             :     compiler::TNode<HeapNumber> tmp0;
    4177             :     ca_.Bind(&block0, &tmp0);
    4178             :     compiler::TNode<Float64T> tmp1;
    4179             :     USE(tmp1);
    4180        1344 :     tmp1 = ca_.UncheckedCast<Float64T>(CodeStubAssembler(state_).LoadHeapNumberValue(compiler::TNode<HeapNumber>{tmp0}));
    4181             :     ca_.Goto(&block1, tmp0, tmp1);
    4182             :   }
    4183             : 
    4184         448 :   if (block1.is_used()) {
    4185             :     compiler::TNode<HeapNumber> tmp2;
    4186             :     compiler::TNode<Float64T> tmp3;
    4187             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4188             :     ca_.Goto(&block2, tmp2, tmp3);
    4189             :   }
    4190             : 
    4191             :     compiler::TNode<HeapNumber> tmp4;
    4192             :     compiler::TNode<Float64T> tmp5;
    4193             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4194         896 :   return compiler::TNode<Float64T>{tmp5};
    4195             : }
    4196             : 
    4197        1176 : compiler::TNode<Float64T> BaseBuiltinsFromDSLAssembler::Convert9ATfloat6422UT12ATHeapNumber5ATSmi(compiler::TNode<Number> p_n) {
    4198        1176 :   compiler::CodeAssemblerParameterizedLabel<Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4199             :   compiler::CodeAssemblerParameterizedLabel<Number, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4200             :   compiler::CodeAssemblerParameterizedLabel<Number, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4201             :     ca_.Goto(&block0, p_n);
    4202             : 
    4203        1176 :   if (block0.is_used()) {
    4204             :     compiler::TNode<Number> tmp0;
    4205             :     ca_.Bind(&block0, &tmp0);
    4206             :     compiler::TNode<Float64T> tmp1;
    4207             :     USE(tmp1);
    4208        3528 :     tmp1 = ca_.UncheckedCast<Float64T>(CodeStubAssembler(state_).ChangeNumberToFloat64(compiler::TNode<Number>{tmp0}));
    4209             :     ca_.Goto(&block1, tmp0, tmp1);
    4210             :   }
    4211             : 
    4212        1176 :   if (block1.is_used()) {
    4213             :     compiler::TNode<Number> tmp2;
    4214             :     compiler::TNode<Float64T> tmp3;
    4215             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4216             :     ca_.Goto(&block2, tmp2, tmp3);
    4217             :   }
    4218             : 
    4219             :     compiler::TNode<Number> tmp4;
    4220             :     compiler::TNode<Float64T> tmp5;
    4221             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4222        2352 :   return compiler::TNode<Float64T>{tmp5};
    4223             : }
    4224             : 
    4225         280 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::Convert9ATuintptr22UT12ATHeapNumber5ATSmi(compiler::TNode<Number> p_n) {
    4226         280 :   compiler::CodeAssemblerParameterizedLabel<Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4227             :   compiler::CodeAssemblerParameterizedLabel<Number, UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4228             :   compiler::CodeAssemblerParameterizedLabel<Number, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4229             :     ca_.Goto(&block0, p_n);
    4230             : 
    4231         280 :   if (block0.is_used()) {
    4232             :     compiler::TNode<Number> tmp0;
    4233             :     ca_.Bind(&block0, &tmp0);
    4234             :     compiler::TNode<UintPtrT> tmp1;
    4235             :     USE(tmp1);
    4236         560 :     tmp1 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).ChangeNonnegativeNumberToUintPtr(compiler::TNode<Number>{tmp0}));
    4237             :     ca_.Goto(&block1, tmp0, tmp1);
    4238             :   }
    4239             : 
    4240         280 :   if (block1.is_used()) {
    4241             :     compiler::TNode<Number> tmp2;
    4242             :     compiler::TNode<UintPtrT> tmp3;
    4243             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4244             :     ca_.Goto(&block2, tmp2, tmp3);
    4245             :   }
    4246             : 
    4247             :     compiler::TNode<Number> tmp4;
    4248             :     compiler::TNode<UintPtrT> tmp5;
    4249             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4250         560 :   return compiler::TNode<UintPtrT>{tmp5};
    4251             : }
    4252             : 
    4253          56 : compiler::TNode<Float64T> BaseBuiltinsFromDSLAssembler::Convert9ATfloat649ATfloat32(compiler::TNode<Float32T> p_f) {
    4254          56 :   compiler::CodeAssemblerParameterizedLabel<Float32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4255             :   compiler::CodeAssemblerParameterizedLabel<Float32T, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4256             :   compiler::CodeAssemblerParameterizedLabel<Float32T, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4257             :     ca_.Goto(&block0, p_f);
    4258             : 
    4259          56 :   if (block0.is_used()) {
    4260             :     compiler::TNode<Float32T> tmp0;
    4261             :     ca_.Bind(&block0, &tmp0);
    4262             :     compiler::TNode<Float64T> tmp1;
    4263             :     USE(tmp1);
    4264         168 :     tmp1 = ca_.UncheckedCast<Float64T>(CodeStubAssembler(state_).ChangeFloat32ToFloat64(compiler::TNode<Float32T>{tmp0}));
    4265             :     ca_.Goto(&block1, tmp0, tmp1);
    4266             :   }
    4267             : 
    4268          56 :   if (block1.is_used()) {
    4269             :     compiler::TNode<Float32T> tmp2;
    4270             :     compiler::TNode<Float64T> tmp3;
    4271             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4272             :     ca_.Goto(&block2, tmp2, tmp3);
    4273             :   }
    4274             : 
    4275             :     compiler::TNode<Float32T> tmp4;
    4276             :     compiler::TNode<Float64T> tmp5;
    4277             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4278         112 :   return compiler::TNode<Float64T>{tmp5};
    4279             : }
    4280             : 
    4281         112 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Convert22UT12ATHeapNumber5ATSmi9ATfloat64(compiler::TNode<Float64T> p_d) {
    4282         112 :   compiler::CodeAssemblerParameterizedLabel<Float64T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4283             :   compiler::CodeAssemblerParameterizedLabel<Float64T, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4284             :   compiler::CodeAssemblerParameterizedLabel<Float64T, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4285             :     ca_.Goto(&block0, p_d);
    4286             : 
    4287         112 :   if (block0.is_used()) {
    4288             :     compiler::TNode<Float64T> tmp0;
    4289             :     ca_.Bind(&block0, &tmp0);
    4290             :     compiler::TNode<HeapNumber> tmp1;
    4291             :     USE(tmp1);
    4292         336 :     tmp1 = ca_.UncheckedCast<HeapNumber>(CodeStubAssembler(state_).AllocateHeapNumberWithValue(compiler::TNode<Float64T>{tmp0}));
    4293             :     ca_.Goto(&block1, tmp0, tmp1);
    4294             :   }
    4295             : 
    4296         112 :   if (block1.is_used()) {
    4297             :     compiler::TNode<Float64T> tmp2;
    4298             :     compiler::TNode<Number> tmp3;
    4299             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4300             :     ca_.Goto(&block2, tmp2, tmp3);
    4301             :   }
    4302             : 
    4303             :     compiler::TNode<Float64T> tmp4;
    4304             :     compiler::TNode<Number> tmp5;
    4305             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4306         224 :   return compiler::TNode<Number>{tmp5};
    4307             : }
    4308             : 
    4309        1120 : compiler::TNode<Float64T> BaseBuiltinsFromDSLAssembler::Convert9ATfloat649ATuintptr(compiler::TNode<UintPtrT> p_ui) {
    4310        1120 :   compiler::CodeAssemblerParameterizedLabel<UintPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4311             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4312             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4313             :     ca_.Goto(&block0, p_ui);
    4314             : 
    4315        1120 :   if (block0.is_used()) {
    4316             :     compiler::TNode<UintPtrT> tmp0;
    4317             :     ca_.Bind(&block0, &tmp0);
    4318             :     compiler::TNode<Float64T> tmp1;
    4319             :     USE(tmp1);
    4320        2240 :     tmp1 = ca_.UncheckedCast<Float64T>(CodeStubAssembler(state_).ChangeUintPtrToFloat64(compiler::TNode<UintPtrT>{tmp0}));
    4321             :     ca_.Goto(&block1, tmp0, tmp1);
    4322             :   }
    4323             : 
    4324        1120 :   if (block1.is_used()) {
    4325             :     compiler::TNode<UintPtrT> tmp2;
    4326             :     compiler::TNode<Float64T> tmp3;
    4327             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4328             :     ca_.Goto(&block2, tmp2, tmp3);
    4329             :   }
    4330             : 
    4331             :     compiler::TNode<UintPtrT> tmp4;
    4332             :     compiler::TNode<Float64T> tmp5;
    4333             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4334        2240 :   return compiler::TNode<Float64T>{tmp5};
    4335             : }
    4336             : 
    4337         336 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::Convert22UT12ATHeapNumber5ATSmi9ATuintptr(compiler::TNode<UintPtrT> p_ui) {
    4338         336 :   compiler::CodeAssemblerParameterizedLabel<UintPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4339             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4340             :   compiler::CodeAssemblerParameterizedLabel<UintPtrT, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4341             :     ca_.Goto(&block0, p_ui);
    4342             : 
    4343         336 :   if (block0.is_used()) {
    4344             :     compiler::TNode<UintPtrT> tmp0;
    4345             :     ca_.Bind(&block0, &tmp0);
    4346             :     compiler::TNode<Number> tmp1;
    4347             :     USE(tmp1);
    4348         672 :     tmp1 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ChangeUintPtrToTagged(compiler::TNode<UintPtrT>{tmp0}));
    4349             :     ca_.Goto(&block1, tmp0, tmp1);
    4350             :   }
    4351             : 
    4352         336 :   if (block1.is_used()) {
    4353             :     compiler::TNode<UintPtrT> tmp2;
    4354             :     compiler::TNode<Number> tmp3;
    4355             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4356             :     ca_.Goto(&block2, tmp2, tmp3);
    4357             :   }
    4358             : 
    4359             :     compiler::TNode<UintPtrT> tmp4;
    4360             :     compiler::TNode<Number> tmp5;
    4361             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4362         672 :   return compiler::TNode<Number>{tmp5};
    4363             : }
    4364             : 
    4365        1120 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::Convert9ATuintptr9ATfloat64(compiler::TNode<Float64T> p_d) {
    4366        1120 :   compiler::CodeAssemblerParameterizedLabel<Float64T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4367             :   compiler::CodeAssemblerParameterizedLabel<Float64T, UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4368             :   compiler::CodeAssemblerParameterizedLabel<Float64T, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4369             :     ca_.Goto(&block0, p_d);
    4370             : 
    4371        1120 :   if (block0.is_used()) {
    4372             :     compiler::TNode<Float64T> tmp0;
    4373             :     ca_.Bind(&block0, &tmp0);
    4374             :     compiler::TNode<UintPtrT> tmp1;
    4375             :     USE(tmp1);
    4376        3360 :     tmp1 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).ChangeFloat64ToUintPtr(compiler::TNode<Float64T>{tmp0}));
    4377             :     ca_.Goto(&block1, tmp0, tmp1);
    4378             :   }
    4379             : 
    4380        1120 :   if (block1.is_used()) {
    4381             :     compiler::TNode<Float64T> tmp2;
    4382             :     compiler::TNode<UintPtrT> tmp3;
    4383             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4384             :     ca_.Goto(&block2, tmp2, tmp3);
    4385             :   }
    4386             : 
    4387             :     compiler::TNode<Float64T> tmp4;
    4388             :     compiler::TNode<UintPtrT> tmp5;
    4389             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4390        2240 :   return compiler::TNode<UintPtrT>{tmp5};
    4391             : }
    4392             : 
    4393           0 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::Convert9ATuintptr8ATintptr(compiler::TNode<IntPtrT> p_i) {
    4394           0 :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4395             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT, UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4396             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4397             :     ca_.Goto(&block0, p_i);
    4398             : 
    4399           0 :   if (block0.is_used()) {
    4400             :     compiler::TNode<IntPtrT> tmp0;
    4401             :     ca_.Bind(&block0, &tmp0);
    4402             :     compiler::TNode<UintPtrT> tmp1;
    4403             :     USE(tmp1);
    4404           0 :     tmp1 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).Unsigned(compiler::TNode<IntPtrT>{tmp0}));
    4405             :     ca_.Goto(&block1, tmp0, tmp1);
    4406             :   }
    4407             : 
    4408           0 :   if (block1.is_used()) {
    4409             :     compiler::TNode<IntPtrT> tmp2;
    4410             :     compiler::TNode<UintPtrT> tmp3;
    4411             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4412             :     ca_.Goto(&block2, tmp2, tmp3);
    4413             :   }
    4414             : 
    4415             :     compiler::TNode<IntPtrT> tmp4;
    4416             :     compiler::TNode<UintPtrT> tmp5;
    4417             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4418           0 :   return compiler::TNode<UintPtrT>{tmp5};
    4419             : }
    4420             : 
    4421           0 : compiler::TNode<UintPtrT> BaseBuiltinsFromDSLAssembler::Convert9ATuintptr8ATRawPtr(compiler::TNode<RawPtrT> p_r) {
    4422           0 :   compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4423             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, UintPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4424             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, UintPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4425             :     ca_.Goto(&block0, p_r);
    4426             : 
    4427           0 :   if (block0.is_used()) {
    4428             :     compiler::TNode<RawPtrT> tmp0;
    4429             :     ca_.Bind(&block0, &tmp0);
    4430             :     compiler::TNode<UintPtrT> tmp1;
    4431             :     USE(tmp1);
    4432           0 :     tmp1 = ca_.UncheckedCast<UintPtrT>(CodeStubAssembler(state_).Unsigned(compiler::TNode<RawPtrT>{tmp0}));
    4433             :     ca_.Goto(&block1, tmp0, tmp1);
    4434             :   }
    4435             : 
    4436           0 :   if (block1.is_used()) {
    4437             :     compiler::TNode<RawPtrT> tmp2;
    4438             :     compiler::TNode<UintPtrT> tmp3;
    4439             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4440             :     ca_.Goto(&block2, tmp2, tmp3);
    4441             :   }
    4442             : 
    4443             :     compiler::TNode<RawPtrT> tmp4;
    4444             :     compiler::TNode<UintPtrT> tmp5;
    4445             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4446           0 :   return compiler::TNode<UintPtrT>{tmp5};
    4447             : }
    4448             : 
    4449           0 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::Convert8ATintptr8ATRawPtr(compiler::TNode<RawPtrT> p_r) {
    4450           0 :   compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4451             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4452             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4453             :     ca_.Goto(&block0, p_r);
    4454             : 
    4455           0 :   if (block0.is_used()) {
    4456             :     compiler::TNode<RawPtrT> tmp0;
    4457             :     ca_.Bind(&block0, &tmp0);
    4458             :     compiler::TNode<IntPtrT> tmp1;
    4459             :     USE(tmp1);
    4460           0 :     tmp1 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).Signed(compiler::TNode<RawPtrT>{tmp0}));
    4461             :     ca_.Goto(&block1, tmp0, tmp1);
    4462             :   }
    4463             : 
    4464           0 :   if (block1.is_used()) {
    4465             :     compiler::TNode<RawPtrT> tmp2;
    4466             :     compiler::TNode<IntPtrT> tmp3;
    4467             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4468             :     ca_.Goto(&block2, tmp2, tmp3);
    4469             :   }
    4470             : 
    4471             :     compiler::TNode<RawPtrT> tmp4;
    4472             :     compiler::TNode<IntPtrT> tmp5;
    4473             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4474           0 :   return compiler::TNode<IntPtrT>{tmp5};
    4475             : }
    4476             : 
    4477         168 : compiler::TNode<BInt> BaseBuiltinsFromDSLAssembler::Convert6ATbint7ATint32(compiler::TNode<Int32T> p_v) {
    4478         168 :   compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4479             :   compiler::CodeAssemblerParameterizedLabel<Int32T, BInt> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4480             :   compiler::CodeAssemblerParameterizedLabel<Int32T, BInt> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4481             :     ca_.Goto(&block0, p_v);
    4482             : 
    4483         168 :   if (block0.is_used()) {
    4484             :     compiler::TNode<Int32T> tmp0;
    4485             :     ca_.Bind(&block0, &tmp0);
    4486             :     compiler::TNode<IntPtrT> tmp1;
    4487             :     USE(tmp1);
    4488         504 :     tmp1 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr7ATint32(compiler::TNode<Int32T>{tmp0}));
    4489             :     compiler::TNode<BInt> tmp2;
    4490             :     USE(tmp2);
    4491         336 :     tmp2 = ca_.UncheckedCast<BInt>(CodeStubAssembler(state_).IntPtrToBInt(compiler::TNode<IntPtrT>{tmp1}));
    4492             :     ca_.Goto(&block1, tmp0, tmp2);
    4493             :   }
    4494             : 
    4495         168 :   if (block1.is_used()) {
    4496             :     compiler::TNode<Int32T> tmp3;
    4497             :     compiler::TNode<BInt> tmp4;
    4498             :     ca_.Bind(&block1, &tmp3, &tmp4);
    4499             :     ca_.Goto(&block2, tmp3, tmp4);
    4500             :   }
    4501             : 
    4502             :     compiler::TNode<Int32T> tmp5;
    4503             :     compiler::TNode<BInt> tmp6;
    4504             :     ca_.Bind(&block2, &tmp5, &tmp6);
    4505         336 :   return compiler::TNode<BInt>{tmp6};
    4506             : }
    4507             : 
    4508           0 : compiler::TNode<BInt> BaseBuiltinsFromDSLAssembler::Convert6ATbint8ATintptr(compiler::TNode<IntPtrT> p_v) {
    4509           0 :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4510             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT, BInt> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4511             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT, BInt> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4512             :     ca_.Goto(&block0, p_v);
    4513             : 
    4514           0 :   if (block0.is_used()) {
    4515             :     compiler::TNode<IntPtrT> tmp0;
    4516             :     ca_.Bind(&block0, &tmp0);
    4517             :     compiler::TNode<BInt> tmp1;
    4518             :     USE(tmp1);
    4519           0 :     tmp1 = ca_.UncheckedCast<BInt>(CodeStubAssembler(state_).IntPtrToBInt(compiler::TNode<IntPtrT>{tmp0}));
    4520             :     ca_.Goto(&block1, tmp0, tmp1);
    4521             :   }
    4522             : 
    4523           0 :   if (block1.is_used()) {
    4524             :     compiler::TNode<IntPtrT> tmp2;
    4525             :     compiler::TNode<BInt> tmp3;
    4526             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4527             :     ca_.Goto(&block2, tmp2, tmp3);
    4528             :   }
    4529             : 
    4530             :     compiler::TNode<IntPtrT> tmp4;
    4531             :     compiler::TNode<BInt> tmp5;
    4532             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4533           0 :   return compiler::TNode<BInt>{tmp5};
    4534             : }
    4535             : 
    4536         168 : compiler::TNode<BInt> BaseBuiltinsFromDSLAssembler::Convert6ATbint5ATSmi(compiler::TNode<Smi> p_v) {
    4537         168 :   compiler::CodeAssemblerParameterizedLabel<Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4538             :   compiler::CodeAssemblerParameterizedLabel<Smi, BInt> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4539             :   compiler::CodeAssemblerParameterizedLabel<Smi, BInt> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4540             :     ca_.Goto(&block0, p_v);
    4541             : 
    4542         168 :   if (block0.is_used()) {
    4543             :     compiler::TNode<Smi> tmp0;
    4544             :     ca_.Bind(&block0, &tmp0);
    4545             :     compiler::TNode<BInt> tmp1;
    4546             :     USE(tmp1);
    4547         336 :     tmp1 = ca_.UncheckedCast<BInt>(CodeStubAssembler(state_).SmiToBInt(compiler::TNode<Smi>{tmp0}));
    4548             :     ca_.Goto(&block1, tmp0, tmp1);
    4549             :   }
    4550             : 
    4551         168 :   if (block1.is_used()) {
    4552             :     compiler::TNode<Smi> tmp2;
    4553             :     compiler::TNode<BInt> tmp3;
    4554             :     ca_.Bind(&block1, &tmp2, &tmp3);
    4555             :     ca_.Goto(&block2, tmp2, tmp3);
    4556             :   }
    4557             : 
    4558             :     compiler::TNode<Smi> tmp4;
    4559             :     compiler::TNode<BInt> tmp5;
    4560             :     ca_.Bind(&block2, &tmp4, &tmp5);
    4561         336 :   return compiler::TNode<BInt>{tmp5};
    4562             : }
    4563             : 
    4564          56 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::UnsafeCast20UT5ATSmi10HeapObject(compiler::TNode<Object> p_o) {
    4565          56 :   compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4566             :   compiler::CodeAssemblerParameterizedLabel<Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4567             :   compiler::CodeAssemblerParameterizedLabel<Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4568             :     ca_.Goto(&block0, p_o);
    4569             : 
    4570          56 :   if (block0.is_used()) {
    4571             :     compiler::TNode<Object> tmp0;
    4572             :     ca_.Bind(&block0, &tmp0);
    4573             :     ca_.Goto(&block1, tmp0, tmp0);
    4574             :   }
    4575             : 
    4576          56 :   if (block1.is_used()) {
    4577             :     compiler::TNode<Object> tmp1;
    4578             :     compiler::TNode<Object> tmp2;
    4579             :     ca_.Bind(&block1, &tmp1, &tmp2);
    4580             :     ca_.Goto(&block2, tmp1, tmp2);
    4581             :   }
    4582             : 
    4583             :     compiler::TNode<Object> tmp3;
    4584             :     compiler::TNode<Object> tmp4;
    4585             :     ca_.Bind(&block2, &tmp3, &tmp4);
    4586         112 :   return compiler::TNode<Object>{tmp4};
    4587             : }
    4588             : 
    4589         280 : compiler::TNode<Map> BaseBuiltinsFromDSLAssembler::kCOWMap() {
    4590         280 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4591             :     ca_.Goto(&block0);
    4592             : 
    4593             :     ca_.Bind(&block0);
    4594             :     compiler::TNode<Object> tmp0;
    4595             :     USE(tmp0);
    4596         560 :     tmp0 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadRoot(RootIndex::kFixedCOWArrayMap));
    4597             :     compiler::TNode<Map> tmp1;
    4598             :     USE(tmp1);
    4599             :     tmp1 = TORQUE_CAST(compiler::TNode<Object>{tmp0});
    4600         560 : return compiler::TNode<Map>{tmp1};
    4601             : }
    4602             : 
    4603         122 : compiler::TNode<FixedArrayBase> BaseBuiltinsFromDSLAssembler::kEmptyFixedArray() {
    4604         122 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4605             :     ca_.Goto(&block0);
    4606             : 
    4607             :     ca_.Bind(&block0);
    4608             :     compiler::TNode<Object> tmp0;
    4609             :     USE(tmp0);
    4610         244 :     tmp0 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadRoot(RootIndex::kEmptyFixedArray));
    4611             :     compiler::TNode<FixedArrayBase> tmp1;
    4612             :     USE(tmp1);
    4613             :     tmp1 = TORQUE_CAST(compiler::TNode<Object>{tmp0});
    4614         244 : return compiler::TNode<FixedArrayBase>{tmp1};
    4615             : }
    4616             : 
    4617          56 : void BaseBuiltinsFromDSLAssembler::StoreFixedDoubleArrayNumber(compiler::TNode<FixedDoubleArray> p_a, compiler::TNode<Smi> p_index, compiler::TNode<Number> p_value) {
    4618          56 :   compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4619             :   compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4620             :   compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4621             :     ca_.Goto(&block0, p_a, p_index, p_value);
    4622             : 
    4623          56 :   if (block0.is_used()) {
    4624             :     compiler::TNode<FixedDoubleArray> tmp0;
    4625             :     compiler::TNode<Smi> tmp1;
    4626             :     compiler::TNode<Number> tmp2;
    4627             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    4628             :     compiler::TNode<Float64T> tmp3;
    4629             :     USE(tmp3);
    4630         168 :     tmp3 = ca_.UncheckedCast<Float64T>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATfloat6422UT12ATHeapNumber5ATSmi(compiler::TNode<Number>{tmp2}));
    4631         112 :     CodeStubAssembler(state_).StoreFixedDoubleArrayElementSmi(compiler::TNode<FixedDoubleArray>{tmp0}, compiler::TNode<Smi>{tmp1}, compiler::TNode<Float64T>{tmp3});
    4632             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    4633             :   }
    4634             : 
    4635          56 :   if (block1.is_used()) {
    4636             :     compiler::TNode<FixedDoubleArray> tmp4;
    4637             :     compiler::TNode<Smi> tmp5;
    4638             :     compiler::TNode<Number> tmp6;
    4639             :     ca_.Bind(&block1, &tmp4, &tmp5, &tmp6);
    4640             :     ca_.Goto(&block2, tmp4, tmp5, tmp6);
    4641             :   }
    4642             : 
    4643             :     compiler::TNode<FixedDoubleArray> tmp7;
    4644             :     compiler::TNode<Smi> tmp8;
    4645             :     compiler::TNode<Number> tmp9;
    4646             :     ca_.Bind(&block2, &tmp7, &tmp8, &tmp9);
    4647          56 : }
    4648             : 
    4649         168 : void BaseBuiltinsFromDSLAssembler::StoreFixedDoubleArrayElementWithSmiIndex(compiler::TNode<FixedDoubleArray> p_array, compiler::TNode<Smi> p_index, compiler::TNode<Float64T> p_value) {
    4650         168 :   compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Float64T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4651             :   compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4652             :   compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4653             :     ca_.Goto(&block0, p_array, p_index, p_value);
    4654             : 
    4655         168 :   if (block0.is_used()) {
    4656             :     compiler::TNode<FixedDoubleArray> tmp0;
    4657             :     compiler::TNode<Smi> tmp1;
    4658             :     compiler::TNode<Float64T> tmp2;
    4659             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    4660         336 :     CodeStubAssembler(state_).StoreFixedDoubleArrayElement(compiler::TNode<FixedDoubleArray>{tmp0}, compiler::TNode<Object>{tmp1}, compiler::TNode<Float64T>{tmp2}, CodeStubAssembler::SMI_PARAMETERS);
    4661             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    4662             :   }
    4663             : 
    4664         168 :   if (block1.is_used()) {
    4665             :     compiler::TNode<FixedDoubleArray> tmp3;
    4666             :     compiler::TNode<Smi> tmp4;
    4667             :     compiler::TNode<Float64T> tmp5;
    4668             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    4669             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    4670             :   }
    4671             : 
    4672             :     compiler::TNode<FixedDoubleArray> tmp6;
    4673             :     compiler::TNode<Smi> tmp7;
    4674             :     compiler::TNode<Float64T> tmp8;
    4675             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    4676         168 : }
    4677             : 
    4678          56 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::AllowDoubleElements(compiler::TNode<Int32T> p_kind) {
    4679          56 :   compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4680             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4681             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4682             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4683             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4684             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4685             :   compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4686             :   compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4687             :     ca_.Goto(&block0, p_kind);
    4688             : 
    4689          56 :   if (block0.is_used()) {
    4690             :     compiler::TNode<Int32T> tmp0;
    4691             :     ca_.Bind(&block0, &tmp0);
    4692             :     compiler::TNode<Int32T> tmp1;
    4693             :     USE(tmp1);
    4694         168 :     tmp1 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_SMI_ELEMENTS));
    4695             :     compiler::TNode<BoolT> tmp2;
    4696             :     USE(tmp2);
    4697         112 :     tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp0}, compiler::TNode<Int32T>{tmp1}));
    4698          56 :     ca_.Branch(tmp2, &block2, &block3, tmp0);
    4699             :   }
    4700             : 
    4701          56 :   if (block2.is_used()) {
    4702             :     compiler::TNode<Int32T> tmp3;
    4703             :     ca_.Bind(&block2, &tmp3);
    4704             :     compiler::TNode<Int32T> tmp4;
    4705             :     USE(tmp4);
    4706         168 :     tmp4 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_DOUBLE_ELEMENTS));
    4707             :     ca_.Goto(&block1, tmp3, tmp4);
    4708             :   }
    4709             : 
    4710          56 :   if (block3.is_used()) {
    4711             :     compiler::TNode<Int32T> tmp5;
    4712             :     ca_.Bind(&block3, &tmp5);
    4713             :     compiler::TNode<Int32T> tmp6;
    4714             :     USE(tmp6);
    4715         168 :     tmp6 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(HOLEY_SMI_ELEMENTS));
    4716             :     compiler::TNode<BoolT> tmp7;
    4717             :     USE(tmp7);
    4718         112 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp5}, compiler::TNode<Int32T>{tmp6}));
    4719          56 :     ca_.Branch(tmp7, &block5, &block6, tmp5);
    4720             :   }
    4721             : 
    4722          56 :   if (block5.is_used()) {
    4723             :     compiler::TNode<Int32T> tmp8;
    4724             :     ca_.Bind(&block5, &tmp8);
    4725             :     compiler::TNode<Int32T> tmp9;
    4726             :     USE(tmp9);
    4727         168 :     tmp9 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(HOLEY_DOUBLE_ELEMENTS));
    4728             :     ca_.Goto(&block1, tmp8, tmp9);
    4729             :   }
    4730             : 
    4731          56 :   if (block6.is_used()) {
    4732             :     compiler::TNode<Int32T> tmp10;
    4733             :     ca_.Bind(&block6, &tmp10);
    4734             :     ca_.Goto(&block4, tmp10);
    4735             :   }
    4736             : 
    4737          56 :   if (block4.is_used()) {
    4738             :     compiler::TNode<Int32T> tmp11;
    4739             :     ca_.Bind(&block4, &tmp11);
    4740             :     ca_.Goto(&block1, tmp11, tmp11);
    4741             :   }
    4742             : 
    4743          56 :   if (block1.is_used()) {
    4744             :     compiler::TNode<Int32T> tmp12;
    4745             :     compiler::TNode<Int32T> tmp13;
    4746             :     ca_.Bind(&block1, &tmp12, &tmp13);
    4747             :     ca_.Goto(&block7, tmp12, tmp13);
    4748             :   }
    4749             : 
    4750             :     compiler::TNode<Int32T> tmp14;
    4751             :     compiler::TNode<Int32T> tmp15;
    4752             :     ca_.Bind(&block7, &tmp14, &tmp15);
    4753         112 :   return compiler::TNode<Int32T>{tmp15};
    4754             : }
    4755             : 
    4756         112 : compiler::TNode<Int32T> BaseBuiltinsFromDSLAssembler::AllowNonNumberElements(compiler::TNode<Int32T> p_kind) {
    4757         112 :   compiler::CodeAssemblerParameterizedLabel<Int32T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4758             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4759             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4760             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4761             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4762             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4763             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4764             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4765             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4766             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4767             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4768             :   compiler::CodeAssemblerParameterizedLabel<Int32T> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4769             :   compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4770             :   compiler::CodeAssemblerParameterizedLabel<Int32T, Int32T> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4771             :     ca_.Goto(&block0, p_kind);
    4772             : 
    4773         112 :   if (block0.is_used()) {
    4774             :     compiler::TNode<Int32T> tmp0;
    4775             :     ca_.Bind(&block0, &tmp0);
    4776             :     compiler::TNode<Int32T> tmp1;
    4777             :     USE(tmp1);
    4778         336 :     tmp1 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_SMI_ELEMENTS));
    4779             :     compiler::TNode<BoolT> tmp2;
    4780             :     USE(tmp2);
    4781         224 :     tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp0}, compiler::TNode<Int32T>{tmp1}));
    4782         112 :     ca_.Branch(tmp2, &block2, &block3, tmp0);
    4783             :   }
    4784             : 
    4785         112 :   if (block2.is_used()) {
    4786             :     compiler::TNode<Int32T> tmp3;
    4787             :     ca_.Bind(&block2, &tmp3);
    4788             :     compiler::TNode<Int32T> tmp4;
    4789             :     USE(tmp4);
    4790         336 :     tmp4 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_ELEMENTS));
    4791             :     ca_.Goto(&block1, tmp3, tmp4);
    4792             :   }
    4793             : 
    4794         112 :   if (block3.is_used()) {
    4795             :     compiler::TNode<Int32T> tmp5;
    4796             :     ca_.Bind(&block3, &tmp5);
    4797             :     compiler::TNode<Int32T> tmp6;
    4798             :     USE(tmp6);
    4799         336 :     tmp6 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(HOLEY_SMI_ELEMENTS));
    4800             :     compiler::TNode<BoolT> tmp7;
    4801             :     USE(tmp7);
    4802         224 :     tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp5}, compiler::TNode<Int32T>{tmp6}));
    4803         112 :     ca_.Branch(tmp7, &block5, &block6, tmp5);
    4804             :   }
    4805             : 
    4806         112 :   if (block5.is_used()) {
    4807             :     compiler::TNode<Int32T> tmp8;
    4808             :     ca_.Bind(&block5, &tmp8);
    4809             :     compiler::TNode<Int32T> tmp9;
    4810             :     USE(tmp9);
    4811         336 :     tmp9 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(HOLEY_ELEMENTS));
    4812             :     ca_.Goto(&block1, tmp8, tmp9);
    4813             :   }
    4814             : 
    4815         112 :   if (block6.is_used()) {
    4816             :     compiler::TNode<Int32T> tmp10;
    4817             :     ca_.Bind(&block6, &tmp10);
    4818             :     compiler::TNode<Int32T> tmp11;
    4819             :     USE(tmp11);
    4820         336 :     tmp11 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_DOUBLE_ELEMENTS));
    4821             :     compiler::TNode<BoolT> tmp12;
    4822             :     USE(tmp12);
    4823         224 :     tmp12 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp10}, compiler::TNode<Int32T>{tmp11}));
    4824         112 :     ca_.Branch(tmp12, &block8, &block9, tmp10);
    4825             :   }
    4826             : 
    4827         112 :   if (block8.is_used()) {
    4828             :     compiler::TNode<Int32T> tmp13;
    4829             :     ca_.Bind(&block8, &tmp13);
    4830             :     compiler::TNode<Int32T> tmp14;
    4831             :     USE(tmp14);
    4832         336 :     tmp14 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_ELEMENTS));
    4833             :     ca_.Goto(&block1, tmp13, tmp14);
    4834             :   }
    4835             : 
    4836         112 :   if (block9.is_used()) {
    4837             :     compiler::TNode<Int32T> tmp15;
    4838             :     ca_.Bind(&block9, &tmp15);
    4839             :     compiler::TNode<Int32T> tmp16;
    4840             :     USE(tmp16);
    4841         336 :     tmp16 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(HOLEY_DOUBLE_ELEMENTS));
    4842             :     compiler::TNode<BoolT> tmp17;
    4843             :     USE(tmp17);
    4844         224 :     tmp17 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp15}, compiler::TNode<Int32T>{tmp16}));
    4845         112 :     ca_.Branch(tmp17, &block11, &block12, tmp15);
    4846             :   }
    4847             : 
    4848         112 :   if (block11.is_used()) {
    4849             :     compiler::TNode<Int32T> tmp18;
    4850             :     ca_.Bind(&block11, &tmp18);
    4851             :     compiler::TNode<Int32T> tmp19;
    4852             :     USE(tmp19);
    4853         336 :     tmp19 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(HOLEY_ELEMENTS));
    4854             :     ca_.Goto(&block1, tmp18, tmp19);
    4855             :   }
    4856             : 
    4857         112 :   if (block12.is_used()) {
    4858             :     compiler::TNode<Int32T> tmp20;
    4859             :     ca_.Bind(&block12, &tmp20);
    4860             :     ca_.Goto(&block10, tmp20);
    4861             :   }
    4862             : 
    4863         112 :   if (block10.is_used()) {
    4864             :     compiler::TNode<Int32T> tmp21;
    4865             :     ca_.Bind(&block10, &tmp21);
    4866             :     ca_.Goto(&block7, tmp21);
    4867             :   }
    4868             : 
    4869         112 :   if (block7.is_used()) {
    4870             :     compiler::TNode<Int32T> tmp22;
    4871             :     ca_.Bind(&block7, &tmp22);
    4872             :     ca_.Goto(&block4, tmp22);
    4873             :   }
    4874             : 
    4875         112 :   if (block4.is_used()) {
    4876             :     compiler::TNode<Int32T> tmp23;
    4877             :     ca_.Bind(&block4, &tmp23);
    4878             :     ca_.Goto(&block1, tmp23, tmp23);
    4879             :   }
    4880             : 
    4881         112 :   if (block1.is_used()) {
    4882             :     compiler::TNode<Int32T> tmp24;
    4883             :     compiler::TNode<Int32T> tmp25;
    4884             :     ca_.Bind(&block1, &tmp24, &tmp25);
    4885             :     ca_.Goto(&block13, tmp24, tmp25);
    4886             :   }
    4887             : 
    4888             :     compiler::TNode<Int32T> tmp26;
    4889             :     compiler::TNode<Int32T> tmp27;
    4890             :     ca_.Bind(&block13, &tmp26, &tmp27);
    4891         224 :   return compiler::TNode<Int32T>{tmp27};
    4892             : }
    4893             : 
    4894         112 : compiler::TNode<JSFunction> BaseBuiltinsFromDSLAssembler::GetObjectFunction(compiler::TNode<Context> p_context) {
    4895         112 :   compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4896             :   compiler::CodeAssemblerParameterizedLabel<Context, JSFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4897             :   compiler::CodeAssemblerParameterizedLabel<Context, JSFunction> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4898             :     ca_.Goto(&block0, p_context);
    4899             : 
    4900         112 :   if (block0.is_used()) {
    4901             :     compiler::TNode<Context> tmp0;
    4902             :     ca_.Bind(&block0, &tmp0);
    4903             :     compiler::TNode<Context> tmp1;
    4904             :     USE(tmp1);
    4905         336 :     tmp1 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
    4906             :     compiler::TNode<IntPtrT> tmp2;
    4907             :     USE(tmp2);
    4908         336 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::OBJECT_FUNCTION_INDEX));
    4909             :     compiler::TNode<Object> tmp3;
    4910             :     USE(tmp3);
    4911         224 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp1}, compiler::TNode<IntPtrT>{tmp2}));
    4912             :     compiler::TNode<JSFunction> tmp4;
    4913             :     USE(tmp4);
    4914         336 :     tmp4 = ca_.UncheckedCast<JSFunction>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10JSFunction(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp3}));
    4915             :     ca_.Goto(&block1, tmp0, tmp4);
    4916             :   }
    4917             : 
    4918         112 :   if (block1.is_used()) {
    4919             :     compiler::TNode<Context> tmp5;
    4920             :     compiler::TNode<JSFunction> tmp6;
    4921             :     ca_.Bind(&block1, &tmp5, &tmp6);
    4922             :     ca_.Goto(&block2, tmp5, tmp6);
    4923             :   }
    4924             : 
    4925             :     compiler::TNode<Context> tmp7;
    4926             :     compiler::TNode<JSFunction> tmp8;
    4927             :     ca_.Bind(&block2, &tmp7, &tmp8);
    4928         224 :   return compiler::TNode<JSFunction>{tmp8};
    4929             : }
    4930             : 
    4931           5 : compiler::TNode<Map> BaseBuiltinsFromDSLAssembler::GetFastPackedSmiElementsJSArrayMap(compiler::TNode<Context> p_context) {
    4932           5 :   compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4933             :   compiler::CodeAssemblerParameterizedLabel<Context, Map> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4934             :   compiler::CodeAssemblerParameterizedLabel<Context, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4935             :     ca_.Goto(&block0, p_context);
    4936             : 
    4937           5 :   if (block0.is_used()) {
    4938             :     compiler::TNode<Context> tmp0;
    4939             :     ca_.Bind(&block0, &tmp0);
    4940             :     compiler::TNode<Context> tmp1;
    4941             :     USE(tmp1);
    4942          15 :     tmp1 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp0}));
    4943             :     compiler::TNode<IntPtrT> tmp2;
    4944             :     USE(tmp2);
    4945          15 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::JS_ARRAY_PACKED_SMI_ELEMENTS_MAP_INDEX));
    4946             :     compiler::TNode<Object> tmp3;
    4947             :     USE(tmp3);
    4948          10 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp1}, compiler::TNode<IntPtrT>{tmp2}));
    4949             :     compiler::TNode<Map> tmp4;
    4950             :     USE(tmp4);
    4951          15 :     tmp4 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATMap(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp3}));
    4952             :     ca_.Goto(&block1, tmp0, tmp4);
    4953             :   }
    4954             : 
    4955           5 :   if (block1.is_used()) {
    4956             :     compiler::TNode<Context> tmp5;
    4957             :     compiler::TNode<Map> tmp6;
    4958             :     ca_.Bind(&block1, &tmp5, &tmp6);
    4959             :     ca_.Goto(&block2, tmp5, tmp6);
    4960             :   }
    4961             : 
    4962             :     compiler::TNode<Context> tmp7;
    4963             :     compiler::TNode<Map> tmp8;
    4964             :     ca_.Bind(&block2, &tmp7, &tmp8);
    4965          10 :   return compiler::TNode<Map>{tmp8};
    4966             : }
    4967             : 
    4968         112 : void BaseBuiltinsFromDSLAssembler::TorqueMoveElements(compiler::TNode<FixedArray> p_elements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count) {
    4969         112 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4970             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4971             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    4972             :     ca_.Goto(&block0, p_elements, p_dstIndex, p_srcIndex, p_count);
    4973             : 
    4974         112 :   if (block0.is_used()) {
    4975             :     compiler::TNode<FixedArray> tmp0;
    4976             :     compiler::TNode<IntPtrT> tmp1;
    4977             :     compiler::TNode<IntPtrT> tmp2;
    4978             :     compiler::TNode<IntPtrT> tmp3;
    4979             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
    4980         224 :     CodeStubAssembler(state_).MoveElements(HOLEY_ELEMENTS, compiler::TNode<FixedArrayBase>{tmp0}, compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp2}, compiler::TNode<IntPtrT>{tmp3});
    4981             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
    4982             :   }
    4983             : 
    4984         112 :   if (block1.is_used()) {
    4985             :     compiler::TNode<FixedArray> tmp4;
    4986             :     compiler::TNode<IntPtrT> tmp5;
    4987             :     compiler::TNode<IntPtrT> tmp6;
    4988             :     compiler::TNode<IntPtrT> tmp7;
    4989             :     ca_.Bind(&block1, &tmp4, &tmp5, &tmp6, &tmp7);
    4990             :     ca_.Goto(&block2, tmp4, tmp5, tmp6, tmp7);
    4991             :   }
    4992             : 
    4993             :     compiler::TNode<FixedArray> tmp8;
    4994             :     compiler::TNode<IntPtrT> tmp9;
    4995             :     compiler::TNode<IntPtrT> tmp10;
    4996             :     compiler::TNode<IntPtrT> tmp11;
    4997             :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11);
    4998         112 : }
    4999             : 
    5000         112 : void BaseBuiltinsFromDSLAssembler::TorqueMoveElements(compiler::TNode<FixedDoubleArray> p_elements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count) {
    5001         112 :   compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, IntPtrT, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5002             :   compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, IntPtrT, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5003             :   compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, IntPtrT, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5004             :     ca_.Goto(&block0, p_elements, p_dstIndex, p_srcIndex, p_count);
    5005             : 
    5006         112 :   if (block0.is_used()) {
    5007             :     compiler::TNode<FixedDoubleArray> tmp0;
    5008             :     compiler::TNode<IntPtrT> tmp1;
    5009             :     compiler::TNode<IntPtrT> tmp2;
    5010             :     compiler::TNode<IntPtrT> tmp3;
    5011             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
    5012         224 :     CodeStubAssembler(state_).MoveElements(HOLEY_DOUBLE_ELEMENTS, compiler::TNode<FixedArrayBase>{tmp0}, compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<IntPtrT>{tmp2}, compiler::TNode<IntPtrT>{tmp3});
    5013             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
    5014             :   }
    5015             : 
    5016         112 :   if (block1.is_used()) {
    5017             :     compiler::TNode<FixedDoubleArray> tmp4;
    5018             :     compiler::TNode<IntPtrT> tmp5;
    5019             :     compiler::TNode<IntPtrT> tmp6;
    5020             :     compiler::TNode<IntPtrT> tmp7;
    5021             :     ca_.Bind(&block1, &tmp4, &tmp5, &tmp6, &tmp7);
    5022             :     ca_.Goto(&block2, tmp4, tmp5, tmp6, tmp7);
    5023             :   }
    5024             : 
    5025             :     compiler::TNode<FixedDoubleArray> tmp8;
    5026             :     compiler::TNode<IntPtrT> tmp9;
    5027             :     compiler::TNode<IntPtrT> tmp10;
    5028             :     compiler::TNode<IntPtrT> tmp11;
    5029             :     ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11);
    5030         112 : }
    5031             : 
    5032          56 : void BaseBuiltinsFromDSLAssembler::TorqueCopyElements(compiler::TNode<FixedArray> p_dstElements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<FixedArray> p_srcElements, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count) {
    5033          56 :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, FixedArray, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5034             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, FixedArray, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5035             :   compiler::CodeAssemblerParameterizedLabel<FixedArray, IntPtrT, FixedArray, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5036             :     ca_.Goto(&block0, p_dstElements, p_dstIndex, p_srcElements, p_srcIndex, p_count);
    5037             : 
    5038          56 :   if (block0.is_used()) {
    5039             :     compiler::TNode<FixedArray> tmp0;
    5040             :     compiler::TNode<IntPtrT> tmp1;
    5041             :     compiler::TNode<FixedArray> tmp2;
    5042             :     compiler::TNode<IntPtrT> tmp3;
    5043             :     compiler::TNode<IntPtrT> tmp4;
    5044             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    5045         112 :     CodeStubAssembler(state_).CopyElements(HOLEY_ELEMENTS, compiler::TNode<FixedArrayBase>{tmp0}, compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<FixedArrayBase>{tmp2}, compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4});
    5046             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp4);
    5047             :   }
    5048             : 
    5049          56 :   if (block1.is_used()) {
    5050             :     compiler::TNode<FixedArray> tmp5;
    5051             :     compiler::TNode<IntPtrT> tmp6;
    5052             :     compiler::TNode<FixedArray> tmp7;
    5053             :     compiler::TNode<IntPtrT> tmp8;
    5054             :     compiler::TNode<IntPtrT> tmp9;
    5055             :     ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
    5056             :     ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8, tmp9);
    5057             :   }
    5058             : 
    5059             :     compiler::TNode<FixedArray> tmp10;
    5060             :     compiler::TNode<IntPtrT> tmp11;
    5061             :     compiler::TNode<FixedArray> tmp12;
    5062             :     compiler::TNode<IntPtrT> tmp13;
    5063             :     compiler::TNode<IntPtrT> tmp14;
    5064             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
    5065          56 : }
    5066             : 
    5067          56 : void BaseBuiltinsFromDSLAssembler::TorqueCopyElements(compiler::TNode<FixedDoubleArray> p_dstElements, compiler::TNode<IntPtrT> p_dstIndex, compiler::TNode<FixedDoubleArray> p_srcElements, compiler::TNode<IntPtrT> p_srcIndex, compiler::TNode<IntPtrT> p_count) {
    5068          56 :   compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, IntPtrT, FixedDoubleArray, IntPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5069             :   compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, IntPtrT, FixedDoubleArray, IntPtrT, IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5070             :   compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, IntPtrT, FixedDoubleArray, IntPtrT, IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5071             :     ca_.Goto(&block0, p_dstElements, p_dstIndex, p_srcElements, p_srcIndex, p_count);
    5072             : 
    5073          56 :   if (block0.is_used()) {
    5074             :     compiler::TNode<FixedDoubleArray> tmp0;
    5075             :     compiler::TNode<IntPtrT> tmp1;
    5076             :     compiler::TNode<FixedDoubleArray> tmp2;
    5077             :     compiler::TNode<IntPtrT> tmp3;
    5078             :     compiler::TNode<IntPtrT> tmp4;
    5079             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
    5080         112 :     CodeStubAssembler(state_).CopyElements(HOLEY_DOUBLE_ELEMENTS, compiler::TNode<FixedArrayBase>{tmp0}, compiler::TNode<IntPtrT>{tmp1}, compiler::TNode<FixedArrayBase>{tmp2}, compiler::TNode<IntPtrT>{tmp3}, compiler::TNode<IntPtrT>{tmp4});
    5081             :     ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp4);
    5082             :   }
    5083             : 
    5084          56 :   if (block1.is_used()) {
    5085             :     compiler::TNode<FixedDoubleArray> tmp5;
    5086             :     compiler::TNode<IntPtrT> tmp6;
    5087             :     compiler::TNode<FixedDoubleArray> tmp7;
    5088             :     compiler::TNode<IntPtrT> tmp8;
    5089             :     compiler::TNode<IntPtrT> tmp9;
    5090             :     ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9);
    5091             :     ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8, tmp9);
    5092             :   }
    5093             : 
    5094             :     compiler::TNode<FixedDoubleArray> tmp10;
    5095             :     compiler::TNode<IntPtrT> tmp11;
    5096             :     compiler::TNode<FixedDoubleArray> tmp12;
    5097             :     compiler::TNode<IntPtrT> tmp13;
    5098             :     compiler::TNode<IntPtrT> tmp14;
    5099             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14);
    5100          56 : }
    5101             : 
    5102         168 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadElementNoHole12ATFixedArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_a, compiler::TNode<Smi> p_index, compiler::CodeAssemblerLabel* label_IfHole) {
    5103         168 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5104             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedArrayBase> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5105             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedArrayBase, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5106             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedArray, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5107             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedArray, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5108             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5109             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5110             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5111             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5112             :     ca_.Goto(&block0, p_context, p_a, p_index);
    5113             : 
    5114         168 :   if (block0.is_used()) {
    5115             :     compiler::TNode<Context> tmp0;
    5116             :     compiler::TNode<JSArray> tmp1;
    5117             :     compiler::TNode<Smi> tmp2;
    5118             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5119             :     compiler::TNode<FixedArrayBase> tmp3;
    5120             :     USE(tmp3);
    5121         504 :     tmp3 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp1}));
    5122             :     compiler::TNode<FixedArray> tmp4;
    5123             :     USE(tmp4);
    5124             :     compiler::CodeAssemblerLabel label0(&ca_);
    5125         504 :     tmp4 = BaseBuiltinsFromDSLAssembler(state_).Cast12ATFixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp3}, &label0);
    5126             :     ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4);
    5127         168 :     if (label0.is_used()) {
    5128         168 :       ca_.Bind(&label0);
    5129             :       ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3);
    5130         168 :     }
    5131             :   }
    5132             : 
    5133         168 :   if (block6.is_used()) {
    5134             :     compiler::TNode<Context> tmp5;
    5135             :     compiler::TNode<JSArray> tmp6;
    5136             :     compiler::TNode<Smi> tmp7;
    5137             :     compiler::TNode<FixedArrayBase> tmp8;
    5138             :     ca_.Bind(&block6, &tmp5, &tmp6, &tmp7, &tmp8);
    5139             :     ca_.Goto(&block4, tmp5, tmp6, tmp7);
    5140             :   }
    5141             : 
    5142         168 :   if (block5.is_used()) {
    5143             :     compiler::TNode<Context> tmp9;
    5144             :     compiler::TNode<JSArray> tmp10;
    5145             :     compiler::TNode<Smi> tmp11;
    5146             :     compiler::TNode<FixedArrayBase> tmp12;
    5147             :     compiler::TNode<FixedArray> tmp13;
    5148             :     ca_.Bind(&block5, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    5149             :     compiler::TNode<Object> tmp14;
    5150             :     USE(tmp14);
    5151         336 :     tmp14 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp13}, compiler::TNode<Smi>{tmp11}));
    5152             :     compiler::TNode<Oddball> tmp15;
    5153             :     USE(tmp15);
    5154         504 :     tmp15 = BaseBuiltinsFromDSLAssembler(state_).Hole();
    5155             :     compiler::TNode<BoolT> tmp16;
    5156             :     USE(tmp16);
    5157         336 :     tmp16 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp14}, compiler::TNode<Object>{tmp15}));
    5158         168 :     ca_.Branch(tmp16, &block7, &block8, tmp9, tmp10, tmp11, tmp13, tmp14);
    5159             :   }
    5160             : 
    5161         168 :   if (block7.is_used()) {
    5162             :     compiler::TNode<Context> tmp17;
    5163             :     compiler::TNode<JSArray> tmp18;
    5164             :     compiler::TNode<Smi> tmp19;
    5165             :     compiler::TNode<FixedArray> tmp20;
    5166             :     compiler::TNode<Object> tmp21;
    5167             :     ca_.Bind(&block7, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
    5168             :     ca_.Goto(&block1);
    5169             :   }
    5170             : 
    5171         168 :   if (block8.is_used()) {
    5172             :     compiler::TNode<Context> tmp22;
    5173             :     compiler::TNode<JSArray> tmp23;
    5174             :     compiler::TNode<Smi> tmp24;
    5175             :     compiler::TNode<FixedArray> tmp25;
    5176             :     compiler::TNode<Object> tmp26;
    5177             :     ca_.Bind(&block8, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
    5178             :     ca_.Goto(&block2, tmp22, tmp23, tmp24, tmp26);
    5179             :   }
    5180             : 
    5181         168 :   if (block4.is_used()) {
    5182             :     compiler::TNode<Context> tmp27;
    5183             :     compiler::TNode<JSArray> tmp28;
    5184             :     compiler::TNode<Smi> tmp29;
    5185             :     ca_.Bind(&block4, &tmp27, &tmp28, &tmp29);
    5186         336 :     CodeStubAssembler(state_).Unreachable();
    5187             :   }
    5188             : 
    5189         168 :   if (block2.is_used()) {
    5190             :     compiler::TNode<Context> tmp30;
    5191             :     compiler::TNode<JSArray> tmp31;
    5192             :     compiler::TNode<Smi> tmp32;
    5193             :     compiler::TNode<Object> tmp33;
    5194             :     ca_.Bind(&block2, &tmp30, &tmp31, &tmp32, &tmp33);
    5195             :     ca_.Goto(&block9, tmp30, tmp31, tmp32, tmp33);
    5196             :   }
    5197             : 
    5198         168 :   if (block1.is_used()) {
    5199             :     ca_.Bind(&block1);
    5200         168 :     ca_.Goto(label_IfHole);
    5201             :   }
    5202             : 
    5203             :     compiler::TNode<Context> tmp34;
    5204             :     compiler::TNode<JSArray> tmp35;
    5205             :     compiler::TNode<Smi> tmp36;
    5206             :     compiler::TNode<Object> tmp37;
    5207             :     ca_.Bind(&block9, &tmp34, &tmp35, &tmp36, &tmp37);
    5208         336 :   return compiler::TNode<Object>{tmp37};
    5209             : }
    5210             : 
    5211         112 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadElementNoHole18ATFixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<JSArray> p_a, compiler::TNode<Smi> p_index, compiler::CodeAssemblerLabel* label_IfHole) {
    5212         112 :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5213             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedArrayBase> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5214             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedArrayBase, FixedDoubleArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5215             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedDoubleArray, FixedDoubleArray, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5216             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, FixedDoubleArray, FixedDoubleArray, Smi, Float64T> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5217             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5218             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5219             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5220             :   compiler::CodeAssemblerParameterizedLabel<Context, JSArray, Smi, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5221             :     ca_.Goto(&block0, p_context, p_a, p_index);
    5222             : 
    5223         112 :   if (block0.is_used()) {
    5224             :     compiler::TNode<Context> tmp0;
    5225             :     compiler::TNode<JSArray> tmp1;
    5226             :     compiler::TNode<Smi> tmp2;
    5227             :     ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
    5228             :     compiler::TNode<FixedArrayBase> tmp3;
    5229             :     USE(tmp3);
    5230         336 :     tmp3 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp1}));
    5231             :     compiler::TNode<FixedDoubleArray> tmp4;
    5232             :     USE(tmp4);
    5233             :     compiler::CodeAssemblerLabel label0(&ca_);
    5234         336 :     tmp4 = BaseBuiltinsFromDSLAssembler(state_).Cast18ATFixedDoubleArray(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp3}, &label0);
    5235             :     ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4);
    5236         112 :     if (label0.is_used()) {
    5237         112 :       ca_.Bind(&label0);
    5238             :       ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3);
    5239         112 :     }
    5240             :   }
    5241             : 
    5242         112 :   if (block6.is_used()) {
    5243             :     compiler::TNode<Context> tmp5;
    5244             :     compiler::TNode<JSArray> tmp6;
    5245             :     compiler::TNode<Smi> tmp7;
    5246             :     compiler::TNode<FixedArrayBase> tmp8;
    5247             :     ca_.Bind(&block6, &tmp5, &tmp6, &tmp7, &tmp8);
    5248             :     ca_.Goto(&block4, tmp5, tmp6, tmp7);
    5249             :   }
    5250             : 
    5251         112 :   if (block5.is_used()) {
    5252             :     compiler::TNode<Context> tmp9;
    5253             :     compiler::TNode<JSArray> tmp10;
    5254             :     compiler::TNode<Smi> tmp11;
    5255             :     compiler::TNode<FixedArrayBase> tmp12;
    5256             :     compiler::TNode<FixedDoubleArray> tmp13;
    5257             :     ca_.Bind(&block5, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
    5258             :     compiler::TNode<Float64T> tmp14;
    5259             :     USE(tmp14);
    5260             :     compiler::CodeAssemblerLabel label0(&ca_);
    5261         224 :     tmp14 = CodeStubAssembler(state_).LoadDoubleWithHoleCheck(compiler::TNode<FixedDoubleArray>{tmp13}, compiler::TNode<Smi>{tmp11}, &label0);
    5262             :     ca_.Goto(&block7, tmp9, tmp10, tmp11, tmp13, tmp13, tmp11, tmp14);
    5263         112 :     if (label0.is_used()) {
    5264         112 :       ca_.Bind(&label0);
    5265             :       ca_.Goto(&block8, tmp9, tmp10, tmp11, tmp13, tmp13, tmp11);
    5266         112 :     }
    5267             :   }
    5268             : 
    5269         112 :   if (block8.is_used()) {
    5270             :     compiler::TNode<Context> tmp15;
    5271             :     compiler::TNode<JSArray> tmp16;
    5272             :     compiler::TNode<Smi> tmp17;
    5273             :     compiler::TNode<FixedDoubleArray> tmp18;
    5274             :     compiler::TNode<FixedDoubleArray> tmp19;
    5275             :     compiler::TNode<Smi> tmp20;
    5276             :     ca_.Bind(&block8, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
    5277             :     ca_.Goto(&block1);
    5278             :   }
    5279             : 
    5280         112 :   if (block7.is_used()) {
    5281             :     compiler::TNode<Context> tmp21;
    5282             :     compiler::TNode<JSArray> tmp22;
    5283             :     compiler::TNode<Smi> tmp23;
    5284             :     compiler::TNode<FixedDoubleArray> tmp24;
    5285             :     compiler::TNode<FixedDoubleArray> tmp25;
    5286             :     compiler::TNode<Smi> tmp26;
    5287             :     compiler::TNode<Float64T> tmp27;
    5288             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
    5289             :     compiler::TNode<HeapNumber> tmp28;
    5290             :     USE(tmp28);
    5291         336 :     tmp28 = ca_.UncheckedCast<HeapNumber>(CodeStubAssembler(state_).AllocateHeapNumberWithValue(compiler::TNode<Float64T>{tmp27}));
    5292             :     ca_.Goto(&block2, tmp21, tmp22, tmp23, tmp28);
    5293             :   }
    5294             : 
    5295         112 :   if (block4.is_used()) {
    5296             :     compiler::TNode<Context> tmp29;
    5297             :     compiler::TNode<JSArray> tmp30;
    5298             :     compiler::TNode<Smi> tmp31;
    5299             :     ca_.Bind(&block4, &tmp29, &tmp30, &tmp31);
    5300         224 :     CodeStubAssembler(state_).Unreachable();
    5301             :   }
    5302             : 
    5303         112 :   if (block2.is_used()) {
    5304             :     compiler::TNode<Context> tmp32;
    5305             :     compiler::TNode<JSArray> tmp33;
    5306             :     compiler::TNode<Smi> tmp34;
    5307             :     compiler::TNode<Object> tmp35;
    5308             :     ca_.Bind(&block2, &tmp32, &tmp33, &tmp34, &tmp35);
    5309             :     ca_.Goto(&block9, tmp32, tmp33, tmp34, tmp35);
    5310             :   }
    5311             : 
    5312         112 :   if (block1.is_used()) {
    5313             :     ca_.Bind(&block1);
    5314         112 :     ca_.Goto(label_IfHole);
    5315             :   }
    5316             : 
    5317             :     compiler::TNode<Context> tmp36;
    5318             :     compiler::TNode<JSArray> tmp37;
    5319             :     compiler::TNode<Smi> tmp38;
    5320             :     compiler::TNode<Object> tmp39;
    5321             :     ca_.Bind(&block9, &tmp36, &tmp37, &tmp38, &tmp39);
    5322         224 :   return compiler::TNode<Object>{tmp39};
    5323             : }
    5324             : 
    5325         392 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::NumberIsNaN(compiler::TNode<Number> p_number) {
    5326         392 :   compiler::CodeAssemblerParameterizedLabel<Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5327             :   compiler::CodeAssemblerParameterizedLabel<Number, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5328             :   compiler::CodeAssemblerParameterizedLabel<Number, Number, Number, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5329             :   compiler::CodeAssemblerParameterizedLabel<Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5330             :   compiler::CodeAssemblerParameterizedLabel<Number, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5331             :   compiler::CodeAssemblerParameterizedLabel<Number, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5332             :     ca_.Goto(&block0, p_number);
    5333             : 
    5334         392 :   if (block0.is_used()) {
    5335             :     compiler::TNode<Number> tmp0;
    5336             :     ca_.Bind(&block0, &tmp0);
    5337             :     compiler::TNode<Smi> tmp1;
    5338             :     USE(tmp1);
    5339             :     compiler::CodeAssemblerLabel label0(&ca_);
    5340        1176 :     tmp1 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp0}, &label0);
    5341             :     ca_.Goto(&block4, tmp0, tmp0, tmp0, tmp1);
    5342         392 :     if (label0.is_used()) {
    5343         392 :       ca_.Bind(&label0);
    5344             :       ca_.Goto(&block5, tmp0, tmp0, tmp0);
    5345         392 :     }
    5346             :   }
    5347             : 
    5348         392 :   if (block5.is_used()) {
    5349             :     compiler::TNode<Number> tmp2;
    5350             :     compiler::TNode<Number> tmp3;
    5351             :     compiler::TNode<Number> tmp4;
    5352             :     ca_.Bind(&block5, &tmp2, &tmp3, &tmp4);
    5353             :     ca_.Goto(&block3, tmp2, tmp3);
    5354             :   }
    5355             : 
    5356         392 :   if (block4.is_used()) {
    5357             :     compiler::TNode<Number> tmp5;
    5358             :     compiler::TNode<Number> tmp6;
    5359             :     compiler::TNode<Number> tmp7;
    5360             :     compiler::TNode<Smi> tmp8;
    5361             :     ca_.Bind(&block4, &tmp5, &tmp6, &tmp7, &tmp8);
    5362             :     compiler::TNode<BoolT> tmp9;
    5363             :     USE(tmp9);
    5364        1176 :     tmp9 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
    5365             :     ca_.Goto(&block1, tmp5, tmp9);
    5366             :   }
    5367             : 
    5368         392 :   if (block3.is_used()) {
    5369             :     compiler::TNode<Number> tmp10;
    5370             :     compiler::TNode<Number> tmp11;
    5371             :     ca_.Bind(&block3, &tmp10, &tmp11);
    5372             :     compiler::TNode<Float64T> tmp12;
    5373             :     USE(tmp12);
    5374        1176 :     tmp12 = ca_.UncheckedCast<Float64T>(BaseBuiltinsFromDSLAssembler(state_).Convert9ATfloat6412ATHeapNumber(compiler::TNode<HeapNumber>{ca_.UncheckedCast<HeapNumber>(tmp11)}));
    5375             :     compiler::TNode<BoolT> tmp13;
    5376             :     USE(tmp13);
    5377         784 :     tmp13 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Float64NotEqual(compiler::TNode<Float64T>{tmp12}, compiler::TNode<Float64T>{tmp12}));
    5378             :     ca_.Goto(&block1, tmp10, tmp13);
    5379             :   }
    5380             : 
    5381         392 :   if (block1.is_used()) {
    5382             :     compiler::TNode<Number> tmp14;
    5383             :     compiler::TNode<BoolT> tmp15;
    5384             :     ca_.Bind(&block1, &tmp14, &tmp15);
    5385             :     ca_.Goto(&block6, tmp14, tmp15);
    5386             :   }
    5387             : 
    5388             :     compiler::TNode<Number> tmp16;
    5389             :     compiler::TNode<BoolT> tmp17;
    5390             :     ca_.Bind(&block6, &tmp16, &tmp17);
    5391         784 :   return compiler::TNode<BoolT>{tmp17};
    5392             : }
    5393             : 
    5394        1400 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::ToBoolean(compiler::TNode<Object> p_obj) {
    5395        1400 :   compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5396             :   compiler::CodeAssemblerParameterizedLabel<Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5397             :   compiler::CodeAssemblerParameterizedLabel<Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5398             :   compiler::CodeAssemblerParameterizedLabel<Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5399             :   compiler::CodeAssemblerParameterizedLabel<Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5400             :   compiler::CodeAssemblerParameterizedLabel<Object, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5401             :   compiler::CodeAssemblerParameterizedLabel<Object, BoolT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5402             :     ca_.Goto(&block0, p_obj);
    5403             : 
    5404        1400 :   if (block0.is_used()) {
    5405             :     compiler::TNode<Object> tmp0;
    5406             :     ca_.Bind(&block0, &tmp0);
    5407             :     compiler::CodeAssemblerLabel label0(&ca_);
    5408        1400 :     compiler::CodeAssemblerLabel label1(&ca_);
    5409        2800 :     CodeStubAssembler(state_).BranchIfToBooleanIsTrue(compiler::TNode<Object>{tmp0}, &label0, &label1);
    5410        1400 :     if (label0.is_used()) {
    5411        1400 :       ca_.Bind(&label0);
    5412             :       ca_.Goto(&block4, tmp0, tmp0);
    5413             :     }
    5414        1400 :     if (label1.is_used()) {
    5415        1400 :       ca_.Bind(&label1);
    5416             :       ca_.Goto(&block5, tmp0, tmp0);
    5417        1400 :     }
    5418             :   }
    5419             : 
    5420        1400 :   if (block4.is_used()) {
    5421             :     compiler::TNode<Object> tmp1;
    5422             :     compiler::TNode<Object> tmp2;
    5423             :     ca_.Bind(&block4, &tmp1, &tmp2);
    5424             :     ca_.Goto(&block2, tmp1);
    5425             :   }
    5426             : 
    5427        1400 :   if (block5.is_used()) {
    5428             :     compiler::TNode<Object> tmp3;
    5429             :     compiler::TNode<Object> tmp4;
    5430             :     ca_.Bind(&block5, &tmp3, &tmp4);
    5431             :     ca_.Goto(&block3, tmp3);
    5432             :   }
    5433             : 
    5434        1400 :   if (block2.is_used()) {
    5435             :     compiler::TNode<Object> tmp5;
    5436             :     ca_.Bind(&block2, &tmp5);
    5437             :     compiler::TNode<BoolT> tmp6;
    5438             :     USE(tmp6);
    5439        4200 :     tmp6 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
    5440             :     ca_.Goto(&block1, tmp5, tmp6);
    5441             :   }
    5442             : 
    5443        1400 :   if (block3.is_used()) {
    5444             :     compiler::TNode<Object> tmp7;
    5445             :     ca_.Bind(&block3, &tmp7);
    5446             :     compiler::TNode<BoolT> tmp8;
    5447             :     USE(tmp8);
    5448        4200 :     tmp8 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
    5449             :     ca_.Goto(&block1, tmp7, tmp8);
    5450             :   }
    5451             : 
    5452        1400 :   if (block1.is_used()) {
    5453             :     compiler::TNode<Object> tmp9;
    5454             :     compiler::TNode<BoolT> tmp10;
    5455             :     ca_.Bind(&block1, &tmp9, &tmp10);
    5456             :     ca_.Goto(&block7, tmp9, tmp10);
    5457             :   }
    5458             : 
    5459             :     compiler::TNode<Object> tmp11;
    5460             :     compiler::TNode<BoolT> tmp12;
    5461             :     ca_.Bind(&block7, &tmp11, &tmp12);
    5462        2800 :   return compiler::TNode<BoolT>{tmp12};
    5463             : }
    5464             : 
    5465        1120 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::ToIndex(compiler::TNode<Object> p_input, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_RangeError) {
    5466        1120 :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5467             :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5468             :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5469             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Number, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5470             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Number, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5471             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5472             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Number, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5473             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Number, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5474             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5475             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5476             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5477             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5478             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5479             :     ca_.Goto(&block0, p_input, p_context);
    5480             : 
    5481        1120 :   if (block0.is_used()) {
    5482             :     compiler::TNode<Object> tmp0;
    5483             :     compiler::TNode<Context> tmp1;
    5484             :     ca_.Bind(&block0, &tmp0, &tmp1);
    5485             :     compiler::TNode<Oddball> tmp2;
    5486             :     USE(tmp2);
    5487        3360 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
    5488             :     compiler::TNode<BoolT> tmp3;
    5489             :     USE(tmp3);
    5490        2240 :     tmp3 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp0}, compiler::TNode<Object>{tmp2}));
    5491        1120 :     ca_.Branch(tmp3, &block3, &block4, tmp0, tmp1);
    5492             :   }
    5493             : 
    5494        1120 :   if (block3.is_used()) {
    5495             :     compiler::TNode<Object> tmp4;
    5496             :     compiler::TNode<Context> tmp5;
    5497             :     ca_.Bind(&block3, &tmp4, &tmp5);
    5498             :     compiler::TNode<Number> tmp6;
    5499             :     USE(tmp6);
    5500        3360 :     tmp6 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
    5501             :     ca_.Goto(&block2, tmp4, tmp5, tmp6);
    5502             :   }
    5503             : 
    5504        1120 :   if (block4.is_used()) {
    5505             :     compiler::TNode<Object> tmp7;
    5506             :     compiler::TNode<Context> tmp8;
    5507             :     ca_.Bind(&block4, &tmp7, &tmp8);
    5508             :     compiler::TNode<Number> tmp9;
    5509             :     USE(tmp9);
    5510        4480 :     tmp9 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ToInteger_Inline(compiler::TNode<Context>{tmp8}, compiler::TNode<Object>{tmp7}, CodeStubAssembler::ToIntegerTruncationMode::kTruncateMinusZero));
    5511             :     compiler::TNode<Number> tmp10;
    5512             :     USE(tmp10);
    5513        3360 :     tmp10 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
    5514             :     compiler::CodeAssemblerLabel label0(&ca_);
    5515        1120 :     compiler::CodeAssemblerLabel label1(&ca_);
    5516        2240 :     CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp9}, compiler::TNode<Number>{tmp10}, &label0, &label1);
    5517        1120 :     if (label0.is_used()) {
    5518        1120 :       ca_.Bind(&label0);
    5519             :       ca_.Goto(&block8, tmp7, tmp8, tmp9, tmp9);
    5520             :     }
    5521        1120 :     if (label1.is_used()) {
    5522        1120 :       ca_.Bind(&label1);
    5523             :       ca_.Goto(&block9, tmp7, tmp8, tmp9, tmp9);
    5524        1120 :     }
    5525             :   }
    5526             : 
    5527        1120 :   if (block8.is_used()) {
    5528             :     compiler::TNode<Object> tmp11;
    5529             :     compiler::TNode<Context> tmp12;
    5530             :     compiler::TNode<Number> tmp13;
    5531             :     compiler::TNode<Number> tmp14;
    5532             :     ca_.Bind(&block8, &tmp11, &tmp12, &tmp13, &tmp14);
    5533             :     ca_.Goto(&block5, tmp11, tmp12, tmp13);
    5534             :   }
    5535             : 
    5536        1120 :   if (block9.is_used()) {
    5537             :     compiler::TNode<Object> tmp15;
    5538             :     compiler::TNode<Context> tmp16;
    5539             :     compiler::TNode<Number> tmp17;
    5540             :     compiler::TNode<Number> tmp18;
    5541             :     ca_.Bind(&block9, &tmp15, &tmp16, &tmp17, &tmp18);
    5542             :     ca_.Goto(&block7, tmp15, tmp16, tmp17);
    5543             :   }
    5544             : 
    5545        1120 :   if (block7.is_used()) {
    5546             :     compiler::TNode<Object> tmp19;
    5547             :     compiler::TNode<Context> tmp20;
    5548             :     compiler::TNode<Number> tmp21;
    5549             :     ca_.Bind(&block7, &tmp19, &tmp20, &tmp21);
    5550             :     compiler::TNode<Number> tmp22;
    5551             :     USE(tmp22);
    5552        3360 :     tmp22 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi19ATconstexpr_float64(kMaxSafeInteger));
    5553             :     compiler::CodeAssemblerLabel label0(&ca_);
    5554        1120 :     compiler::CodeAssemblerLabel label1(&ca_);
    5555        2240 :     CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp21}, compiler::TNode<Number>{tmp22}, &label0, &label1);
    5556        1120 :     if (label0.is_used()) {
    5557        1120 :       ca_.Bind(&label0);
    5558             :       ca_.Goto(&block10, tmp19, tmp20, tmp21, tmp21);
    5559             :     }
    5560        1120 :     if (label1.is_used()) {
    5561        1120 :       ca_.Bind(&label1);
    5562             :       ca_.Goto(&block11, tmp19, tmp20, tmp21, tmp21);
    5563        1120 :     }
    5564             :   }
    5565             : 
    5566        1120 :   if (block10.is_used()) {
    5567             :     compiler::TNode<Object> tmp23;
    5568             :     compiler::TNode<Context> tmp24;
    5569             :     compiler::TNode<Number> tmp25;
    5570             :     compiler::TNode<Number> tmp26;
    5571             :     ca_.Bind(&block10, &tmp23, &tmp24, &tmp25, &tmp26);
    5572             :     ca_.Goto(&block5, tmp23, tmp24, tmp25);
    5573             :   }
    5574             : 
    5575        1120 :   if (block11.is_used()) {
    5576             :     compiler::TNode<Object> tmp27;
    5577             :     compiler::TNode<Context> tmp28;
    5578             :     compiler::TNode<Number> tmp29;
    5579             :     compiler::TNode<Number> tmp30;
    5580             :     ca_.Bind(&block11, &tmp27, &tmp28, &tmp29, &tmp30);
    5581             :     ca_.Goto(&block6, tmp27, tmp28, tmp29);
    5582             :   }
    5583             : 
    5584        1120 :   if (block5.is_used()) {
    5585             :     compiler::TNode<Object> tmp31;
    5586             :     compiler::TNode<Context> tmp32;
    5587             :     compiler::TNode<Number> tmp33;
    5588             :     ca_.Bind(&block5, &tmp31, &tmp32, &tmp33);
    5589             :     ca_.Goto(&block1);
    5590             :   }
    5591             : 
    5592        1120 :   if (block6.is_used()) {
    5593             :     compiler::TNode<Object> tmp34;
    5594             :     compiler::TNode<Context> tmp35;
    5595             :     compiler::TNode<Number> tmp36;
    5596             :     ca_.Bind(&block6, &tmp34, &tmp35, &tmp36);
    5597             :     ca_.Goto(&block2, tmp34, tmp35, tmp36);
    5598             :   }
    5599             : 
    5600        1120 :   if (block2.is_used()) {
    5601             :     compiler::TNode<Object> tmp37;
    5602             :     compiler::TNode<Context> tmp38;
    5603             :     compiler::TNode<Number> tmp39;
    5604             :     ca_.Bind(&block2, &tmp37, &tmp38, &tmp39);
    5605             :     ca_.Goto(&block12, tmp37, tmp38, tmp39);
    5606             :   }
    5607             : 
    5608        1120 :   if (block1.is_used()) {
    5609             :     ca_.Bind(&block1);
    5610        1120 :     ca_.Goto(label_RangeError);
    5611             :   }
    5612             : 
    5613             :     compiler::TNode<Object> tmp40;
    5614             :     compiler::TNode<Context> tmp41;
    5615             :     compiler::TNode<Number> tmp42;
    5616             :     ca_.Bind(&block12, &tmp40, &tmp41, &tmp42);
    5617        2240 :   return compiler::TNode<Number>{tmp42};
    5618             : }
    5619             : 
    5620         616 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::GetLengthProperty(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    5621         616 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5622             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5623             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSArray> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5624             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5625             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5626             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSArgumentsObjectWithLength> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5627             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5628             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kDeferred);
    5629             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5630             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5631             :     ca_.Goto(&block0, p_context, p_o);
    5632             : 
    5633         616 :   if (block0.is_used()) {
    5634             :     compiler::TNode<Context> tmp0;
    5635             :     compiler::TNode<Object> tmp1;
    5636             :     ca_.Bind(&block0, &tmp0, &tmp1);
    5637             :     compiler::TNode<JSArray> tmp2;
    5638             :     USE(tmp2);
    5639             :     compiler::CodeAssemblerLabel label0(&ca_);
    5640        1848 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast7JSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
    5641             :     ca_.Goto(&block6, tmp0, tmp1, tmp1, tmp1, tmp2);
    5642         616 :     if (label0.is_used()) {
    5643         616 :       ca_.Bind(&label0);
    5644             :       ca_.Goto(&block7, tmp0, tmp1, tmp1, tmp1);
    5645         616 :     }
    5646             :   }
    5647             : 
    5648         616 :   if (block7.is_used()) {
    5649             :     compiler::TNode<Context> tmp3;
    5650             :     compiler::TNode<Object> tmp4;
    5651             :     compiler::TNode<Object> tmp5;
    5652             :     compiler::TNode<Object> tmp6;
    5653             :     ca_.Bind(&block7, &tmp3, &tmp4, &tmp5, &tmp6);
    5654             :     ca_.Goto(&block5, tmp3, tmp4, tmp5);
    5655             :   }
    5656             : 
    5657         616 :   if (block6.is_used()) {
    5658             :     compiler::TNode<Context> tmp7;
    5659             :     compiler::TNode<Object> tmp8;
    5660             :     compiler::TNode<Object> tmp9;
    5661             :     compiler::TNode<Object> tmp10;
    5662             :     compiler::TNode<JSArray> tmp11;
    5663             :     ca_.Bind(&block6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
    5664             :     compiler::TNode<Number> tmp12;
    5665             :     USE(tmp12);
    5666        1848 :     tmp12 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArrayLength(compiler::TNode<JSArray>{tmp11}));
    5667             :     ca_.Goto(&block1, tmp7, tmp8, tmp12);
    5668             :   }
    5669             : 
    5670         616 :   if (block5.is_used()) {
    5671             :     compiler::TNode<Context> tmp13;
    5672             :     compiler::TNode<Object> tmp14;
    5673             :     compiler::TNode<Object> tmp15;
    5674             :     ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
    5675             :     compiler::TNode<JSArgumentsObjectWithLength> tmp16;
    5676             :     USE(tmp16);
    5677             :     compiler::CodeAssemblerLabel label0(&ca_);
    5678        1848 :     tmp16 = BaseBuiltinsFromDSLAssembler(state_).Cast27JSArgumentsObjectWithLength(compiler::TNode<Context>{tmp13}, compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp15)}, &label0);
    5679             :     ca_.Goto(&block10, tmp13, tmp14, tmp15, ca_.UncheckedCast<Object>(tmp15), tmp16);
    5680         616 :     if (label0.is_used()) {
    5681         616 :       ca_.Bind(&label0);
    5682             :       ca_.Goto(&block11, tmp13, tmp14, tmp15, ca_.UncheckedCast<Object>(tmp15));
    5683         616 :     }
    5684             :   }
    5685             : 
    5686         616 :   if (block11.is_used()) {
    5687             :     compiler::TNode<Context> tmp17;
    5688             :     compiler::TNode<Object> tmp18;
    5689             :     compiler::TNode<Object> tmp19;
    5690             :     compiler::TNode<Object> tmp20;
    5691             :     ca_.Bind(&block11, &tmp17, &tmp18, &tmp19, &tmp20);
    5692             :     ca_.Goto(&block9, tmp17, tmp18, tmp19);
    5693             :   }
    5694             : 
    5695         616 :   if (block10.is_used()) {
    5696             :     compiler::TNode<Context> tmp21;
    5697             :     compiler::TNode<Object> tmp22;
    5698             :     compiler::TNode<Object> tmp23;
    5699             :     compiler::TNode<Object> tmp24;
    5700             :     compiler::TNode<JSArgumentsObjectWithLength> tmp25;
    5701             :     ca_.Bind(&block10, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
    5702             :     compiler::TNode<Object> tmp26;
    5703             :     USE(tmp26);
    5704        1848 :     tmp26 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).LoadJSArgumentsObjectWithLengthLength(compiler::TNode<JSArgumentsObjectWithLength>{tmp25}));
    5705             :     ca_.Goto(&block3, tmp21, tmp22, tmp26);
    5706             :   }
    5707             : 
    5708         616 :   if (block9.is_used()) {
    5709             :     compiler::TNode<Context> tmp27;
    5710             :     compiler::TNode<Object> tmp28;
    5711             :     compiler::TNode<Object> tmp29;
    5712             :     ca_.Bind(&block9, &tmp27, &tmp28, &tmp29);
    5713             :     compiler::TNode<String> tmp30;
    5714             :     USE(tmp30);
    5715        1848 :     tmp30 = BaseBuiltinsFromDSLAssembler(state_).kLengthString();
    5716             :     compiler::TNode<Object> tmp31;
    5717             :     USE(tmp31);
    5718        1232 :     tmp31 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp27}, compiler::TNode<Object>{tmp28}, compiler::TNode<Object>{tmp30}));
    5719             :     ca_.Goto(&block3, tmp27, tmp28, tmp31);
    5720             :   }
    5721             : 
    5722         616 :   if (block3.is_used()) {
    5723             :     compiler::TNode<Context> tmp32;
    5724             :     compiler::TNode<Object> tmp33;
    5725             :     compiler::TNode<Object> tmp34;
    5726             :     ca_.Bind(&block3, &tmp32, &tmp33, &tmp34);
    5727             :     compiler::TNode<Number> tmp35;
    5728             :     USE(tmp35);
    5729        2464 :     tmp35 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ToLength_Inline(compiler::TNode<Context>{tmp32}, compiler::TNode<Object>{tmp34}));
    5730             :     ca_.Goto(&block1, tmp32, tmp33, tmp35);
    5731             :   }
    5732             : 
    5733         616 :   if (block1.is_used()) {
    5734             :     compiler::TNode<Context> tmp36;
    5735             :     compiler::TNode<Object> tmp37;
    5736             :     compiler::TNode<Number> tmp38;
    5737             :     ca_.Bind(&block1, &tmp36, &tmp37, &tmp38);
    5738             :     ca_.Goto(&block12, tmp36, tmp37, tmp38);
    5739             :   }
    5740             : 
    5741             :     compiler::TNode<Context> tmp39;
    5742             :     compiler::TNode<Object> tmp40;
    5743             :     compiler::TNode<Number> tmp41;
    5744             :     ca_.Bind(&block12, &tmp39, &tmp40, &tmp41);
    5745        1232 :   return compiler::TNode<Number>{tmp41};
    5746             : }
    5747             : 
    5748           0 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::IsFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context) {
    5749           0 :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5750             :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5751             :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5752             :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5753             :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5754             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5755             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, BoolT> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5756             :     ca_.Goto(&block0, p_o, p_context);
    5757             : 
    5758           0 :   if (block0.is_used()) {
    5759             :     compiler::TNode<Object> tmp0;
    5760             :     compiler::TNode<Context> tmp1;
    5761             :     ca_.Bind(&block0, &tmp0, &tmp1);
    5762             :     compiler::CodeAssemblerLabel label0(&ca_);
    5763           0 :     CodeStubAssembler(state_).GotoIfForceSlowPath(&label0);
    5764             :     ca_.Goto(&block4, tmp0, tmp1);
    5765           0 :     if (label0.is_used()) {
    5766           0 :       ca_.Bind(&label0);
    5767             :       ca_.Goto(&block5, tmp0, tmp1);
    5768           0 :     }
    5769             :   }
    5770             : 
    5771           0 :   if (block5.is_used()) {
    5772             :     compiler::TNode<Object> tmp2;
    5773             :     compiler::TNode<Context> tmp3;
    5774             :     ca_.Bind(&block5, &tmp2, &tmp3);
    5775             :     ca_.Goto(&block3, tmp2, tmp3);
    5776             :   }
    5777             : 
    5778           0 :   if (block4.is_used()) {
    5779             :     compiler::TNode<Object> tmp4;
    5780             :     compiler::TNode<Context> tmp5;
    5781             :     ca_.Bind(&block4, &tmp4, &tmp5);
    5782             :     ca_.Goto(&block2, tmp4, tmp5);
    5783             :   }
    5784             : 
    5785           0 :   if (block3.is_used()) {
    5786             :     compiler::TNode<Object> tmp6;
    5787             :     compiler::TNode<Context> tmp7;
    5788             :     ca_.Bind(&block3, &tmp6, &tmp7);
    5789             :     compiler::TNode<BoolT> tmp8;
    5790             :     USE(tmp8);
    5791           0 :     tmp8 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
    5792             :     ca_.Goto(&block1, tmp6, tmp7, tmp8);
    5793             :   }
    5794             : 
    5795           0 :   if (block2.is_used()) {
    5796             :     compiler::TNode<Object> tmp9;
    5797             :     compiler::TNode<Context> tmp10;
    5798             :     ca_.Bind(&block2, &tmp9, &tmp10);
    5799             :     compiler::TNode<BoolT> tmp11;
    5800             :     USE(tmp11);
    5801           0 :     tmp11 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).Is13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp9}));
    5802             :     ca_.Goto(&block1, tmp9, tmp10, tmp11);
    5803             :   }
    5804             : 
    5805           0 :   if (block1.is_used()) {
    5806             :     compiler::TNode<Object> tmp12;
    5807             :     compiler::TNode<Context> tmp13;
    5808             :     compiler::TNode<BoolT> tmp14;
    5809             :     ca_.Bind(&block1, &tmp12, &tmp13, &tmp14);
    5810             :     ca_.Goto(&block6, tmp12, tmp13, tmp14);
    5811             :   }
    5812             : 
    5813             :     compiler::TNode<Object> tmp15;
    5814             :     compiler::TNode<Context> tmp16;
    5815             :     compiler::TNode<BoolT> tmp17;
    5816             :     ca_.Bind(&block6, &tmp15, &tmp16, &tmp17);
    5817           0 :   return compiler::TNode<BoolT>{tmp17};
    5818             : }
    5819             : 
    5820         840 : void BaseBuiltinsFromDSLAssembler::BranchIfFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
    5821         840 :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5822             :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5823             :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5824             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5825             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5826             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5827             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5828             :     ca_.Goto(&block0, p_o, p_context);
    5829             : 
    5830         840 :   if (block0.is_used()) {
    5831             :     compiler::TNode<Object> tmp0;
    5832             :     compiler::TNode<Context> tmp1;
    5833             :     ca_.Bind(&block0, &tmp0, &tmp1);
    5834             :     compiler::CodeAssemblerLabel label0(&ca_);
    5835        1680 :     CodeStubAssembler(state_).GotoIfForceSlowPath(&label0);
    5836             :     ca_.Goto(&block3, tmp0, tmp1);
    5837         840 :     if (label0.is_used()) {
    5838           0 :       ca_.Bind(&label0);
    5839             :       ca_.Goto(&block4, tmp0, tmp1);
    5840         840 :     }
    5841             :   }
    5842             : 
    5843         840 :   if (block4.is_used()) {
    5844             :     compiler::TNode<Object> tmp2;
    5845             :     compiler::TNode<Context> tmp3;
    5846             :     ca_.Bind(&block4, &tmp2, &tmp3);
    5847             :     ca_.Goto(&block2);
    5848             :   }
    5849             : 
    5850         840 :   if (block3.is_used()) {
    5851             :     compiler::TNode<Object> tmp4;
    5852             :     compiler::TNode<Context> tmp5;
    5853             :     ca_.Bind(&block3, &tmp4, &tmp5);
    5854             :     compiler::CodeAssemblerLabel label0(&ca_);
    5855         840 :     compiler::CodeAssemblerLabel label1(&ca_);
    5856        2520 :     BaseBuiltinsFromDSLAssembler(state_).BranchIf13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp5}, compiler::TNode<Object>{tmp4}, &label0, &label1);
    5857         840 :     if (label0.is_used()) {
    5858         840 :       ca_.Bind(&label0);
    5859             :       ca_.Goto(&block5, tmp4, tmp5, tmp4);
    5860             :     }
    5861         840 :     if (label1.is_used()) {
    5862         840 :       ca_.Bind(&label1);
    5863             :       ca_.Goto(&block6, tmp4, tmp5, tmp4);
    5864         840 :     }
    5865             :   }
    5866             : 
    5867         840 :   if (block5.is_used()) {
    5868             :     compiler::TNode<Object> tmp6;
    5869             :     compiler::TNode<Context> tmp7;
    5870             :     compiler::TNode<Object> tmp8;
    5871             :     ca_.Bind(&block5, &tmp6, &tmp7, &tmp8);
    5872             :     ca_.Goto(&block1);
    5873             :   }
    5874             : 
    5875         840 :   if (block6.is_used()) {
    5876             :     compiler::TNode<Object> tmp9;
    5877             :     compiler::TNode<Context> tmp10;
    5878             :     compiler::TNode<Object> tmp11;
    5879             :     ca_.Bind(&block6, &tmp9, &tmp10, &tmp11);
    5880             :     ca_.Goto(&block2);
    5881             :   }
    5882             : 
    5883         840 :   if (block1.is_used()) {
    5884             :     ca_.Bind(&block1);
    5885         840 :     ca_.Goto(label_True);
    5886             :   }
    5887             : 
    5888         840 :   if (block2.is_used()) {
    5889             :     ca_.Bind(&block2);
    5890         840 :     ca_.Goto(label_False);
    5891             :   }
    5892         840 : }
    5893             : 
    5894           0 : void BaseBuiltinsFromDSLAssembler::BranchIfNotFastJSArray(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
    5895           0 :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5896             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5897             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5898             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5899             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5900             :     ca_.Goto(&block0, p_o, p_context);
    5901             : 
    5902           0 :   if (block0.is_used()) {
    5903             :     compiler::TNode<Object> tmp0;
    5904             :     compiler::TNode<Context> tmp1;
    5905             :     ca_.Bind(&block0, &tmp0, &tmp1);
    5906             :     compiler::CodeAssemblerLabel label0(&ca_);
    5907           0 :     compiler::CodeAssemblerLabel label1(&ca_);
    5908           0 :     BaseBuiltinsFromDSLAssembler(state_).BranchIfNot13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp1}, compiler::TNode<Object>{tmp0}, &label0, &label1);
    5909           0 :     if (label0.is_used()) {
    5910           0 :       ca_.Bind(&label0);
    5911             :       ca_.Goto(&block3, tmp0, tmp1, tmp0);
    5912             :     }
    5913           0 :     if (label1.is_used()) {
    5914           0 :       ca_.Bind(&label1);
    5915             :       ca_.Goto(&block4, tmp0, tmp1, tmp0);
    5916           0 :     }
    5917             :   }
    5918             : 
    5919           0 :   if (block3.is_used()) {
    5920             :     compiler::TNode<Object> tmp2;
    5921             :     compiler::TNode<Context> tmp3;
    5922             :     compiler::TNode<Object> tmp4;
    5923             :     ca_.Bind(&block3, &tmp2, &tmp3, &tmp4);
    5924             :     ca_.Goto(&block1);
    5925             :   }
    5926             : 
    5927           0 :   if (block4.is_used()) {
    5928             :     compiler::TNode<Object> tmp5;
    5929             :     compiler::TNode<Context> tmp6;
    5930             :     compiler::TNode<Object> tmp7;
    5931             :     ca_.Bind(&block4, &tmp5, &tmp6, &tmp7);
    5932             :     ca_.Goto(&block2);
    5933             :   }
    5934             : 
    5935           0 :   if (block1.is_used()) {
    5936             :     ca_.Bind(&block1);
    5937           0 :     ca_.Goto(label_True);
    5938             :   }
    5939             : 
    5940           0 :   if (block2.is_used()) {
    5941             :     ca_.Bind(&block2);
    5942           0 :     ca_.Goto(label_False);
    5943             :   }
    5944           0 : }
    5945             : 
    5946           0 : void BaseBuiltinsFromDSLAssembler::BranchIfFastJSArrayForCopy(compiler::TNode<Object> p_o, compiler::TNode<Context> p_context, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
    5947           0 :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5948             :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5949             :   compiler::CodeAssemblerParameterizedLabel<Object, Context> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5950             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5951             :   compiler::CodeAssemblerParameterizedLabel<Object, Context, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5952             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5953             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    5954             :     ca_.Goto(&block0, p_o, p_context);
    5955             : 
    5956           0 :   if (block0.is_used()) {
    5957             :     compiler::TNode<Object> tmp0;
    5958             :     compiler::TNode<Context> tmp1;
    5959             :     ca_.Bind(&block0, &tmp0, &tmp1);
    5960             :     compiler::CodeAssemblerLabel label0(&ca_);
    5961           0 :     CodeStubAssembler(state_).GotoIfForceSlowPath(&label0);
    5962             :     ca_.Goto(&block3, tmp0, tmp1);
    5963           0 :     if (label0.is_used()) {
    5964           0 :       ca_.Bind(&label0);
    5965             :       ca_.Goto(&block4, tmp0, tmp1);
    5966           0 :     }
    5967             :   }
    5968             : 
    5969           0 :   if (block4.is_used()) {
    5970             :     compiler::TNode<Object> tmp2;
    5971             :     compiler::TNode<Context> tmp3;
    5972             :     ca_.Bind(&block4, &tmp2, &tmp3);
    5973             :     ca_.Goto(&block2);
    5974             :   }
    5975             : 
    5976           0 :   if (block3.is_used()) {
    5977             :     compiler::TNode<Object> tmp4;
    5978             :     compiler::TNode<Context> tmp5;
    5979             :     ca_.Bind(&block3, &tmp4, &tmp5);
    5980             :     compiler::CodeAssemblerLabel label0(&ca_);
    5981           0 :     compiler::CodeAssemblerLabel label1(&ca_);
    5982           0 :     BaseBuiltinsFromDSLAssembler(state_).BranchIf20ATFastJSArrayForCopy20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp5}, compiler::TNode<Object>{tmp4}, &label0, &label1);
    5983           0 :     if (label0.is_used()) {
    5984           0 :       ca_.Bind(&label0);
    5985             :       ca_.Goto(&block5, tmp4, tmp5, tmp4);
    5986             :     }
    5987           0 :     if (label1.is_used()) {
    5988           0 :       ca_.Bind(&label1);
    5989             :       ca_.Goto(&block6, tmp4, tmp5, tmp4);
    5990           0 :     }
    5991             :   }
    5992             : 
    5993           0 :   if (block5.is_used()) {
    5994             :     compiler::TNode<Object> tmp6;
    5995             :     compiler::TNode<Context> tmp7;
    5996             :     compiler::TNode<Object> tmp8;
    5997             :     ca_.Bind(&block5, &tmp6, &tmp7, &tmp8);
    5998             :     ca_.Goto(&block1);
    5999             :   }
    6000             : 
    6001           0 :   if (block6.is_used()) {
    6002             :     compiler::TNode<Object> tmp9;
    6003             :     compiler::TNode<Context> tmp10;
    6004             :     compiler::TNode<Object> tmp11;
    6005             :     ca_.Bind(&block6, &tmp9, &tmp10, &tmp11);
    6006             :     ca_.Goto(&block2);
    6007             :   }
    6008             : 
    6009           0 :   if (block1.is_used()) {
    6010             :     ca_.Bind(&block1);
    6011           0 :     ca_.Goto(label_True);
    6012             :   }
    6013             : 
    6014           0 :   if (block2.is_used()) {
    6015             :     ca_.Bind(&block2);
    6016           0 :     ca_.Goto(label_False);
    6017             :   }
    6018           0 : }
    6019             : 
    6020         392 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::IsFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    6021         392 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6022             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6023             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6024             :     ca_.Goto(&block0, p_context, p_o);
    6025             : 
    6026         392 :   if (block0.is_used()) {
    6027             :     compiler::TNode<Context> tmp0;
    6028             :     compiler::TNode<Object> tmp1;
    6029             :     ca_.Bind(&block0, &tmp0, &tmp1);
    6030             :     compiler::TNode<BoolT> tmp2;
    6031             :     USE(tmp2);
    6032        1176 :     tmp2 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).Is34ATFastJSArrayWithNoCustomIteration20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
    6033             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    6034             :   }
    6035             : 
    6036         392 :   if (block1.is_used()) {
    6037             :     compiler::TNode<Context> tmp3;
    6038             :     compiler::TNode<Object> tmp4;
    6039             :     compiler::TNode<BoolT> tmp5;
    6040             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    6041             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    6042             :   }
    6043             : 
    6044             :     compiler::TNode<Context> tmp6;
    6045             :     compiler::TNode<Object> tmp7;
    6046             :     compiler::TNode<BoolT> tmp8;
    6047             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    6048         784 :   return compiler::TNode<BoolT>{tmp8};
    6049             : }
    6050             : 
    6051         173 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::FromConstexpr11ATFrameType21ATconstexpr_FrameType(StackFrame::Type p_t) {
    6052         173 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6053             :   compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6054             :   compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6055             :     ca_.Goto(&block0);
    6056             : 
    6057         173 :   if (block0.is_used()) {
    6058             :     ca_.Bind(&block0);
    6059             :     compiler::TNode<UintPtrT> tmp0;
    6060             :     USE(tmp0);
    6061         865 :     tmp0 = ca_.UncheckedCast<UintPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr9ATuintptr19ATconstexpr_uintptr((CodeStubAssembler(state_).ConstexprUintPtrShl(static_cast<uintptr_t>(p_t), kSmiTagSize))));
    6062             :     compiler::TNode<Smi> tmp1;
    6063             :     USE(tmp1);
    6064         346 :     tmp1 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).BitcastWordToTaggedSigned(compiler::TNode<UintPtrT>{tmp0}));
    6065             :     compiler::TNode<Smi> tmp2;
    6066             :     USE(tmp2);
    6067             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    6068             :     ca_.Goto(&block1, tmp2);
    6069             :   }
    6070             : 
    6071         173 :   if (block1.is_used()) {
    6072             :     compiler::TNode<Smi> tmp3;
    6073             :     ca_.Bind(&block1, &tmp3);
    6074             :     ca_.Goto(&block2, tmp3);
    6075             :   }
    6076             : 
    6077             :     compiler::TNode<Smi> tmp4;
    6078             :     ca_.Bind(&block2, &tmp4);
    6079         346 :   return compiler::TNode<Smi>{tmp4};
    6080             : }
    6081             : 
    6082         178 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::Cast11ATFrameType(compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    6083         178 :   compiler::CodeAssemblerParameterizedLabel<Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6084             :   compiler::CodeAssemblerParameterizedLabel<Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6085             :   compiler::CodeAssemblerParameterizedLabel<Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6086             :   compiler::CodeAssemblerParameterizedLabel<Object, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6087             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6088             :   compiler::CodeAssemblerParameterizedLabel<Object, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6089             :     ca_.Goto(&block0, p_o);
    6090             : 
    6091         178 :   if (block0.is_used()) {
    6092             :     compiler::TNode<Object> tmp0;
    6093             :     ca_.Bind(&block0, &tmp0);
    6094             :     compiler::TNode<BoolT> tmp1;
    6095             :     USE(tmp1);
    6096         534 :     tmp1 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).TaggedIsNotSmi(compiler::TNode<Object>{tmp0}));
    6097         178 :     ca_.Branch(tmp1, &block3, &block4, tmp0);
    6098             :   }
    6099             : 
    6100         178 :   if (block3.is_used()) {
    6101             :     compiler::TNode<Object> tmp2;
    6102             :     ca_.Bind(&block3, &tmp2);
    6103             :     ca_.Goto(&block1);
    6104             :   }
    6105             : 
    6106         178 :   if (block4.is_used()) {
    6107             :     compiler::TNode<Object> tmp3;
    6108             :     ca_.Bind(&block4, &tmp3);
    6109             :     compiler::TNode<Smi> tmp4;
    6110             :     USE(tmp4);
    6111             :     tmp4 = TORQUE_CAST(compiler::TNode<Object>{tmp3});
    6112             :     ca_.Goto(&block2, tmp3, tmp4);
    6113             :   }
    6114             : 
    6115         178 :   if (block2.is_used()) {
    6116             :     compiler::TNode<Object> tmp5;
    6117             :     compiler::TNode<Smi> tmp6;
    6118             :     ca_.Bind(&block2, &tmp5, &tmp6);
    6119             :     ca_.Goto(&block5, tmp5, tmp6);
    6120             :   }
    6121             : 
    6122         178 :   if (block1.is_used()) {
    6123             :     ca_.Bind(&block1);
    6124         178 :     ca_.Goto(label_CastError);
    6125             :   }
    6126             : 
    6127             :     compiler::TNode<Object> tmp7;
    6128             :     compiler::TNode<Smi> tmp8;
    6129             :     ca_.Bind(&block5, &tmp7, &tmp8);
    6130         356 :   return compiler::TNode<Smi>{tmp8};
    6131             : }
    6132             : 
    6133         631 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadObjectFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o) {
    6134         631 :   compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6135             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6136             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6137             :     ca_.Goto(&block0, p_f);
    6138             : 
    6139         631 :   if (block0.is_used()) {
    6140             :     compiler::TNode<RawPtrT> tmp0;
    6141             :     ca_.Bind(&block0, &tmp0);
    6142             :     compiler::TNode<Object> tmp1;
    6143             :     USE(tmp1);
    6144        1262 :     tmp1 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadBufferObject(compiler::TNode<RawPtrT>{tmp0}, p_o));
    6145             :     ca_.Goto(&block1, tmp0, tmp1);
    6146             :   }
    6147             : 
    6148         631 :   if (block1.is_used()) {
    6149             :     compiler::TNode<RawPtrT> tmp2;
    6150             :     compiler::TNode<Object> tmp3;
    6151             :     ca_.Bind(&block1, &tmp2, &tmp3);
    6152             :     ca_.Goto(&block2, tmp2, tmp3);
    6153             :   }
    6154             : 
    6155             :     compiler::TNode<RawPtrT> tmp4;
    6156             :     compiler::TNode<Object> tmp5;
    6157             :     ca_.Bind(&block2, &tmp4, &tmp5);
    6158        1262 :   return compiler::TNode<Object>{tmp5};
    6159             : }
    6160             : 
    6161         168 : compiler::TNode<RawPtrT> BaseBuiltinsFromDSLAssembler::LoadPointerFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o) {
    6162         168 :   compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6163             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, RawPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6164             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, RawPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6165             :     ca_.Goto(&block0, p_f);
    6166             : 
    6167         168 :   if (block0.is_used()) {
    6168             :     compiler::TNode<RawPtrT> tmp0;
    6169             :     ca_.Bind(&block0, &tmp0);
    6170             :     compiler::TNode<RawPtrT> tmp1;
    6171             :     USE(tmp1);
    6172         336 :     tmp1 = ca_.UncheckedCast<RawPtrT>(CodeStubAssembler(state_).LoadBufferPointer(compiler::TNode<RawPtrT>{tmp0}, p_o));
    6173             :     ca_.Goto(&block1, tmp0, tmp1);
    6174             :   }
    6175             : 
    6176         168 :   if (block1.is_used()) {
    6177             :     compiler::TNode<RawPtrT> tmp2;
    6178             :     compiler::TNode<RawPtrT> tmp3;
    6179             :     ca_.Bind(&block1, &tmp2, &tmp3);
    6180             :     ca_.Goto(&block2, tmp2, tmp3);
    6181             :   }
    6182             : 
    6183             :     compiler::TNode<RawPtrT> tmp4;
    6184             :     compiler::TNode<RawPtrT> tmp5;
    6185             :     ca_.Bind(&block2, &tmp4, &tmp5);
    6186         336 :   return compiler::TNode<RawPtrT>{tmp5};
    6187             : }
    6188             : 
    6189         168 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::LoadSmiFromFrame(compiler::TNode<RawPtrT> p_f, int32_t p_o) {
    6190         168 :   compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6191             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6192             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6193             :     ca_.Goto(&block0, p_f);
    6194             : 
    6195         168 :   if (block0.is_used()) {
    6196             :     compiler::TNode<RawPtrT> tmp0;
    6197             :     ca_.Bind(&block0, &tmp0);
    6198             :     compiler::TNode<Smi> tmp1;
    6199             :     USE(tmp1);
    6200         336 :     tmp1 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadBufferSmi(compiler::TNode<RawPtrT>{tmp0}, p_o));
    6201             :     ca_.Goto(&block1, tmp0, tmp1);
    6202             :   }
    6203             : 
    6204         168 :   if (block1.is_used()) {
    6205             :     compiler::TNode<RawPtrT> tmp2;
    6206             :     compiler::TNode<Smi> tmp3;
    6207             :     ca_.Bind(&block1, &tmp2, &tmp3);
    6208             :     ca_.Goto(&block2, tmp2, tmp3);
    6209             :   }
    6210             : 
    6211             :     compiler::TNode<RawPtrT> tmp4;
    6212             :     compiler::TNode<Smi> tmp5;
    6213             :     ca_.Bind(&block2, &tmp4, &tmp5);
    6214         336 :   return compiler::TNode<Smi>{tmp5};
    6215             : }
    6216             : 
    6217         448 : compiler::TNode<JSFunction> BaseBuiltinsFromDSLAssembler::LoadFunctionFromFrame(compiler::TNode<RawPtrT> p_f) {
    6218         448 :   compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6219             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, JSFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6220             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, JSFunction> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6221             :     ca_.Goto(&block0, p_f);
    6222             : 
    6223         448 :   if (block0.is_used()) {
    6224             :     compiler::TNode<RawPtrT> tmp0;
    6225             :     ca_.Bind(&block0, &tmp0);
    6226             :     compiler::TNode<Object> tmp1;
    6227             :     USE(tmp1);
    6228        1344 :     tmp1 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).LoadObjectFromFrame(compiler::TNode<RawPtrT>{tmp0}, StandardFrameConstants::kFunctionOffset));
    6229             :     compiler::TNode<JSFunction> tmp2;
    6230             :     USE(tmp2);
    6231             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    6232             :     ca_.Goto(&block1, tmp0, tmp2);
    6233             :   }
    6234             : 
    6235         448 :   if (block1.is_used()) {
    6236             :     compiler::TNode<RawPtrT> tmp3;
    6237             :     compiler::TNode<JSFunction> tmp4;
    6238             :     ca_.Bind(&block1, &tmp3, &tmp4);
    6239             :     ca_.Goto(&block2, tmp3, tmp4);
    6240             :   }
    6241             : 
    6242             :     compiler::TNode<RawPtrT> tmp5;
    6243             :     compiler::TNode<JSFunction> tmp6;
    6244             :     ca_.Bind(&block2, &tmp5, &tmp6);
    6245         896 :   return compiler::TNode<JSFunction>{tmp6};
    6246             : }
    6247             : 
    6248         168 : compiler::TNode<RawPtrT> BaseBuiltinsFromDSLAssembler::LoadCallerFromFrame(compiler::TNode<RawPtrT> p_f) {
    6249         168 :   compiler::CodeAssemblerParameterizedLabel<RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6250             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, RawPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6251             :   compiler::CodeAssemblerParameterizedLabel<RawPtrT, RawPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6252             :     ca_.Goto(&block0, p_f);
    6253             : 
    6254         168 :   if (block0.is_used()) {
    6255             :     compiler::TNode<RawPtrT> tmp0;
    6256             :     ca_.Bind(&block0, &tmp0);
    6257             :     compiler::TNode<RawPtrT> tmp1;
    6258             :     USE(tmp1);
    6259         504 :     tmp1 = ca_.UncheckedCast<RawPtrT>(BaseBuiltinsFromDSLAssembler(state_).LoadPointerFromFrame(compiler::TNode<RawPtrT>{tmp0}, StandardFrameConstants::kCallerFPOffset));
    6260             :     compiler::TNode<RawPtrT> tmp2;
    6261             :     USE(tmp2);
    6262             :     tmp2 = (compiler::TNode<RawPtrT>{tmp1});
    6263             :     ca_.Goto(&block1, tmp0, tmp2);
    6264             :   }
    6265             : 
    6266         168 :   if (block1.is_used()) {
    6267             :     compiler::TNode<RawPtrT> tmp3;
    6268             :     compiler::TNode<RawPtrT> tmp4;
    6269             :     ca_.Bind(&block1, &tmp3, &tmp4);
    6270             :     ca_.Goto(&block2, tmp3, tmp4);
    6271             :   }
    6272             : 
    6273             :     compiler::TNode<RawPtrT> tmp5;
    6274             :     compiler::TNode<RawPtrT> tmp6;
    6275             :     ca_.Bind(&block2, &tmp5, &tmp6);
    6276         336 :   return compiler::TNode<RawPtrT>{tmp6};
    6277             : }
    6278             : 
    6279           0 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::Cast25UT9ATContext11ATFrameType(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    6280           0 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6281             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6282             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Context> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6283             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6284             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6285             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Smi> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6286             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6287             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6288             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6289             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6290             :     ca_.Goto(&block0, p_context, p_o);
    6291             : 
    6292           0 :   if (block0.is_used()) {
    6293             :     compiler::TNode<Context> tmp0;
    6294             :     compiler::TNode<Object> tmp1;
    6295             :     ca_.Bind(&block0, &tmp0, &tmp1);
    6296             :     compiler::TNode<Context> tmp2;
    6297             :     USE(tmp2);
    6298             :     compiler::CodeAssemblerLabel label0(&ca_);
    6299           0 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast9ATContext(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
    6300             :     ca_.Goto(&block5, tmp0, tmp1, tmp1, tmp1, tmp2);
    6301           0 :     if (label0.is_used()) {
    6302           0 :       ca_.Bind(&label0);
    6303             :       ca_.Goto(&block6, tmp0, tmp1, tmp1, tmp1);
    6304           0 :     }
    6305             :   }
    6306             : 
    6307           0 :   if (block6.is_used()) {
    6308             :     compiler::TNode<Context> tmp3;
    6309             :     compiler::TNode<Object> tmp4;
    6310             :     compiler::TNode<Object> tmp5;
    6311             :     compiler::TNode<Object> tmp6;
    6312             :     ca_.Bind(&block6, &tmp3, &tmp4, &tmp5, &tmp6);
    6313             :     ca_.Goto(&block4, tmp3, tmp4, tmp5);
    6314             :   }
    6315             : 
    6316           0 :   if (block5.is_used()) {
    6317             :     compiler::TNode<Context> tmp7;
    6318             :     compiler::TNode<Object> tmp8;
    6319             :     compiler::TNode<Object> tmp9;
    6320             :     compiler::TNode<Object> tmp10;
    6321             :     compiler::TNode<Context> tmp11;
    6322             :     ca_.Bind(&block5, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
    6323             :     ca_.Goto(&block2, tmp7, tmp8, tmp11);
    6324             :   }
    6325             : 
    6326           0 :   if (block4.is_used()) {
    6327             :     compiler::TNode<Context> tmp12;
    6328             :     compiler::TNode<Object> tmp13;
    6329             :     compiler::TNode<Object> tmp14;
    6330             :     ca_.Bind(&block4, &tmp12, &tmp13, &tmp14);
    6331             :     compiler::TNode<Smi> tmp15;
    6332             :     USE(tmp15);
    6333             :     compiler::CodeAssemblerLabel label0(&ca_);
    6334           0 :     tmp15 = BaseBuiltinsFromDSLAssembler(state_).Cast11ATFrameType(compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp14)}, &label0);
    6335             :     ca_.Goto(&block9, tmp12, tmp13, tmp14, ca_.UncheckedCast<Object>(tmp14), tmp15);
    6336           0 :     if (label0.is_used()) {
    6337           0 :       ca_.Bind(&label0);
    6338             :       ca_.Goto(&block10, tmp12, tmp13, tmp14, ca_.UncheckedCast<Object>(tmp14));
    6339           0 :     }
    6340             :   }
    6341             : 
    6342           0 :   if (block10.is_used()) {
    6343             :     compiler::TNode<Context> tmp16;
    6344             :     compiler::TNode<Object> tmp17;
    6345             :     compiler::TNode<Object> tmp18;
    6346             :     compiler::TNode<Object> tmp19;
    6347             :     ca_.Bind(&block10, &tmp16, &tmp17, &tmp18, &tmp19);
    6348             :     ca_.Goto(&block8, tmp16, tmp17, tmp18);
    6349             :   }
    6350             : 
    6351           0 :   if (block9.is_used()) {
    6352             :     compiler::TNode<Context> tmp20;
    6353             :     compiler::TNode<Object> tmp21;
    6354             :     compiler::TNode<Object> tmp22;
    6355             :     compiler::TNode<Object> tmp23;
    6356             :     compiler::TNode<Smi> tmp24;
    6357             :     ca_.Bind(&block9, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
    6358             :     ca_.Goto(&block2, tmp20, tmp21, tmp24);
    6359             :   }
    6360             : 
    6361           0 :   if (block8.is_used()) {
    6362             :     compiler::TNode<Context> tmp25;
    6363             :     compiler::TNode<Object> tmp26;
    6364             :     compiler::TNode<Object> tmp27;
    6365             :     ca_.Bind(&block8, &tmp25, &tmp26, &tmp27);
    6366             :     ca_.Goto(&block1);
    6367             :   }
    6368             : 
    6369           0 :   if (block2.is_used()) {
    6370             :     compiler::TNode<Context> tmp28;
    6371             :     compiler::TNode<Object> tmp29;
    6372             :     compiler::TNode<Object> tmp30;
    6373             :     ca_.Bind(&block2, &tmp28, &tmp29, &tmp30);
    6374             :     ca_.Goto(&block11, tmp28, tmp29, tmp30);
    6375             :   }
    6376             : 
    6377           0 :   if (block1.is_used()) {
    6378             :     ca_.Bind(&block1);
    6379           0 :     ca_.Goto(label_CastError);
    6380             :   }
    6381             : 
    6382             :     compiler::TNode<Context> tmp31;
    6383             :     compiler::TNode<Object> tmp32;
    6384             :     compiler::TNode<Object> tmp33;
    6385             :     ca_.Bind(&block11, &tmp31, &tmp32, &tmp33);
    6386           0 :   return compiler::TNode<Object>{tmp33};
    6387             : }
    6388             : 
    6389         183 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::LoadContextOrFrameTypeFromFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f) {
    6390         183 :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6391             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6392             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6393             :     ca_.Goto(&block0, p_context, p_f);
    6394             : 
    6395         183 :   if (block0.is_used()) {
    6396             :     compiler::TNode<Context> tmp0;
    6397             :     compiler::TNode<RawPtrT> tmp1;
    6398             :     ca_.Bind(&block0, &tmp0, &tmp1);
    6399             :     compiler::TNode<Object> tmp2;
    6400             :     USE(tmp2);
    6401         549 :     tmp2 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).LoadObjectFromFrame(compiler::TNode<RawPtrT>{tmp1}, StandardFrameConstants::kContextOrFrameTypeOffset));
    6402             :     compiler::TNode<Object> tmp3;
    6403             :     USE(tmp3);
    6404         549 :     tmp3 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast25UT9ATContext11ATFrameType(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
    6405             :     ca_.Goto(&block1, tmp0, tmp1, tmp3);
    6406             :   }
    6407             : 
    6408         183 :   if (block1.is_used()) {
    6409             :     compiler::TNode<Context> tmp4;
    6410             :     compiler::TNode<RawPtrT> tmp5;
    6411             :     compiler::TNode<Object> tmp6;
    6412             :     ca_.Bind(&block1, &tmp4, &tmp5, &tmp6);
    6413             :     ca_.Goto(&block2, tmp4, tmp5, tmp6);
    6414             :   }
    6415             : 
    6416             :     compiler::TNode<Context> tmp7;
    6417             :     compiler::TNode<RawPtrT> tmp8;
    6418             :     compiler::TNode<Object> tmp9;
    6419             :     ca_.Bind(&block2, &tmp7, &tmp8, &tmp9);
    6420         366 :   return compiler::TNode<Object>{tmp9};
    6421             : }
    6422             : 
    6423         168 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::LoadLengthFromAdapterFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f) {
    6424         168 :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6425             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6426             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6427             :     ca_.Goto(&block0, p_context, p_f);
    6428             : 
    6429         168 :   if (block0.is_used()) {
    6430             :     compiler::TNode<Context> tmp0;
    6431             :     compiler::TNode<RawPtrT> tmp1;
    6432             :     ca_.Bind(&block0, &tmp0, &tmp1);
    6433             :     compiler::TNode<Smi> tmp2;
    6434             :     USE(tmp2);
    6435         504 :     tmp2 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).LoadSmiFromFrame(compiler::TNode<RawPtrT>{tmp1}, ArgumentsAdaptorFrameConstants::kLengthOffset));
    6436             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    6437             :   }
    6438             : 
    6439         168 :   if (block1.is_used()) {
    6440             :     compiler::TNode<Context> tmp3;
    6441             :     compiler::TNode<RawPtrT> tmp4;
    6442             :     compiler::TNode<Smi> tmp5;
    6443             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    6444             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    6445             :   }
    6446             : 
    6447             :     compiler::TNode<Context> tmp6;
    6448             :     compiler::TNode<RawPtrT> tmp7;
    6449             :     compiler::TNode<Smi> tmp8;
    6450             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    6451         336 :   return compiler::TNode<Smi>{tmp8};
    6452             : }
    6453             : 
    6454         173 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::FrameTypeEquals(compiler::TNode<Smi> p_f1, compiler::TNode<Smi> p_f2) {
    6455         173 :   compiler::CodeAssemblerParameterizedLabel<Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6456             :   compiler::CodeAssemblerParameterizedLabel<Smi, Smi, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6457             :   compiler::CodeAssemblerParameterizedLabel<Smi, Smi, BoolT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6458             :     ca_.Goto(&block0, p_f1, p_f2);
    6459             : 
    6460         173 :   if (block0.is_used()) {
    6461             :     compiler::TNode<Smi> tmp0;
    6462             :     compiler::TNode<Smi> tmp1;
    6463             :     ca_.Bind(&block0, &tmp0, &tmp1);
    6464             :     compiler::TNode<BoolT> tmp2;
    6465             :     USE(tmp2);
    6466         346 :     tmp2 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<Object>{tmp0}, compiler::TNode<Object>{tmp1}));
    6467             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    6468             :   }
    6469             : 
    6470         173 :   if (block1.is_used()) {
    6471             :     compiler::TNode<Smi> tmp3;
    6472             :     compiler::TNode<Smi> tmp4;
    6473             :     compiler::TNode<BoolT> tmp5;
    6474             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    6475             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    6476             :   }
    6477             : 
    6478             :     compiler::TNode<Smi> tmp6;
    6479             :     compiler::TNode<Smi> tmp7;
    6480             :     compiler::TNode<BoolT> tmp8;
    6481             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    6482         346 :   return compiler::TNode<BoolT>{tmp8};
    6483             : }
    6484             : 
    6485           5 : compiler::TNode<RawPtrT> BaseBuiltinsFromDSLAssembler::Cast15ATStandardFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f, compiler::CodeAssemblerLabel* label_CastError) {
    6486           5 :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6487             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6488             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6489             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, HeapObject> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6490             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6491             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6492             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6493             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6494             :     ca_.Goto(&block0, p_context, p_f);
    6495             : 
    6496           5 :   if (block0.is_used()) {
    6497             :     compiler::TNode<Context> tmp0;
    6498             :     compiler::TNode<RawPtrT> tmp1;
    6499             :     ca_.Bind(&block0, &tmp0, &tmp1);
    6500             :     compiler::TNode<Object> tmp2;
    6501             :     USE(tmp2);
    6502          15 :     tmp2 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).LoadContextOrFrameTypeFromFrame(compiler::TNode<Context>{tmp0}, compiler::TNode<RawPtrT>{tmp1}));
    6503             :     compiler::TNode<HeapObject> tmp3;
    6504             :     USE(tmp3);
    6505             :     compiler::CodeAssemblerLabel label0(&ca_);
    6506          15 :     tmp3 = BaseBuiltinsFromDSLAssembler(state_).Cast10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}, &label0);
    6507             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3);
    6508           5 :     if (label0.is_used()) {
    6509           5 :       ca_.Bind(&label0);
    6510             :       ca_.Goto(&block4, tmp0, tmp1, tmp2);
    6511           5 :     }
    6512             :   }
    6513             : 
    6514           5 :   if (block4.is_used()) {
    6515             :     compiler::TNode<Context> tmp4;
    6516             :     compiler::TNode<RawPtrT> tmp5;
    6517             :     compiler::TNode<Object> tmp6;
    6518             :     ca_.Bind(&block4, &tmp4, &tmp5, &tmp6);
    6519             :     ca_.Goto(&block1);
    6520             :   }
    6521             : 
    6522           5 :   if (block3.is_used()) {
    6523             :     compiler::TNode<Context> tmp7;
    6524             :     compiler::TNode<RawPtrT> tmp8;
    6525             :     compiler::TNode<Object> tmp9;
    6526             :     compiler::TNode<HeapObject> tmp10;
    6527             :     ca_.Bind(&block3, &tmp7, &tmp8, &tmp9, &tmp10);
    6528             :     compiler::TNode<BoolT> tmp11;
    6529             :     USE(tmp11);
    6530          15 :     tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsContext(compiler::TNode<HeapObject>{tmp10}));
    6531           5 :     ca_.Branch(tmp11, &block5, &block6, tmp7, tmp8, tmp10);
    6532             :   }
    6533             : 
    6534           5 :   if (block5.is_used()) {
    6535             :     compiler::TNode<Context> tmp12;
    6536             :     compiler::TNode<RawPtrT> tmp13;
    6537             :     compiler::TNode<HeapObject> tmp14;
    6538             :     ca_.Bind(&block5, &tmp12, &tmp13, &tmp14);
    6539             :     compiler::TNode<RawPtrT> tmp15;
    6540             :     USE(tmp15);
    6541             :     tmp15 = (compiler::TNode<RawPtrT>{tmp13});
    6542             :     ca_.Goto(&block2, tmp12, tmp13, tmp15);
    6543             :   }
    6544             : 
    6545           5 :   if (block6.is_used()) {
    6546             :     compiler::TNode<Context> tmp16;
    6547             :     compiler::TNode<RawPtrT> tmp17;
    6548             :     compiler::TNode<HeapObject> tmp18;
    6549             :     ca_.Bind(&block6, &tmp16, &tmp17, &tmp18);
    6550             :     ca_.Goto(&block1);
    6551             :   }
    6552             : 
    6553           5 :   if (block2.is_used()) {
    6554             :     compiler::TNode<Context> tmp19;
    6555             :     compiler::TNode<RawPtrT> tmp20;
    6556             :     compiler::TNode<RawPtrT> tmp21;
    6557             :     ca_.Bind(&block2, &tmp19, &tmp20, &tmp21);
    6558             :     ca_.Goto(&block7, tmp19, tmp20, tmp21);
    6559             :   }
    6560             : 
    6561           5 :   if (block1.is_used()) {
    6562             :     ca_.Bind(&block1);
    6563           5 :     ca_.Goto(label_CastError);
    6564             :   }
    6565             : 
    6566             :     compiler::TNode<Context> tmp22;
    6567             :     compiler::TNode<RawPtrT> tmp23;
    6568             :     compiler::TNode<RawPtrT> tmp24;
    6569             :     ca_.Bind(&block7, &tmp22, &tmp23, &tmp24);
    6570          10 :   return compiler::TNode<RawPtrT>{tmp24};
    6571             : }
    6572             : 
    6573         173 : compiler::TNode<RawPtrT> BaseBuiltinsFromDSLAssembler::Cast23ATArgumentsAdaptorFrame(compiler::TNode<Context> p_context, compiler::TNode<RawPtrT> p_f, compiler::CodeAssemblerLabel* label_CastError) {
    6574         173 :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6575             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6576             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Object, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6577             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6578             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6579             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6580             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6581             :   compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6582             :     ca_.Goto(&block0, p_context, p_f);
    6583             : 
    6584         173 :   if (block0.is_used()) {
    6585             :     compiler::TNode<Context> tmp0;
    6586             :     compiler::TNode<RawPtrT> tmp1;
    6587             :     ca_.Bind(&block0, &tmp0, &tmp1);
    6588             :     compiler::TNode<Object> tmp2;
    6589             :     USE(tmp2);
    6590         519 :     tmp2 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).LoadContextOrFrameTypeFromFrame(compiler::TNode<Context>{tmp0}, compiler::TNode<RawPtrT>{tmp1}));
    6591             :     compiler::TNode<Smi> tmp3;
    6592             :     USE(tmp3);
    6593             :     compiler::CodeAssemblerLabel label0(&ca_);
    6594         519 :     tmp3 = BaseBuiltinsFromDSLAssembler(state_).Cast11ATFrameType(compiler::TNode<Object>{tmp2}, &label0);
    6595             :     ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3);
    6596         173 :     if (label0.is_used()) {
    6597         173 :       ca_.Bind(&label0);
    6598             :       ca_.Goto(&block4, tmp0, tmp1, tmp2);
    6599         173 :     }
    6600             :   }
    6601             : 
    6602         173 :   if (block4.is_used()) {
    6603             :     compiler::TNode<Context> tmp4;
    6604             :     compiler::TNode<RawPtrT> tmp5;
    6605             :     compiler::TNode<Object> tmp6;
    6606             :     ca_.Bind(&block4, &tmp4, &tmp5, &tmp6);
    6607             :     ca_.Goto(&block1);
    6608             :   }
    6609             : 
    6610         173 :   if (block3.is_used()) {
    6611             :     compiler::TNode<Context> tmp7;
    6612             :     compiler::TNode<RawPtrT> tmp8;
    6613             :     compiler::TNode<Object> tmp9;
    6614             :     compiler::TNode<Smi> tmp10;
    6615             :     ca_.Bind(&block3, &tmp7, &tmp8, &tmp9, &tmp10);
    6616             :     compiler::TNode<Smi> tmp11;
    6617             :     USE(tmp11);
    6618         519 :     tmp11 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr11ATFrameType21ATconstexpr_FrameType(StackFrame::ARGUMENTS_ADAPTOR));
    6619             :     compiler::TNode<BoolT> tmp12;
    6620             :     USE(tmp12);
    6621         519 :     tmp12 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FrameTypeEquals(compiler::TNode<Smi>{tmp10}, compiler::TNode<Smi>{tmp11}));
    6622         173 :     ca_.Branch(tmp12, &block5, &block6, tmp7, tmp8, tmp10);
    6623             :   }
    6624             : 
    6625         173 :   if (block5.is_used()) {
    6626             :     compiler::TNode<Context> tmp13;
    6627             :     compiler::TNode<RawPtrT> tmp14;
    6628             :     compiler::TNode<Smi> tmp15;
    6629             :     ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
    6630             :     compiler::TNode<RawPtrT> tmp16;
    6631             :     USE(tmp16);
    6632             :     tmp16 = (compiler::TNode<RawPtrT>{tmp14});
    6633             :     ca_.Goto(&block2, tmp13, tmp14, tmp16);
    6634             :   }
    6635             : 
    6636         173 :   if (block6.is_used()) {
    6637             :     compiler::TNode<Context> tmp17;
    6638             :     compiler::TNode<RawPtrT> tmp18;
    6639             :     compiler::TNode<Smi> tmp19;
    6640             :     ca_.Bind(&block6, &tmp17, &tmp18, &tmp19);
    6641             :     ca_.Goto(&block1);
    6642             :   }
    6643             : 
    6644         173 :   if (block2.is_used()) {
    6645             :     compiler::TNode<Context> tmp20;
    6646             :     compiler::TNode<RawPtrT> tmp21;
    6647             :     compiler::TNode<RawPtrT> tmp22;
    6648             :     ca_.Bind(&block2, &tmp20, &tmp21, &tmp22);
    6649             :     ca_.Goto(&block7, tmp20, tmp21, tmp22);
    6650             :   }
    6651             : 
    6652         173 :   if (block1.is_used()) {
    6653             :     ca_.Bind(&block1);
    6654         173 :     ca_.Goto(label_CastError);
    6655             :   }
    6656             : 
    6657             :     compiler::TNode<Context> tmp23;
    6658             :     compiler::TNode<RawPtrT> tmp24;
    6659             :     compiler::TNode<RawPtrT> tmp25;
    6660             :     ca_.Bind(&block7, &tmp23, &tmp24, &tmp25);
    6661         346 :   return compiler::TNode<RawPtrT>{tmp25};
    6662             : }
    6663             : 
    6664         448 : compiler::TNode<JSFunction> BaseBuiltinsFromDSLAssembler::LoadTargetFromFrame() {
    6665         448 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6666             :   compiler::CodeAssemblerParameterizedLabel<JSFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6667             :   compiler::CodeAssemblerParameterizedLabel<JSFunction> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6668             :     ca_.Goto(&block0);
    6669             : 
    6670         448 :   if (block0.is_used()) {
    6671             :     ca_.Bind(&block0);
    6672             :     compiler::TNode<RawPtrT> tmp0;
    6673             :     USE(tmp0);
    6674         896 :     tmp0 = ca_.UncheckedCast<RawPtrT>(CodeStubAssembler(state_).LoadFramePointer());
    6675             :     compiler::TNode<JSFunction> tmp1;
    6676             :     USE(tmp1);
    6677        1344 :     tmp1 = ca_.UncheckedCast<JSFunction>(BaseBuiltinsFromDSLAssembler(state_).LoadFunctionFromFrame(compiler::TNode<RawPtrT>{tmp0}));
    6678             :     ca_.Goto(&block1, tmp1);
    6679             :   }
    6680             : 
    6681         448 :   if (block1.is_used()) {
    6682             :     compiler::TNode<JSFunction> tmp2;
    6683             :     ca_.Bind(&block1, &tmp2);
    6684             :     ca_.Goto(&block2, tmp2);
    6685             :   }
    6686             : 
    6687             :     compiler::TNode<JSFunction> tmp3;
    6688             :     ca_.Bind(&block2, &tmp3);
    6689         896 :   return compiler::TNode<JSFunction>{tmp3};
    6690             : }
    6691             : 
    6692        1288 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Cast13ATFastJSArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    6693        1288 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6694             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6695             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6696             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6697             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6698             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6699             :     ca_.Goto(&block0, p_context, p_o);
    6700             : 
    6701        1288 :   if (block0.is_used()) {
    6702             :     compiler::TNode<Context> tmp0;
    6703             :     compiler::TNode<HeapObject> tmp1;
    6704             :     ca_.Bind(&block0, &tmp0, &tmp1);
    6705             :     compiler::TNode<JSArray> tmp2;
    6706             :     USE(tmp2);
    6707             :     compiler::CodeAssemblerLabel label0(&ca_);
    6708        3864 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp1}, &label0);
    6709             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    6710        1288 :     if (label0.is_used()) {
    6711        1288 :       ca_.Bind(&label0);
    6712             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    6713        1288 :     }
    6714             :   }
    6715             : 
    6716        1288 :   if (block4.is_used()) {
    6717             :     compiler::TNode<Context> tmp3;
    6718             :     compiler::TNode<HeapObject> tmp4;
    6719             :     compiler::TNode<HeapObject> tmp5;
    6720             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    6721             :     ca_.Goto(&block1);
    6722             :   }
    6723             : 
    6724        1288 :   if (block3.is_used()) {
    6725             :     compiler::TNode<Context> tmp6;
    6726             :     compiler::TNode<HeapObject> tmp7;
    6727             :     compiler::TNode<HeapObject> tmp8;
    6728             :     compiler::TNode<JSArray> tmp9;
    6729             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    6730             :     ca_.Goto(&block2, tmp6, tmp7, tmp9);
    6731             :   }
    6732             : 
    6733        1288 :   if (block2.is_used()) {
    6734             :     compiler::TNode<Context> tmp10;
    6735             :     compiler::TNode<HeapObject> tmp11;
    6736             :     compiler::TNode<JSArray> tmp12;
    6737             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
    6738             :     ca_.Goto(&block5, tmp10, tmp11, tmp12);
    6739             :   }
    6740             : 
    6741        1288 :   if (block1.is_used()) {
    6742             :     ca_.Bind(&block1);
    6743        1288 :     ca_.Goto(label_CastError);
    6744             :   }
    6745             : 
    6746             :     compiler::TNode<Context> tmp13;
    6747             :     compiler::TNode<HeapObject> tmp14;
    6748             :     compiler::TNode<JSArray> tmp15;
    6749             :     ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
    6750        2576 :   return compiler::TNode<JSArray>{tmp15};
    6751             : }
    6752             : 
    6753         112 : compiler::TNode<JSFunction> BaseBuiltinsFromDSLAssembler::UnsafeCast10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    6754         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6755             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSFunction> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6756             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSFunction> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6757             :     ca_.Goto(&block0, p_context, p_o);
    6758             : 
    6759         112 :   if (block0.is_used()) {
    6760             :     compiler::TNode<Context> tmp0;
    6761             :     compiler::TNode<Object> tmp1;
    6762             :     ca_.Bind(&block0, &tmp0, &tmp1);
    6763             :     compiler::TNode<JSFunction> tmp2;
    6764             :     USE(tmp2);
    6765             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    6766             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    6767             :   }
    6768             : 
    6769         112 :   if (block1.is_used()) {
    6770             :     compiler::TNode<Context> tmp3;
    6771             :     compiler::TNode<Object> tmp4;
    6772             :     compiler::TNode<JSFunction> tmp5;
    6773             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    6774             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    6775             :   }
    6776             : 
    6777             :     compiler::TNode<Context> tmp6;
    6778             :     compiler::TNode<Object> tmp7;
    6779             :     compiler::TNode<JSFunction> tmp8;
    6780             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    6781         224 :   return compiler::TNode<JSFunction>{tmp8};
    6782             : }
    6783             : 
    6784           5 : compiler::TNode<Map> BaseBuiltinsFromDSLAssembler::UnsafeCast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    6785           5 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6786             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Map> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6787             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6788             :     ca_.Goto(&block0, p_context, p_o);
    6789             : 
    6790           5 :   if (block0.is_used()) {
    6791             :     compiler::TNode<Context> tmp0;
    6792             :     compiler::TNode<Object> tmp1;
    6793             :     ca_.Bind(&block0, &tmp0, &tmp1);
    6794             :     compiler::TNode<Map> tmp2;
    6795             :     USE(tmp2);
    6796             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    6797             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    6798             :   }
    6799             : 
    6800           5 :   if (block1.is_used()) {
    6801             :     compiler::TNode<Context> tmp3;
    6802             :     compiler::TNode<Object> tmp4;
    6803             :     compiler::TNode<Map> tmp5;
    6804             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    6805             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    6806             :   }
    6807             : 
    6808             :     compiler::TNode<Context> tmp6;
    6809             :     compiler::TNode<Object> tmp7;
    6810             :     compiler::TNode<Map> tmp8;
    6811             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    6812          10 :   return compiler::TNode<Map>{tmp8};
    6813             : }
    6814             : 
    6815         687 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::Cast12ATFixedArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    6816         687 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6817             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6818             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, FixedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6819             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6820             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6821             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6822             :     ca_.Goto(&block0, p_context, p_o);
    6823             : 
    6824         687 :   if (block0.is_used()) {
    6825             :     compiler::TNode<Context> tmp0;
    6826             :     compiler::TNode<HeapObject> tmp1;
    6827             :     ca_.Bind(&block0, &tmp0, &tmp1);
    6828             :     compiler::TNode<FixedArray> tmp2;
    6829             :     USE(tmp2);
    6830             :     compiler::CodeAssemblerLabel label0(&ca_);
    6831        2061 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject12ATFixedArray(compiler::TNode<HeapObject>{tmp1}, &label0);
    6832             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    6833         687 :     if (label0.is_used()) {
    6834         687 :       ca_.Bind(&label0);
    6835             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    6836         687 :     }
    6837             :   }
    6838             : 
    6839         687 :   if (block4.is_used()) {
    6840             :     compiler::TNode<Context> tmp3;
    6841             :     compiler::TNode<HeapObject> tmp4;
    6842             :     compiler::TNode<HeapObject> tmp5;
    6843             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    6844             :     ca_.Goto(&block1);
    6845             :   }
    6846             : 
    6847         687 :   if (block3.is_used()) {
    6848             :     compiler::TNode<Context> tmp6;
    6849             :     compiler::TNode<HeapObject> tmp7;
    6850             :     compiler::TNode<HeapObject> tmp8;
    6851             :     compiler::TNode<FixedArray> tmp9;
    6852             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    6853             :     ca_.Goto(&block2, tmp6, tmp7, tmp9);
    6854             :   }
    6855             : 
    6856         687 :   if (block2.is_used()) {
    6857             :     compiler::TNode<Context> tmp10;
    6858             :     compiler::TNode<HeapObject> tmp11;
    6859             :     compiler::TNode<FixedArray> tmp12;
    6860             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
    6861             :     ca_.Goto(&block5, tmp10, tmp11, tmp12);
    6862             :   }
    6863             : 
    6864         687 :   if (block1.is_used()) {
    6865             :     ca_.Bind(&block1);
    6866         687 :     ca_.Goto(label_CastError);
    6867             :   }
    6868             : 
    6869             :     compiler::TNode<Context> tmp13;
    6870             :     compiler::TNode<HeapObject> tmp14;
    6871             :     compiler::TNode<FixedArray> tmp15;
    6872             :     ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
    6873        1374 :   return compiler::TNode<FixedArray>{tmp15};
    6874             : }
    6875             : 
    6876         448 : compiler::TNode<FixedDoubleArray> BaseBuiltinsFromDSLAssembler::Cast18ATFixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    6877         448 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6878             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6879             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, FixedDoubleArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6880             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, FixedDoubleArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6881             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6882             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, FixedDoubleArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6883             :     ca_.Goto(&block0, p_context, p_o);
    6884             : 
    6885         448 :   if (block0.is_used()) {
    6886             :     compiler::TNode<Context> tmp0;
    6887             :     compiler::TNode<HeapObject> tmp1;
    6888             :     ca_.Bind(&block0, &tmp0, &tmp1);
    6889             :     compiler::TNode<FixedDoubleArray> tmp2;
    6890             :     USE(tmp2);
    6891             :     compiler::CodeAssemblerLabel label0(&ca_);
    6892        1344 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject18ATFixedDoubleArray(compiler::TNode<HeapObject>{tmp1}, &label0);
    6893             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    6894         448 :     if (label0.is_used()) {
    6895         448 :       ca_.Bind(&label0);
    6896             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    6897         448 :     }
    6898             :   }
    6899             : 
    6900         448 :   if (block4.is_used()) {
    6901             :     compiler::TNode<Context> tmp3;
    6902             :     compiler::TNode<HeapObject> tmp4;
    6903             :     compiler::TNode<HeapObject> tmp5;
    6904             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    6905             :     ca_.Goto(&block1);
    6906             :   }
    6907             : 
    6908         448 :   if (block3.is_used()) {
    6909             :     compiler::TNode<Context> tmp6;
    6910             :     compiler::TNode<HeapObject> tmp7;
    6911             :     compiler::TNode<HeapObject> tmp8;
    6912             :     compiler::TNode<FixedDoubleArray> tmp9;
    6913             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    6914             :     ca_.Goto(&block2, tmp6, tmp7, tmp9);
    6915             :   }
    6916             : 
    6917         448 :   if (block2.is_used()) {
    6918             :     compiler::TNode<Context> tmp10;
    6919             :     compiler::TNode<HeapObject> tmp11;
    6920             :     compiler::TNode<FixedDoubleArray> tmp12;
    6921             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
    6922             :     ca_.Goto(&block5, tmp10, tmp11, tmp12);
    6923             :   }
    6924             : 
    6925         448 :   if (block1.is_used()) {
    6926             :     ca_.Bind(&block1);
    6927         448 :     ca_.Goto(label_CastError);
    6928             :   }
    6929             : 
    6930             :     compiler::TNode<Context> tmp13;
    6931             :     compiler::TNode<HeapObject> tmp14;
    6932             :     compiler::TNode<FixedDoubleArray> tmp15;
    6933             :     ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
    6934         896 :   return compiler::TNode<FixedDoubleArray>{tmp15};
    6935             : }
    6936             : 
    6937         621 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Cast7JSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    6938         621 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6939             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6940             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6941             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6942             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6943             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6944             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6945             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    6946             :     ca_.Goto(&block0, p_context, p_o);
    6947             : 
    6948         621 :   if (block0.is_used()) {
    6949             :     compiler::TNode<Context> tmp0;
    6950             :     compiler::TNode<Object> tmp1;
    6951             :     ca_.Bind(&block0, &tmp0, &tmp1);
    6952             :     compiler::TNode<HeapObject> tmp2;
    6953             :     USE(tmp2);
    6954             :     compiler::CodeAssemblerLabel label0(&ca_);
    6955        1242 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    6956             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    6957         621 :     if (label0.is_used()) {
    6958         621 :       ca_.Bind(&label0);
    6959             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    6960         621 :     }
    6961             :   }
    6962             : 
    6963         621 :   if (block4.is_used()) {
    6964             :     compiler::TNode<Context> tmp3;
    6965             :     compiler::TNode<Object> tmp4;
    6966             :     compiler::TNode<Object> tmp5;
    6967             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    6968             :     ca_.Goto(&block1);
    6969             :   }
    6970             : 
    6971         621 :   if (block3.is_used()) {
    6972             :     compiler::TNode<Context> tmp6;
    6973             :     compiler::TNode<Object> tmp7;
    6974             :     compiler::TNode<Object> tmp8;
    6975             :     compiler::TNode<HeapObject> tmp9;
    6976             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    6977             :     compiler::TNode<JSArray> tmp10;
    6978             :     USE(tmp10);
    6979             :     compiler::CodeAssemblerLabel label0(&ca_);
    6980        1863 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject7JSArray(compiler::TNode<HeapObject>{tmp9}, &label0);
    6981             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    6982         621 :     if (label0.is_used()) {
    6983         621 :       ca_.Bind(&label0);
    6984             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    6985         621 :     }
    6986             :   }
    6987             : 
    6988         621 :   if (block6.is_used()) {
    6989             :     compiler::TNode<Context> tmp11;
    6990             :     compiler::TNode<Object> tmp12;
    6991             :     compiler::TNode<HeapObject> tmp13;
    6992             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    6993             :     ca_.Goto(&block1);
    6994             :   }
    6995             : 
    6996         621 :   if (block5.is_used()) {
    6997             :     compiler::TNode<Context> tmp14;
    6998             :     compiler::TNode<Object> tmp15;
    6999             :     compiler::TNode<HeapObject> tmp16;
    7000             :     compiler::TNode<JSArray> tmp17;
    7001             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    7002             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    7003             :   }
    7004             : 
    7005         621 :   if (block2.is_used()) {
    7006             :     compiler::TNode<Context> tmp18;
    7007             :     compiler::TNode<Object> tmp19;
    7008             :     compiler::TNode<JSArray> tmp20;
    7009             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    7010             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    7011             :   }
    7012             : 
    7013         621 :   if (block1.is_used()) {
    7014             :     ca_.Bind(&block1);
    7015         621 :     ca_.Goto(label_CastError);
    7016             :   }
    7017             : 
    7018             :     compiler::TNode<Context> tmp21;
    7019             :     compiler::TNode<Object> tmp22;
    7020             :     compiler::TNode<JSArray> tmp23;
    7021             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    7022        1242 :   return compiler::TNode<JSArray>{tmp23};
    7023             : }
    7024             : 
    7025         672 : compiler::TNode<JSArgumentsObjectWithLength> BaseBuiltinsFromDSLAssembler::Cast27JSArgumentsObjectWithLength(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    7026         672 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7027             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7028             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7029             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7030             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSArgumentsObjectWithLength> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7031             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArgumentsObjectWithLength> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7032             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7033             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArgumentsObjectWithLength> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7034             :     ca_.Goto(&block0, p_context, p_o);
    7035             : 
    7036         672 :   if (block0.is_used()) {
    7037             :     compiler::TNode<Context> tmp0;
    7038             :     compiler::TNode<Object> tmp1;
    7039             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7040             :     compiler::TNode<HeapObject> tmp2;
    7041             :     USE(tmp2);
    7042             :     compiler::CodeAssemblerLabel label0(&ca_);
    7043        1344 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    7044             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    7045         672 :     if (label0.is_used()) {
    7046         672 :       ca_.Bind(&label0);
    7047             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    7048         672 :     }
    7049             :   }
    7050             : 
    7051         672 :   if (block4.is_used()) {
    7052             :     compiler::TNode<Context> tmp3;
    7053             :     compiler::TNode<Object> tmp4;
    7054             :     compiler::TNode<Object> tmp5;
    7055             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    7056             :     ca_.Goto(&block1);
    7057             :   }
    7058             : 
    7059         672 :   if (block3.is_used()) {
    7060             :     compiler::TNode<Context> tmp6;
    7061             :     compiler::TNode<Object> tmp7;
    7062             :     compiler::TNode<Object> tmp8;
    7063             :     compiler::TNode<HeapObject> tmp9;
    7064             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    7065             :     compiler::TNode<JSArgumentsObjectWithLength> tmp10;
    7066             :     USE(tmp10);
    7067             :     compiler::CodeAssemblerLabel label0(&ca_);
    7068        2016 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject27JSArgumentsObjectWithLength(compiler::TNode<Context>{tmp6}, compiler::TNode<HeapObject>{tmp9}, &label0);
    7069             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    7070         672 :     if (label0.is_used()) {
    7071         672 :       ca_.Bind(&label0);
    7072             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    7073         672 :     }
    7074             :   }
    7075             : 
    7076         672 :   if (block6.is_used()) {
    7077             :     compiler::TNode<Context> tmp11;
    7078             :     compiler::TNode<Object> tmp12;
    7079             :     compiler::TNode<HeapObject> tmp13;
    7080             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    7081             :     ca_.Goto(&block1);
    7082             :   }
    7083             : 
    7084         672 :   if (block5.is_used()) {
    7085             :     compiler::TNode<Context> tmp14;
    7086             :     compiler::TNode<Object> tmp15;
    7087             :     compiler::TNode<HeapObject> tmp16;
    7088             :     compiler::TNode<JSArgumentsObjectWithLength> tmp17;
    7089             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    7090             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    7091             :   }
    7092             : 
    7093         672 :   if (block2.is_used()) {
    7094             :     compiler::TNode<Context> tmp18;
    7095             :     compiler::TNode<Object> tmp19;
    7096             :     compiler::TNode<JSArgumentsObjectWithLength> tmp20;
    7097             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    7098             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    7099             :   }
    7100             : 
    7101         672 :   if (block1.is_used()) {
    7102             :     ca_.Bind(&block1);
    7103         672 :     ca_.Goto(label_CastError);
    7104             :   }
    7105             : 
    7106             :     compiler::TNode<Context> tmp21;
    7107             :     compiler::TNode<Object> tmp22;
    7108             :     compiler::TNode<JSArgumentsObjectWithLength> tmp23;
    7109             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    7110        1344 :   return compiler::TNode<JSArgumentsObjectWithLength>{tmp23};
    7111             : }
    7112             : 
    7113           0 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::Is13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    7114           0 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7115             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7116             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7117             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7118             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7119             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7120             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7121             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7122             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7123             :     ca_.Goto(&block0, p_context, p_o);
    7124             : 
    7125           0 :   if (block0.is_used()) {
    7126             :     compiler::TNode<Context> tmp0;
    7127             :     compiler::TNode<Object> tmp1;
    7128             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7129             :     compiler::CodeAssemblerLabel label0(&ca_);
    7130           0 :     compiler::CodeAssemblerLabel label1(&ca_);
    7131           0 :     BaseBuiltinsFromDSLAssembler(state_).BranchIf13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0, &label1);
    7132           0 :     if (label0.is_used()) {
    7133           0 :       ca_.Bind(&label0);
    7134             :       ca_.Goto(&block6, tmp0, tmp1, tmp1);
    7135             :     }
    7136           0 :     if (label1.is_used()) {
    7137           0 :       ca_.Bind(&label1);
    7138             :       ca_.Goto(&block7, tmp0, tmp1, tmp1);
    7139           0 :     }
    7140             :   }
    7141             : 
    7142           0 :   if (block6.is_used()) {
    7143             :     compiler::TNode<Context> tmp2;
    7144             :     compiler::TNode<Object> tmp3;
    7145             :     compiler::TNode<Object> tmp4;
    7146             :     ca_.Bind(&block6, &tmp2, &tmp3, &tmp4);
    7147             :     ca_.Goto(&block2, tmp2, tmp3);
    7148             :   }
    7149             : 
    7150           0 :   if (block7.is_used()) {
    7151             :     compiler::TNode<Context> tmp5;
    7152             :     compiler::TNode<Object> tmp6;
    7153             :     compiler::TNode<Object> tmp7;
    7154             :     ca_.Bind(&block7, &tmp5, &tmp6, &tmp7);
    7155             :     ca_.Goto(&block3, tmp5, tmp6);
    7156             :   }
    7157             : 
    7158           0 :   if (block2.is_used()) {
    7159             :     compiler::TNode<Context> tmp8;
    7160             :     compiler::TNode<Object> tmp9;
    7161             :     ca_.Bind(&block2, &tmp8, &tmp9);
    7162             :     ca_.Goto(&block5, tmp8, tmp9);
    7163             :   }
    7164             : 
    7165           0 :   if (block3.is_used()) {
    7166             :     compiler::TNode<Context> tmp10;
    7167             :     compiler::TNode<Object> tmp11;
    7168             :     ca_.Bind(&block3, &tmp10, &tmp11);
    7169             :     compiler::TNode<BoolT> tmp12;
    7170             :     USE(tmp12);
    7171           0 :     tmp12 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
    7172             :     ca_.Goto(&block4, tmp10, tmp11, tmp12);
    7173             :   }
    7174             : 
    7175           0 :   if (block5.is_used()) {
    7176             :     compiler::TNode<Context> tmp13;
    7177             :     compiler::TNode<Object> tmp14;
    7178             :     ca_.Bind(&block5, &tmp13, &tmp14);
    7179             :     compiler::TNode<BoolT> tmp15;
    7180             :     USE(tmp15);
    7181           0 :     tmp15 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
    7182             :     ca_.Goto(&block4, tmp13, tmp14, tmp15);
    7183             :   }
    7184             : 
    7185           0 :   if (block4.is_used()) {
    7186             :     compiler::TNode<Context> tmp16;
    7187             :     compiler::TNode<Object> tmp17;
    7188             :     compiler::TNode<BoolT> tmp18;
    7189             :     ca_.Bind(&block4, &tmp16, &tmp17, &tmp18);
    7190             :     ca_.Goto(&block1, tmp16, tmp17, tmp18);
    7191             :   }
    7192             : 
    7193           0 :   if (block1.is_used()) {
    7194             :     compiler::TNode<Context> tmp19;
    7195             :     compiler::TNode<Object> tmp20;
    7196             :     compiler::TNode<BoolT> tmp21;
    7197             :     ca_.Bind(&block1, &tmp19, &tmp20, &tmp21);
    7198             :     ca_.Goto(&block8, tmp19, tmp20, tmp21);
    7199             :   }
    7200             : 
    7201             :     compiler::TNode<Context> tmp22;
    7202             :     compiler::TNode<Object> tmp23;
    7203             :     compiler::TNode<BoolT> tmp24;
    7204             :     ca_.Bind(&block8, &tmp22, &tmp23, &tmp24);
    7205           0 :   return compiler::TNode<BoolT>{tmp24};
    7206             : }
    7207             : 
    7208         840 : void BaseBuiltinsFromDSLAssembler::BranchIf13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
    7209         840 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7210             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7211             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7212             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7213             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7214             :     ca_.Goto(&block0, p_context, p_o);
    7215             : 
    7216         840 :   if (block0.is_used()) {
    7217             :     compiler::TNode<Context> tmp0;
    7218             :     compiler::TNode<Object> tmp1;
    7219             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7220             :     compiler::TNode<JSArray> tmp2;
    7221             :     USE(tmp2);
    7222             :     compiler::CodeAssemblerLabel label0(&ca_);
    7223        2520 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
    7224             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    7225         840 :     if (label0.is_used()) {
    7226         840 :       ca_.Bind(&label0);
    7227             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    7228         840 :     }
    7229             :   }
    7230             : 
    7231         840 :   if (block4.is_used()) {
    7232             :     compiler::TNode<Context> tmp3;
    7233             :     compiler::TNode<Object> tmp4;
    7234             :     compiler::TNode<Object> tmp5;
    7235             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    7236             :     ca_.Goto(&block2);
    7237             :   }
    7238             : 
    7239         840 :   if (block3.is_used()) {
    7240             :     compiler::TNode<Context> tmp6;
    7241             :     compiler::TNode<Object> tmp7;
    7242             :     compiler::TNode<Object> tmp8;
    7243             :     compiler::TNode<JSArray> tmp9;
    7244             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    7245             :     ca_.Goto(&block1);
    7246             :   }
    7247             : 
    7248         840 :   if (block1.is_used()) {
    7249             :     ca_.Bind(&block1);
    7250         840 :     ca_.Goto(label_True);
    7251             :   }
    7252             : 
    7253         840 :   if (block2.is_used()) {
    7254             :     ca_.Bind(&block2);
    7255         840 :     ca_.Goto(label_False);
    7256             :   }
    7257         840 : }
    7258             : 
    7259           0 : void BaseBuiltinsFromDSLAssembler::BranchIfNot13ATFastJSArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
    7260           0 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7261             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7262             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7263             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7264             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7265             :     ca_.Goto(&block0, p_context, p_o);
    7266             : 
    7267           0 :   if (block0.is_used()) {
    7268             :     compiler::TNode<Context> tmp0;
    7269             :     compiler::TNode<Object> tmp1;
    7270             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7271             :     compiler::TNode<JSArray> tmp2;
    7272             :     USE(tmp2);
    7273             :     compiler::CodeAssemblerLabel label0(&ca_);
    7274           0 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
    7275             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    7276           0 :     if (label0.is_used()) {
    7277           0 :       ca_.Bind(&label0);
    7278             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    7279           0 :     }
    7280             :   }
    7281             : 
    7282           0 :   if (block4.is_used()) {
    7283             :     compiler::TNode<Context> tmp3;
    7284             :     compiler::TNode<Object> tmp4;
    7285             :     compiler::TNode<Object> tmp5;
    7286             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    7287             :     ca_.Goto(&block1);
    7288             :   }
    7289             : 
    7290           0 :   if (block3.is_used()) {
    7291             :     compiler::TNode<Context> tmp6;
    7292             :     compiler::TNode<Object> tmp7;
    7293             :     compiler::TNode<Object> tmp8;
    7294             :     compiler::TNode<JSArray> tmp9;
    7295             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    7296             :     ca_.Goto(&block2);
    7297             :   }
    7298             : 
    7299           0 :   if (block1.is_used()) {
    7300             :     ca_.Bind(&block1);
    7301           0 :     ca_.Goto(label_True);
    7302             :   }
    7303             : 
    7304           0 :   if (block2.is_used()) {
    7305             :     ca_.Bind(&block2);
    7306           0 :     ca_.Goto(label_False);
    7307             :   }
    7308           0 : }
    7309             : 
    7310           0 : void BaseBuiltinsFromDSLAssembler::BranchIf20ATFastJSArrayForCopy20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
    7311           0 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7312             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7313             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7314             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7315             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7316             :     ca_.Goto(&block0, p_context, p_o);
    7317             : 
    7318           0 :   if (block0.is_used()) {
    7319             :     compiler::TNode<Context> tmp0;
    7320             :     compiler::TNode<Object> tmp1;
    7321             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7322             :     compiler::TNode<JSArray> tmp2;
    7323             :     USE(tmp2);
    7324             :     compiler::CodeAssemblerLabel label0(&ca_);
    7325           0 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast20ATFastJSArrayForCopy(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
    7326             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    7327           0 :     if (label0.is_used()) {
    7328           0 :       ca_.Bind(&label0);
    7329             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    7330           0 :     }
    7331             :   }
    7332             : 
    7333           0 :   if (block4.is_used()) {
    7334             :     compiler::TNode<Context> tmp3;
    7335             :     compiler::TNode<Object> tmp4;
    7336             :     compiler::TNode<Object> tmp5;
    7337             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    7338             :     ca_.Goto(&block2);
    7339             :   }
    7340             : 
    7341           0 :   if (block3.is_used()) {
    7342             :     compiler::TNode<Context> tmp6;
    7343             :     compiler::TNode<Object> tmp7;
    7344             :     compiler::TNode<Object> tmp8;
    7345             :     compiler::TNode<JSArray> tmp9;
    7346             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    7347             :     ca_.Goto(&block1);
    7348             :   }
    7349             : 
    7350           0 :   if (block1.is_used()) {
    7351             :     ca_.Bind(&block1);
    7352           0 :     ca_.Goto(label_True);
    7353             :   }
    7354             : 
    7355           0 :   if (block2.is_used()) {
    7356             :     ca_.Bind(&block2);
    7357           0 :     ca_.Goto(label_False);
    7358             :   }
    7359           0 : }
    7360             : 
    7361         392 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::Is34ATFastJSArrayWithNoCustomIteration20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    7362         392 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7363             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7364             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7365             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7366             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7367             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7368             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7369             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7370             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7371             :     ca_.Goto(&block0, p_context, p_o);
    7372             : 
    7373         392 :   if (block0.is_used()) {
    7374             :     compiler::TNode<Context> tmp0;
    7375             :     compiler::TNode<Object> tmp1;
    7376             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7377             :     compiler::CodeAssemblerLabel label0(&ca_);
    7378         392 :     compiler::CodeAssemblerLabel label1(&ca_);
    7379        1176 :     BaseBuiltinsFromDSLAssembler(state_).BranchIf34ATFastJSArrayWithNoCustomIteration20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0, &label1);
    7380         392 :     if (label0.is_used()) {
    7381         392 :       ca_.Bind(&label0);
    7382             :       ca_.Goto(&block6, tmp0, tmp1, tmp1);
    7383             :     }
    7384         392 :     if (label1.is_used()) {
    7385         392 :       ca_.Bind(&label1);
    7386             :       ca_.Goto(&block7, tmp0, tmp1, tmp1);
    7387         392 :     }
    7388             :   }
    7389             : 
    7390         392 :   if (block6.is_used()) {
    7391             :     compiler::TNode<Context> tmp2;
    7392             :     compiler::TNode<Object> tmp3;
    7393             :     compiler::TNode<Object> tmp4;
    7394             :     ca_.Bind(&block6, &tmp2, &tmp3, &tmp4);
    7395             :     ca_.Goto(&block2, tmp2, tmp3);
    7396             :   }
    7397             : 
    7398         392 :   if (block7.is_used()) {
    7399             :     compiler::TNode<Context> tmp5;
    7400             :     compiler::TNode<Object> tmp6;
    7401             :     compiler::TNode<Object> tmp7;
    7402             :     ca_.Bind(&block7, &tmp5, &tmp6, &tmp7);
    7403             :     ca_.Goto(&block3, tmp5, tmp6);
    7404             :   }
    7405             : 
    7406         392 :   if (block2.is_used()) {
    7407             :     compiler::TNode<Context> tmp8;
    7408             :     compiler::TNode<Object> tmp9;
    7409             :     ca_.Bind(&block2, &tmp8, &tmp9);
    7410             :     ca_.Goto(&block5, tmp8, tmp9);
    7411             :   }
    7412             : 
    7413         392 :   if (block3.is_used()) {
    7414             :     compiler::TNode<Context> tmp10;
    7415             :     compiler::TNode<Object> tmp11;
    7416             :     ca_.Bind(&block3, &tmp10, &tmp11);
    7417             :     compiler::TNode<BoolT> tmp12;
    7418             :     USE(tmp12);
    7419        1176 :     tmp12 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
    7420             :     ca_.Goto(&block4, tmp10, tmp11, tmp12);
    7421             :   }
    7422             : 
    7423         392 :   if (block5.is_used()) {
    7424             :     compiler::TNode<Context> tmp13;
    7425             :     compiler::TNode<Object> tmp14;
    7426             :     ca_.Bind(&block5, &tmp13, &tmp14);
    7427             :     compiler::TNode<BoolT> tmp15;
    7428             :     USE(tmp15);
    7429        1176 :     tmp15 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
    7430             :     ca_.Goto(&block4, tmp13, tmp14, tmp15);
    7431             :   }
    7432             : 
    7433         392 :   if (block4.is_used()) {
    7434             :     compiler::TNode<Context> tmp16;
    7435             :     compiler::TNode<Object> tmp17;
    7436             :     compiler::TNode<BoolT> tmp18;
    7437             :     ca_.Bind(&block4, &tmp16, &tmp17, &tmp18);
    7438             :     ca_.Goto(&block1, tmp16, tmp17, tmp18);
    7439             :   }
    7440             : 
    7441         392 :   if (block1.is_used()) {
    7442             :     compiler::TNode<Context> tmp19;
    7443             :     compiler::TNode<Object> tmp20;
    7444             :     compiler::TNode<BoolT> tmp21;
    7445             :     ca_.Bind(&block1, &tmp19, &tmp20, &tmp21);
    7446             :     ca_.Goto(&block8, tmp19, tmp20, tmp21);
    7447             :   }
    7448             : 
    7449             :     compiler::TNode<Context> tmp22;
    7450             :     compiler::TNode<Object> tmp23;
    7451             :     compiler::TNode<BoolT> tmp24;
    7452             :     ca_.Bind(&block8, &tmp22, &tmp23, &tmp24);
    7453         784 :   return compiler::TNode<BoolT>{tmp24};
    7454             : }
    7455             : 
    7456           0 : compiler::TNode<Context> BaseBuiltinsFromDSLAssembler::Cast9ATContext(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    7457           0 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7458             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7459             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7460             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7461             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, Context> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7462             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7463             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7464             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Context> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7465             :     ca_.Goto(&block0, p_context, p_o);
    7466             : 
    7467           0 :   if (block0.is_used()) {
    7468             :     compiler::TNode<Context> tmp0;
    7469             :     compiler::TNode<Object> tmp1;
    7470             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7471             :     compiler::TNode<HeapObject> tmp2;
    7472             :     USE(tmp2);
    7473             :     compiler::CodeAssemblerLabel label0(&ca_);
    7474           0 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    7475             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    7476           0 :     if (label0.is_used()) {
    7477           0 :       ca_.Bind(&label0);
    7478             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    7479           0 :     }
    7480             :   }
    7481             : 
    7482           0 :   if (block4.is_used()) {
    7483             :     compiler::TNode<Context> tmp3;
    7484             :     compiler::TNode<Object> tmp4;
    7485             :     compiler::TNode<Object> tmp5;
    7486             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    7487             :     ca_.Goto(&block1);
    7488             :   }
    7489             : 
    7490           0 :   if (block3.is_used()) {
    7491             :     compiler::TNode<Context> tmp6;
    7492             :     compiler::TNode<Object> tmp7;
    7493             :     compiler::TNode<Object> tmp8;
    7494             :     compiler::TNode<HeapObject> tmp9;
    7495             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    7496             :     compiler::TNode<Context> tmp10;
    7497             :     USE(tmp10);
    7498             :     compiler::CodeAssemblerLabel label0(&ca_);
    7499           0 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject9ATContext(compiler::TNode<HeapObject>{tmp9}, &label0);
    7500             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    7501           0 :     if (label0.is_used()) {
    7502           0 :       ca_.Bind(&label0);
    7503             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    7504           0 :     }
    7505             :   }
    7506             : 
    7507           0 :   if (block6.is_used()) {
    7508             :     compiler::TNode<Context> tmp11;
    7509             :     compiler::TNode<Object> tmp12;
    7510             :     compiler::TNode<HeapObject> tmp13;
    7511             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    7512             :     ca_.Goto(&block1);
    7513             :   }
    7514             : 
    7515           0 :   if (block5.is_used()) {
    7516             :     compiler::TNode<Context> tmp14;
    7517             :     compiler::TNode<Object> tmp15;
    7518             :     compiler::TNode<HeapObject> tmp16;
    7519             :     compiler::TNode<Context> tmp17;
    7520             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    7521             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    7522             :   }
    7523             : 
    7524           0 :   if (block2.is_used()) {
    7525             :     compiler::TNode<Context> tmp18;
    7526             :     compiler::TNode<Object> tmp19;
    7527             :     compiler::TNode<Context> tmp20;
    7528             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    7529             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    7530             :   }
    7531             : 
    7532           0 :   if (block1.is_used()) {
    7533             :     ca_.Bind(&block1);
    7534           0 :     ca_.Goto(label_CastError);
    7535             :   }
    7536             : 
    7537             :     compiler::TNode<Context> tmp21;
    7538             :     compiler::TNode<Object> tmp22;
    7539             :     compiler::TNode<Context> tmp23;
    7540             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    7541           0 :   return compiler::TNode<Context>{tmp23};
    7542             : }
    7543             : 
    7544         183 : compiler::TNode<Object> BaseBuiltinsFromDSLAssembler::UnsafeCast25UT9ATContext11ATFrameType(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    7545         183 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7546             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7547             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7548             :     ca_.Goto(&block0, p_context, p_o);
    7549             : 
    7550         183 :   if (block0.is_used()) {
    7551             :     compiler::TNode<Context> tmp0;
    7552             :     compiler::TNode<Object> tmp1;
    7553             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7554             :     compiler::TNode<Object> tmp2;
    7555             :     USE(tmp2);
    7556             :     tmp2 = (compiler::TNode<Object>{tmp1});
    7557             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    7558             :   }
    7559             : 
    7560         183 :   if (block1.is_used()) {
    7561             :     compiler::TNode<Context> tmp3;
    7562             :     compiler::TNode<Object> tmp4;
    7563             :     compiler::TNode<Object> tmp5;
    7564             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    7565             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    7566             :   }
    7567             : 
    7568             :     compiler::TNode<Context> tmp6;
    7569             :     compiler::TNode<Object> tmp7;
    7570             :     compiler::TNode<Object> tmp8;
    7571             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    7572         366 :   return compiler::TNode<Object>{tmp8};
    7573             : }
    7574             : 
    7575           5 : compiler::TNode<HeapObject> BaseBuiltinsFromDSLAssembler::Cast10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    7576           5 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7577             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7578             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7579             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7580             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, HeapObject> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7581             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7582             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7583             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7584             :     ca_.Goto(&block0, p_context, p_o);
    7585             : 
    7586           5 :   if (block0.is_used()) {
    7587             :     compiler::TNode<Context> tmp0;
    7588             :     compiler::TNode<Object> tmp1;
    7589             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7590             :     compiler::TNode<HeapObject> tmp2;
    7591             :     USE(tmp2);
    7592             :     compiler::CodeAssemblerLabel label0(&ca_);
    7593          10 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    7594             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    7595           5 :     if (label0.is_used()) {
    7596           5 :       ca_.Bind(&label0);
    7597             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    7598           5 :     }
    7599             :   }
    7600             : 
    7601           5 :   if (block4.is_used()) {
    7602             :     compiler::TNode<Context> tmp3;
    7603             :     compiler::TNode<Object> tmp4;
    7604             :     compiler::TNode<Object> tmp5;
    7605             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    7606             :     ca_.Goto(&block1);
    7607             :   }
    7608             : 
    7609           5 :   if (block3.is_used()) {
    7610             :     compiler::TNode<Context> tmp6;
    7611             :     compiler::TNode<Object> tmp7;
    7612             :     compiler::TNode<Object> tmp8;
    7613             :     compiler::TNode<HeapObject> tmp9;
    7614             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    7615             :     compiler::TNode<HeapObject> tmp10;
    7616             :     USE(tmp10);
    7617             :     compiler::CodeAssemblerLabel label0(&ca_);
    7618          15 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject10HeapObject(compiler::TNode<HeapObject>{tmp9}, &label0);
    7619             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    7620           5 :     if (label0.is_used()) {
    7621           0 :       ca_.Bind(&label0);
    7622             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    7623           5 :     }
    7624             :   }
    7625             : 
    7626           5 :   if (block6.is_used()) {
    7627             :     compiler::TNode<Context> tmp11;
    7628             :     compiler::TNode<Object> tmp12;
    7629             :     compiler::TNode<HeapObject> tmp13;
    7630             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    7631             :     ca_.Goto(&block1);
    7632             :   }
    7633             : 
    7634           5 :   if (block5.is_used()) {
    7635             :     compiler::TNode<Context> tmp14;
    7636             :     compiler::TNode<Object> tmp15;
    7637             :     compiler::TNode<HeapObject> tmp16;
    7638             :     compiler::TNode<HeapObject> tmp17;
    7639             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    7640             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    7641             :   }
    7642             : 
    7643           5 :   if (block2.is_used()) {
    7644             :     compiler::TNode<Context> tmp18;
    7645             :     compiler::TNode<Object> tmp19;
    7646             :     compiler::TNode<HeapObject> tmp20;
    7647             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    7648             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    7649             :   }
    7650             : 
    7651           5 :   if (block1.is_used()) {
    7652             :     ca_.Bind(&block1);
    7653           5 :     ca_.Goto(label_CastError);
    7654             :   }
    7655             : 
    7656             :     compiler::TNode<Context> tmp21;
    7657             :     compiler::TNode<Object> tmp22;
    7658             :     compiler::TNode<HeapObject> tmp23;
    7659             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    7660          10 :   return compiler::TNode<HeapObject>{tmp23};
    7661             : }
    7662             : 
    7663        1410 : compiler::TNode<IntPtrT> BaseBuiltinsFromDSLAssembler::Convert8ATintptr17ATconstexpr_int31(int31_t p_i) {
    7664        1410 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7665             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7666             :   compiler::CodeAssemblerParameterizedLabel<IntPtrT> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7667             :     ca_.Goto(&block0);
    7668             : 
    7669        1410 :   if (block0.is_used()) {
    7670             :     ca_.Bind(&block0);
    7671             :     compiler::TNode<IntPtrT> tmp0;
    7672             :     USE(tmp0);
    7673        4230 :     tmp0 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(p_i));
    7674             :     ca_.Goto(&block1, tmp0);
    7675             :   }
    7676             : 
    7677        1410 :   if (block1.is_used()) {
    7678             :     compiler::TNode<IntPtrT> tmp1;
    7679             :     ca_.Bind(&block1, &tmp1);
    7680             :     ca_.Goto(&block2, tmp1);
    7681             :   }
    7682             : 
    7683             :     compiler::TNode<IntPtrT> tmp2;
    7684             :     ca_.Bind(&block2, &tmp2);
    7685        2820 :   return compiler::TNode<IntPtrT>{tmp2};
    7686             : }
    7687             : 
    7688         728 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::Cast10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    7689         728 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7690             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7691             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7692             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7693             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7694             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7695             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7696             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7697             :     ca_.Goto(&block0, p_context, p_o);
    7698             : 
    7699         728 :   if (block0.is_used()) {
    7700             :     compiler::TNode<Context> tmp0;
    7701             :     compiler::TNode<Object> tmp1;
    7702             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7703             :     compiler::TNode<HeapObject> tmp2;
    7704             :     USE(tmp2);
    7705             :     compiler::CodeAssemblerLabel label0(&ca_);
    7706        1456 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    7707             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    7708         728 :     if (label0.is_used()) {
    7709         728 :       ca_.Bind(&label0);
    7710             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    7711         728 :     }
    7712             :   }
    7713             : 
    7714         728 :   if (block4.is_used()) {
    7715             :     compiler::TNode<Context> tmp3;
    7716             :     compiler::TNode<Object> tmp4;
    7717             :     compiler::TNode<Object> tmp5;
    7718             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    7719             :     ca_.Goto(&block1);
    7720             :   }
    7721             : 
    7722         728 :   if (block3.is_used()) {
    7723             :     compiler::TNode<Context> tmp6;
    7724             :     compiler::TNode<Object> tmp7;
    7725             :     compiler::TNode<Object> tmp8;
    7726             :     compiler::TNode<HeapObject> tmp9;
    7727             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    7728             :     compiler::TNode<JSReceiver> tmp10;
    7729             :     USE(tmp10);
    7730             :     compiler::CodeAssemblerLabel label0(&ca_);
    7731        2184 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject10JSReceiver(compiler::TNode<Context>{tmp6}, compiler::TNode<HeapObject>{tmp9}, &label0);
    7732             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    7733         728 :     if (label0.is_used()) {
    7734         728 :       ca_.Bind(&label0);
    7735             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    7736         728 :     }
    7737             :   }
    7738             : 
    7739         728 :   if (block6.is_used()) {
    7740             :     compiler::TNode<Context> tmp11;
    7741             :     compiler::TNode<Object> tmp12;
    7742             :     compiler::TNode<HeapObject> tmp13;
    7743             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    7744             :     ca_.Goto(&block1);
    7745             :   }
    7746             : 
    7747         728 :   if (block5.is_used()) {
    7748             :     compiler::TNode<Context> tmp14;
    7749             :     compiler::TNode<Object> tmp15;
    7750             :     compiler::TNode<HeapObject> tmp16;
    7751             :     compiler::TNode<JSReceiver> tmp17;
    7752             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    7753             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    7754             :   }
    7755             : 
    7756         728 :   if (block2.is_used()) {
    7757             :     compiler::TNode<Context> tmp18;
    7758             :     compiler::TNode<Object> tmp19;
    7759             :     compiler::TNode<JSReceiver> tmp20;
    7760             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    7761             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    7762             :   }
    7763             : 
    7764         728 :   if (block1.is_used()) {
    7765             :     ca_.Bind(&block1);
    7766         728 :     ca_.Goto(label_CastError);
    7767             :   }
    7768             : 
    7769             :     compiler::TNode<Context> tmp21;
    7770             :     compiler::TNode<Object> tmp22;
    7771             :     compiler::TNode<JSReceiver> tmp23;
    7772             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    7773        1456 :   return compiler::TNode<JSReceiver>{tmp23};
    7774             : }
    7775             : 
    7776         504 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::Cast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    7777         504 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7778             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7779             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7780             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7781             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7782             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7783             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7784             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7785             :     ca_.Goto(&block0, p_context, p_o);
    7786             : 
    7787         504 :   if (block0.is_used()) {
    7788             :     compiler::TNode<Context> tmp0;
    7789             :     compiler::TNode<Object> tmp1;
    7790             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7791             :     compiler::TNode<HeapObject> tmp2;
    7792             :     USE(tmp2);
    7793             :     compiler::CodeAssemblerLabel label0(&ca_);
    7794        1008 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    7795             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    7796         504 :     if (label0.is_used()) {
    7797         504 :       ca_.Bind(&label0);
    7798             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    7799         504 :     }
    7800             :   }
    7801             : 
    7802         504 :   if (block4.is_used()) {
    7803             :     compiler::TNode<Context> tmp3;
    7804             :     compiler::TNode<Object> tmp4;
    7805             :     compiler::TNode<Object> tmp5;
    7806             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    7807             :     ca_.Goto(&block1);
    7808             :   }
    7809             : 
    7810         504 :   if (block3.is_used()) {
    7811             :     compiler::TNode<Context> tmp6;
    7812             :     compiler::TNode<Object> tmp7;
    7813             :     compiler::TNode<Object> tmp8;
    7814             :     compiler::TNode<HeapObject> tmp9;
    7815             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    7816             :     compiler::TNode<JSReceiver> tmp10;
    7817             :     USE(tmp10);
    7818             :     compiler::CodeAssemblerLabel label0(&ca_);
    7819        1512 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<HeapObject>{tmp9}, &label0);
    7820             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    7821         504 :     if (label0.is_used()) {
    7822         504 :       ca_.Bind(&label0);
    7823             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    7824         504 :     }
    7825             :   }
    7826             : 
    7827         504 :   if (block6.is_used()) {
    7828             :     compiler::TNode<Context> tmp11;
    7829             :     compiler::TNode<Object> tmp12;
    7830             :     compiler::TNode<HeapObject> tmp13;
    7831             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    7832             :     ca_.Goto(&block1);
    7833             :   }
    7834             : 
    7835         504 :   if (block5.is_used()) {
    7836             :     compiler::TNode<Context> tmp14;
    7837             :     compiler::TNode<Object> tmp15;
    7838             :     compiler::TNode<HeapObject> tmp16;
    7839             :     compiler::TNode<JSReceiver> tmp17;
    7840             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    7841             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    7842             :   }
    7843             : 
    7844         504 :   if (block2.is_used()) {
    7845             :     compiler::TNode<Context> tmp18;
    7846             :     compiler::TNode<Object> tmp19;
    7847             :     compiler::TNode<JSReceiver> tmp20;
    7848             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    7849             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    7850             :   }
    7851             : 
    7852         504 :   if (block1.is_used()) {
    7853             :     ca_.Bind(&block1);
    7854         504 :     ca_.Goto(label_CastError);
    7855             :   }
    7856             : 
    7857             :     compiler::TNode<Context> tmp21;
    7858             :     compiler::TNode<Object> tmp22;
    7859             :     compiler::TNode<JSReceiver> tmp23;
    7860             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    7861        1008 :   return compiler::TNode<JSReceiver>{tmp23};
    7862             : }
    7863             : 
    7864         448 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::UnsafeCast7JSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    7865         448 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7866             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7867             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7868             :     ca_.Goto(&block0, p_context, p_o);
    7869             : 
    7870         448 :   if (block0.is_used()) {
    7871             :     compiler::TNode<Context> tmp0;
    7872             :     compiler::TNode<Object> tmp1;
    7873             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7874             :     compiler::TNode<JSArray> tmp2;
    7875             :     USE(tmp2);
    7876             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    7877             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    7878             :   }
    7879             : 
    7880         448 :   if (block1.is_used()) {
    7881             :     compiler::TNode<Context> tmp3;
    7882             :     compiler::TNode<Object> tmp4;
    7883             :     compiler::TNode<JSArray> tmp5;
    7884             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    7885             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    7886             :   }
    7887             : 
    7888             :     compiler::TNode<Context> tmp6;
    7889             :     compiler::TNode<Object> tmp7;
    7890             :     compiler::TNode<JSArray> tmp8;
    7891             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    7892         896 :   return compiler::TNode<JSArray>{tmp8};
    7893             : }
    7894             : 
    7895         280 : compiler::TNode<NumberDictionary> BaseBuiltinsFromDSLAssembler::UnsafeCast18ATNumberDictionary(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    7896         280 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7897             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, NumberDictionary> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7898             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, NumberDictionary> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7899             :     ca_.Goto(&block0, p_context, p_o);
    7900             : 
    7901         280 :   if (block0.is_used()) {
    7902             :     compiler::TNode<Context> tmp0;
    7903             :     compiler::TNode<Object> tmp1;
    7904             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7905             :     compiler::TNode<NumberDictionary> tmp2;
    7906             :     USE(tmp2);
    7907             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    7908             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    7909             :   }
    7910             : 
    7911         280 :   if (block1.is_used()) {
    7912             :     compiler::TNode<Context> tmp3;
    7913             :     compiler::TNode<Object> tmp4;
    7914             :     compiler::TNode<NumberDictionary> tmp5;
    7915             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    7916             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    7917             :   }
    7918             : 
    7919             :     compiler::TNode<Context> tmp6;
    7920             :     compiler::TNode<Object> tmp7;
    7921             :     compiler::TNode<NumberDictionary> tmp8;
    7922             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    7923         560 :   return compiler::TNode<NumberDictionary>{tmp8};
    7924             : }
    7925             : 
    7926        2744 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::UnsafeCast12ATFixedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    7927        2744 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7928             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7929             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7930             :     ca_.Goto(&block0, p_context, p_o);
    7931             : 
    7932        2744 :   if (block0.is_used()) {
    7933             :     compiler::TNode<Context> tmp0;
    7934             :     compiler::TNode<Object> tmp1;
    7935             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7936             :     compiler::TNode<FixedArray> tmp2;
    7937             :     USE(tmp2);
    7938             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    7939             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    7940             :   }
    7941             : 
    7942        2744 :   if (block1.is_used()) {
    7943             :     compiler::TNode<Context> tmp3;
    7944             :     compiler::TNode<Object> tmp4;
    7945             :     compiler::TNode<FixedArray> tmp5;
    7946             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    7947             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    7948             :   }
    7949             : 
    7950             :     compiler::TNode<Context> tmp6;
    7951             :     compiler::TNode<Object> tmp7;
    7952             :     compiler::TNode<FixedArray> tmp8;
    7953             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    7954        5488 :   return compiler::TNode<FixedArray>{tmp8};
    7955             : }
    7956             : 
    7957        6786 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::UnsafeCast5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    7958        6786 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7959             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7960             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7961             :     ca_.Goto(&block0, p_context, p_o);
    7962             : 
    7963        6786 :   if (block0.is_used()) {
    7964             :     compiler::TNode<Context> tmp0;
    7965             :     compiler::TNode<Object> tmp1;
    7966             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7967             :     compiler::TNode<Smi> tmp2;
    7968             :     USE(tmp2);
    7969             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    7970             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    7971             :   }
    7972             : 
    7973        6786 :   if (block1.is_used()) {
    7974             :     compiler::TNode<Context> tmp3;
    7975             :     compiler::TNode<Object> tmp4;
    7976             :     compiler::TNode<Smi> tmp5;
    7977             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    7978             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    7979             :   }
    7980             : 
    7981             :     compiler::TNode<Context> tmp6;
    7982             :     compiler::TNode<Object> tmp7;
    7983             :     compiler::TNode<Smi> tmp8;
    7984             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    7985       13572 :   return compiler::TNode<Smi>{tmp8};
    7986             : }
    7987             : 
    7988         784 : compiler::TNode<FixedDoubleArray> BaseBuiltinsFromDSLAssembler::UnsafeCast18ATFixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    7989         784 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7990             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedDoubleArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7991             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedDoubleArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    7992             :     ca_.Goto(&block0, p_context, p_o);
    7993             : 
    7994         784 :   if (block0.is_used()) {
    7995             :     compiler::TNode<Context> tmp0;
    7996             :     compiler::TNode<Object> tmp1;
    7997             :     ca_.Bind(&block0, &tmp0, &tmp1);
    7998             :     compiler::TNode<FixedDoubleArray> tmp2;
    7999             :     USE(tmp2);
    8000             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    8001             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    8002             :   }
    8003             : 
    8004         784 :   if (block1.is_used()) {
    8005             :     compiler::TNode<Context> tmp3;
    8006             :     compiler::TNode<Object> tmp4;
    8007             :     compiler::TNode<FixedDoubleArray> tmp5;
    8008             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    8009             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    8010             :   }
    8011             : 
    8012             :     compiler::TNode<Context> tmp6;
    8013             :     compiler::TNode<Object> tmp7;
    8014             :     compiler::TNode<FixedDoubleArray> tmp8;
    8015             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    8016        1568 :   return compiler::TNode<FixedDoubleArray>{tmp8};
    8017             : }
    8018             : 
    8019         728 : compiler::TNode<JSTypedArray> BaseBuiltinsFromDSLAssembler::UnsafeCast14ATJSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    8020         728 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8021             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSTypedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8022             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSTypedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8023             :     ca_.Goto(&block0, p_context, p_o);
    8024             : 
    8025         728 :   if (block0.is_used()) {
    8026             :     compiler::TNode<Context> tmp0;
    8027             :     compiler::TNode<Object> tmp1;
    8028             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8029             :     compiler::TNode<JSTypedArray> tmp2;
    8030             :     USE(tmp2);
    8031             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    8032             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    8033             :   }
    8034             : 
    8035         728 :   if (block1.is_used()) {
    8036             :     compiler::TNode<Context> tmp3;
    8037             :     compiler::TNode<Object> tmp4;
    8038             :     compiler::TNode<JSTypedArray> tmp5;
    8039             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    8040             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    8041             :   }
    8042             : 
    8043             :     compiler::TNode<Context> tmp6;
    8044             :     compiler::TNode<Object> tmp7;
    8045             :     compiler::TNode<JSTypedArray> tmp8;
    8046             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    8047        1456 :   return compiler::TNode<JSTypedArray>{tmp8};
    8048             : }
    8049             : 
    8050         336 : compiler::TNode<String> BaseBuiltinsFromDSLAssembler::Cast8ATString(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    8051         336 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8052             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8053             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8054             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8055             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, String> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8056             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, String> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8057             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8058             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, String> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8059             :     ca_.Goto(&block0, p_context, p_o);
    8060             : 
    8061         336 :   if (block0.is_used()) {
    8062             :     compiler::TNode<Context> tmp0;
    8063             :     compiler::TNode<Object> tmp1;
    8064             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8065             :     compiler::TNode<HeapObject> tmp2;
    8066             :     USE(tmp2);
    8067             :     compiler::CodeAssemblerLabel label0(&ca_);
    8068         672 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    8069             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    8070         336 :     if (label0.is_used()) {
    8071         336 :       ca_.Bind(&label0);
    8072             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    8073         336 :     }
    8074             :   }
    8075             : 
    8076         336 :   if (block4.is_used()) {
    8077             :     compiler::TNode<Context> tmp3;
    8078             :     compiler::TNode<Object> tmp4;
    8079             :     compiler::TNode<Object> tmp5;
    8080             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    8081             :     ca_.Goto(&block1);
    8082             :   }
    8083             : 
    8084         336 :   if (block3.is_used()) {
    8085             :     compiler::TNode<Context> tmp6;
    8086             :     compiler::TNode<Object> tmp7;
    8087             :     compiler::TNode<Object> tmp8;
    8088             :     compiler::TNode<HeapObject> tmp9;
    8089             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    8090             :     compiler::TNode<String> tmp10;
    8091             :     USE(tmp10);
    8092             :     compiler::CodeAssemblerLabel label0(&ca_);
    8093        1008 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject8ATString(compiler::TNode<HeapObject>{tmp9}, &label0);
    8094             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    8095         336 :     if (label0.is_used()) {
    8096         336 :       ca_.Bind(&label0);
    8097             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    8098         336 :     }
    8099             :   }
    8100             : 
    8101         336 :   if (block6.is_used()) {
    8102             :     compiler::TNode<Context> tmp11;
    8103             :     compiler::TNode<Object> tmp12;
    8104             :     compiler::TNode<HeapObject> tmp13;
    8105             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    8106             :     ca_.Goto(&block1);
    8107             :   }
    8108             : 
    8109         336 :   if (block5.is_used()) {
    8110             :     compiler::TNode<Context> tmp14;
    8111             :     compiler::TNode<Object> tmp15;
    8112             :     compiler::TNode<HeapObject> tmp16;
    8113             :     compiler::TNode<String> tmp17;
    8114             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    8115             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    8116             :   }
    8117             : 
    8118         336 :   if (block2.is_used()) {
    8119             :     compiler::TNode<Context> tmp18;
    8120             :     compiler::TNode<Object> tmp19;
    8121             :     compiler::TNode<String> tmp20;
    8122             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    8123             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    8124             :   }
    8125             : 
    8126         336 :   if (block1.is_used()) {
    8127             :     ca_.Bind(&block1);
    8128         336 :     ca_.Goto(label_CastError);
    8129             :   }
    8130             : 
    8131             :     compiler::TNode<Context> tmp21;
    8132             :     compiler::TNode<Object> tmp22;
    8133             :     compiler::TNode<String> tmp23;
    8134             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    8135         672 :   return compiler::TNode<String>{tmp23};
    8136             : }
    8137             : 
    8138         168 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Cast7JSArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    8139         168 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8140             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8141             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8142             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8143             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8144             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8145             :     ca_.Goto(&block0, p_context, p_o);
    8146             : 
    8147         168 :   if (block0.is_used()) {
    8148             :     compiler::TNode<Context> tmp0;
    8149             :     compiler::TNode<HeapObject> tmp1;
    8150             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8151             :     compiler::TNode<JSArray> tmp2;
    8152             :     USE(tmp2);
    8153             :     compiler::CodeAssemblerLabel label0(&ca_);
    8154         504 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject7JSArray(compiler::TNode<HeapObject>{tmp1}, &label0);
    8155             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    8156         168 :     if (label0.is_used()) {
    8157         168 :       ca_.Bind(&label0);
    8158             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    8159         168 :     }
    8160             :   }
    8161             : 
    8162         168 :   if (block4.is_used()) {
    8163             :     compiler::TNode<Context> tmp3;
    8164             :     compiler::TNode<HeapObject> tmp4;
    8165             :     compiler::TNode<HeapObject> tmp5;
    8166             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    8167             :     ca_.Goto(&block1);
    8168             :   }
    8169             : 
    8170         168 :   if (block3.is_used()) {
    8171             :     compiler::TNode<Context> tmp6;
    8172             :     compiler::TNode<HeapObject> tmp7;
    8173             :     compiler::TNode<HeapObject> tmp8;
    8174             :     compiler::TNode<JSArray> tmp9;
    8175             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    8176             :     ca_.Goto(&block2, tmp6, tmp7, tmp9);
    8177             :   }
    8178             : 
    8179         168 :   if (block2.is_used()) {
    8180             :     compiler::TNode<Context> tmp10;
    8181             :     compiler::TNode<HeapObject> tmp11;
    8182             :     compiler::TNode<JSArray> tmp12;
    8183             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
    8184             :     ca_.Goto(&block5, tmp10, tmp11, tmp12);
    8185             :   }
    8186             : 
    8187         168 :   if (block1.is_used()) {
    8188             :     ca_.Bind(&block1);
    8189         168 :     ca_.Goto(label_CastError);
    8190             :   }
    8191             : 
    8192             :     compiler::TNode<Context> tmp13;
    8193             :     compiler::TNode<HeapObject> tmp14;
    8194             :     compiler::TNode<JSArray> tmp15;
    8195             :     ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
    8196         336 :   return compiler::TNode<JSArray>{tmp15};
    8197             : }
    8198             : 
    8199         728 : compiler::TNode<HeapObject> BaseBuiltinsFromDSLAssembler::UnsafeCast10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    8200         728 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8201             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8202             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8203             :     ca_.Goto(&block0, p_context, p_o);
    8204             : 
    8205         728 :   if (block0.is_used()) {
    8206             :     compiler::TNode<Context> tmp0;
    8207             :     compiler::TNode<Object> tmp1;
    8208             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8209             :     compiler::TNode<HeapObject> tmp2;
    8210             :     USE(tmp2);
    8211             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    8212             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    8213             :   }
    8214             : 
    8215         728 :   if (block1.is_used()) {
    8216             :     compiler::TNode<Context> tmp3;
    8217             :     compiler::TNode<Object> tmp4;
    8218             :     compiler::TNode<HeapObject> tmp5;
    8219             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    8220             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    8221             :   }
    8222             : 
    8223             :     compiler::TNode<Context> tmp6;
    8224             :     compiler::TNode<Object> tmp7;
    8225             :     compiler::TNode<HeapObject> tmp8;
    8226             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    8227        1456 :   return compiler::TNode<HeapObject>{tmp8};
    8228             : }
    8229             : 
    8230          56 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::Cast13ATConstructor(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    8231          56 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8232             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8233             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8234             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8235             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8236             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8237             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8238             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8239             :     ca_.Goto(&block0, p_context, p_o);
    8240             : 
    8241          56 :   if (block0.is_used()) {
    8242             :     compiler::TNode<Context> tmp0;
    8243             :     compiler::TNode<Object> tmp1;
    8244             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8245             :     compiler::TNode<HeapObject> tmp2;
    8246             :     USE(tmp2);
    8247             :     compiler::CodeAssemblerLabel label0(&ca_);
    8248         112 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    8249             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    8250          56 :     if (label0.is_used()) {
    8251          56 :       ca_.Bind(&label0);
    8252             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    8253          56 :     }
    8254             :   }
    8255             : 
    8256          56 :   if (block4.is_used()) {
    8257             :     compiler::TNode<Context> tmp3;
    8258             :     compiler::TNode<Object> tmp4;
    8259             :     compiler::TNode<Object> tmp5;
    8260             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    8261             :     ca_.Goto(&block1);
    8262             :   }
    8263             : 
    8264          56 :   if (block3.is_used()) {
    8265             :     compiler::TNode<Context> tmp6;
    8266             :     compiler::TNode<Object> tmp7;
    8267             :     compiler::TNode<Object> tmp8;
    8268             :     compiler::TNode<HeapObject> tmp9;
    8269             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    8270             :     compiler::TNode<JSReceiver> tmp10;
    8271             :     USE(tmp10);
    8272             :     compiler::CodeAssemblerLabel label0(&ca_);
    8273         168 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject13ATConstructor(compiler::TNode<HeapObject>{tmp9}, &label0);
    8274             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    8275          56 :     if (label0.is_used()) {
    8276          56 :       ca_.Bind(&label0);
    8277             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    8278          56 :     }
    8279             :   }
    8280             : 
    8281          56 :   if (block6.is_used()) {
    8282             :     compiler::TNode<Context> tmp11;
    8283             :     compiler::TNode<Object> tmp12;
    8284             :     compiler::TNode<HeapObject> tmp13;
    8285             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    8286             :     ca_.Goto(&block1);
    8287             :   }
    8288             : 
    8289          56 :   if (block5.is_used()) {
    8290             :     compiler::TNode<Context> tmp14;
    8291             :     compiler::TNode<Object> tmp15;
    8292             :     compiler::TNode<HeapObject> tmp16;
    8293             :     compiler::TNode<JSReceiver> tmp17;
    8294             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    8295             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    8296             :   }
    8297             : 
    8298          56 :   if (block2.is_used()) {
    8299             :     compiler::TNode<Context> tmp18;
    8300             :     compiler::TNode<Object> tmp19;
    8301             :     compiler::TNode<JSReceiver> tmp20;
    8302             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    8303             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    8304             :   }
    8305             : 
    8306          56 :   if (block1.is_used()) {
    8307             :     ca_.Bind(&block1);
    8308          56 :     ca_.Goto(label_CastError);
    8309             :   }
    8310             : 
    8311             :     compiler::TNode<Context> tmp21;
    8312             :     compiler::TNode<Object> tmp22;
    8313             :     compiler::TNode<JSReceiver> tmp23;
    8314             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    8315         112 :   return compiler::TNode<JSReceiver>{tmp23};
    8316             : }
    8317             : 
    8318        1344 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Cast13ATFastJSArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    8319        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8320             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8321             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8322             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8323             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8324             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8325             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8326             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8327             :     ca_.Goto(&block0, p_context, p_o);
    8328             : 
    8329        1344 :   if (block0.is_used()) {
    8330             :     compiler::TNode<Context> tmp0;
    8331             :     compiler::TNode<Object> tmp1;
    8332             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8333             :     compiler::TNode<HeapObject> tmp2;
    8334             :     USE(tmp2);
    8335             :     compiler::CodeAssemblerLabel label0(&ca_);
    8336        2688 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    8337             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    8338        1344 :     if (label0.is_used()) {
    8339        1344 :       ca_.Bind(&label0);
    8340             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    8341        1344 :     }
    8342             :   }
    8343             : 
    8344        1344 :   if (block4.is_used()) {
    8345             :     compiler::TNode<Context> tmp3;
    8346             :     compiler::TNode<Object> tmp4;
    8347             :     compiler::TNode<Object> tmp5;
    8348             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    8349             :     ca_.Goto(&block1);
    8350             :   }
    8351             : 
    8352        1344 :   if (block3.is_used()) {
    8353             :     compiler::TNode<Context> tmp6;
    8354             :     compiler::TNode<Object> tmp7;
    8355             :     compiler::TNode<Object> tmp8;
    8356             :     compiler::TNode<HeapObject> tmp9;
    8357             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    8358             :     compiler::TNode<JSArray> tmp10;
    8359             :     USE(tmp10);
    8360             :     compiler::CodeAssemblerLabel label0(&ca_);
    8361        4032 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject13ATFastJSArray(compiler::TNode<Context>{tmp6}, compiler::TNode<HeapObject>{tmp9}, &label0);
    8362             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    8363        1344 :     if (label0.is_used()) {
    8364        1344 :       ca_.Bind(&label0);
    8365             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    8366        1344 :     }
    8367             :   }
    8368             : 
    8369        1344 :   if (block6.is_used()) {
    8370             :     compiler::TNode<Context> tmp11;
    8371             :     compiler::TNode<Object> tmp12;
    8372             :     compiler::TNode<HeapObject> tmp13;
    8373             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    8374             :     ca_.Goto(&block1);
    8375             :   }
    8376             : 
    8377        1344 :   if (block5.is_used()) {
    8378             :     compiler::TNode<Context> tmp14;
    8379             :     compiler::TNode<Object> tmp15;
    8380             :     compiler::TNode<HeapObject> tmp16;
    8381             :     compiler::TNode<JSArray> tmp17;
    8382             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    8383             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    8384             :   }
    8385             : 
    8386        1344 :   if (block2.is_used()) {
    8387             :     compiler::TNode<Context> tmp18;
    8388             :     compiler::TNode<Object> tmp19;
    8389             :     compiler::TNode<JSArray> tmp20;
    8390             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    8391             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    8392             :   }
    8393             : 
    8394        1344 :   if (block1.is_used()) {
    8395             :     ca_.Bind(&block1);
    8396        1344 :     ca_.Goto(label_CastError);
    8397             :   }
    8398             : 
    8399             :     compiler::TNode<Context> tmp21;
    8400             :     compiler::TNode<Object> tmp22;
    8401             :     compiler::TNode<JSArray> tmp23;
    8402             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    8403        2688 :   return compiler::TNode<JSArray>{tmp23};
    8404             : }
    8405             : 
    8406          56 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::Cast25ATSloppyArgumentsElements(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    8407          56 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8408             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8409             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, FixedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8410             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8411             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8412             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8413             :     ca_.Goto(&block0, p_context, p_o);
    8414             : 
    8415          56 :   if (block0.is_used()) {
    8416             :     compiler::TNode<Context> tmp0;
    8417             :     compiler::TNode<HeapObject> tmp1;
    8418             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8419             :     compiler::TNode<FixedArray> tmp2;
    8420             :     USE(tmp2);
    8421             :     compiler::CodeAssemblerLabel label0(&ca_);
    8422         168 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject25ATSloppyArgumentsElements(compiler::TNode<HeapObject>{tmp1}, &label0);
    8423             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    8424          56 :     if (label0.is_used()) {
    8425          56 :       ca_.Bind(&label0);
    8426             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    8427          56 :     }
    8428             :   }
    8429             : 
    8430          56 :   if (block4.is_used()) {
    8431             :     compiler::TNode<Context> tmp3;
    8432             :     compiler::TNode<HeapObject> tmp4;
    8433             :     compiler::TNode<HeapObject> tmp5;
    8434             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    8435             :     ca_.Goto(&block1);
    8436             :   }
    8437             : 
    8438          56 :   if (block3.is_used()) {
    8439             :     compiler::TNode<Context> tmp6;
    8440             :     compiler::TNode<HeapObject> tmp7;
    8441             :     compiler::TNode<HeapObject> tmp8;
    8442             :     compiler::TNode<FixedArray> tmp9;
    8443             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    8444             :     ca_.Goto(&block2, tmp6, tmp7, tmp9);
    8445             :   }
    8446             : 
    8447          56 :   if (block2.is_used()) {
    8448             :     compiler::TNode<Context> tmp10;
    8449             :     compiler::TNode<HeapObject> tmp11;
    8450             :     compiler::TNode<FixedArray> tmp12;
    8451             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
    8452             :     ca_.Goto(&block5, tmp10, tmp11, tmp12);
    8453             :   }
    8454             : 
    8455          56 :   if (block1.is_used()) {
    8456             :     ca_.Bind(&block1);
    8457          56 :     ca_.Goto(label_CastError);
    8458             :   }
    8459             : 
    8460             :     compiler::TNode<Context> tmp13;
    8461             :     compiler::TNode<HeapObject> tmp14;
    8462             :     compiler::TNode<FixedArray> tmp15;
    8463             :     ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
    8464         112 :   return compiler::TNode<FixedArray>{tmp15};
    8465             : }
    8466             : 
    8467          71 : compiler::TNode<FixedArray> BaseBuiltinsFromDSLAssembler::Cast12ATFixedArray(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    8468          71 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8469             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8470             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8471             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8472             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, FixedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8473             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8474             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8475             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8476             :     ca_.Goto(&block0, p_context, p_o);
    8477             : 
    8478          71 :   if (block0.is_used()) {
    8479             :     compiler::TNode<Context> tmp0;
    8480             :     compiler::TNode<Object> tmp1;
    8481             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8482             :     compiler::TNode<HeapObject> tmp2;
    8483             :     USE(tmp2);
    8484             :     compiler::CodeAssemblerLabel label0(&ca_);
    8485         142 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    8486             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    8487          71 :     if (label0.is_used()) {
    8488          71 :       ca_.Bind(&label0);
    8489             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    8490          71 :     }
    8491             :   }
    8492             : 
    8493          71 :   if (block4.is_used()) {
    8494             :     compiler::TNode<Context> tmp3;
    8495             :     compiler::TNode<Object> tmp4;
    8496             :     compiler::TNode<Object> tmp5;
    8497             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    8498             :     ca_.Goto(&block1);
    8499             :   }
    8500             : 
    8501          71 :   if (block3.is_used()) {
    8502             :     compiler::TNode<Context> tmp6;
    8503             :     compiler::TNode<Object> tmp7;
    8504             :     compiler::TNode<Object> tmp8;
    8505             :     compiler::TNode<HeapObject> tmp9;
    8506             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    8507             :     compiler::TNode<FixedArray> tmp10;
    8508             :     USE(tmp10);
    8509             :     compiler::CodeAssemblerLabel label0(&ca_);
    8510         213 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject12ATFixedArray(compiler::TNode<HeapObject>{tmp9}, &label0);
    8511             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    8512          71 :     if (label0.is_used()) {
    8513          71 :       ca_.Bind(&label0);
    8514             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    8515          71 :     }
    8516             :   }
    8517             : 
    8518          71 :   if (block6.is_used()) {
    8519             :     compiler::TNode<Context> tmp11;
    8520             :     compiler::TNode<Object> tmp12;
    8521             :     compiler::TNode<HeapObject> tmp13;
    8522             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    8523             :     ca_.Goto(&block1);
    8524             :   }
    8525             : 
    8526          71 :   if (block5.is_used()) {
    8527             :     compiler::TNode<Context> tmp14;
    8528             :     compiler::TNode<Object> tmp15;
    8529             :     compiler::TNode<HeapObject> tmp16;
    8530             :     compiler::TNode<FixedArray> tmp17;
    8531             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    8532             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    8533             :   }
    8534             : 
    8535          71 :   if (block2.is_used()) {
    8536             :     compiler::TNode<Context> tmp18;
    8537             :     compiler::TNode<Object> tmp19;
    8538             :     compiler::TNode<FixedArray> tmp20;
    8539             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    8540             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    8541             :   }
    8542             : 
    8543          71 :   if (block1.is_used()) {
    8544             :     ca_.Bind(&block1);
    8545          71 :     ca_.Goto(label_CastError);
    8546             :   }
    8547             : 
    8548             :     compiler::TNode<Context> tmp21;
    8549             :     compiler::TNode<Object> tmp22;
    8550             :     compiler::TNode<FixedArray> tmp23;
    8551             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    8552         142 :   return compiler::TNode<FixedArray>{tmp23};
    8553             : }
    8554             : 
    8555          56 : compiler::TNode<Context> BaseBuiltinsFromDSLAssembler::UnsafeCast9ATContext(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    8556          56 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8557             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Context> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8558             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Context> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8559             :     ca_.Goto(&block0, p_context, p_o);
    8560             : 
    8561          56 :   if (block0.is_used()) {
    8562             :     compiler::TNode<Context> tmp0;
    8563             :     compiler::TNode<Object> tmp1;
    8564             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8565             :     compiler::TNode<Context> tmp2;
    8566             :     USE(tmp2);
    8567             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    8568             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    8569             :   }
    8570             : 
    8571          56 :   if (block1.is_used()) {
    8572             :     compiler::TNode<Context> tmp3;
    8573             :     compiler::TNode<Object> tmp4;
    8574             :     compiler::TNode<Context> tmp5;
    8575             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    8576             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    8577             :   }
    8578             : 
    8579             :     compiler::TNode<Context> tmp6;
    8580             :     compiler::TNode<Object> tmp7;
    8581             :     compiler::TNode<Context> tmp8;
    8582             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    8583         112 :   return compiler::TNode<Context>{tmp8};
    8584             : }
    8585             : 
    8586         112 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Cast20ATFastJSArrayForCopy(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    8587         112 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8588             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8589             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8590             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8591             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8592             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8593             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8594             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8595             :     ca_.Goto(&block0, p_context, p_o);
    8596             : 
    8597         112 :   if (block0.is_used()) {
    8598             :     compiler::TNode<Context> tmp0;
    8599             :     compiler::TNode<Object> tmp1;
    8600             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8601             :     compiler::TNode<HeapObject> tmp2;
    8602             :     USE(tmp2);
    8603             :     compiler::CodeAssemblerLabel label0(&ca_);
    8604         224 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    8605             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    8606         112 :     if (label0.is_used()) {
    8607         112 :       ca_.Bind(&label0);
    8608             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    8609         112 :     }
    8610             :   }
    8611             : 
    8612         112 :   if (block4.is_used()) {
    8613             :     compiler::TNode<Context> tmp3;
    8614             :     compiler::TNode<Object> tmp4;
    8615             :     compiler::TNode<Object> tmp5;
    8616             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    8617             :     ca_.Goto(&block1);
    8618             :   }
    8619             : 
    8620         112 :   if (block3.is_used()) {
    8621             :     compiler::TNode<Context> tmp6;
    8622             :     compiler::TNode<Object> tmp7;
    8623             :     compiler::TNode<Object> tmp8;
    8624             :     compiler::TNode<HeapObject> tmp9;
    8625             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    8626             :     compiler::TNode<JSArray> tmp10;
    8627             :     USE(tmp10);
    8628             :     compiler::CodeAssemblerLabel label0(&ca_);
    8629         336 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject20ATFastJSArrayForCopy(compiler::TNode<Context>{tmp6}, compiler::TNode<HeapObject>{tmp9}, &label0);
    8630             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    8631         112 :     if (label0.is_used()) {
    8632         112 :       ca_.Bind(&label0);
    8633             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    8634         112 :     }
    8635             :   }
    8636             : 
    8637         112 :   if (block6.is_used()) {
    8638             :     compiler::TNode<Context> tmp11;
    8639             :     compiler::TNode<Object> tmp12;
    8640             :     compiler::TNode<HeapObject> tmp13;
    8641             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    8642             :     ca_.Goto(&block1);
    8643             :   }
    8644             : 
    8645         112 :   if (block5.is_used()) {
    8646             :     compiler::TNode<Context> tmp14;
    8647             :     compiler::TNode<Object> tmp15;
    8648             :     compiler::TNode<HeapObject> tmp16;
    8649             :     compiler::TNode<JSArray> tmp17;
    8650             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    8651             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    8652             :   }
    8653             : 
    8654         112 :   if (block2.is_used()) {
    8655             :     compiler::TNode<Context> tmp18;
    8656             :     compiler::TNode<Object> tmp19;
    8657             :     compiler::TNode<JSArray> tmp20;
    8658             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    8659             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    8660             :   }
    8661             : 
    8662         112 :   if (block1.is_used()) {
    8663             :     ca_.Bind(&block1);
    8664         112 :     ca_.Goto(label_CastError);
    8665             :   }
    8666             : 
    8667             :     compiler::TNode<Context> tmp21;
    8668             :     compiler::TNode<Object> tmp22;
    8669             :     compiler::TNode<JSArray> tmp23;
    8670             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    8671         224 :   return compiler::TNode<JSArray>{tmp23};
    8672             : }
    8673             : 
    8674         336 : compiler::TNode<Smi> BaseBuiltinsFromDSLAssembler::Convert5ATSmi17ATconstexpr_int31(int31_t p_i) {
    8675         336 :   compiler::CodeAssemblerParameterizedLabel<> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8676             :   compiler::CodeAssemblerParameterizedLabel<Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8677             :   compiler::CodeAssemblerParameterizedLabel<Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8678             :     ca_.Goto(&block0);
    8679             : 
    8680         336 :   if (block0.is_used()) {
    8681             :     ca_.Bind(&block0);
    8682             :     compiler::TNode<Smi> tmp0;
    8683             :     USE(tmp0);
    8684        1008 :     tmp0 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(p_i));
    8685             :     ca_.Goto(&block1, tmp0);
    8686             :   }
    8687             : 
    8688         336 :   if (block1.is_used()) {
    8689             :     compiler::TNode<Smi> tmp1;
    8690             :     ca_.Bind(&block1, &tmp1);
    8691             :     ca_.Goto(&block2, tmp1);
    8692             :   }
    8693             : 
    8694             :     compiler::TNode<Smi> tmp2;
    8695             :     ca_.Bind(&block2, &tmp2);
    8696         672 :   return compiler::TNode<Smi>{tmp2};
    8697             : }
    8698             : 
    8699        1288 : compiler::TNode<JSDataView> BaseBuiltinsFromDSLAssembler::Cast12ATJSDataView(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    8700        1288 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8701             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8702             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8703             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8704             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSDataView> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8705             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSDataView> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8706             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8707             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSDataView> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8708             :     ca_.Goto(&block0, p_context, p_o);
    8709             : 
    8710        1288 :   if (block0.is_used()) {
    8711             :     compiler::TNode<Context> tmp0;
    8712             :     compiler::TNode<Object> tmp1;
    8713             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8714             :     compiler::TNode<HeapObject> tmp2;
    8715             :     USE(tmp2);
    8716             :     compiler::CodeAssemblerLabel label0(&ca_);
    8717        2576 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    8718             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    8719        1288 :     if (label0.is_used()) {
    8720        1288 :       ca_.Bind(&label0);
    8721             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    8722        1288 :     }
    8723             :   }
    8724             : 
    8725        1288 :   if (block4.is_used()) {
    8726             :     compiler::TNode<Context> tmp3;
    8727             :     compiler::TNode<Object> tmp4;
    8728             :     compiler::TNode<Object> tmp5;
    8729             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    8730             :     ca_.Goto(&block1);
    8731             :   }
    8732             : 
    8733        1288 :   if (block3.is_used()) {
    8734             :     compiler::TNode<Context> tmp6;
    8735             :     compiler::TNode<Object> tmp7;
    8736             :     compiler::TNode<Object> tmp8;
    8737             :     compiler::TNode<HeapObject> tmp9;
    8738             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    8739             :     compiler::TNode<JSDataView> tmp10;
    8740             :     USE(tmp10);
    8741             :     compiler::CodeAssemblerLabel label0(&ca_);
    8742        3864 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject12ATJSDataView(compiler::TNode<HeapObject>{tmp9}, &label0);
    8743             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    8744        1288 :     if (label0.is_used()) {
    8745        1288 :       ca_.Bind(&label0);
    8746             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    8747        1288 :     }
    8748             :   }
    8749             : 
    8750        1288 :   if (block6.is_used()) {
    8751             :     compiler::TNode<Context> tmp11;
    8752             :     compiler::TNode<Object> tmp12;
    8753             :     compiler::TNode<HeapObject> tmp13;
    8754             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    8755             :     ca_.Goto(&block1);
    8756             :   }
    8757             : 
    8758        1288 :   if (block5.is_used()) {
    8759             :     compiler::TNode<Context> tmp14;
    8760             :     compiler::TNode<Object> tmp15;
    8761             :     compiler::TNode<HeapObject> tmp16;
    8762             :     compiler::TNode<JSDataView> tmp17;
    8763             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    8764             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    8765             :   }
    8766             : 
    8767        1288 :   if (block2.is_used()) {
    8768             :     compiler::TNode<Context> tmp18;
    8769             :     compiler::TNode<Object> tmp19;
    8770             :     compiler::TNode<JSDataView> tmp20;
    8771             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    8772             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    8773             :   }
    8774             : 
    8775        1288 :   if (block1.is_used()) {
    8776             :     ca_.Bind(&block1);
    8777        1288 :     ca_.Goto(label_CastError);
    8778             :   }
    8779             : 
    8780             :     compiler::TNode<Context> tmp21;
    8781             :     compiler::TNode<Object> tmp22;
    8782             :     compiler::TNode<JSDataView> tmp23;
    8783             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    8784        2576 :   return compiler::TNode<JSDataView>{tmp23};
    8785             : }
    8786             : 
    8787         112 : compiler::TNode<Map> BaseBuiltinsFromDSLAssembler::Cast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    8788         112 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8789             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8790             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, Map> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8791             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8792             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8793             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8794             :     ca_.Goto(&block0, p_context, p_o);
    8795             : 
    8796         112 :   if (block0.is_used()) {
    8797             :     compiler::TNode<Context> tmp0;
    8798             :     compiler::TNode<HeapObject> tmp1;
    8799             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8800             :     compiler::TNode<Map> tmp2;
    8801             :     USE(tmp2);
    8802             :     compiler::CodeAssemblerLabel label0(&ca_);
    8803         336 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject5ATMap(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp1}, &label0);
    8804             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    8805         112 :     if (label0.is_used()) {
    8806         112 :       ca_.Bind(&label0);
    8807             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    8808         112 :     }
    8809             :   }
    8810             : 
    8811         112 :   if (block4.is_used()) {
    8812             :     compiler::TNode<Context> tmp3;
    8813             :     compiler::TNode<HeapObject> tmp4;
    8814             :     compiler::TNode<HeapObject> tmp5;
    8815             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    8816             :     ca_.Goto(&block1);
    8817             :   }
    8818             : 
    8819         112 :   if (block3.is_used()) {
    8820             :     compiler::TNode<Context> tmp6;
    8821             :     compiler::TNode<HeapObject> tmp7;
    8822             :     compiler::TNode<HeapObject> tmp8;
    8823             :     compiler::TNode<Map> tmp9;
    8824             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    8825             :     ca_.Goto(&block2, tmp6, tmp7, tmp9);
    8826             :   }
    8827             : 
    8828         112 :   if (block2.is_used()) {
    8829             :     compiler::TNode<Context> tmp10;
    8830             :     compiler::TNode<HeapObject> tmp11;
    8831             :     compiler::TNode<Map> tmp12;
    8832             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
    8833             :     ca_.Goto(&block5, tmp10, tmp11, tmp12);
    8834             :   }
    8835             : 
    8836         112 :   if (block1.is_used()) {
    8837             :     ca_.Bind(&block1);
    8838         112 :     ca_.Goto(label_CastError);
    8839             :   }
    8840             : 
    8841             :     compiler::TNode<Context> tmp13;
    8842             :     compiler::TNode<HeapObject> tmp14;
    8843             :     compiler::TNode<Map> tmp15;
    8844             :     ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
    8845         224 :   return compiler::TNode<Map>{tmp15};
    8846             : }
    8847             : 
    8848         448 : compiler::TNode<JSArray> BaseBuiltinsFromDSLAssembler::Cast34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    8849         448 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8850             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8851             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8852             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8853             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8854             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8855             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8856             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8857             :     ca_.Goto(&block0, p_context, p_o);
    8858             : 
    8859         448 :   if (block0.is_used()) {
    8860             :     compiler::TNode<Context> tmp0;
    8861             :     compiler::TNode<Object> tmp1;
    8862             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8863             :     compiler::TNode<HeapObject> tmp2;
    8864             :     USE(tmp2);
    8865             :     compiler::CodeAssemblerLabel label0(&ca_);
    8866         896 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    8867             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    8868         448 :     if (label0.is_used()) {
    8869         448 :       ca_.Bind(&label0);
    8870             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    8871         448 :     }
    8872             :   }
    8873             : 
    8874         448 :   if (block4.is_used()) {
    8875             :     compiler::TNode<Context> tmp3;
    8876             :     compiler::TNode<Object> tmp4;
    8877             :     compiler::TNode<Object> tmp5;
    8878             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    8879             :     ca_.Goto(&block1);
    8880             :   }
    8881             : 
    8882         448 :   if (block3.is_used()) {
    8883             :     compiler::TNode<Context> tmp6;
    8884             :     compiler::TNode<Object> tmp7;
    8885             :     compiler::TNode<Object> tmp8;
    8886             :     compiler::TNode<HeapObject> tmp9;
    8887             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    8888             :     compiler::TNode<JSArray> tmp10;
    8889             :     USE(tmp10);
    8890             :     compiler::CodeAssemblerLabel label0(&ca_);
    8891        1344 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context>{tmp6}, compiler::TNode<HeapObject>{tmp9}, &label0);
    8892             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    8893         448 :     if (label0.is_used()) {
    8894         448 :       ca_.Bind(&label0);
    8895             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    8896         448 :     }
    8897             :   }
    8898             : 
    8899         448 :   if (block6.is_used()) {
    8900             :     compiler::TNode<Context> tmp11;
    8901             :     compiler::TNode<Object> tmp12;
    8902             :     compiler::TNode<HeapObject> tmp13;
    8903             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    8904             :     ca_.Goto(&block1);
    8905             :   }
    8906             : 
    8907         448 :   if (block5.is_used()) {
    8908             :     compiler::TNode<Context> tmp14;
    8909             :     compiler::TNode<Object> tmp15;
    8910             :     compiler::TNode<HeapObject> tmp16;
    8911             :     compiler::TNode<JSArray> tmp17;
    8912             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    8913             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    8914             :   }
    8915             : 
    8916         448 :   if (block2.is_used()) {
    8917             :     compiler::TNode<Context> tmp18;
    8918             :     compiler::TNode<Object> tmp19;
    8919             :     compiler::TNode<JSArray> tmp20;
    8920             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    8921             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    8922             :   }
    8923             : 
    8924         448 :   if (block1.is_used()) {
    8925             :     ca_.Bind(&block1);
    8926         448 :     ca_.Goto(label_CastError);
    8927             :   }
    8928             : 
    8929             :     compiler::TNode<Context> tmp21;
    8930             :     compiler::TNode<Object> tmp22;
    8931             :     compiler::TNode<JSArray> tmp23;
    8932             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    8933         896 :   return compiler::TNode<JSArray>{tmp23};
    8934             : }
    8935             : 
    8936          56 : compiler::TNode<BoolT> BaseBuiltinsFromDSLAssembler::Is10JSReceiver20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    8937          56 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8938             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8939             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8940             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8941             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8942             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8943             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8944             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8945             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    8946             :     ca_.Goto(&block0, p_context, p_o);
    8947             : 
    8948          56 :   if (block0.is_used()) {
    8949             :     compiler::TNode<Context> tmp0;
    8950             :     compiler::TNode<Object> tmp1;
    8951             :     ca_.Bind(&block0, &tmp0, &tmp1);
    8952             :     compiler::CodeAssemblerLabel label0(&ca_);
    8953          56 :     compiler::CodeAssemblerLabel label1(&ca_);
    8954         168 :     BaseBuiltinsFromDSLAssembler(state_).BranchIf10JSReceiver20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0, &label1);
    8955          56 :     if (label0.is_used()) {
    8956          56 :       ca_.Bind(&label0);
    8957             :       ca_.Goto(&block6, tmp0, tmp1, tmp1);
    8958             :     }
    8959          56 :     if (label1.is_used()) {
    8960          56 :       ca_.Bind(&label1);
    8961             :       ca_.Goto(&block7, tmp0, tmp1, tmp1);
    8962          56 :     }
    8963             :   }
    8964             : 
    8965          56 :   if (block6.is_used()) {
    8966             :     compiler::TNode<Context> tmp2;
    8967             :     compiler::TNode<Object> tmp3;
    8968             :     compiler::TNode<Object> tmp4;
    8969             :     ca_.Bind(&block6, &tmp2, &tmp3, &tmp4);
    8970             :     ca_.Goto(&block2, tmp2, tmp3);
    8971             :   }
    8972             : 
    8973          56 :   if (block7.is_used()) {
    8974             :     compiler::TNode<Context> tmp5;
    8975             :     compiler::TNode<Object> tmp6;
    8976             :     compiler::TNode<Object> tmp7;
    8977             :     ca_.Bind(&block7, &tmp5, &tmp6, &tmp7);
    8978             :     ca_.Goto(&block3, tmp5, tmp6);
    8979             :   }
    8980             : 
    8981          56 :   if (block2.is_used()) {
    8982             :     compiler::TNode<Context> tmp8;
    8983             :     compiler::TNode<Object> tmp9;
    8984             :     ca_.Bind(&block2, &tmp8, &tmp9);
    8985             :     ca_.Goto(&block5, tmp8, tmp9);
    8986             :   }
    8987             : 
    8988          56 :   if (block3.is_used()) {
    8989             :     compiler::TNode<Context> tmp10;
    8990             :     compiler::TNode<Object> tmp11;
    8991             :     ca_.Bind(&block3, &tmp10, &tmp11);
    8992             :     compiler::TNode<BoolT> tmp12;
    8993             :     USE(tmp12);
    8994         168 :     tmp12 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(false));
    8995             :     ca_.Goto(&block4, tmp10, tmp11, tmp12);
    8996             :   }
    8997             : 
    8998          56 :   if (block5.is_used()) {
    8999             :     compiler::TNode<Context> tmp13;
    9000             :     compiler::TNode<Object> tmp14;
    9001             :     ca_.Bind(&block5, &tmp13, &tmp14);
    9002             :     compiler::TNode<BoolT> tmp15;
    9003             :     USE(tmp15);
    9004         168 :     tmp15 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
    9005             :     ca_.Goto(&block4, tmp13, tmp14, tmp15);
    9006             :   }
    9007             : 
    9008          56 :   if (block4.is_used()) {
    9009             :     compiler::TNode<Context> tmp16;
    9010             :     compiler::TNode<Object> tmp17;
    9011             :     compiler::TNode<BoolT> tmp18;
    9012             :     ca_.Bind(&block4, &tmp16, &tmp17, &tmp18);
    9013             :     ca_.Goto(&block1, tmp16, tmp17, tmp18);
    9014             :   }
    9015             : 
    9016          56 :   if (block1.is_used()) {
    9017             :     compiler::TNode<Context> tmp19;
    9018             :     compiler::TNode<Object> tmp20;
    9019             :     compiler::TNode<BoolT> tmp21;
    9020             :     ca_.Bind(&block1, &tmp19, &tmp20, &tmp21);
    9021             :     ca_.Goto(&block8, tmp19, tmp20, tmp21);
    9022             :   }
    9023             : 
    9024             :     compiler::TNode<Context> tmp22;
    9025             :     compiler::TNode<Object> tmp23;
    9026             :     compiler::TNode<BoolT> tmp24;
    9027             :     ca_.Bind(&block8, &tmp22, &tmp23, &tmp24);
    9028         112 :   return compiler::TNode<BoolT>{tmp24};
    9029             : }
    9030             : 
    9031          56 : compiler::TNode<Map> BaseBuiltinsFromDSLAssembler::Cast5ATMap(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    9032          56 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9033             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9034             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, HeapObject> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9035             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9036             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapObject, Map> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9037             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9038             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9039             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Map> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9040             :     ca_.Goto(&block0, p_context, p_o);
    9041             : 
    9042          56 :   if (block0.is_used()) {
    9043             :     compiler::TNode<Context> tmp0;
    9044             :     compiler::TNode<Object> tmp1;
    9045             :     ca_.Bind(&block0, &tmp0, &tmp1);
    9046             :     compiler::TNode<HeapObject> tmp2;
    9047             :     USE(tmp2);
    9048             :     compiler::CodeAssemblerLabel label0(&ca_);
    9049         112 :     tmp2 = CodeStubAssembler(state_).TaggedToHeapObject(compiler::TNode<Object>{tmp1}, &label0);
    9050             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    9051          56 :     if (label0.is_used()) {
    9052          56 :       ca_.Bind(&label0);
    9053             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    9054          56 :     }
    9055             :   }
    9056             : 
    9057          56 :   if (block4.is_used()) {
    9058             :     compiler::TNode<Context> tmp3;
    9059             :     compiler::TNode<Object> tmp4;
    9060             :     compiler::TNode<Object> tmp5;
    9061             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    9062             :     ca_.Goto(&block1);
    9063             :   }
    9064             : 
    9065          56 :   if (block3.is_used()) {
    9066             :     compiler::TNode<Context> tmp6;
    9067             :     compiler::TNode<Object> tmp7;
    9068             :     compiler::TNode<Object> tmp8;
    9069             :     compiler::TNode<HeapObject> tmp9;
    9070             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    9071             :     compiler::TNode<Map> tmp10;
    9072             :     USE(tmp10);
    9073             :     compiler::CodeAssemblerLabel label0(&ca_);
    9074         168 :     tmp10 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject5ATMap(compiler::TNode<Context>{tmp6}, compiler::TNode<HeapObject>{tmp9}, &label0);
    9075             :     ca_.Goto(&block5, tmp6, tmp7, tmp9, tmp10);
    9076          56 :     if (label0.is_used()) {
    9077          56 :       ca_.Bind(&label0);
    9078             :       ca_.Goto(&block6, tmp6, tmp7, tmp9);
    9079          56 :     }
    9080             :   }
    9081             : 
    9082          56 :   if (block6.is_used()) {
    9083             :     compiler::TNode<Context> tmp11;
    9084             :     compiler::TNode<Object> tmp12;
    9085             :     compiler::TNode<HeapObject> tmp13;
    9086             :     ca_.Bind(&block6, &tmp11, &tmp12, &tmp13);
    9087             :     ca_.Goto(&block1);
    9088             :   }
    9089             : 
    9090          56 :   if (block5.is_used()) {
    9091             :     compiler::TNode<Context> tmp14;
    9092             :     compiler::TNode<Object> tmp15;
    9093             :     compiler::TNode<HeapObject> tmp16;
    9094             :     compiler::TNode<Map> tmp17;
    9095             :     ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
    9096             :     ca_.Goto(&block2, tmp14, tmp15, tmp17);
    9097             :   }
    9098             : 
    9099          56 :   if (block2.is_used()) {
    9100             :     compiler::TNode<Context> tmp18;
    9101             :     compiler::TNode<Object> tmp19;
    9102             :     compiler::TNode<Map> tmp20;
    9103             :     ca_.Bind(&block2, &tmp18, &tmp19, &tmp20);
    9104             :     ca_.Goto(&block7, tmp18, tmp19, tmp20);
    9105             :   }
    9106             : 
    9107          56 :   if (block1.is_used()) {
    9108             :     ca_.Bind(&block1);
    9109          56 :     ca_.Goto(label_CastError);
    9110             :   }
    9111             : 
    9112             :     compiler::TNode<Context> tmp21;
    9113             :     compiler::TNode<Object> tmp22;
    9114             :     compiler::TNode<Map> tmp23;
    9115             :     ca_.Bind(&block7, &tmp21, &tmp22, &tmp23);
    9116         112 :   return compiler::TNode<Map>{tmp23};
    9117             : }
    9118             : 
    9119           0 : compiler::TNode<JSTypedArray> BaseBuiltinsFromDSLAssembler::Cast14ATJSTypedArray(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    9120           0 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9121             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9122             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, JSTypedArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9123             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSTypedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9124             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9125             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSTypedArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9126             :     ca_.Goto(&block0, p_context, p_o);
    9127             : 
    9128           0 :   if (block0.is_used()) {
    9129             :     compiler::TNode<Context> tmp0;
    9130             :     compiler::TNode<HeapObject> tmp1;
    9131             :     ca_.Bind(&block0, &tmp0, &tmp1);
    9132             :     compiler::TNode<JSTypedArray> tmp2;
    9133             :     USE(tmp2);
    9134             :     compiler::CodeAssemblerLabel label0(&ca_);
    9135           0 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject14ATJSTypedArray(compiler::TNode<HeapObject>{tmp1}, &label0);
    9136             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    9137           0 :     if (label0.is_used()) {
    9138           0 :       ca_.Bind(&label0);
    9139             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    9140           0 :     }
    9141             :   }
    9142             : 
    9143           0 :   if (block4.is_used()) {
    9144             :     compiler::TNode<Context> tmp3;
    9145             :     compiler::TNode<HeapObject> tmp4;
    9146             :     compiler::TNode<HeapObject> tmp5;
    9147             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    9148             :     ca_.Goto(&block1);
    9149             :   }
    9150             : 
    9151           0 :   if (block3.is_used()) {
    9152             :     compiler::TNode<Context> tmp6;
    9153             :     compiler::TNode<HeapObject> tmp7;
    9154             :     compiler::TNode<HeapObject> tmp8;
    9155             :     compiler::TNode<JSTypedArray> tmp9;
    9156             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    9157             :     ca_.Goto(&block2, tmp6, tmp7, tmp9);
    9158             :   }
    9159             : 
    9160           0 :   if (block2.is_used()) {
    9161             :     compiler::TNode<Context> tmp10;
    9162             :     compiler::TNode<HeapObject> tmp11;
    9163             :     compiler::TNode<JSTypedArray> tmp12;
    9164             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
    9165             :     ca_.Goto(&block5, tmp10, tmp11, tmp12);
    9166             :   }
    9167             : 
    9168           0 :   if (block1.is_used()) {
    9169             :     ca_.Bind(&block1);
    9170           0 :     ca_.Goto(label_CastError);
    9171             :   }
    9172             : 
    9173             :     compiler::TNode<Context> tmp13;
    9174             :     compiler::TNode<HeapObject> tmp14;
    9175             :     compiler::TNode<JSTypedArray> tmp15;
    9176             :     ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
    9177           0 :   return compiler::TNode<JSTypedArray>{tmp15};
    9178             : }
    9179             : 
    9180           0 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::Cast10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<HeapObject> p_o, compiler::CodeAssemblerLabel* label_CastError) {
    9181           0 :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9182             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9183             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, HeapObject, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9184             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9185             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9186             :   compiler::CodeAssemblerParameterizedLabel<Context, HeapObject, JSReceiver> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9187             :     ca_.Goto(&block0, p_context, p_o);
    9188             : 
    9189           0 :   if (block0.is_used()) {
    9190             :     compiler::TNode<Context> tmp0;
    9191             :     compiler::TNode<HeapObject> tmp1;
    9192             :     ca_.Bind(&block0, &tmp0, &tmp1);
    9193             :     compiler::TNode<JSReceiver> tmp2;
    9194             :     USE(tmp2);
    9195             :     compiler::CodeAssemblerLabel label0(&ca_);
    9196           0 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).CastHeapObject10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp1}, &label0);
    9197             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    9198           0 :     if (label0.is_used()) {
    9199           0 :       ca_.Bind(&label0);
    9200             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    9201           0 :     }
    9202             :   }
    9203             : 
    9204           0 :   if (block4.is_used()) {
    9205             :     compiler::TNode<Context> tmp3;
    9206             :     compiler::TNode<HeapObject> tmp4;
    9207             :     compiler::TNode<HeapObject> tmp5;
    9208             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    9209             :     ca_.Goto(&block1);
    9210             :   }
    9211             : 
    9212           0 :   if (block3.is_used()) {
    9213             :     compiler::TNode<Context> tmp6;
    9214             :     compiler::TNode<HeapObject> tmp7;
    9215             :     compiler::TNode<HeapObject> tmp8;
    9216             :     compiler::TNode<JSReceiver> tmp9;
    9217             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    9218             :     ca_.Goto(&block2, tmp6, tmp7, tmp9);
    9219             :   }
    9220             : 
    9221           0 :   if (block2.is_used()) {
    9222             :     compiler::TNode<Context> tmp10;
    9223             :     compiler::TNode<HeapObject> tmp11;
    9224             :     compiler::TNode<JSReceiver> tmp12;
    9225             :     ca_.Bind(&block2, &tmp10, &tmp11, &tmp12);
    9226             :     ca_.Goto(&block5, tmp10, tmp11, tmp12);
    9227             :   }
    9228             : 
    9229           0 :   if (block1.is_used()) {
    9230             :     ca_.Bind(&block1);
    9231           0 :     ca_.Goto(label_CastError);
    9232             :   }
    9233             : 
    9234             :     compiler::TNode<Context> tmp13;
    9235             :     compiler::TNode<HeapObject> tmp14;
    9236             :     compiler::TNode<JSReceiver> tmp15;
    9237             :     ca_.Bind(&block5, &tmp13, &tmp14, &tmp15);
    9238           0 :   return compiler::TNode<JSReceiver>{tmp15};
    9239             : }
    9240             : 
    9241          56 : compiler::TNode<HeapNumber> BaseBuiltinsFromDSLAssembler::UnsafeCast12ATHeapNumber(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    9242          56 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9243             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapNumber> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9244             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, HeapNumber> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9245             :     ca_.Goto(&block0, p_context, p_o);
    9246             : 
    9247          56 :   if (block0.is_used()) {
    9248             :     compiler::TNode<Context> tmp0;
    9249             :     compiler::TNode<Object> tmp1;
    9250             :     ca_.Bind(&block0, &tmp0, &tmp1);
    9251             :     compiler::TNode<HeapNumber> tmp2;
    9252             :     USE(tmp2);
    9253             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    9254             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    9255             :   }
    9256             : 
    9257          56 :   if (block1.is_used()) {
    9258             :     compiler::TNode<Context> tmp3;
    9259             :     compiler::TNode<Object> tmp4;
    9260             :     compiler::TNode<HeapNumber> tmp5;
    9261             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    9262             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    9263             :   }
    9264             : 
    9265             :     compiler::TNode<Context> tmp6;
    9266             :     compiler::TNode<Object> tmp7;
    9267             :     compiler::TNode<HeapNumber> tmp8;
    9268             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    9269         112 :   return compiler::TNode<HeapNumber>{tmp8};
    9270             : }
    9271             : 
    9272          56 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::UnsafeCast41UT9ATJSProxy15JSBoundFunction10JSFunction(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    9273          56 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9274             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9275             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9276             :     ca_.Goto(&block0, p_context, p_o);
    9277             : 
    9278          56 :   if (block0.is_used()) {
    9279             :     compiler::TNode<Context> tmp0;
    9280             :     compiler::TNode<Object> tmp1;
    9281             :     ca_.Bind(&block0, &tmp0, &tmp1);
    9282             :     compiler::TNode<JSReceiver> tmp2;
    9283             :     USE(tmp2);
    9284             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    9285             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    9286             :   }
    9287             : 
    9288          56 :   if (block1.is_used()) {
    9289             :     compiler::TNode<Context> tmp3;
    9290             :     compiler::TNode<Object> tmp4;
    9291             :     compiler::TNode<JSReceiver> tmp5;
    9292             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    9293             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    9294             :   }
    9295             : 
    9296             :     compiler::TNode<Context> tmp6;
    9297             :     compiler::TNode<Object> tmp7;
    9298             :     compiler::TNode<JSReceiver> tmp8;
    9299             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    9300         112 :   return compiler::TNode<JSReceiver>{tmp8};
    9301             : }
    9302             : 
    9303        2184 : compiler::TNode<JSReceiver> BaseBuiltinsFromDSLAssembler::UnsafeCast10JSReceiver(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    9304        2184 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9305             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9306             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9307             :     ca_.Goto(&block0, p_context, p_o);
    9308             : 
    9309        2184 :   if (block0.is_used()) {
    9310             :     compiler::TNode<Context> tmp0;
    9311             :     compiler::TNode<Object> tmp1;
    9312             :     ca_.Bind(&block0, &tmp0, &tmp1);
    9313             :     compiler::TNode<JSReceiver> tmp2;
    9314             :     USE(tmp2);
    9315             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    9316             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    9317             :   }
    9318             : 
    9319        2184 :   if (block1.is_used()) {
    9320             :     compiler::TNode<Context> tmp3;
    9321             :     compiler::TNode<Object> tmp4;
    9322             :     compiler::TNode<JSReceiver> tmp5;
    9323             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    9324             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    9325             :   }
    9326             : 
    9327             :     compiler::TNode<Context> tmp6;
    9328             :     compiler::TNode<Object> tmp7;
    9329             :     compiler::TNode<JSReceiver> tmp8;
    9330             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    9331        4368 :   return compiler::TNode<JSReceiver>{tmp8};
    9332             : }
    9333             : 
    9334        1344 : compiler::TNode<JSObject> BaseBuiltinsFromDSLAssembler::UnsafeCast8JSObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    9335        1344 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9336             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSObject> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9337             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9338             :     ca_.Goto(&block0, p_context, p_o);
    9339             : 
    9340        1344 :   if (block0.is_used()) {
    9341             :     compiler::TNode<Context> tmp0;
    9342             :     compiler::TNode<Object> tmp1;
    9343             :     ca_.Bind(&block0, &tmp0, &tmp1);
    9344             :     compiler::TNode<JSObject> tmp2;
    9345             :     USE(tmp2);
    9346             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    9347             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    9348             :   }
    9349             : 
    9350        1344 :   if (block1.is_used()) {
    9351             :     compiler::TNode<Context> tmp3;
    9352             :     compiler::TNode<Object> tmp4;
    9353             :     compiler::TNode<JSObject> tmp5;
    9354             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    9355             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    9356             :   }
    9357             : 
    9358             :     compiler::TNode<Context> tmp6;
    9359             :     compiler::TNode<Object> tmp7;
    9360             :     compiler::TNode<JSObject> tmp8;
    9361             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    9362        2688 :   return compiler::TNode<JSObject>{tmp8};
    9363             : }
    9364             : 
    9365         784 : compiler::TNode<Number> BaseBuiltinsFromDSLAssembler::UnsafeCast22UT12ATHeapNumber5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    9366         784 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9367             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9368             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9369             :     ca_.Goto(&block0, p_context, p_o);
    9370             : 
    9371         784 :   if (block0.is_used()) {
    9372             :     compiler::TNode<Context> tmp0;
    9373             :     compiler::TNode<Object> tmp1;
    9374             :     ca_.Bind(&block0, &tmp0, &tmp1);
    9375             :     compiler::TNode<Number> tmp2;
    9376             :     USE(tmp2);
    9377             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    9378             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    9379             :   }
    9380             : 
    9381         784 :   if (block1.is_used()) {
    9382             :     compiler::TNode<Context> tmp3;
    9383             :     compiler::TNode<Object> tmp4;
    9384             :     compiler::TNode<Number> tmp5;
    9385             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    9386             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    9387             :   }
    9388             : 
    9389             :     compiler::TNode<Context> tmp6;
    9390             :     compiler::TNode<Object> tmp7;
    9391             :     compiler::TNode<Number> tmp8;
    9392             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    9393        1568 :   return compiler::TNode<Number>{tmp8};
    9394             : }
    9395             : 
    9396         392 : void BaseBuiltinsFromDSLAssembler::BranchIf34ATFastJSArrayWithNoCustomIteration20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
    9397         392 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9398             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9399             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9400             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9401             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9402             :     ca_.Goto(&block0, p_context, p_o);
    9403             : 
    9404         392 :   if (block0.is_used()) {
    9405             :     compiler::TNode<Context> tmp0;
    9406             :     compiler::TNode<Object> tmp1;
    9407             :     ca_.Bind(&block0, &tmp0, &tmp1);
    9408             :     compiler::TNode<JSArray> tmp2;
    9409             :     USE(tmp2);
    9410             :     compiler::CodeAssemblerLabel label0(&ca_);
    9411        1176 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
    9412             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    9413         392 :     if (label0.is_used()) {
    9414         392 :       ca_.Bind(&label0);
    9415             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    9416         392 :     }
    9417             :   }
    9418             : 
    9419         392 :   if (block4.is_used()) {
    9420             :     compiler::TNode<Context> tmp3;
    9421             :     compiler::TNode<Object> tmp4;
    9422             :     compiler::TNode<Object> tmp5;
    9423             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    9424             :     ca_.Goto(&block2);
    9425             :   }
    9426             : 
    9427         392 :   if (block3.is_used()) {
    9428             :     compiler::TNode<Context> tmp6;
    9429             :     compiler::TNode<Object> tmp7;
    9430             :     compiler::TNode<Object> tmp8;
    9431             :     compiler::TNode<JSArray> tmp9;
    9432             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    9433             :     ca_.Goto(&block1);
    9434             :   }
    9435             : 
    9436         392 :   if (block1.is_used()) {
    9437             :     ca_.Bind(&block1);
    9438         392 :     ca_.Goto(label_True);
    9439             :   }
    9440             : 
    9441         392 :   if (block2.is_used()) {
    9442             :     ca_.Bind(&block2);
    9443         392 :     ca_.Goto(label_False);
    9444             :   }
    9445         392 : }
    9446             : 
    9447          56 : void BaseBuiltinsFromDSLAssembler::BranchIf10JSReceiver20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_True, compiler::CodeAssemblerLabel* label_False) {
    9448          56 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9449             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9450             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSReceiver> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9451             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9452             :   compiler::CodeAssemblerParameterizedLabel<> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9453             :     ca_.Goto(&block0, p_context, p_o);
    9454             : 
    9455          56 :   if (block0.is_used()) {
    9456             :     compiler::TNode<Context> tmp0;
    9457             :     compiler::TNode<Object> tmp1;
    9458             :     ca_.Bind(&block0, &tmp0, &tmp1);
    9459             :     compiler::TNode<JSReceiver> tmp2;
    9460             :     USE(tmp2);
    9461             :     compiler::CodeAssemblerLabel label0(&ca_);
    9462         168 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
    9463             :     ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
    9464          56 :     if (label0.is_used()) {
    9465          56 :       ca_.Bind(&label0);
    9466             :       ca_.Goto(&block4, tmp0, tmp1, tmp1);
    9467          56 :     }
    9468             :   }
    9469             : 
    9470          56 :   if (block4.is_used()) {
    9471             :     compiler::TNode<Context> tmp3;
    9472             :     compiler::TNode<Object> tmp4;
    9473             :     compiler::TNode<Object> tmp5;
    9474             :     ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
    9475             :     ca_.Goto(&block2);
    9476             :   }
    9477             : 
    9478          56 :   if (block3.is_used()) {
    9479             :     compiler::TNode<Context> tmp6;
    9480             :     compiler::TNode<Object> tmp7;
    9481             :     compiler::TNode<Object> tmp8;
    9482             :     compiler::TNode<JSReceiver> tmp9;
    9483             :     ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
    9484             :     ca_.Goto(&block1);
    9485             :   }
    9486             : 
    9487          56 :   if (block1.is_used()) {
    9488             :     ca_.Bind(&block1);
    9489          56 :     ca_.Goto(label_True);
    9490             :   }
    9491             : 
    9492          56 :   if (block2.is_used()) {
    9493             :     ca_.Bind(&block2);
    9494          56 :     ca_.Goto(label_False);
    9495             :   }
    9496          56 : }
    9497             : 
    9498         616 : compiler::TNode<FixedTypedArrayBase> BaseBuiltinsFromDSLAssembler::UnsafeCast21ATFixedTypedArrayBase(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
    9499         616 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9500             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedTypedArrayBase> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9501             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, FixedTypedArrayBase> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
    9502             :     ca_.Goto(&block0, p_context, p_o);
    9503             : 
    9504         616 :   if (block0.is_used()) {
    9505             :     compiler::TNode<Context> tmp0;
    9506             :     compiler::TNode<Object> tmp1;
    9507             :     ca_.Bind(&block0, &tmp0, &tmp1);
    9508             :     compiler::TNode<FixedTypedArrayBase> tmp2;
    9509             :     USE(tmp2);
    9510             :     tmp2 = TORQUE_CAST(compiler::TNode<Object>{tmp1});
    9511             :     ca_.Goto(&block1, tmp0, tmp1, tmp2);
    9512             :   }
    9513             : 
    9514         616 :   if (block1.is_used()) {
    9515             :     compiler::TNode<Context> tmp3;
    9516             :     compiler::TNode<Object> tmp4;
    9517             :     compiler::TNode<FixedTypedArrayBase> tmp5;
    9518             :     ca_.Bind(&block1, &tmp3, &tmp4, &tmp5);
    9519             :     ca_.Goto(&block2, tmp3, tmp4, tmp5);
    9520             :   }
    9521             : 
    9522             :     compiler::TNode<Context> tmp6;
    9523             :     compiler::TNode<Object> tmp7;
    9524             :     compiler::TNode<FixedTypedArrayBase> tmp8;
    9525             :     ca_.Bind(&block2, &tmp6, &tmp7, &tmp8);
    9526        1232 :   return compiler::TNode<FixedTypedArrayBase>{tmp8};
    9527             : }
    9528             : 
    9529             : }  // namespace internal
    9530       94089 : }  // namespace v8
    9531             : 

Generated by: LCOV version 1.10