LCOV - code coverage report
Current view: top level - out/Release/gen/torque-generated - builtins-object-from-dsl-gen.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 141 143 98.6 %
Date: 2019-01-20 Functions: 6 6 100.0 %

          Line data    Source code
       1             : #include "src/builtins/builtins-utils-gen.h"
       2             : #include "src/builtins/builtins.h"
       3             : #include "src/code-factory.h"
       4             : #include "src/elements-kind.h"
       5             : #include "src/heap/factory-inl.h"
       6             : #include "src/objects.h"
       7             : #include "src/objects/arguments.h"
       8             : #include "src/objects/bigint.h"
       9             : #include "src/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         112 : compiler::TNode<JSObject> ObjectBuiltinsFromDSLAssembler::AllocateEmptyJSObject(compiler::TNode<Context> p_context) {
      29         112 :   compiler::CodeAssemblerParameterizedLabel<Context> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      30             :   compiler::CodeAssemblerParameterizedLabel<Context, JSFunction, HeapObject> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      31             :   compiler::CodeAssemblerParameterizedLabel<Context, JSFunction, HeapObject, Map> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      32             :   compiler::CodeAssemblerParameterizedLabel<Context, JSFunction> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      33             :   compiler::CodeAssemblerParameterizedLabel<Context, JSFunction, Map> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      34             :   compiler::CodeAssemblerParameterizedLabel<Context, JSObject> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      35             :   compiler::CodeAssemblerParameterizedLabel<Context, JSObject> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
      36             :     ca_.Goto(&block0, p_context);
      37             : 
      38         112 :   if (block0.is_used()) {
      39             :     compiler::TNode<Context> tmp0;
      40             :     ca_.Bind(&block0, &tmp0);
      41             :     compiler::TNode<JSFunction> tmp1;
      42             :     USE(tmp1);
      43         336 :     tmp1 = ca_.UncheckedCast<JSFunction>(BaseBuiltinsFromDSLAssembler(state_).GetObjectFunction(compiler::TNode<Context>{tmp0}));
      44             :     compiler::TNode<HeapObject> tmp2;
      45             :     USE(tmp2);
      46         336 :     tmp2 = ca_.UncheckedCast<HeapObject>(BaseBuiltinsFromDSLAssembler(state_).LoadJSFunctionPrototypeOrInitialMap(compiler::TNode<JSFunction>{tmp1}));
      47             :     compiler::TNode<Map> tmp3;
      48             :     USE(tmp3);
      49             :     compiler::CodeAssemblerLabel label0(&ca_);
      50         336 :     tmp3 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATMap(compiler::TNode<Context>{tmp0}, compiler::TNode<HeapObject>{tmp2}, &label0);
      51             :     ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3);
      52         112 :     if (label0.is_used()) {
      53         112 :       ca_.Bind(&label0);
      54             :       ca_.Goto(&block5, tmp0, tmp1, tmp2);
      55         112 :     }
      56             :   }
      57             : 
      58         112 :   if (block5.is_used()) {
      59             :     compiler::TNode<Context> tmp4;
      60             :     compiler::TNode<JSFunction> tmp5;
      61             :     compiler::TNode<HeapObject> tmp6;
      62             :     ca_.Bind(&block5, &tmp4, &tmp5, &tmp6);
      63             :     ca_.Goto(&block3, tmp4, tmp5);
      64             :   }
      65             : 
      66         112 :   if (block4.is_used()) {
      67             :     compiler::TNode<Context> tmp7;
      68             :     compiler::TNode<JSFunction> tmp8;
      69             :     compiler::TNode<HeapObject> tmp9;
      70             :     compiler::TNode<Map> tmp10;
      71             :     ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10);
      72             :     ca_.Goto(&block2, tmp7, tmp8, tmp10);
      73             :   }
      74             : 
      75         112 :   if (block3.is_used()) {
      76             :     compiler::TNode<Context> tmp11;
      77             :     compiler::TNode<JSFunction> tmp12;
      78             :     ca_.Bind(&block3, &tmp11, &tmp12);
      79         224 :     CodeStubAssembler(state_).Unreachable();
      80             :   }
      81             : 
      82         112 :   if (block2.is_used()) {
      83             :     compiler::TNode<Context> tmp13;
      84             :     compiler::TNode<JSFunction> tmp14;
      85             :     compiler::TNode<Map> tmp15;
      86             :     ca_.Bind(&block2, &tmp13, &tmp14, &tmp15);
      87             :     compiler::TNode<JSObject> tmp16;
      88             :     USE(tmp16);
      89         224 :     tmp16 = ca_.UncheckedCast<JSObject>(CodeStubAssembler(state_).AllocateJSObjectFromMap(compiler::TNode<Map>{tmp15}));
      90             :     ca_.Goto(&block1, tmp13, tmp16);
      91             :   }
      92             : 
      93         112 :   if (block1.is_used()) {
      94             :     compiler::TNode<Context> tmp17;
      95             :     compiler::TNode<JSObject> tmp18;
      96             :     ca_.Bind(&block1, &tmp17, &tmp18);
      97             :     ca_.Goto(&block6, tmp17, tmp18);
      98             :   }
      99             : 
     100             :     compiler::TNode<Context> tmp19;
     101             :     compiler::TNode<JSObject> tmp20;
     102             :     ca_.Bind(&block6, &tmp19, &tmp20);
     103         224 :   return compiler::TNode<JSObject>{tmp20};
     104             : }
     105             : 
     106          56 : compiler::TNode<JSObject> ObjectBuiltinsFromDSLAssembler::ObjectFromEntriesFastCase(compiler::TNode<Context> p_context, compiler::TNode<Object> p_iterable, compiler::CodeAssemblerLabel* label_IfSlow) {
     107          56 :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     108             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     109             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     110             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, FixedArrayBase> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     111             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, FixedArrayBase, FixedArray> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     112             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, FixedArray, Smi, JSObject, Smi> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     113             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, FixedArray, Smi, JSObject, Smi> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     114             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, FixedArray, Smi, JSObject, Smi, Object, Object> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     115             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, FixedArray, Smi, JSObject, Smi, Object, Object, Object, Object> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     116             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, FixedArray, Smi, JSObject, Smi, Object, Object, Object> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     117             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, FixedArray, Smi, JSObject, Smi, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     118             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, FixedArray, Smi, JSObject, Smi> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     119             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, FixedArray, Smi, JSObject, Smi> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     120             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     121             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSObject> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     122             :   compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     123             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, JSObject> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     124             :     ca_.Goto(&block0, p_context, p_iterable);
     125             : 
     126          56 :   if (block0.is_used()) {
     127             :     compiler::TNode<Context> tmp0;
     128             :     compiler::TNode<Object> tmp1;
     129             :     ca_.Bind(&block0, &tmp0, &tmp1);
     130             :     compiler::TNode<JSArray> tmp2;
     131             :     USE(tmp2);
     132             :     compiler::CodeAssemblerLabel label0(&ca_);
     133         168 :     tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast34ATFastJSArrayWithNoCustomIteration(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
     134             :     ca_.Goto(&block5, tmp0, tmp1, tmp1, tmp1, tmp2);
     135          56 :     if (label0.is_used()) {
     136          56 :       ca_.Bind(&label0);
     137             :       ca_.Goto(&block6, tmp0, tmp1, tmp1, tmp1);
     138          56 :     }
     139             :   }
     140             : 
     141          56 :   if (block6.is_used()) {
     142             :     compiler::TNode<Context> tmp3;
     143             :     compiler::TNode<Object> tmp4;
     144             :     compiler::TNode<Object> tmp5;
     145             :     compiler::TNode<Object> tmp6;
     146             :     ca_.Bind(&block6, &tmp3, &tmp4, &tmp5, &tmp6);
     147             :     ca_.Goto(&block4, tmp3, tmp4, tmp5);
     148             :   }
     149             : 
     150          56 :   if (block5.is_used()) {
     151             :     compiler::TNode<Context> tmp7;
     152             :     compiler::TNode<Object> tmp8;
     153             :     compiler::TNode<Object> tmp9;
     154             :     compiler::TNode<Object> tmp10;
     155             :     compiler::TNode<JSArray> tmp11;
     156             :     ca_.Bind(&block5, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
     157             :     compiler::TNode<FixedArrayBase> tmp12;
     158             :     USE(tmp12);
     159         168 :     tmp12 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp11}));
     160             :     compiler::TNode<FixedArray> tmp13;
     161             :     USE(tmp13);
     162             :     compiler::CodeAssemblerLabel label0(&ca_);
     163         168 :     tmp13 = BaseBuiltinsFromDSLAssembler(state_).Cast12ATFixedArray(compiler::TNode<Context>{tmp7}, compiler::TNode<HeapObject>{tmp12}, &label0);
     164             :     ca_.Goto(&block7, tmp7, tmp8, tmp9, tmp11, tmp12, tmp13);
     165          56 :     if (label0.is_used()) {
     166          56 :       ca_.Bind(&label0);
     167             :       ca_.Goto(&block8, tmp7, tmp8, tmp9, tmp11, tmp12);
     168          56 :     }
     169             :   }
     170             : 
     171          56 :   if (block8.is_used()) {
     172             :     compiler::TNode<Context> tmp14;
     173             :     compiler::TNode<Object> tmp15;
     174             :     compiler::TNode<Object> tmp16;
     175             :     compiler::TNode<JSArray> tmp17;
     176             :     compiler::TNode<FixedArrayBase> tmp18;
     177             :     ca_.Bind(&block8, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
     178             :     ca_.Goto(&block1);
     179             :   }
     180             : 
     181          56 :   if (block7.is_used()) {
     182             :     compiler::TNode<Context> tmp19;
     183             :     compiler::TNode<Object> tmp20;
     184             :     compiler::TNode<Object> tmp21;
     185             :     compiler::TNode<JSArray> tmp22;
     186             :     compiler::TNode<FixedArrayBase> tmp23;
     187             :     compiler::TNode<FixedArray> tmp24;
     188             :     ca_.Bind(&block7, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24);
     189             :     compiler::TNode<Smi> tmp25;
     190             :     USE(tmp25);
     191         168 :     tmp25 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp22}));
     192             :     compiler::TNode<JSObject> tmp26;
     193             :     USE(tmp26);
     194         168 :     tmp26 = ca_.UncheckedCast<JSObject>(ObjectBuiltinsFromDSLAssembler(state_).AllocateEmptyJSObject(compiler::TNode<Context>{tmp19}));
     195             :     compiler::TNode<Smi> tmp27;
     196             :     USE(tmp27);
     197         168 :     tmp27 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
     198             :     ca_.Goto(&block11, tmp19, tmp20, tmp21, tmp22, tmp24, tmp25, tmp26, tmp27);
     199             :   }
     200             : 
     201          56 :   if (block11.is_used()) {
     202             :     compiler::TNode<Context> tmp28;
     203             :     compiler::TNode<Object> tmp29;
     204             :     compiler::TNode<Object> tmp30;
     205             :     compiler::TNode<JSArray> tmp31;
     206             :     compiler::TNode<FixedArray> tmp32;
     207             :     compiler::TNode<Smi> tmp33;
     208             :     compiler::TNode<JSObject> tmp34;
     209             :     compiler::TNode<Smi> tmp35;
     210             :     ca_.Bind(&block11, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35);
     211             :     compiler::TNode<BoolT> tmp36;
     212             :     USE(tmp36);
     213         112 :     tmp36 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp35}, compiler::TNode<Smi>{tmp33}));
     214          56 :     ca_.Branch(tmp36, &block9, &block10, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35);
     215             :   }
     216             : 
     217          56 :   if (block9.is_used()) {
     218             :     compiler::TNode<Context> tmp37;
     219             :     compiler::TNode<Object> tmp38;
     220             :     compiler::TNode<Object> tmp39;
     221             :     compiler::TNode<JSArray> tmp40;
     222             :     compiler::TNode<FixedArray> tmp41;
     223             :     compiler::TNode<Smi> tmp42;
     224             :     compiler::TNode<JSObject> tmp43;
     225             :     compiler::TNode<Smi> tmp44;
     226             :     ca_.Bind(&block9, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44);
     227             :     compiler::TNode<Object> tmp45;
     228             :     USE(tmp45);
     229         168 :     tmp45 = ca_.UncheckedCast<Object>(ArrayBuiltinsFromDSLAssembler(state_).LoadElementOrUndefined(compiler::TNode<FixedArray>{tmp41}, compiler::TNode<Smi>{tmp44}));
     230             :     compiler::TNode<Object> tmp46;
     231             :     USE(tmp46);
     232             :     compiler::TNode<Object> tmp47;
     233             :     USE(tmp47);
     234             :     compiler::CodeAssemblerLabel label0(&ca_);
     235         224 :     std::tie(tmp46, tmp47) = CollectionsBuiltinsFromDSLAssembler(state_).LoadKeyValuePairNoSideEffects(compiler::TNode<Context>{tmp37}, compiler::TNode<Object>{tmp45}, &label0).Flatten();
     236             :     ca_.Goto(&block13, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp45, tmp46, tmp47);
     237          56 :     if (label0.is_used()) {
     238          56 :       ca_.Bind(&label0);
     239             :       ca_.Goto(&block14, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp45);
     240          56 :     }
     241             :   }
     242             : 
     243          56 :   if (block14.is_used()) {
     244             :     compiler::TNode<Context> tmp48;
     245             :     compiler::TNode<Object> tmp49;
     246             :     compiler::TNode<Object> tmp50;
     247             :     compiler::TNode<JSArray> tmp51;
     248             :     compiler::TNode<FixedArray> tmp52;
     249             :     compiler::TNode<Smi> tmp53;
     250             :     compiler::TNode<JSObject> tmp54;
     251             :     compiler::TNode<Smi> tmp55;
     252             :     compiler::TNode<Object> tmp56;
     253             :     compiler::TNode<Object> tmp57;
     254             :     ca_.Bind(&block14, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
     255             :     ca_.Goto(&block1);
     256             :   }
     257             : 
     258          56 :   if (block13.is_used()) {
     259             :     compiler::TNode<Context> tmp58;
     260             :     compiler::TNode<Object> tmp59;
     261             :     compiler::TNode<Object> tmp60;
     262             :     compiler::TNode<JSArray> tmp61;
     263             :     compiler::TNode<FixedArray> tmp62;
     264             :     compiler::TNode<Smi> tmp63;
     265             :     compiler::TNode<JSObject> tmp64;
     266             :     compiler::TNode<Smi> tmp65;
     267             :     compiler::TNode<Object> tmp66;
     268             :     compiler::TNode<Object> tmp67;
     269             :     compiler::TNode<Object> tmp68;
     270             :     compiler::TNode<Object> tmp69;
     271             :     ca_.Bind(&block13, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
     272             :     compiler::TNode<BoolT> tmp70;
     273             :     USE(tmp70);
     274         168 :     tmp70 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).Is10JSReceiver20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp58}, compiler::TNode<Object>{tmp68}));
     275          56 :     ca_.Branch(tmp70, &block15, &block16, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp68, tmp69);
     276             :   }
     277             : 
     278          56 :   if (block15.is_used()) {
     279             :     compiler::TNode<Context> tmp71;
     280             :     compiler::TNode<Object> tmp72;
     281             :     compiler::TNode<Object> tmp73;
     282             :     compiler::TNode<JSArray> tmp74;
     283             :     compiler::TNode<FixedArray> tmp75;
     284             :     compiler::TNode<Smi> tmp76;
     285             :     compiler::TNode<JSObject> tmp77;
     286             :     compiler::TNode<Smi> tmp78;
     287             :     compiler::TNode<Object> tmp79;
     288             :     compiler::TNode<Object> tmp80;
     289             :     compiler::TNode<Object> tmp81;
     290             :     ca_.Bind(&block15, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
     291             :     ca_.Goto(&block1);
     292             :   }
     293             : 
     294          56 :   if (block16.is_used()) {
     295             :     compiler::TNode<Context> tmp82;
     296             :     compiler::TNode<Object> tmp83;
     297             :     compiler::TNode<Object> tmp84;
     298             :     compiler::TNode<JSArray> tmp85;
     299             :     compiler::TNode<FixedArray> tmp86;
     300             :     compiler::TNode<Smi> tmp87;
     301             :     compiler::TNode<JSObject> tmp88;
     302             :     compiler::TNode<Smi> tmp89;
     303             :     compiler::TNode<Object> tmp90;
     304             :     compiler::TNode<Object> tmp91;
     305             :     compiler::TNode<Object> tmp92;
     306             :     ca_.Bind(&block16, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
     307         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kCreateDataProperty, tmp82, tmp88, tmp91, tmp92);
     308             :     ca_.Goto(&block12, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89);
     309             :   }
     310             : 
     311          56 :   if (block12.is_used()) {
     312             :     compiler::TNode<Context> tmp94;
     313             :     compiler::TNode<Object> tmp95;
     314             :     compiler::TNode<Object> tmp96;
     315             :     compiler::TNode<JSArray> tmp97;
     316             :     compiler::TNode<FixedArray> tmp98;
     317             :     compiler::TNode<Smi> tmp99;
     318             :     compiler::TNode<JSObject> tmp100;
     319             :     compiler::TNode<Smi> tmp101;
     320             :     ca_.Bind(&block12, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101);
     321             :     compiler::TNode<Smi> tmp102;
     322             :     USE(tmp102);
     323         168 :     tmp102 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
     324             :     compiler::TNode<Smi> tmp103;
     325             :     USE(tmp103);
     326         112 :     tmp103 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp101}, compiler::TNode<Smi>{tmp102}));
     327             :     ca_.Goto(&block11, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp103);
     328             :   }
     329             : 
     330          56 :   if (block10.is_used()) {
     331             :     compiler::TNode<Context> tmp104;
     332             :     compiler::TNode<Object> tmp105;
     333             :     compiler::TNode<Object> tmp106;
     334             :     compiler::TNode<JSArray> tmp107;
     335             :     compiler::TNode<FixedArray> tmp108;
     336             :     compiler::TNode<Smi> tmp109;
     337             :     compiler::TNode<JSObject> tmp110;
     338             :     compiler::TNode<Smi> tmp111;
     339             :     ca_.Bind(&block10, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111);
     340             :     ca_.Goto(&block2, tmp104, tmp105, tmp110);
     341             :   }
     342             : 
     343          56 :   if (block4.is_used()) {
     344             :     compiler::TNode<Context> tmp112;
     345             :     compiler::TNode<Object> tmp113;
     346             :     compiler::TNode<Object> tmp114;
     347             :     ca_.Bind(&block4, &tmp112, &tmp113, &tmp114);
     348             :     ca_.Goto(&block1);
     349             :   }
     350             : 
     351          56 :   if (block2.is_used()) {
     352             :     compiler::TNode<Context> tmp115;
     353             :     compiler::TNode<Object> tmp116;
     354             :     compiler::TNode<JSObject> tmp117;
     355             :     ca_.Bind(&block2, &tmp115, &tmp116, &tmp117);
     356             :     ca_.Goto(&block17, tmp115, tmp116, tmp117);
     357             :   }
     358             : 
     359          56 :   if (block1.is_used()) {
     360             :     ca_.Bind(&block1);
     361          56 :     ca_.Goto(label_IfSlow);
     362             :   }
     363             : 
     364             :     compiler::TNode<Context> tmp118;
     365             :     compiler::TNode<Object> tmp119;
     366             :     compiler::TNode<JSObject> tmp120;
     367             :     ca_.Bind(&block17, &tmp118, &tmp119, &tmp120);
     368         112 :   return compiler::TNode<JSObject>{tmp120};
     369             : }
     370             : 
     371         224 : TF_BUILTIN(ObjectFromEntries, CodeStubAssembler) {
     372             :   compiler::CodeAssemblerState* state_ = state();  compiler::CodeAssembler ca_(state());
     373             :   TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
     374             :   USE(parameter0);
     375             :   Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
     376         168 :   CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
     377          56 :   TNode<Object> parameter1 = arguments_impl.GetReceiver();
     378             : auto arguments = &arguments_impl;
     379             : USE(arguments);
     380             : USE(parameter1);
     381             :   compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     382             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     383             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     384             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     385             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSObject> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     386             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     387             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     388             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Object, Map> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     389             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     390             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     391             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map, JSReceiver, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     392             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map, JSReceiver, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     393             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map, JSReceiver, Object> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     394             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map, JSReceiver, Object, JSReceiver, Object, Map, Object> block23(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     395             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map, JSReceiver, Object, JSReceiver, Object, Map> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     396             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map, JSReceiver, Object, JSReceiver, Object, Map, Object> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     397             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map, JSReceiver, Object> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     398             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map, JSReceiver, Object, Object> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     399             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map, JSReceiver, Object, Object, Object, Map, Object> block24(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     400             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map, JSReceiver, Object, Object, Object, Object, Object> block25(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     401             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map, JSReceiver, Object, Object, Object, Object, Object, JSObject, Object, Object, Object> block26(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     402             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map, JSReceiver, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
     403             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSObject, Map, JSReceiver, Object, Object> block14(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     404             :   compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     405             :     ca_.Goto(&block0, parameter0, parameter1);
     406             : 
     407          56 :   if (block0.is_used()) {
     408             :     compiler::TNode<Context> tmp0;
     409             :     compiler::TNode<Object> tmp1;
     410             :     ca_.Bind(&block0, &tmp0, &tmp1);
     411             :     compiler::TNode<IntPtrT> tmp2;
     412             :     USE(tmp2);
     413         112 :     tmp2 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
     414             :     compiler::TNode<Object> tmp3;
     415             :     USE(tmp3);
     416         112 :     tmp3 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(arguments, compiler::TNode<IntPtrT>{tmp2}));
     417             :     compiler::TNode<BoolT> tmp4;
     418             :     USE(tmp4);
     419         112 :     tmp4 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNullOrUndefined(compiler::TNode<Object>{tmp3}));
     420          56 :     ca_.Branch(tmp4, &block5, &block6, tmp0, tmp1, tmp3);
     421             :   }
     422             : 
     423          56 :   if (block5.is_used()) {
     424             :     compiler::TNode<Context> tmp5;
     425             :     compiler::TNode<Object> tmp6;
     426             :     compiler::TNode<Object> tmp7;
     427             :     ca_.Bind(&block5, &tmp5, &tmp6, &tmp7);
     428             :     ca_.Goto(&block2, tmp5, tmp6, tmp7);
     429             :   }
     430             : 
     431          56 :   if (block6.is_used()) {
     432             :     compiler::TNode<Context> tmp8;
     433             :     compiler::TNode<Object> tmp9;
     434             :     compiler::TNode<Object> tmp10;
     435             :     ca_.Bind(&block6, &tmp8, &tmp9, &tmp10);
     436             :     compiler::TNode<JSObject> tmp11;
     437             :     USE(tmp11);
     438             :     compiler::CodeAssemblerLabel label0(&ca_);
     439         112 :     tmp11 = ObjectBuiltinsFromDSLAssembler(state_).ObjectFromEntriesFastCase(compiler::TNode<Context>{tmp8}, compiler::TNode<Object>{tmp10}, &label0);
     440             :     ca_.Goto(&block7, tmp8, tmp9, tmp10, tmp10, tmp11);
     441          56 :     if (label0.is_used()) {
     442          56 :       ca_.Bind(&label0);
     443             :       ca_.Goto(&block8, tmp8, tmp9, tmp10, tmp10);
     444          56 :     }
     445             :   }
     446             : 
     447          56 :   if (block8.is_used()) {
     448             :     compiler::TNode<Context> tmp12;
     449             :     compiler::TNode<Object> tmp13;
     450             :     compiler::TNode<Object> tmp14;
     451             :     compiler::TNode<Object> tmp15;
     452             :     ca_.Bind(&block8, &tmp12, &tmp13, &tmp14, &tmp15);
     453             :     ca_.Goto(&block4, tmp12, tmp13, tmp14);
     454             :   }
     455             : 
     456          56 :   if (block7.is_used()) {
     457             :     compiler::TNode<Context> tmp16;
     458             :     compiler::TNode<Object> tmp17;
     459             :     compiler::TNode<Object> tmp18;
     460             :     compiler::TNode<Object> tmp19;
     461             :     compiler::TNode<JSObject> tmp20;
     462             :     ca_.Bind(&block7, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
     463          56 :     arguments->PopAndReturn(tmp20);
     464             :   }
     465             : 
     466          56 :   if (block4.is_used()) {
     467             :     compiler::TNode<Context> tmp21;
     468             :     compiler::TNode<Object> tmp22;
     469             :     compiler::TNode<Object> tmp23;
     470             :     ca_.Bind(&block4, &tmp21, &tmp22, &tmp23);
     471             :     compiler::TNode<JSObject> tmp24;
     472             :     USE(tmp24);
     473         112 :     tmp24 = ca_.UncheckedCast<JSObject>(ObjectBuiltinsFromDSLAssembler(state_).AllocateEmptyJSObject(compiler::TNode<Context>{tmp21}));
     474             :     compiler::TNode<Context> tmp25;
     475             :     USE(tmp25);
     476         168 :     tmp25 = ca_.UncheckedCast<Context>(CodeStubAssembler(state_).LoadNativeContext(compiler::TNode<Context>{tmp21}));
     477             :     compiler::TNode<IntPtrT> tmp26;
     478             :     USE(tmp26);
     479         112 :     tmp26 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr19ATNativeContextSlot29ATconstexpr_NativeContextSlot(Context::ITERATOR_RESULT_MAP_INDEX));
     480             :     compiler::TNode<Object> tmp27;
     481             :     USE(tmp27);
     482         112 :     tmp27 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadContextElement(compiler::TNode<Context>{tmp25}, compiler::TNode<IntPtrT>{tmp26}));
     483             :     compiler::TNode<Map> tmp28;
     484             :     USE(tmp28);
     485             :     compiler::CodeAssemblerLabel label0(&ca_);
     486         112 :     tmp28 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATMap(compiler::TNode<Context>{tmp21}, compiler::TNode<Object>{tmp27}, &label0);
     487             :     ca_.Goto(&block11, tmp21, tmp22, tmp23, tmp24, tmp27, tmp28);
     488          56 :     if (label0.is_used()) {
     489          56 :       ca_.Bind(&label0);
     490             :       ca_.Goto(&block12, tmp21, tmp22, tmp23, tmp24, tmp27);
     491          56 :     }
     492             :   }
     493             : 
     494          56 :   if (block12.is_used()) {
     495             :     compiler::TNode<Context> tmp29;
     496             :     compiler::TNode<Object> tmp30;
     497             :     compiler::TNode<Object> tmp31;
     498             :     compiler::TNode<JSObject> tmp32;
     499             :     compiler::TNode<Object> tmp33;
     500             :     ca_.Bind(&block12, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
     501             :     ca_.Goto(&block10, tmp29, tmp30, tmp31, tmp32);
     502             :   }
     503             : 
     504          56 :   if (block11.is_used()) {
     505             :     compiler::TNode<Context> tmp34;
     506             :     compiler::TNode<Object> tmp35;
     507             :     compiler::TNode<Object> tmp36;
     508             :     compiler::TNode<JSObject> tmp37;
     509             :     compiler::TNode<Object> tmp38;
     510             :     compiler::TNode<Map> tmp39;
     511             :     ca_.Bind(&block11, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
     512             :     ca_.Goto(&block9, tmp34, tmp35, tmp36, tmp37, tmp39);
     513             :   }
     514             : 
     515          56 :   if (block10.is_used()) {
     516             :     compiler::TNode<Context> tmp40;
     517             :     compiler::TNode<Object> tmp41;
     518             :     compiler::TNode<Object> tmp42;
     519             :     compiler::TNode<JSObject> tmp43;
     520             :     ca_.Bind(&block10, &tmp40, &tmp41, &tmp42, &tmp43);
     521         112 :     CodeStubAssembler(state_).Unreachable();
     522             :   }
     523             : 
     524          56 :   if (block9.is_used()) {
     525             :     compiler::TNode<Context> tmp44;
     526             :     compiler::TNode<Object> tmp45;
     527             :     compiler::TNode<Object> tmp46;
     528             :     compiler::TNode<JSObject> tmp47;
     529             :     compiler::TNode<Map> tmp48;
     530             :     ca_.Bind(&block9, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48);
     531             :     compiler::TNode<JSReceiver> tmp49;
     532             :     USE(tmp49);
     533             :     compiler::TNode<Object> tmp50;
     534             :     USE(tmp50);
     535         168 :     std::tie(tmp49, tmp50) = IteratorBuiltinsAssembler(state_).GetIterator(compiler::TNode<Context>{tmp44}, compiler::TNode<Object>{tmp46}).Flatten();
     536             :     ca_.Goto(&block17, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50);
     537             :   }
     538             : 
     539          56 :   if (block17.is_used()) {
     540             :     compiler::TNode<Context> tmp51;
     541             :     compiler::TNode<Object> tmp52;
     542             :     compiler::TNode<Object> tmp53;
     543             :     compiler::TNode<JSObject> tmp54;
     544             :     compiler::TNode<Map> tmp55;
     545             :     compiler::TNode<JSReceiver> tmp56;
     546             :     compiler::TNode<Object> tmp57;
     547             :     ca_.Bind(&block17, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
     548             :     compiler::TNode<BoolT> tmp58;
     549             :     USE(tmp58);
     550             :     compiler::CodeAssemblerExceptionHandlerLabel catch59_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     551          56 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch59_label);
     552         112 :     tmp58 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
     553             :     }
     554          56 :     if (catch59_label.is_used()) {
     555             :       compiler::CodeAssemblerLabel catch59_skip(&ca_);
     556           0 :       ca_.Goto(&catch59_skip);
     557             :       compiler::TNode<Object> catch59_exception_object;
     558             :       ca_.Bind(&catch59_label, &catch59_exception_object);
     559             :       ca_.Goto(&block18, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, catch59_exception_object);
     560           0 :       ca_.Bind(&catch59_skip);
     561             :     }
     562          56 :     ca_.Branch(tmp58, &block15, &block16, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57);
     563             :   }
     564             : 
     565          56 :   if (block18.is_used()) {
     566             :     compiler::TNode<Context> tmp60;
     567             :     compiler::TNode<Object> tmp61;
     568             :     compiler::TNode<Object> tmp62;
     569             :     compiler::TNode<JSObject> tmp63;
     570             :     compiler::TNode<Map> tmp64;
     571             :     compiler::TNode<JSReceiver> tmp65;
     572             :     compiler::TNode<Object> tmp66;
     573             :     compiler::TNode<Object> tmp67;
     574             :     ca_.Bind(&block18, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
     575             :     ca_.Goto(&block14, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67);
     576             :   }
     577             : 
     578          56 :   if (block15.is_used()) {
     579             :     compiler::TNode<Context> tmp68;
     580             :     compiler::TNode<Object> tmp69;
     581             :     compiler::TNode<Object> tmp70;
     582             :     compiler::TNode<JSObject> tmp71;
     583             :     compiler::TNode<Map> tmp72;
     584             :     compiler::TNode<JSReceiver> tmp73;
     585             :     compiler::TNode<Object> tmp74;
     586             :     ca_.Bind(&block15, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74);
     587             :     compiler::TNode<Object> tmp75;
     588             :     USE(tmp75);
     589             :     compiler::CodeAssemblerLabel label0(&ca_);
     590             :     compiler::CodeAssemblerExceptionHandlerLabel catch76_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     591          56 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch76_label);
     592         112 :     tmp75 = IteratorBuiltinsAssembler(state_).IteratorStep(compiler::TNode<Context>{tmp68}, IteratorBuiltinsFromDSLAssembler::IteratorRecord{compiler::TNode<JSReceiver>{tmp73}, compiler::TNode<Object>{tmp74}}, compiler::TNode<Map>{tmp72}, &label0);
     593             :     }
     594          56 :     if (catch76_label.is_used()) {
     595             :       compiler::CodeAssemblerLabel catch76_skip(&ca_);
     596          56 :       ca_.Goto(&catch76_skip);
     597             :       compiler::TNode<Object> catch76_exception_object;
     598             :       ca_.Bind(&catch76_label, &catch76_exception_object);
     599             :       ca_.Goto(&block23, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp73, tmp74, tmp72, catch76_exception_object);
     600          56 :       ca_.Bind(&catch76_skip);
     601             :     }
     602             :     ca_.Goto(&block21, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp73, tmp74, tmp72, tmp75);
     603          56 :     if (label0.is_used()) {
     604          56 :       ca_.Bind(&label0);
     605             :       ca_.Goto(&block22, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp73, tmp74, tmp72);
     606          56 :     }
     607             :   }
     608             : 
     609          56 :   if (block23.is_used()) {
     610             :     compiler::TNode<Context> tmp77;
     611             :     compiler::TNode<Object> tmp78;
     612             :     compiler::TNode<Object> tmp79;
     613             :     compiler::TNode<JSObject> tmp80;
     614             :     compiler::TNode<Map> tmp81;
     615             :     compiler::TNode<JSReceiver> tmp82;
     616             :     compiler::TNode<Object> tmp83;
     617             :     compiler::TNode<JSReceiver> tmp84;
     618             :     compiler::TNode<Object> tmp85;
     619             :     compiler::TNode<Map> tmp86;
     620             :     compiler::TNode<Object> tmp87;
     621             :     ca_.Bind(&block23, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87);
     622             :     ca_.Goto(&block14, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp87);
     623             :   }
     624             : 
     625          56 :   if (block22.is_used()) {
     626             :     compiler::TNode<Context> tmp88;
     627             :     compiler::TNode<Object> tmp89;
     628             :     compiler::TNode<Object> tmp90;
     629             :     compiler::TNode<JSObject> tmp91;
     630             :     compiler::TNode<Map> tmp92;
     631             :     compiler::TNode<JSReceiver> tmp93;
     632             :     compiler::TNode<Object> tmp94;
     633             :     compiler::TNode<JSReceiver> tmp95;
     634             :     compiler::TNode<Object> tmp96;
     635             :     compiler::TNode<Map> tmp97;
     636             :     ca_.Bind(&block22, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97);
     637             :     ca_.Goto(&block20, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94);
     638             :   }
     639             : 
     640          56 :   if (block21.is_used()) {
     641             :     compiler::TNode<Context> tmp98;
     642             :     compiler::TNode<Object> tmp99;
     643             :     compiler::TNode<Object> tmp100;
     644             :     compiler::TNode<JSObject> tmp101;
     645             :     compiler::TNode<Map> tmp102;
     646             :     compiler::TNode<JSReceiver> tmp103;
     647             :     compiler::TNode<Object> tmp104;
     648             :     compiler::TNode<JSReceiver> tmp105;
     649             :     compiler::TNode<Object> tmp106;
     650             :     compiler::TNode<Map> tmp107;
     651             :     compiler::TNode<Object> tmp108;
     652             :     ca_.Bind(&block21, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108);
     653             :     ca_.Goto(&block19, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp108);
     654             :   }
     655             : 
     656          56 :   if (block20.is_used()) {
     657             :     compiler::TNode<Context> tmp109;
     658             :     compiler::TNode<Object> tmp110;
     659             :     compiler::TNode<Object> tmp111;
     660             :     compiler::TNode<JSObject> tmp112;
     661             :     compiler::TNode<Map> tmp113;
     662             :     compiler::TNode<JSReceiver> tmp114;
     663             :     compiler::TNode<Object> tmp115;
     664             :     ca_.Bind(&block20, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115);
     665          56 :     arguments->PopAndReturn(tmp112);
     666             :   }
     667             : 
     668          56 :   if (block19.is_used()) {
     669             :     compiler::TNode<Context> tmp116;
     670             :     compiler::TNode<Object> tmp117;
     671             :     compiler::TNode<Object> tmp118;
     672             :     compiler::TNode<JSObject> tmp119;
     673             :     compiler::TNode<Map> tmp120;
     674             :     compiler::TNode<JSReceiver> tmp121;
     675             :     compiler::TNode<Object> tmp122;
     676             :     compiler::TNode<Object> tmp123;
     677             :     ca_.Bind(&block19, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
     678             :     compiler::TNode<Object> tmp124;
     679             :     USE(tmp124);
     680             :     compiler::CodeAssemblerExceptionHandlerLabel catch125_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     681          56 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch125_label);
     682         112 :     tmp124 = ca_.UncheckedCast<Object>(IteratorBuiltinsAssembler(state_).IteratorValue(compiler::TNode<Context>{tmp116}, compiler::TNode<Object>{tmp123}, compiler::TNode<Map>{tmp120}));
     683             :     }
     684          56 :     if (catch125_label.is_used()) {
     685             :       compiler::CodeAssemblerLabel catch125_skip(&ca_);
     686          56 :       ca_.Goto(&catch125_skip);
     687             :       compiler::TNode<Object> catch125_exception_object;
     688             :       ca_.Bind(&catch125_label, &catch125_exception_object);
     689             :       ca_.Goto(&block24, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp123, tmp120, catch125_exception_object);
     690          56 :       ca_.Bind(&catch125_skip);
     691             :     }
     692             :     compiler::TNode<Object> tmp126;
     693             :     USE(tmp126);
     694             :     compiler::TNode<Object> tmp127;
     695             :     USE(tmp127);
     696             :     compiler::CodeAssemblerExceptionHandlerLabel catch128_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     697          56 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch128_label);
     698         168 :     std::tie(tmp126, tmp127) = CollectionsBuiltinsFromDSLAssembler(state_).LoadKeyValuePair(compiler::TNode<Context>{tmp116}, compiler::TNode<Object>{tmp124}).Flatten();
     699             :     }
     700          56 :     if (catch128_label.is_used()) {
     701             :       compiler::CodeAssemblerLabel catch128_skip(&ca_);
     702          56 :       ca_.Goto(&catch128_skip);
     703             :       compiler::TNode<Object> catch128_exception_object;
     704             :       ca_.Bind(&catch128_label, &catch128_exception_object);
     705             :       ca_.Goto(&block25, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp124, catch128_exception_object);
     706          56 :       ca_.Bind(&catch128_skip);
     707             :     }
     708             :     compiler::CodeAssemblerExceptionHandlerLabel catch130_label(&ca_, compiler::CodeAssemblerLabel::kDeferred);
     709          56 :     { compiler::CodeAssemblerScopedExceptionHandler s(&ca_, &catch130_label);
     710         112 :     CodeStubAssembler(state_).CallRuntime(Runtime::kCreateDataProperty, tmp116, tmp119, tmp126, tmp127);
     711             :     }
     712          56 :     if (catch130_label.is_used()) {
     713             :       compiler::CodeAssemblerLabel catch130_skip(&ca_);
     714          56 :       ca_.Goto(&catch130_skip);
     715             :       compiler::TNode<Object> catch130_exception_object;
     716             :       ca_.Bind(&catch130_label, &catch130_exception_object);
     717             :       ca_.Goto(&block26, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp126, tmp127, tmp119, tmp126, tmp127, catch130_exception_object);
     718          56 :       ca_.Bind(&catch130_skip);
     719             :     }
     720             :     ca_.Goto(&block17, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122);
     721             :   }
     722             : 
     723          56 :   if (block24.is_used()) {
     724             :     compiler::TNode<Context> tmp131;
     725             :     compiler::TNode<Object> tmp132;
     726             :     compiler::TNode<Object> tmp133;
     727             :     compiler::TNode<JSObject> tmp134;
     728             :     compiler::TNode<Map> tmp135;
     729             :     compiler::TNode<JSReceiver> tmp136;
     730             :     compiler::TNode<Object> tmp137;
     731             :     compiler::TNode<Object> tmp138;
     732             :     compiler::TNode<Object> tmp139;
     733             :     compiler::TNode<Map> tmp140;
     734             :     compiler::TNode<Object> tmp141;
     735             :     ca_.Bind(&block24, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141);
     736             :     ca_.Goto(&block14, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp141);
     737             :   }
     738             : 
     739          56 :   if (block25.is_used()) {
     740             :     compiler::TNode<Context> tmp142;
     741             :     compiler::TNode<Object> tmp143;
     742             :     compiler::TNode<Object> tmp144;
     743             :     compiler::TNode<JSObject> tmp145;
     744             :     compiler::TNode<Map> tmp146;
     745             :     compiler::TNode<JSReceiver> tmp147;
     746             :     compiler::TNode<Object> tmp148;
     747             :     compiler::TNode<Object> tmp149;
     748             :     compiler::TNode<Object> tmp150;
     749             :     compiler::TNode<Object> tmp151;
     750             :     compiler::TNode<Object> tmp152;
     751             :     ca_.Bind(&block25, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152);
     752             :     ca_.Goto(&block14, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp152);
     753             :   }
     754             : 
     755          56 :   if (block26.is_used()) {
     756             :     compiler::TNode<Context> tmp153;
     757             :     compiler::TNode<Object> tmp154;
     758             :     compiler::TNode<Object> tmp155;
     759             :     compiler::TNode<JSObject> tmp156;
     760             :     compiler::TNode<Map> tmp157;
     761             :     compiler::TNode<JSReceiver> tmp158;
     762             :     compiler::TNode<Object> tmp159;
     763             :     compiler::TNode<Object> tmp160;
     764             :     compiler::TNode<Object> tmp161;
     765             :     compiler::TNode<Object> tmp162;
     766             :     compiler::TNode<Object> tmp163;
     767             :     compiler::TNode<JSObject> tmp164;
     768             :     compiler::TNode<Object> tmp165;
     769             :     compiler::TNode<Object> tmp166;
     770             :     compiler::TNode<Object> tmp167;
     771             :     ca_.Bind(&block26, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167);
     772             :     ca_.Goto(&block14, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp167);
     773             :   }
     774             : 
     775          56 :   if (block16.is_used()) {
     776             :     compiler::TNode<Context> tmp168;
     777             :     compiler::TNode<Object> tmp169;
     778             :     compiler::TNode<Object> tmp170;
     779             :     compiler::TNode<JSObject> tmp171;
     780             :     compiler::TNode<Map> tmp172;
     781             :     compiler::TNode<JSReceiver> tmp173;
     782             :     compiler::TNode<Object> tmp174;
     783             :     ca_.Bind(&block16, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174);
     784          56 :     arguments->PopAndReturn(tmp171);
     785             :   }
     786             : 
     787          56 :   if (block14.is_used()) {
     788             :     compiler::TNode<Context> tmp175;
     789             :     compiler::TNode<Object> tmp176;
     790             :     compiler::TNode<Object> tmp177;
     791             :     compiler::TNode<JSObject> tmp178;
     792             :     compiler::TNode<Map> tmp179;
     793             :     compiler::TNode<JSReceiver> tmp180;
     794             :     compiler::TNode<Object> tmp181;
     795             :     compiler::TNode<Object> tmp182;
     796             :     ca_.Bind(&block14, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182);
     797         112 :     IteratorBuiltinsAssembler(state_).IteratorCloseOnException(compiler::TNode<Context>{tmp175}, IteratorBuiltinsFromDSLAssembler::IteratorRecord{compiler::TNode<JSReceiver>{tmp180}, compiler::TNode<Object>{tmp181}}, compiler::TNode<Object>{tmp182});
     798             :   }
     799             : 
     800          56 :   if (block2.is_used()) {
     801             :     compiler::TNode<Context> tmp183;
     802             :     compiler::TNode<Object> tmp184;
     803             :     compiler::TNode<Object> tmp185;
     804             :     ca_.Bind(&block2, &tmp183, &tmp184, &tmp185);
     805         112 :     CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp183}, MessageTemplate::kNotIterable);
     806          56 :   }
     807          56 : }
     808             : 
     809             : }  // namespace internal
     810       94089 : }  // namespace v8
     811             : 

Generated by: LCOV version 1.10