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: 172 175 98.3 %
Date: 2019-04-18 Functions: 4 4 100.0 %

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

Generated by: LCOV version 1.10