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 336 : BaseBuiltinsFromDSLAssembler::KeyValuePair CollectionsBuiltinsFromDSLAssembler::LoadKeyValuePairNoSideEffects(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o, compiler::CodeAssemblerLabel* label_MayHaveSideEffects) {
44 336 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
45 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
46 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSArray> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
47 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedArrayBase> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
48 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedArrayBase, FixedArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
49 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedArray, Object, Object> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
50 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedArray, Object, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
51 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedArray, Object, Object, Object> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
52 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedArray, Object, Object, Object> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
53 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedArray, Object, Object, Object> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
54 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedArray, Object, Object, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
55 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedArray, Object, Object, Object, Object> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
56 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedArray, Object, Object, Object, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
57 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedArray, Object, Object, Object, Object, Object, Object> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
58 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
59 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedArrayBase> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
60 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedArrayBase, FixedDoubleArray> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
61 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedDoubleArray, Object, Object> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
62 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedDoubleArray, Object, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
63 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedDoubleArray, Object, Object, Object> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
64 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedDoubleArray, Object, Object, Object> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
65 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedDoubleArray, Object, Object, Object> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
66 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedDoubleArray, Object, Object, Object> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
67 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedDoubleArray, Object, Object, Object, Object> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
68 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedDoubleArray, Object, Object, Object, Object> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
69 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase, FixedDoubleArray, Object, Object, Object, Object, Object, Object> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
70 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray, Smi, FixedArrayBase> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
71 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
72 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
73 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, JSReceiver> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
74 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
75 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
76 672 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
77 672 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
78 336 : ca_.Goto(&block0, p_context, p_o);
79 :
80 336 : if (block0.is_used()) {
81 336 : compiler::TNode<Context> tmp0;
82 336 : compiler::TNode<Object> tmp1;
83 336 : ca_.Bind(&block0, &tmp0, &tmp1);
84 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 11);
85 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 12);
86 336 : compiler::TNode<JSArray> tmp2;
87 336 : USE(tmp2);
88 336 : compiler::CodeAssemblerLabel label0(&ca_);
89 336 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
90 336 : ca_.Goto(&block5, tmp0, tmp1, tmp1, tmp1, tmp2);
91 336 : if (label0.is_used()) {
92 336 : ca_.Bind(&label0);
93 336 : ca_.Goto(&block6, tmp0, tmp1, tmp1, tmp1);
94 336 : }
95 : }
96 :
97 336 : if (block6.is_used()) {
98 336 : compiler::TNode<Context> tmp3;
99 336 : compiler::TNode<Object> tmp4;
100 336 : compiler::TNode<Object> tmp5;
101 336 : compiler::TNode<Object> tmp6;
102 336 : ca_.Bind(&block6, &tmp3, &tmp4, &tmp5, &tmp6);
103 336 : ca_.Goto(&block4, tmp3, tmp4, tmp5);
104 : }
105 :
106 336 : if (block5.is_used()) {
107 336 : compiler::TNode<Context> tmp7;
108 336 : compiler::TNode<Object> tmp8;
109 336 : compiler::TNode<Object> tmp9;
110 336 : compiler::TNode<Object> tmp10;
111 336 : compiler::TNode<JSArray> tmp11;
112 336 : ca_.Bind(&block5, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
113 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 13);
114 336 : compiler::TNode<Smi> tmp12;
115 336 : USE(tmp12);
116 336 : tmp12 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp11}));
117 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 14);
118 336 : compiler::TNode<FixedArrayBase> tmp13;
119 336 : USE(tmp13);
120 336 : tmp13 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp11}));
121 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 15);
122 336 : compiler::TNode<FixedArray> tmp14;
123 336 : USE(tmp14);
124 336 : compiler::CodeAssemblerLabel label0(&ca_);
125 336 : tmp14 = BaseBuiltinsFromDSLAssembler(state_).Cast10FixedArray(compiler::TNode<HeapObject>{tmp13}, &label0);
126 336 : ca_.Goto(&block9, tmp7, tmp8, tmp9, tmp11, tmp12, tmp13, tmp13, tmp14);
127 336 : if (label0.is_used()) {
128 336 : ca_.Bind(&label0);
129 336 : ca_.Goto(&block10, tmp7, tmp8, tmp9, tmp11, tmp12, tmp13, tmp13);
130 336 : }
131 : }
132 :
133 336 : if (block10.is_used()) {
134 336 : compiler::TNode<Context> tmp15;
135 336 : compiler::TNode<Object> tmp16;
136 336 : compiler::TNode<Object> tmp17;
137 336 : compiler::TNode<JSArray> tmp18;
138 336 : compiler::TNode<Smi> tmp19;
139 336 : compiler::TNode<FixedArrayBase> tmp20;
140 336 : compiler::TNode<FixedArrayBase> tmp21;
141 336 : ca_.Bind(&block10, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21);
142 336 : ca_.Goto(&block8, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
143 : }
144 :
145 336 : if (block9.is_used()) {
146 336 : compiler::TNode<Context> tmp22;
147 336 : compiler::TNode<Object> tmp23;
148 336 : compiler::TNode<Object> tmp24;
149 336 : compiler::TNode<JSArray> tmp25;
150 336 : compiler::TNode<Smi> tmp26;
151 336 : compiler::TNode<FixedArrayBase> tmp27;
152 336 : compiler::TNode<FixedArrayBase> tmp28;
153 336 : compiler::TNode<FixedArray> tmp29;
154 336 : ca_.Bind(&block9, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29);
155 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 16);
156 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 17);
157 336 : compiler::TNode<Smi> tmp30;
158 336 : USE(tmp30);
159 336 : tmp30 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
160 336 : compiler::TNode<BoolT> tmp31;
161 336 : USE(tmp31);
162 336 : tmp31 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp26}, compiler::TNode<Smi>{tmp30}));
163 336 : ca_.Branch(tmp31, &block11, &block12, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp29, ca_.Uninitialized<Object>(), ca_.Uninitialized<Object>());
164 : }
165 :
166 336 : if (block11.is_used()) {
167 336 : compiler::TNode<Context> tmp32;
168 336 : compiler::TNode<Object> tmp33;
169 336 : compiler::TNode<Object> tmp34;
170 336 : compiler::TNode<JSArray> tmp35;
171 336 : compiler::TNode<Smi> tmp36;
172 336 : compiler::TNode<FixedArrayBase> tmp37;
173 336 : compiler::TNode<FixedArray> tmp38;
174 336 : compiler::TNode<Object> tmp39;
175 336 : compiler::TNode<Object> tmp40;
176 336 : ca_.Bind(&block11, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40);
177 336 : compiler::TNode<Smi> tmp41;
178 336 : USE(tmp41);
179 336 : tmp41 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
180 336 : compiler::TNode<Object> tmp42;
181 336 : USE(tmp42);
182 336 : tmp42 = ca_.UncheckedCast<Object>(ArrayBuiltinsFromDSLAssembler(state_).LoadElementOrUndefined(compiler::TNode<FixedArray>{tmp38}, compiler::TNode<Smi>{tmp41}));
183 336 : ca_.Goto(&block14, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp42);
184 : }
185 :
186 336 : if (block12.is_used()) {
187 336 : compiler::TNode<Context> tmp43;
188 336 : compiler::TNode<Object> tmp44;
189 336 : compiler::TNode<Object> tmp45;
190 336 : compiler::TNode<JSArray> tmp46;
191 336 : compiler::TNode<Smi> tmp47;
192 336 : compiler::TNode<FixedArrayBase> tmp48;
193 336 : compiler::TNode<FixedArray> tmp49;
194 336 : compiler::TNode<Object> tmp50;
195 336 : compiler::TNode<Object> tmp51;
196 336 : ca_.Bind(&block12, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
197 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 18);
198 336 : compiler::TNode<Oddball> tmp52;
199 336 : USE(tmp52);
200 336 : tmp52 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
201 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 17);
202 336 : ca_.Goto(&block13, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52);
203 : }
204 :
205 336 : if (block14.is_used()) {
206 336 : compiler::TNode<Context> tmp53;
207 336 : compiler::TNode<Object> tmp54;
208 336 : compiler::TNode<Object> tmp55;
209 336 : compiler::TNode<JSArray> tmp56;
210 336 : compiler::TNode<Smi> tmp57;
211 336 : compiler::TNode<FixedArrayBase> tmp58;
212 336 : compiler::TNode<FixedArray> tmp59;
213 336 : compiler::TNode<Object> tmp60;
214 336 : compiler::TNode<Object> tmp61;
215 336 : compiler::TNode<Object> tmp62;
216 336 : ca_.Bind(&block14, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62);
217 336 : ca_.Goto(&block13, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62);
218 : }
219 :
220 336 : if (block13.is_used()) {
221 336 : compiler::TNode<Context> tmp63;
222 336 : compiler::TNode<Object> tmp64;
223 336 : compiler::TNode<Object> tmp65;
224 336 : compiler::TNode<JSArray> tmp66;
225 336 : compiler::TNode<Smi> tmp67;
226 336 : compiler::TNode<FixedArrayBase> tmp68;
227 336 : compiler::TNode<FixedArray> tmp69;
228 336 : compiler::TNode<Object> tmp70;
229 336 : compiler::TNode<Object> tmp71;
230 336 : compiler::TNode<Object> tmp72;
231 336 : ca_.Bind(&block13, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72);
232 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 19);
233 336 : compiler::TNode<Smi> tmp73;
234 336 : USE(tmp73);
235 336 : tmp73 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
236 336 : compiler::TNode<BoolT> tmp74;
237 336 : USE(tmp74);
238 336 : tmp74 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp67}, compiler::TNode<Smi>{tmp73}));
239 336 : ca_.Branch(tmp74, &block15, &block16, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72);
240 : }
241 :
242 336 : if (block15.is_used()) {
243 336 : compiler::TNode<Context> tmp75;
244 336 : compiler::TNode<Object> tmp76;
245 336 : compiler::TNode<Object> tmp77;
246 336 : compiler::TNode<JSArray> tmp78;
247 336 : compiler::TNode<Smi> tmp79;
248 336 : compiler::TNode<FixedArrayBase> tmp80;
249 336 : compiler::TNode<FixedArray> tmp81;
250 336 : compiler::TNode<Object> tmp82;
251 336 : compiler::TNode<Object> tmp83;
252 336 : compiler::TNode<Object> tmp84;
253 336 : ca_.Bind(&block15, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84);
254 336 : compiler::TNode<Smi> tmp85;
255 336 : USE(tmp85);
256 336 : tmp85 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
257 336 : compiler::TNode<Object> tmp86;
258 336 : USE(tmp86);
259 336 : tmp86 = ca_.UncheckedCast<Object>(ArrayBuiltinsFromDSLAssembler(state_).LoadElementOrUndefined(compiler::TNode<FixedArray>{tmp81}, compiler::TNode<Smi>{tmp85}));
260 336 : ca_.Goto(&block18, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp86);
261 : }
262 :
263 336 : if (block16.is_used()) {
264 336 : compiler::TNode<Context> tmp87;
265 336 : compiler::TNode<Object> tmp88;
266 336 : compiler::TNode<Object> tmp89;
267 336 : compiler::TNode<JSArray> tmp90;
268 336 : compiler::TNode<Smi> tmp91;
269 336 : compiler::TNode<FixedArrayBase> tmp92;
270 336 : compiler::TNode<FixedArray> tmp93;
271 336 : compiler::TNode<Object> tmp94;
272 336 : compiler::TNode<Object> tmp95;
273 336 : compiler::TNode<Object> tmp96;
274 336 : ca_.Bind(&block16, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96);
275 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 20);
276 336 : compiler::TNode<Oddball> tmp97;
277 336 : USE(tmp97);
278 336 : tmp97 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
279 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 19);
280 336 : ca_.Goto(&block17, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97);
281 : }
282 :
283 336 : if (block18.is_used()) {
284 336 : compiler::TNode<Context> tmp98;
285 336 : compiler::TNode<Object> tmp99;
286 336 : compiler::TNode<Object> tmp100;
287 336 : compiler::TNode<JSArray> tmp101;
288 336 : compiler::TNode<Smi> tmp102;
289 336 : compiler::TNode<FixedArrayBase> tmp103;
290 336 : compiler::TNode<FixedArray> tmp104;
291 336 : compiler::TNode<Object> tmp105;
292 336 : compiler::TNode<Object> tmp106;
293 336 : compiler::TNode<Object> tmp107;
294 336 : compiler::TNode<Object> tmp108;
295 336 : ca_.Bind(&block18, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108);
296 336 : ca_.Goto(&block17, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108);
297 : }
298 :
299 336 : if (block17.is_used()) {
300 336 : compiler::TNode<Context> tmp109;
301 336 : compiler::TNode<Object> tmp110;
302 336 : compiler::TNode<Object> tmp111;
303 336 : compiler::TNode<JSArray> tmp112;
304 336 : compiler::TNode<Smi> tmp113;
305 336 : compiler::TNode<FixedArrayBase> tmp114;
306 336 : compiler::TNode<FixedArray> tmp115;
307 336 : compiler::TNode<Object> tmp116;
308 336 : compiler::TNode<Object> tmp117;
309 336 : compiler::TNode<Object> tmp118;
310 336 : compiler::TNode<Object> tmp119;
311 336 : ca_.Bind(&block17, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119);
312 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 16);
313 336 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1567);
314 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 16);
315 336 : ca_.Goto(&block19, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp118, tmp119, tmp118, tmp119, tmp118, tmp119);
316 : }
317 :
318 336 : if (block19.is_used()) {
319 336 : compiler::TNode<Context> tmp120;
320 336 : compiler::TNode<Object> tmp121;
321 336 : compiler::TNode<Object> tmp122;
322 336 : compiler::TNode<JSArray> tmp123;
323 336 : compiler::TNode<Smi> tmp124;
324 336 : compiler::TNode<FixedArrayBase> tmp125;
325 336 : compiler::TNode<FixedArray> tmp126;
326 336 : compiler::TNode<Object> tmp127;
327 336 : compiler::TNode<Object> tmp128;
328 336 : compiler::TNode<Object> tmp129;
329 336 : compiler::TNode<Object> tmp130;
330 336 : compiler::TNode<Object> tmp131;
331 336 : compiler::TNode<Object> tmp132;
332 336 : ca_.Bind(&block19, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132);
333 336 : ca_.Goto(&block2, tmp120, tmp121, tmp127, tmp128);
334 : }
335 :
336 336 : if (block8.is_used()) {
337 336 : compiler::TNode<Context> tmp133;
338 336 : compiler::TNode<Object> tmp134;
339 336 : compiler::TNode<Object> tmp135;
340 336 : compiler::TNode<JSArray> tmp136;
341 336 : compiler::TNode<Smi> tmp137;
342 336 : compiler::TNode<FixedArrayBase> tmp138;
343 336 : ca_.Bind(&block8, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138);
344 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 23);
345 336 : compiler::TNode<FixedDoubleArray> tmp139;
346 336 : USE(tmp139);
347 336 : compiler::CodeAssemblerLabel label0(&ca_);
348 336 : tmp139 = BaseBuiltinsFromDSLAssembler(state_).Cast16FixedDoubleArray(compiler::TNode<HeapObject>{ca_.UncheckedCast<FixedArrayBase>(tmp138)}, &label0);
349 336 : ca_.Goto(&block22, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, ca_.UncheckedCast<FixedArrayBase>(tmp138), tmp139);
350 336 : if (label0.is_used()) {
351 336 : ca_.Bind(&label0);
352 336 : ca_.Goto(&block23, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, ca_.UncheckedCast<FixedArrayBase>(tmp138));
353 336 : }
354 : }
355 :
356 336 : if (block23.is_used()) {
357 336 : compiler::TNode<Context> tmp140;
358 336 : compiler::TNode<Object> tmp141;
359 336 : compiler::TNode<Object> tmp142;
360 336 : compiler::TNode<JSArray> tmp143;
361 336 : compiler::TNode<Smi> tmp144;
362 336 : compiler::TNode<FixedArrayBase> tmp145;
363 336 : compiler::TNode<FixedArrayBase> tmp146;
364 336 : ca_.Bind(&block23, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146);
365 336 : ca_.Goto(&block21, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145);
366 : }
367 :
368 336 : if (block22.is_used()) {
369 336 : compiler::TNode<Context> tmp147;
370 336 : compiler::TNode<Object> tmp148;
371 336 : compiler::TNode<Object> tmp149;
372 336 : compiler::TNode<JSArray> tmp150;
373 336 : compiler::TNode<Smi> tmp151;
374 336 : compiler::TNode<FixedArrayBase> tmp152;
375 336 : compiler::TNode<FixedArrayBase> tmp153;
376 336 : compiler::TNode<FixedDoubleArray> tmp154;
377 336 : ca_.Bind(&block22, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154);
378 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 24);
379 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 25);
380 336 : compiler::TNode<Smi> tmp155;
381 336 : USE(tmp155);
382 336 : tmp155 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
383 336 : compiler::TNode<BoolT> tmp156;
384 336 : USE(tmp156);
385 336 : tmp156 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp151}, compiler::TNode<Smi>{tmp155}));
386 336 : ca_.Branch(tmp156, &block24, &block25, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp154, ca_.Uninitialized<Object>(), ca_.Uninitialized<Object>());
387 : }
388 :
389 336 : if (block24.is_used()) {
390 336 : compiler::TNode<Context> tmp157;
391 336 : compiler::TNode<Object> tmp158;
392 336 : compiler::TNode<Object> tmp159;
393 336 : compiler::TNode<JSArray> tmp160;
394 336 : compiler::TNode<Smi> tmp161;
395 336 : compiler::TNode<FixedArrayBase> tmp162;
396 336 : compiler::TNode<FixedDoubleArray> tmp163;
397 336 : compiler::TNode<Object> tmp164;
398 336 : compiler::TNode<Object> tmp165;
399 336 : ca_.Bind(&block24, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165);
400 336 : compiler::TNode<Smi> tmp166;
401 336 : USE(tmp166);
402 336 : tmp166 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
403 336 : compiler::TNode<Object> tmp167;
404 336 : USE(tmp167);
405 336 : tmp167 = ca_.UncheckedCast<Object>(ArrayBuiltinsFromDSLAssembler(state_).LoadElementOrUndefined(compiler::TNode<FixedDoubleArray>{tmp163}, compiler::TNode<Smi>{tmp166}));
406 336 : ca_.Goto(&block27, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp167);
407 : }
408 :
409 336 : if (block25.is_used()) {
410 336 : compiler::TNode<Context> tmp168;
411 336 : compiler::TNode<Object> tmp169;
412 336 : compiler::TNode<Object> tmp170;
413 336 : compiler::TNode<JSArray> tmp171;
414 336 : compiler::TNode<Smi> tmp172;
415 336 : compiler::TNode<FixedArrayBase> tmp173;
416 336 : compiler::TNode<FixedDoubleArray> tmp174;
417 336 : compiler::TNode<Object> tmp175;
418 336 : compiler::TNode<Object> tmp176;
419 336 : ca_.Bind(&block25, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176);
420 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 26);
421 336 : compiler::TNode<Oddball> tmp177;
422 336 : USE(tmp177);
423 336 : tmp177 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
424 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 25);
425 336 : ca_.Goto(&block26, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177);
426 : }
427 :
428 336 : if (block27.is_used()) {
429 336 : compiler::TNode<Context> tmp178;
430 336 : compiler::TNode<Object> tmp179;
431 336 : compiler::TNode<Object> tmp180;
432 336 : compiler::TNode<JSArray> tmp181;
433 336 : compiler::TNode<Smi> tmp182;
434 336 : compiler::TNode<FixedArrayBase> tmp183;
435 336 : compiler::TNode<FixedDoubleArray> tmp184;
436 336 : compiler::TNode<Object> tmp185;
437 336 : compiler::TNode<Object> tmp186;
438 336 : compiler::TNode<Object> tmp187;
439 336 : ca_.Bind(&block27, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187);
440 336 : ca_.Goto(&block26, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187);
441 : }
442 :
443 336 : if (block26.is_used()) {
444 336 : compiler::TNode<Context> tmp188;
445 336 : compiler::TNode<Object> tmp189;
446 336 : compiler::TNode<Object> tmp190;
447 336 : compiler::TNode<JSArray> tmp191;
448 336 : compiler::TNode<Smi> tmp192;
449 336 : compiler::TNode<FixedArrayBase> tmp193;
450 336 : compiler::TNode<FixedDoubleArray> tmp194;
451 336 : compiler::TNode<Object> tmp195;
452 336 : compiler::TNode<Object> tmp196;
453 336 : compiler::TNode<Object> tmp197;
454 336 : ca_.Bind(&block26, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197);
455 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 27);
456 336 : compiler::TNode<Smi> tmp198;
457 336 : USE(tmp198);
458 336 : tmp198 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
459 336 : compiler::TNode<BoolT> tmp199;
460 336 : USE(tmp199);
461 336 : tmp199 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp192}, compiler::TNode<Smi>{tmp198}));
462 336 : ca_.Branch(tmp199, &block28, &block29, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197);
463 : }
464 :
465 336 : if (block28.is_used()) {
466 336 : compiler::TNode<Context> tmp200;
467 336 : compiler::TNode<Object> tmp201;
468 336 : compiler::TNode<Object> tmp202;
469 336 : compiler::TNode<JSArray> tmp203;
470 336 : compiler::TNode<Smi> tmp204;
471 336 : compiler::TNode<FixedArrayBase> tmp205;
472 336 : compiler::TNode<FixedDoubleArray> tmp206;
473 336 : compiler::TNode<Object> tmp207;
474 336 : compiler::TNode<Object> tmp208;
475 336 : compiler::TNode<Object> tmp209;
476 336 : ca_.Bind(&block28, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209);
477 336 : compiler::TNode<Smi> tmp210;
478 336 : USE(tmp210);
479 336 : tmp210 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
480 336 : compiler::TNode<Object> tmp211;
481 336 : USE(tmp211);
482 336 : tmp211 = ca_.UncheckedCast<Object>(ArrayBuiltinsFromDSLAssembler(state_).LoadElementOrUndefined(compiler::TNode<FixedDoubleArray>{tmp206}, compiler::TNode<Smi>{tmp210}));
483 336 : ca_.Goto(&block31, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp211);
484 : }
485 :
486 336 : if (block29.is_used()) {
487 336 : compiler::TNode<Context> tmp212;
488 336 : compiler::TNode<Object> tmp213;
489 336 : compiler::TNode<Object> tmp214;
490 336 : compiler::TNode<JSArray> tmp215;
491 336 : compiler::TNode<Smi> tmp216;
492 336 : compiler::TNode<FixedArrayBase> tmp217;
493 336 : compiler::TNode<FixedDoubleArray> tmp218;
494 336 : compiler::TNode<Object> tmp219;
495 336 : compiler::TNode<Object> tmp220;
496 336 : compiler::TNode<Object> tmp221;
497 336 : ca_.Bind(&block29, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221);
498 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 28);
499 336 : compiler::TNode<Oddball> tmp222;
500 336 : USE(tmp222);
501 336 : tmp222 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
502 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 27);
503 336 : ca_.Goto(&block30, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222);
504 : }
505 :
506 336 : if (block31.is_used()) {
507 336 : compiler::TNode<Context> tmp223;
508 336 : compiler::TNode<Object> tmp224;
509 336 : compiler::TNode<Object> tmp225;
510 336 : compiler::TNode<JSArray> tmp226;
511 336 : compiler::TNode<Smi> tmp227;
512 336 : compiler::TNode<FixedArrayBase> tmp228;
513 336 : compiler::TNode<FixedDoubleArray> tmp229;
514 336 : compiler::TNode<Object> tmp230;
515 336 : compiler::TNode<Object> tmp231;
516 336 : compiler::TNode<Object> tmp232;
517 336 : compiler::TNode<Object> tmp233;
518 336 : ca_.Bind(&block31, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233);
519 336 : ca_.Goto(&block30, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, tmp232, tmp233);
520 : }
521 :
522 336 : if (block30.is_used()) {
523 336 : compiler::TNode<Context> tmp234;
524 336 : compiler::TNode<Object> tmp235;
525 336 : compiler::TNode<Object> tmp236;
526 336 : compiler::TNode<JSArray> tmp237;
527 336 : compiler::TNode<Smi> tmp238;
528 336 : compiler::TNode<FixedArrayBase> tmp239;
529 336 : compiler::TNode<FixedDoubleArray> tmp240;
530 336 : compiler::TNode<Object> tmp241;
531 336 : compiler::TNode<Object> tmp242;
532 336 : compiler::TNode<Object> tmp243;
533 336 : compiler::TNode<Object> tmp244;
534 336 : ca_.Bind(&block30, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244);
535 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 24);
536 336 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1567);
537 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 24);
538 336 : ca_.Goto(&block32, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp243, tmp244, tmp243, tmp244, tmp243, tmp244);
539 : }
540 :
541 336 : if (block32.is_used()) {
542 336 : compiler::TNode<Context> tmp245;
543 336 : compiler::TNode<Object> tmp246;
544 336 : compiler::TNode<Object> tmp247;
545 336 : compiler::TNode<JSArray> tmp248;
546 336 : compiler::TNode<Smi> tmp249;
547 336 : compiler::TNode<FixedArrayBase> tmp250;
548 336 : compiler::TNode<FixedDoubleArray> tmp251;
549 336 : compiler::TNode<Object> tmp252;
550 336 : compiler::TNode<Object> tmp253;
551 336 : compiler::TNode<Object> tmp254;
552 336 : compiler::TNode<Object> tmp255;
553 336 : compiler::TNode<Object> tmp256;
554 336 : compiler::TNode<Object> tmp257;
555 336 : ca_.Bind(&block32, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257);
556 336 : ca_.Goto(&block2, tmp245, tmp246, tmp252, tmp253);
557 : }
558 :
559 336 : if (block21.is_used()) {
560 336 : compiler::TNode<Context> tmp258;
561 336 : compiler::TNode<Object> tmp259;
562 336 : compiler::TNode<Object> tmp260;
563 336 : compiler::TNode<JSArray> tmp261;
564 336 : compiler::TNode<Smi> tmp262;
565 336 : compiler::TNode<FixedArrayBase> tmp263;
566 336 : ca_.Bind(&block21, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263);
567 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 31);
568 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 32);
569 336 : CodeStubAssembler(state_).Unreachable();
570 : }
571 :
572 336 : if (block4.is_used()) {
573 336 : compiler::TNode<Context> tmp264;
574 336 : compiler::TNode<Object> tmp265;
575 336 : compiler::TNode<Object> tmp266;
576 336 : ca_.Bind(&block4, &tmp264, &tmp265, &tmp266);
577 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 36);
578 336 : compiler::TNode<JSReceiver> tmp267;
579 336 : USE(tmp267);
580 336 : compiler::CodeAssemblerLabel label0(&ca_);
581 336 : tmp267 = BaseBuiltinsFromDSLAssembler(state_).Cast10JSReceiver(compiler::TNode<Context>{tmp264}, compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp266)}, &label0);
582 336 : ca_.Goto(&block35, tmp264, tmp265, tmp266, ca_.UncheckedCast<Object>(tmp266), tmp267);
583 336 : if (label0.is_used()) {
584 336 : ca_.Bind(&label0);
585 336 : ca_.Goto(&block36, tmp264, tmp265, tmp266, ca_.UncheckedCast<Object>(tmp266));
586 336 : }
587 : }
588 :
589 336 : if (block36.is_used()) {
590 336 : compiler::TNode<Context> tmp268;
591 336 : compiler::TNode<Object> tmp269;
592 336 : compiler::TNode<Object> tmp270;
593 336 : compiler::TNode<Object> tmp271;
594 336 : ca_.Bind(&block36, &tmp268, &tmp269, &tmp270, &tmp271);
595 336 : ca_.Goto(&block34, tmp268, tmp269, tmp270);
596 : }
597 :
598 336 : if (block35.is_used()) {
599 336 : compiler::TNode<Context> tmp272;
600 336 : compiler::TNode<Object> tmp273;
601 336 : compiler::TNode<Object> tmp274;
602 336 : compiler::TNode<Object> tmp275;
603 336 : compiler::TNode<JSReceiver> tmp276;
604 336 : ca_.Bind(&block35, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276);
605 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 37);
606 336 : ca_.Goto(&block1);
607 : }
608 :
609 336 : if (block34.is_used()) {
610 336 : compiler::TNode<Context> tmp277;
611 336 : compiler::TNode<Object> tmp278;
612 336 : compiler::TNode<Object> tmp279;
613 336 : ca_.Bind(&block34, &tmp277, &tmp278, &tmp279);
614 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 39);
615 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 40);
616 336 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp277}, MessageTemplate::kIteratorValueNotAnObject, compiler::TNode<Object>{ca_.UncheckedCast<Object>(tmp279)});
617 : }
618 :
619 336 : if (block2.is_used()) {
620 336 : compiler::TNode<Context> tmp280;
621 336 : compiler::TNode<Object> tmp281;
622 336 : compiler::TNode<Object> tmp282;
623 336 : compiler::TNode<Object> tmp283;
624 336 : ca_.Bind(&block2, &tmp280, &tmp281, &tmp282, &tmp283);
625 336 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 8);
626 336 : ca_.Goto(&block37, tmp280, tmp281, tmp282, tmp283);
627 : }
628 :
629 336 : if (block1.is_used()) {
630 336 : ca_.Bind(&block1);
631 336 : ca_.Goto(label_MayHaveSideEffects);
632 : }
633 :
634 336 : compiler::TNode<Context> tmp284;
635 336 : compiler::TNode<Object> tmp285;
636 336 : compiler::TNode<Object> tmp286;
637 336 : compiler::TNode<Object> tmp287;
638 336 : ca_.Bind(&block37, &tmp284, &tmp285, &tmp286, &tmp287);
639 672 : return BaseBuiltinsFromDSLAssembler::KeyValuePair{compiler::TNode<Object>{tmp286}, compiler::TNode<Object>{tmp287}};
640 : }
641 :
642 168 : BaseBuiltinsFromDSLAssembler::KeyValuePair CollectionsBuiltinsFromDSLAssembler::LoadKeyValuePair(compiler::TNode<Context> p_context, compiler::TNode<Object> p_o) {
643 168 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
644 336 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
645 336 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
646 336 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
647 336 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object, Object, Object, Object, Object> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
648 336 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
649 336 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
650 168 : ca_.Goto(&block0, p_context, p_o);
651 :
652 168 : if (block0.is_used()) {
653 168 : compiler::TNode<Context> tmp0;
654 168 : compiler::TNode<Object> tmp1;
655 168 : ca_.Bind(&block0, &tmp0, &tmp1);
656 168 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 48);
657 168 : compiler::TNode<Object> tmp2;
658 168 : USE(tmp2);
659 168 : compiler::TNode<Object> tmp3;
660 168 : USE(tmp3);
661 168 : compiler::CodeAssemblerLabel label0(&ca_);
662 168 : std::tie(tmp2, tmp3) = CollectionsBuiltinsFromDSLAssembler(state_).LoadKeyValuePairNoSideEffects(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0).Flatten();
663 168 : ca_.Goto(&block4, tmp0, tmp1, tmp1, tmp2, tmp3);
664 168 : if (label0.is_used()) {
665 168 : ca_.Bind(&label0);
666 168 : ca_.Goto(&block5, tmp0, tmp1, tmp1);
667 168 : }
668 : }
669 :
670 168 : if (block5.is_used()) {
671 168 : compiler::TNode<Context> tmp4;
672 168 : compiler::TNode<Object> tmp5;
673 168 : compiler::TNode<Object> tmp6;
674 168 : ca_.Bind(&block5, &tmp4, &tmp5, &tmp6);
675 168 : ca_.Goto(&block3, tmp4, tmp5);
676 : }
677 :
678 168 : if (block4.is_used()) {
679 168 : compiler::TNode<Context> tmp7;
680 168 : compiler::TNode<Object> tmp8;
681 168 : compiler::TNode<Object> tmp9;
682 168 : compiler::TNode<Object> tmp10;
683 168 : compiler::TNode<Object> tmp11;
684 168 : ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
685 168 : ca_.Goto(&block1, tmp7, tmp8, tmp10, tmp11);
686 : }
687 :
688 168 : if (block3.is_used()) {
689 168 : compiler::TNode<Context> tmp12;
690 168 : compiler::TNode<Object> tmp13;
691 168 : ca_.Bind(&block3, &tmp12, &tmp13);
692 168 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 51);
693 168 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 52);
694 168 : compiler::TNode<Smi> tmp14;
695 168 : USE(tmp14);
696 168 : tmp14 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi17ATconstexpr_int31(0));
697 168 : compiler::TNode<Object> tmp15;
698 168 : USE(tmp15);
699 168 : tmp15 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp12}, compiler::TNode<Object>{tmp13}, compiler::TNode<Object>{tmp14}));
700 168 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 53);
701 168 : compiler::TNode<Smi> tmp16;
702 168 : USE(tmp16);
703 168 : tmp16 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi17ATconstexpr_int31(1));
704 168 : compiler::TNode<Object> tmp17;
705 168 : USE(tmp17);
706 168 : tmp17 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp12}, compiler::TNode<Object>{tmp13}, compiler::TNode<Object>{tmp16}));
707 168 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 51);
708 168 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1567);
709 168 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 51);
710 168 : ca_.Goto(&block6, tmp12, tmp13, tmp15, tmp17, tmp15, tmp17, tmp15, tmp17);
711 : }
712 :
713 168 : if (block6.is_used()) {
714 168 : compiler::TNode<Context> tmp18;
715 168 : compiler::TNode<Object> tmp19;
716 168 : compiler::TNode<Object> tmp20;
717 168 : compiler::TNode<Object> tmp21;
718 168 : compiler::TNode<Object> tmp22;
719 168 : compiler::TNode<Object> tmp23;
720 168 : compiler::TNode<Object> tmp24;
721 168 : compiler::TNode<Object> tmp25;
722 168 : ca_.Bind(&block6, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25);
723 168 : ca_.Goto(&block1, tmp18, tmp19, tmp20, tmp21);
724 : }
725 :
726 168 : if (block1.is_used()) {
727 168 : compiler::TNode<Context> tmp26;
728 168 : compiler::TNode<Object> tmp27;
729 168 : compiler::TNode<Object> tmp28;
730 168 : compiler::TNode<Object> tmp29;
731 168 : ca_.Bind(&block1, &tmp26, &tmp27, &tmp28, &tmp29);
732 168 : ca_.SetSourcePosition("../../src/builtins/collections.tq", 45);
733 168 : ca_.Goto(&block7, tmp26, tmp27, tmp28, tmp29);
734 : }
735 :
736 168 : compiler::TNode<Context> tmp30;
737 168 : compiler::TNode<Object> tmp31;
738 168 : compiler::TNode<Object> tmp32;
739 168 : compiler::TNode<Object> tmp33;
740 168 : ca_.Bind(&block7, &tmp30, &tmp31, &tmp32, &tmp33);
741 336 : return BaseBuiltinsFromDSLAssembler::KeyValuePair{compiler::TNode<Object>{tmp32}, compiler::TNode<Object>{tmp33}};
742 : }
743 :
744 : } // namespace internal
745 86739 : } // namespace v8
746 :
|