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