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: 633 649 97.5 %
Date: 2019-03-21 Functions: 8 8 100.0 %

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

Generated by: LCOV version 1.10