Line data Source code
1 : #include "src/builtins/builtins-utils-gen.h"
2 : #include "src/builtins/builtins.h"
3 : #include "src/code-factory.h"
4 : #include "src/elements-kind.h"
5 : #include "src/heap/factory-inl.h"
6 : #include "src/objects.h"
7 : #include "src/objects/arguments.h"
8 : #include "src/objects/bigint.h"
9 : #include "src/objects/js-generator.h"
10 : #include "src/objects/js-promise.h"
11 : #include "src/objects/js-regexp-string-iterator.h"
12 : #include "src/objects/module.h"
13 : #include "src/objects/stack-frame-info.h"
14 : #include "src/builtins/builtins-array-gen.h"
15 : #include "src/builtins/builtins-collections-gen.h"
16 : #include "src/builtins/builtins-data-view-gen.h"
17 : #include "src/builtins/builtins-iterator-gen.h"
18 : #include "src/builtins/builtins-proxy-gen.h"
19 : #include "src/builtins/builtins-regexp-gen.h"
20 : #include "src/builtins/builtins-typed-array-gen.h"
21 : #include "src/builtins/builtins-constructor-gen.h"
22 : #include "src/builtins/builtins-typed-array-gen.h"
23 : #include "src/builtins/builtins-typed-array-gen.h"
24 : #include "src/builtins/builtins-typed-array-gen.h"
25 : #include "src/builtins/builtins-typed-array-gen.h"
26 : #include "src/builtins/builtins-typed-array-gen.h"
27 : #include "src/builtins/builtins-typed-array-gen.h"
28 : #include "src/builtins/builtins-typed-array-gen.h"
29 : #include "src/builtins/builtins-typed-array-gen.h"
30 : #include "torque-generated/builtins-base-from-dsl-gen.h"
31 : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
32 : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
33 : #include "torque-generated/builtins-array-from-dsl-gen.h"
34 : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
35 : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
36 : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
37 : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
38 : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
39 : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
40 : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
41 : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
42 : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
43 : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
44 : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
45 : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
46 : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
47 : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
48 : #include "torque-generated/builtins-collections-from-dsl-gen.h"
49 : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
50 : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
51 : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
52 : #include "torque-generated/builtins-object-from-dsl-gen.h"
53 : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
54 : #include "torque-generated/builtins-string-from-dsl-gen.h"
55 : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
56 : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
57 : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
58 : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
59 : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
60 : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
61 : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
62 : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
63 : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
64 : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
65 : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
66 : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
67 : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
68 : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
69 : #include "torque-generated/builtins-test-from-dsl-gen.h"
70 :
71 : namespace v8 {
72 : namespace internal {
73 :
74 112 : compiler::TNode<Smi> ArrayReverseBuiltinsFromDSLAssembler::LoadElement23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index) {
75 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
76 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
77 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
78 112 : ca_.Goto(&block0, p_context, p_elements, p_index);
79 :
80 112 : if (block0.is_used()) {
81 112 : compiler::TNode<Context> tmp0;
82 112 : compiler::TNode<FixedArrayBase> tmp1;
83 112 : compiler::TNode<Smi> tmp2;
84 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
85 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 11);
86 112 : compiler::TNode<FixedArray> tmp3;
87 112 : USE(tmp3);
88 112 : tmp3 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
89 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 12);
90 112 : compiler::TNode<Object> tmp4;
91 112 : USE(tmp4);
92 112 : tmp4 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp3}, compiler::TNode<Smi>{tmp2}));
93 112 : compiler::TNode<Smi> tmp5;
94 112 : USE(tmp5);
95 112 : tmp5 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast5ATSmi(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}));
96 112 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp5);
97 : }
98 :
99 112 : if (block1.is_used()) {
100 112 : compiler::TNode<Context> tmp6;
101 112 : compiler::TNode<FixedArrayBase> tmp7;
102 112 : compiler::TNode<Smi> tmp8;
103 112 : compiler::TNode<Smi> tmp9;
104 112 : ca_.Bind(&block1, &tmp6, &tmp7, &tmp8, &tmp9);
105 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 6);
106 112 : ca_.Goto(&block2, tmp6, tmp7, tmp8, tmp9);
107 : }
108 :
109 112 : compiler::TNode<Context> tmp10;
110 112 : compiler::TNode<FixedArrayBase> tmp11;
111 112 : compiler::TNode<Smi> tmp12;
112 112 : compiler::TNode<Smi> tmp13;
113 112 : ca_.Bind(&block2, &tmp10, &tmp11, &tmp12, &tmp13);
114 224 : return compiler::TNode<Smi>{tmp13};
115 : }
116 :
117 112 : compiler::TNode<Object> ArrayReverseBuiltinsFromDSLAssembler::LoadElement26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index) {
118 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
119 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
120 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
121 112 : ca_.Goto(&block0, p_context, p_elements, p_index);
122 :
123 112 : if (block0.is_used()) {
124 112 : compiler::TNode<Context> tmp0;
125 112 : compiler::TNode<FixedArrayBase> tmp1;
126 112 : compiler::TNode<Smi> tmp2;
127 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
128 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 17);
129 112 : compiler::TNode<FixedArray> tmp3;
130 112 : USE(tmp3);
131 112 : tmp3 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
132 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 18);
133 112 : compiler::TNode<Object> tmp4;
134 112 : USE(tmp4);
135 112 : tmp4 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).LoadFixedArrayElement(compiler::TNode<FixedArray>{tmp3}, compiler::TNode<Smi>{tmp2}));
136 112 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp4);
137 : }
138 :
139 112 : if (block1.is_used()) {
140 112 : compiler::TNode<Context> tmp5;
141 112 : compiler::TNode<FixedArrayBase> tmp6;
142 112 : compiler::TNode<Smi> tmp7;
143 112 : compiler::TNode<Object> tmp8;
144 112 : ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
145 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 6);
146 112 : ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8);
147 : }
148 :
149 112 : compiler::TNode<Context> tmp9;
150 112 : compiler::TNode<FixedArrayBase> tmp10;
151 112 : compiler::TNode<Smi> tmp11;
152 112 : compiler::TNode<Object> tmp12;
153 112 : ca_.Bind(&block2, &tmp9, &tmp10, &tmp11, &tmp12);
154 224 : return compiler::TNode<Object>{tmp12};
155 : }
156 :
157 112 : compiler::TNode<Float64T> ArrayReverseBuiltinsFromDSLAssembler::LoadElement26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index) {
158 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
159 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, FixedDoubleArray, FixedDoubleArray, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
160 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, FixedDoubleArray, FixedDoubleArray, Smi, Float64T> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
161 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, FixedDoubleArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
162 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, FixedDoubleArray, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
163 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
164 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Float64T> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
165 112 : ca_.Goto(&block0, p_context, p_elements, p_index);
166 :
167 112 : if (block0.is_used()) {
168 112 : compiler::TNode<Context> tmp0;
169 112 : compiler::TNode<FixedArrayBase> tmp1;
170 112 : compiler::TNode<Smi> tmp2;
171 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
172 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 24);
173 112 : compiler::TNode<FixedDoubleArray> tmp3;
174 112 : USE(tmp3);
175 112 : tmp3 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
176 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 27);
177 112 : compiler::TNode<Float64T> tmp4;
178 112 : USE(tmp4);
179 224 : compiler::CodeAssemblerLabel label0(&ca_);
180 112 : tmp4 = CodeStubAssembler(state_).LoadDoubleWithHoleCheck(compiler::TNode<FixedDoubleArray>{tmp3}, compiler::TNode<Smi>{tmp2}, &label0);
181 112 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp3, tmp2, tmp4);
182 112 : if (label0.is_used()) {
183 112 : ca_.Bind(&label0);
184 112 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp3, tmp2);
185 : }
186 : }
187 :
188 112 : if (block5.is_used()) {
189 112 : compiler::TNode<Context> tmp5;
190 112 : compiler::TNode<FixedArrayBase> tmp6;
191 112 : compiler::TNode<Smi> tmp7;
192 112 : compiler::TNode<FixedDoubleArray> tmp8;
193 112 : compiler::TNode<FixedDoubleArray> tmp9;
194 112 : compiler::TNode<Smi> tmp10;
195 112 : ca_.Bind(&block5, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
196 112 : ca_.Goto(&block3, tmp5, tmp6, tmp7, tmp8);
197 : }
198 :
199 112 : if (block4.is_used()) {
200 112 : compiler::TNode<Context> tmp11;
201 112 : compiler::TNode<FixedArrayBase> tmp12;
202 112 : compiler::TNode<Smi> tmp13;
203 112 : compiler::TNode<FixedDoubleArray> tmp14;
204 112 : compiler::TNode<FixedDoubleArray> tmp15;
205 112 : compiler::TNode<Smi> tmp16;
206 112 : compiler::TNode<Float64T> tmp17;
207 112 : ca_.Bind(&block4, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17);
208 112 : ca_.Goto(&block2, tmp11, tmp12, tmp13, tmp14, tmp17);
209 : }
210 :
211 112 : if (block3.is_used()) {
212 112 : compiler::TNode<Context> tmp18;
213 112 : compiler::TNode<FixedArrayBase> tmp19;
214 112 : compiler::TNode<Smi> tmp20;
215 112 : compiler::TNode<FixedDoubleArray> tmp21;
216 112 : ca_.Bind(&block3, &tmp18, &tmp19, &tmp20, &tmp21);
217 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 28);
218 112 : CodeStubAssembler(state_).Unreachable();
219 : }
220 :
221 112 : if (block2.is_used()) {
222 112 : compiler::TNode<Context> tmp22;
223 112 : compiler::TNode<FixedArrayBase> tmp23;
224 112 : compiler::TNode<Smi> tmp24;
225 112 : compiler::TNode<FixedDoubleArray> tmp25;
226 112 : compiler::TNode<Float64T> tmp26;
227 112 : ca_.Bind(&block2, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
228 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 27);
229 112 : ca_.Goto(&block1, tmp22, tmp23, tmp24, tmp26);
230 : }
231 :
232 112 : if (block1.is_used()) {
233 112 : compiler::TNode<Context> tmp27;
234 112 : compiler::TNode<FixedArrayBase> tmp28;
235 112 : compiler::TNode<Smi> tmp29;
236 112 : compiler::TNode<Float64T> tmp30;
237 112 : ca_.Bind(&block1, &tmp27, &tmp28, &tmp29, &tmp30);
238 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 6);
239 112 : ca_.Goto(&block6, tmp27, tmp28, tmp29, tmp30);
240 : }
241 :
242 112 : compiler::TNode<Context> tmp31;
243 112 : compiler::TNode<FixedArrayBase> tmp32;
244 112 : compiler::TNode<Smi> tmp33;
245 112 : compiler::TNode<Float64T> tmp34;
246 112 : ca_.Bind(&block6, &tmp31, &tmp32, &tmp33, &tmp34);
247 224 : return compiler::TNode<Float64T>{tmp34};
248 : }
249 :
250 112 : void ArrayReverseBuiltinsFromDSLAssembler::StoreElement23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index, compiler::TNode<Smi> p_value) {
251 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
252 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
253 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
254 112 : ca_.Goto(&block0, p_context, p_elements, p_index, p_value);
255 :
256 112 : if (block0.is_used()) {
257 112 : compiler::TNode<Context> tmp0;
258 112 : compiler::TNode<FixedArrayBase> tmp1;
259 112 : compiler::TNode<Smi> tmp2;
260 112 : compiler::TNode<Smi> tmp3;
261 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
262 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 37);
263 112 : compiler::TNode<FixedArray> tmp4;
264 112 : USE(tmp4);
265 112 : tmp4 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
266 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 38);
267 112 : CodeStubAssembler(state_).StoreFixedArrayElementSmi(compiler::TNode<FixedArray>{tmp4}, compiler::TNode<Smi>{tmp2}, compiler::TNode<Object>{tmp3}, SKIP_WRITE_BARRIER);
268 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 36);
269 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 31);
270 112 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
271 : }
272 :
273 112 : if (block1.is_used()) {
274 112 : compiler::TNode<Context> tmp5;
275 112 : compiler::TNode<FixedArrayBase> tmp6;
276 112 : compiler::TNode<Smi> tmp7;
277 112 : compiler::TNode<Smi> tmp8;
278 112 : ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
279 112 : ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8);
280 : }
281 :
282 112 : compiler::TNode<Context> tmp9;
283 112 : compiler::TNode<FixedArrayBase> tmp10;
284 112 : compiler::TNode<Smi> tmp11;
285 112 : compiler::TNode<Smi> tmp12;
286 112 : ca_.Bind(&block2, &tmp9, &tmp10, &tmp11, &tmp12);
287 112 : }
288 :
289 112 : void ArrayReverseBuiltinsFromDSLAssembler::StoreElement26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index, compiler::TNode<Object> p_value) {
290 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
291 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
292 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
293 112 : ca_.Goto(&block0, p_context, p_elements, p_index, p_value);
294 :
295 112 : if (block0.is_used()) {
296 112 : compiler::TNode<Context> tmp0;
297 112 : compiler::TNode<FixedArrayBase> tmp1;
298 112 : compiler::TNode<Smi> tmp2;
299 112 : compiler::TNode<Object> tmp3;
300 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
301 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 44);
302 112 : compiler::TNode<FixedArray> tmp4;
303 112 : USE(tmp4);
304 112 : tmp4 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
305 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 45);
306 112 : CodeStubAssembler(state_).StoreFixedArrayElementSmi(compiler::TNode<FixedArray>{tmp4}, compiler::TNode<Smi>{tmp2}, compiler::TNode<Object>{tmp3});
307 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 43);
308 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 31);
309 112 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
310 : }
311 :
312 112 : if (block1.is_used()) {
313 112 : compiler::TNode<Context> tmp5;
314 112 : compiler::TNode<FixedArrayBase> tmp6;
315 112 : compiler::TNode<Smi> tmp7;
316 112 : compiler::TNode<Object> tmp8;
317 112 : ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
318 112 : ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8);
319 : }
320 :
321 112 : compiler::TNode<Context> tmp9;
322 112 : compiler::TNode<FixedArrayBase> tmp10;
323 112 : compiler::TNode<Smi> tmp11;
324 112 : compiler::TNode<Object> tmp12;
325 112 : ca_.Bind(&block2, &tmp9, &tmp10, &tmp11, &tmp12);
326 112 : }
327 :
328 112 : void ArrayReverseBuiltinsFromDSLAssembler::StoreElement26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_index, compiler::TNode<Float64T> p_value) {
329 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Float64T> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
330 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Float64T> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
331 224 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Float64T> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
332 112 : ca_.Goto(&block0, p_context, p_elements, p_index, p_value);
333 :
334 112 : if (block0.is_used()) {
335 112 : compiler::TNode<Context> tmp0;
336 112 : compiler::TNode<FixedArrayBase> tmp1;
337 112 : compiler::TNode<Smi> tmp2;
338 112 : compiler::TNode<Float64T> tmp3;
339 112 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
340 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 51);
341 112 : compiler::TNode<FixedDoubleArray> tmp4;
342 112 : USE(tmp4);
343 112 : tmp4 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
344 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 52);
345 112 : CodeStubAssembler(state_).StoreFixedDoubleArrayElementSmi(compiler::TNode<FixedDoubleArray>{tmp4}, compiler::TNode<Smi>{tmp2}, compiler::TNode<Float64T>{tmp3});
346 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 50);
347 112 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 31);
348 112 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
349 : }
350 :
351 112 : if (block1.is_used()) {
352 112 : compiler::TNode<Context> tmp5;
353 112 : compiler::TNode<FixedArrayBase> tmp6;
354 112 : compiler::TNode<Smi> tmp7;
355 112 : compiler::TNode<Float64T> tmp8;
356 112 : ca_.Bind(&block1, &tmp5, &tmp6, &tmp7, &tmp8);
357 112 : ca_.Goto(&block2, tmp5, tmp6, tmp7, tmp8);
358 : }
359 :
360 112 : compiler::TNode<Context> tmp9;
361 112 : compiler::TNode<FixedArrayBase> tmp10;
362 112 : compiler::TNode<Smi> tmp11;
363 112 : compiler::TNode<Float64T> tmp12;
364 112 : ca_.Bind(&block2, &tmp9, &tmp10, &tmp11, &tmp12);
365 112 : }
366 :
367 56 : compiler::TNode<Object> ArrayReverseBuiltinsFromDSLAssembler::GenericArrayReverse(compiler::TNode<Context> p_context, compiler::TNode<Object> p_receiver) {
368 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
369 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
370 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
371 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
372 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
373 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
374 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
375 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
376 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
377 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
378 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
379 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
380 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
381 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
382 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
383 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
384 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
385 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
386 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
387 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number, Object, Object, Oddball, Oddball> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
388 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
389 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
390 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
391 56 : ca_.Goto(&block0, p_context, p_receiver);
392 :
393 56 : if (block0.is_used()) {
394 56 : compiler::TNode<Context> tmp0;
395 56 : compiler::TNode<Object> tmp1;
396 56 : ca_.Bind(&block0, &tmp0, &tmp1);
397 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 76);
398 56 : compiler::TNode<JSReceiver> tmp2;
399 56 : USE(tmp2);
400 56 : tmp2 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
401 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 79);
402 56 : compiler::TNode<Number> tmp3;
403 56 : USE(tmp3);
404 56 : tmp3 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
405 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 88);
406 56 : compiler::TNode<Number> tmp4;
407 56 : USE(tmp4);
408 56 : tmp4 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
409 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 89);
410 56 : compiler::TNode<Number> tmp5;
411 56 : USE(tmp5);
412 56 : tmp5 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
413 56 : compiler::TNode<Number> tmp6;
414 56 : USE(tmp6);
415 56 : tmp6 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp3}, compiler::TNode<Number>{tmp5}));
416 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 91);
417 56 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6);
418 : }
419 :
420 56 : if (block4.is_used()) {
421 56 : compiler::TNode<Context> tmp7;
422 56 : compiler::TNode<Object> tmp8;
423 56 : compiler::TNode<JSReceiver> tmp9;
424 56 : compiler::TNode<Number> tmp10;
425 56 : compiler::TNode<Number> tmp11;
426 56 : compiler::TNode<Number> tmp12;
427 56 : ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12);
428 112 : compiler::CodeAssemblerLabel label0(&ca_);
429 112 : compiler::CodeAssemblerLabel label1(&ca_);
430 56 : CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp11}, compiler::TNode<Number>{tmp12}, &label0, &label1);
431 56 : if (label0.is_used()) {
432 56 : ca_.Bind(&label0);
433 56 : ca_.Goto(&block5, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp11, tmp12);
434 : }
435 56 : if (label1.is_used()) {
436 56 : ca_.Bind(&label1);
437 56 : ca_.Goto(&block6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp11, tmp12);
438 : }
439 : }
440 :
441 56 : if (block5.is_used()) {
442 56 : compiler::TNode<Context> tmp13;
443 56 : compiler::TNode<Object> tmp14;
444 56 : compiler::TNode<JSReceiver> tmp15;
445 56 : compiler::TNode<Number> tmp16;
446 56 : compiler::TNode<Number> tmp17;
447 56 : compiler::TNode<Number> tmp18;
448 56 : compiler::TNode<Number> tmp19;
449 56 : compiler::TNode<Number> tmp20;
450 56 : ca_.Bind(&block5, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
451 56 : ca_.Goto(&block2, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18);
452 : }
453 :
454 56 : if (block6.is_used()) {
455 56 : compiler::TNode<Context> tmp21;
456 56 : compiler::TNode<Object> tmp22;
457 56 : compiler::TNode<JSReceiver> tmp23;
458 56 : compiler::TNode<Number> tmp24;
459 56 : compiler::TNode<Number> tmp25;
460 56 : compiler::TNode<Number> tmp26;
461 56 : compiler::TNode<Number> tmp27;
462 56 : compiler::TNode<Number> tmp28;
463 56 : ca_.Bind(&block6, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28);
464 56 : ca_.Goto(&block3, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26);
465 : }
466 :
467 56 : if (block2.is_used()) {
468 56 : compiler::TNode<Context> tmp29;
469 56 : compiler::TNode<Object> tmp30;
470 56 : compiler::TNode<JSReceiver> tmp31;
471 56 : compiler::TNode<Number> tmp32;
472 56 : compiler::TNode<Number> tmp33;
473 56 : compiler::TNode<Number> tmp34;
474 56 : ca_.Bind(&block2, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
475 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 92);
476 56 : compiler::TNode<Oddball> tmp35;
477 56 : USE(tmp35);
478 56 : tmp35 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
479 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 93);
480 56 : compiler::TNode<Oddball> tmp36;
481 56 : USE(tmp36);
482 56 : tmp36 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
483 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 98);
484 56 : compiler::TNode<Oddball> tmp37;
485 56 : tmp37 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kHasProperty, tmp29, tmp31, tmp33));
486 56 : USE(tmp37);
487 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 101);
488 56 : compiler::TNode<Oddball> tmp38;
489 56 : USE(tmp38);
490 56 : tmp38 = BaseBuiltinsFromDSLAssembler(state_).True();
491 56 : compiler::TNode<BoolT> tmp39;
492 56 : USE(tmp39);
493 56 : tmp39 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp37}, compiler::TNode<HeapObject>{tmp38}));
494 56 : ca_.Branch(tmp39, &block7, &block8, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37);
495 : }
496 :
497 56 : if (block7.is_used()) {
498 56 : compiler::TNode<Context> tmp40;
499 56 : compiler::TNode<Object> tmp41;
500 56 : compiler::TNode<JSReceiver> tmp42;
501 56 : compiler::TNode<Number> tmp43;
502 56 : compiler::TNode<Number> tmp44;
503 56 : compiler::TNode<Number> tmp45;
504 56 : compiler::TNode<Object> tmp46;
505 56 : compiler::TNode<Object> tmp47;
506 56 : compiler::TNode<Oddball> tmp48;
507 56 : ca_.Bind(&block7, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48);
508 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 103);
509 56 : compiler::TNode<Object> tmp49;
510 56 : USE(tmp49);
511 56 : tmp49 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp40}, compiler::TNode<Object>{tmp42}, compiler::TNode<Object>{tmp44}));
512 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 101);
513 56 : ca_.Goto(&block8, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp49, tmp47, tmp48);
514 : }
515 :
516 56 : if (block8.is_used()) {
517 56 : compiler::TNode<Context> tmp50;
518 56 : compiler::TNode<Object> tmp51;
519 56 : compiler::TNode<JSReceiver> tmp52;
520 56 : compiler::TNode<Number> tmp53;
521 56 : compiler::TNode<Number> tmp54;
522 56 : compiler::TNode<Number> tmp55;
523 56 : compiler::TNode<Object> tmp56;
524 56 : compiler::TNode<Object> tmp57;
525 56 : compiler::TNode<Oddball> tmp58;
526 56 : ca_.Bind(&block8, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58);
527 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 107);
528 56 : compiler::TNode<Oddball> tmp59;
529 56 : tmp59 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kHasProperty, tmp50, tmp52, tmp55));
530 56 : USE(tmp59);
531 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 110);
532 56 : compiler::TNode<Oddball> tmp60;
533 56 : USE(tmp60);
534 56 : tmp60 = BaseBuiltinsFromDSLAssembler(state_).True();
535 56 : compiler::TNode<BoolT> tmp61;
536 56 : USE(tmp61);
537 56 : tmp61 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp59}, compiler::TNode<HeapObject>{tmp60}));
538 56 : ca_.Branch(tmp61, &block9, &block10, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59);
539 : }
540 :
541 56 : if (block9.is_used()) {
542 56 : compiler::TNode<Context> tmp62;
543 56 : compiler::TNode<Object> tmp63;
544 56 : compiler::TNode<JSReceiver> tmp64;
545 56 : compiler::TNode<Number> tmp65;
546 56 : compiler::TNode<Number> tmp66;
547 56 : compiler::TNode<Number> tmp67;
548 56 : compiler::TNode<Object> tmp68;
549 56 : compiler::TNode<Object> tmp69;
550 56 : compiler::TNode<Oddball> tmp70;
551 56 : compiler::TNode<Oddball> tmp71;
552 56 : ca_.Bind(&block9, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71);
553 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 112);
554 56 : compiler::TNode<Object> tmp72;
555 56 : USE(tmp72);
556 56 : tmp72 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp62}, compiler::TNode<Object>{tmp64}, compiler::TNode<Object>{tmp67}));
557 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 110);
558 56 : ca_.Goto(&block10, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp72, tmp70, tmp71);
559 : }
560 :
561 56 : if (block10.is_used()) {
562 56 : compiler::TNode<Context> tmp73;
563 56 : compiler::TNode<Object> tmp74;
564 56 : compiler::TNode<JSReceiver> tmp75;
565 56 : compiler::TNode<Number> tmp76;
566 56 : compiler::TNode<Number> tmp77;
567 56 : compiler::TNode<Number> tmp78;
568 56 : compiler::TNode<Object> tmp79;
569 56 : compiler::TNode<Object> tmp80;
570 56 : compiler::TNode<Oddball> tmp81;
571 56 : compiler::TNode<Oddball> tmp82;
572 56 : ca_.Bind(&block10, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82);
573 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 116);
574 56 : compiler::TNode<Oddball> tmp83;
575 56 : USE(tmp83);
576 56 : tmp83 = BaseBuiltinsFromDSLAssembler(state_).True();
577 56 : compiler::TNode<BoolT> tmp84;
578 56 : USE(tmp84);
579 56 : tmp84 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp81}, compiler::TNode<HeapObject>{tmp83}));
580 56 : ca_.Branch(tmp84, &block13, &block12, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82);
581 : }
582 :
583 56 : if (block13.is_used()) {
584 56 : compiler::TNode<Context> tmp85;
585 56 : compiler::TNode<Object> tmp86;
586 56 : compiler::TNode<JSReceiver> tmp87;
587 56 : compiler::TNode<Number> tmp88;
588 56 : compiler::TNode<Number> tmp89;
589 56 : compiler::TNode<Number> tmp90;
590 56 : compiler::TNode<Object> tmp91;
591 56 : compiler::TNode<Object> tmp92;
592 56 : compiler::TNode<Oddball> tmp93;
593 56 : compiler::TNode<Oddball> tmp94;
594 56 : ca_.Bind(&block13, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94);
595 56 : compiler::TNode<Oddball> tmp95;
596 56 : USE(tmp95);
597 56 : tmp95 = BaseBuiltinsFromDSLAssembler(state_).True();
598 56 : compiler::TNode<BoolT> tmp96;
599 56 : USE(tmp96);
600 56 : tmp96 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp94}, compiler::TNode<HeapObject>{tmp95}));
601 56 : ca_.Branch(tmp96, &block11, &block12, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94);
602 : }
603 :
604 56 : if (block11.is_used()) {
605 56 : compiler::TNode<Context> tmp97;
606 56 : compiler::TNode<Object> tmp98;
607 56 : compiler::TNode<JSReceiver> tmp99;
608 56 : compiler::TNode<Number> tmp100;
609 56 : compiler::TNode<Number> tmp101;
610 56 : compiler::TNode<Number> tmp102;
611 56 : compiler::TNode<Object> tmp103;
612 56 : compiler::TNode<Object> tmp104;
613 56 : compiler::TNode<Oddball> tmp105;
614 56 : compiler::TNode<Oddball> tmp106;
615 56 : ca_.Bind(&block11, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106);
616 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 118);
617 56 : CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp97, tmp99, tmp101, tmp104);
618 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 121);
619 56 : CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp97, tmp99, tmp102, tmp103);
620 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 116);
621 56 : ca_.Goto(&block14, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106);
622 : }
623 :
624 56 : if (block12.is_used()) {
625 56 : compiler::TNode<Context> tmp109;
626 56 : compiler::TNode<Object> tmp110;
627 56 : compiler::TNode<JSReceiver> tmp111;
628 56 : compiler::TNode<Number> tmp112;
629 56 : compiler::TNode<Number> tmp113;
630 56 : compiler::TNode<Number> tmp114;
631 56 : compiler::TNode<Object> tmp115;
632 56 : compiler::TNode<Object> tmp116;
633 56 : compiler::TNode<Oddball> tmp117;
634 56 : compiler::TNode<Oddball> tmp118;
635 56 : ca_.Bind(&block12, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118);
636 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 122);
637 56 : compiler::TNode<Oddball> tmp119;
638 56 : USE(tmp119);
639 56 : tmp119 = BaseBuiltinsFromDSLAssembler(state_).False();
640 56 : compiler::TNode<BoolT> tmp120;
641 56 : USE(tmp120);
642 56 : tmp120 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp117}, compiler::TNode<HeapObject>{tmp119}));
643 56 : ca_.Branch(tmp120, &block17, &block16, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118);
644 : }
645 :
646 56 : if (block17.is_used()) {
647 56 : compiler::TNode<Context> tmp121;
648 56 : compiler::TNode<Object> tmp122;
649 56 : compiler::TNode<JSReceiver> tmp123;
650 56 : compiler::TNode<Number> tmp124;
651 56 : compiler::TNode<Number> tmp125;
652 56 : compiler::TNode<Number> tmp126;
653 56 : compiler::TNode<Object> tmp127;
654 56 : compiler::TNode<Object> tmp128;
655 56 : compiler::TNode<Oddball> tmp129;
656 56 : compiler::TNode<Oddball> tmp130;
657 56 : ca_.Bind(&block17, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130);
658 56 : compiler::TNode<Oddball> tmp131;
659 56 : USE(tmp131);
660 56 : tmp131 = BaseBuiltinsFromDSLAssembler(state_).True();
661 56 : compiler::TNode<BoolT> tmp132;
662 56 : USE(tmp132);
663 56 : tmp132 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp130}, compiler::TNode<HeapObject>{tmp131}));
664 56 : ca_.Branch(tmp132, &block15, &block16, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130);
665 : }
666 :
667 56 : if (block15.is_used()) {
668 56 : compiler::TNode<Context> tmp133;
669 56 : compiler::TNode<Object> tmp134;
670 56 : compiler::TNode<JSReceiver> tmp135;
671 56 : compiler::TNode<Number> tmp136;
672 56 : compiler::TNode<Number> tmp137;
673 56 : compiler::TNode<Number> tmp138;
674 56 : compiler::TNode<Object> tmp139;
675 56 : compiler::TNode<Object> tmp140;
676 56 : compiler::TNode<Oddball> tmp141;
677 56 : compiler::TNode<Oddball> tmp142;
678 56 : ca_.Bind(&block15, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142);
679 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 124);
680 56 : CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp133, tmp135, tmp137, tmp140);
681 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 127);
682 56 : compiler::TNode<Smi> tmp144;
683 56 : USE(tmp144);
684 56 : tmp144 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode::kStrict));
685 56 : CodeStubAssembler(state_).CallBuiltin(Builtins::kDeleteProperty, tmp133, tmp135, tmp138, tmp144);
686 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 122);
687 56 : ca_.Goto(&block18, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp140, tmp141, tmp142);
688 : }
689 :
690 56 : if (block16.is_used()) {
691 56 : compiler::TNode<Context> tmp146;
692 56 : compiler::TNode<Object> tmp147;
693 56 : compiler::TNode<JSReceiver> tmp148;
694 56 : compiler::TNode<Number> tmp149;
695 56 : compiler::TNode<Number> tmp150;
696 56 : compiler::TNode<Number> tmp151;
697 56 : compiler::TNode<Object> tmp152;
698 56 : compiler::TNode<Object> tmp153;
699 56 : compiler::TNode<Oddball> tmp154;
700 56 : compiler::TNode<Oddball> tmp155;
701 56 : ca_.Bind(&block16, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155);
702 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 128);
703 56 : compiler::TNode<Oddball> tmp156;
704 56 : USE(tmp156);
705 56 : tmp156 = BaseBuiltinsFromDSLAssembler(state_).True();
706 56 : compiler::TNode<BoolT> tmp157;
707 56 : USE(tmp157);
708 56 : tmp157 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp154}, compiler::TNode<HeapObject>{tmp156}));
709 56 : ca_.Branch(tmp157, &block21, &block20, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155);
710 : }
711 :
712 56 : if (block21.is_used()) {
713 56 : compiler::TNode<Context> tmp158;
714 56 : compiler::TNode<Object> tmp159;
715 56 : compiler::TNode<JSReceiver> tmp160;
716 56 : compiler::TNode<Number> tmp161;
717 56 : compiler::TNode<Number> tmp162;
718 56 : compiler::TNode<Number> tmp163;
719 56 : compiler::TNode<Object> tmp164;
720 56 : compiler::TNode<Object> tmp165;
721 56 : compiler::TNode<Oddball> tmp166;
722 56 : compiler::TNode<Oddball> tmp167;
723 56 : ca_.Bind(&block21, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167);
724 56 : compiler::TNode<Oddball> tmp168;
725 56 : USE(tmp168);
726 56 : tmp168 = BaseBuiltinsFromDSLAssembler(state_).False();
727 56 : compiler::TNode<BoolT> tmp169;
728 56 : USE(tmp169);
729 56 : tmp169 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp167}, compiler::TNode<HeapObject>{tmp168}));
730 56 : ca_.Branch(tmp169, &block19, &block20, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167);
731 : }
732 :
733 56 : if (block19.is_used()) {
734 56 : compiler::TNode<Context> tmp170;
735 56 : compiler::TNode<Object> tmp171;
736 56 : compiler::TNode<JSReceiver> tmp172;
737 56 : compiler::TNode<Number> tmp173;
738 56 : compiler::TNode<Number> tmp174;
739 56 : compiler::TNode<Number> tmp175;
740 56 : compiler::TNode<Object> tmp176;
741 56 : compiler::TNode<Object> tmp177;
742 56 : compiler::TNode<Oddball> tmp178;
743 56 : compiler::TNode<Oddball> tmp179;
744 56 : ca_.Bind(&block19, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179);
745 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 130);
746 56 : compiler::TNode<Smi> tmp180;
747 56 : USE(tmp180);
748 56 : tmp180 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode::kStrict));
749 56 : CodeStubAssembler(state_).CallBuiltin(Builtins::kDeleteProperty, tmp170, tmp172, tmp174, tmp180);
750 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 133);
751 56 : CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp170, tmp172, tmp175, tmp176);
752 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 128);
753 56 : ca_.Goto(&block20, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179);
754 : }
755 :
756 56 : if (block20.is_used()) {
757 56 : compiler::TNode<Context> tmp183;
758 56 : compiler::TNode<Object> tmp184;
759 56 : compiler::TNode<JSReceiver> tmp185;
760 56 : compiler::TNode<Number> tmp186;
761 56 : compiler::TNode<Number> tmp187;
762 56 : compiler::TNode<Number> tmp188;
763 56 : compiler::TNode<Object> tmp189;
764 56 : compiler::TNode<Object> tmp190;
765 56 : compiler::TNode<Oddball> tmp191;
766 56 : compiler::TNode<Oddball> tmp192;
767 56 : ca_.Bind(&block20, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192);
768 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 122);
769 56 : ca_.Goto(&block18, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192);
770 : }
771 :
772 56 : if (block18.is_used()) {
773 56 : compiler::TNode<Context> tmp193;
774 56 : compiler::TNode<Object> tmp194;
775 56 : compiler::TNode<JSReceiver> tmp195;
776 56 : compiler::TNode<Number> tmp196;
777 56 : compiler::TNode<Number> tmp197;
778 56 : compiler::TNode<Number> tmp198;
779 56 : compiler::TNode<Object> tmp199;
780 56 : compiler::TNode<Object> tmp200;
781 56 : compiler::TNode<Oddball> tmp201;
782 56 : compiler::TNode<Oddball> tmp202;
783 56 : ca_.Bind(&block18, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202);
784 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 116);
785 56 : ca_.Goto(&block14, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202);
786 : }
787 :
788 56 : if (block14.is_used()) {
789 56 : compiler::TNode<Context> tmp203;
790 56 : compiler::TNode<Object> tmp204;
791 56 : compiler::TNode<JSReceiver> tmp205;
792 56 : compiler::TNode<Number> tmp206;
793 56 : compiler::TNode<Number> tmp207;
794 56 : compiler::TNode<Number> tmp208;
795 56 : compiler::TNode<Object> tmp209;
796 56 : compiler::TNode<Object> tmp210;
797 56 : compiler::TNode<Oddball> tmp211;
798 56 : compiler::TNode<Oddball> tmp212;
799 56 : ca_.Bind(&block14, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211, &tmp212);
800 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 137);
801 56 : compiler::TNode<Number> tmp213;
802 56 : USE(tmp213);
803 56 : tmp213 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
804 56 : compiler::TNode<Number> tmp214;
805 56 : USE(tmp214);
806 56 : tmp214 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp207}, compiler::TNode<Number>{tmp213}));
807 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 138);
808 56 : compiler::TNode<Number> tmp215;
809 56 : USE(tmp215);
810 56 : tmp215 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
811 56 : compiler::TNode<Number> tmp216;
812 56 : USE(tmp216);
813 56 : tmp216 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp208}, compiler::TNode<Number>{tmp215}));
814 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 91);
815 56 : ca_.Goto(&block4, tmp203, tmp204, tmp205, tmp206, tmp214, tmp216);
816 : }
817 :
818 56 : if (block3.is_used()) {
819 56 : compiler::TNode<Context> tmp217;
820 56 : compiler::TNode<Object> tmp218;
821 56 : compiler::TNode<JSReceiver> tmp219;
822 56 : compiler::TNode<Number> tmp220;
823 56 : compiler::TNode<Number> tmp221;
824 56 : compiler::TNode<Number> tmp222;
825 56 : ca_.Bind(&block3, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222);
826 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 142);
827 56 : ca_.Goto(&block1, tmp217, tmp218, tmp219);
828 : }
829 :
830 56 : if (block1.is_used()) {
831 56 : compiler::TNode<Context> tmp223;
832 56 : compiler::TNode<Object> tmp224;
833 56 : compiler::TNode<Object> tmp225;
834 56 : ca_.Bind(&block1, &tmp223, &tmp224, &tmp225);
835 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 73);
836 56 : ca_.Goto(&block22, tmp223, tmp224, tmp225);
837 : }
838 :
839 56 : compiler::TNode<Context> tmp226;
840 56 : compiler::TNode<Object> tmp227;
841 56 : compiler::TNode<Object> tmp228;
842 56 : ca_.Bind(&block22, &tmp226, &tmp227, &tmp228);
843 112 : return compiler::TNode<Object>{tmp228};
844 : }
845 :
846 56 : void ArrayReverseBuiltinsFromDSLAssembler::TryFastPackedArrayReverse(compiler::TNode<Context> p_context, compiler::TNode<Object> p_receiver, compiler::CodeAssemblerLabel* label_Slow) {
847 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
848 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
849 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
850 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
851 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
852 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
853 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
854 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
855 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
856 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
857 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
858 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, Int32T> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
859 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
860 112 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
861 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
862 56 : ca_.Goto(&block0, p_context, p_receiver);
863 :
864 56 : if (block0.is_used()) {
865 56 : compiler::TNode<Context> tmp0;
866 56 : compiler::TNode<Object> tmp1;
867 56 : ca_.Bind(&block0, &tmp0, &tmp1);
868 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 147);
869 56 : compiler::TNode<JSArray> tmp2;
870 56 : USE(tmp2);
871 112 : compiler::CodeAssemblerLabel label0(&ca_);
872 56 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
873 56 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
874 56 : if (label0.is_used()) {
875 56 : ca_.Bind(&label0);
876 56 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
877 : }
878 : }
879 :
880 56 : if (block4.is_used()) {
881 56 : compiler::TNode<Context> tmp3;
882 56 : compiler::TNode<Object> tmp4;
883 56 : compiler::TNode<Object> tmp5;
884 56 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
885 56 : ca_.Goto(&block1);
886 : }
887 :
888 56 : if (block3.is_used()) {
889 56 : compiler::TNode<Context> tmp6;
890 56 : compiler::TNode<Object> tmp7;
891 56 : compiler::TNode<Object> tmp8;
892 56 : compiler::TNode<JSArray> tmp9;
893 56 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
894 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 149);
895 56 : compiler::TNode<Map> tmp10;
896 56 : USE(tmp10);
897 56 : tmp10 = ca_.UncheckedCast<Map>(BaseBuiltinsFromDSLAssembler(state_).LoadHeapObjectMap(compiler::TNode<HeapObject>{tmp9}));
898 56 : compiler::TNode<Int32T> tmp11;
899 56 : USE(tmp11);
900 56 : tmp11 = ca_.UncheckedCast<Int32T>(CodeStubAssembler(state_).LoadMapElementsKind(compiler::TNode<Map>{tmp10}));
901 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 150);
902 56 : compiler::TNode<Int32T> tmp12;
903 56 : USE(tmp12);
904 56 : tmp12 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_SMI_ELEMENTS));
905 56 : compiler::TNode<BoolT> tmp13;
906 56 : USE(tmp13);
907 56 : tmp13 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp11}, compiler::TNode<Int32T>{tmp12}));
908 56 : ca_.Branch(tmp13, &block5, &block6, tmp6, tmp7, tmp9, tmp11);
909 : }
910 :
911 56 : if (block5.is_used()) {
912 56 : compiler::TNode<Context> tmp14;
913 56 : compiler::TNode<Object> tmp15;
914 56 : compiler::TNode<JSArray> tmp16;
915 56 : compiler::TNode<Int32T> tmp17;
916 56 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17);
917 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 151);
918 56 : ArrayBuiltinsFromDSLAssembler(state_).EnsureWriteableFastElements(compiler::TNode<Context>{tmp14}, compiler::TNode<JSArray>{tmp16});
919 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 153);
920 56 : compiler::TNode<FixedArrayBase> tmp18;
921 56 : USE(tmp18);
922 56 : tmp18 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp16}));
923 56 : compiler::TNode<Smi> tmp19;
924 56 : USE(tmp19);
925 56 : tmp19 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp16}));
926 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 152);
927 56 : ArrayReverseBuiltinsFromDSLAssembler(state_).FastPackedArrayReverse23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context>{tmp14}, compiler::TNode<FixedArrayBase>{tmp18}, compiler::TNode<Smi>{tmp19});
928 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 150);
929 56 : ca_.Goto(&block7, tmp14, tmp15, tmp16, tmp17);
930 : }
931 :
932 56 : if (block6.is_used()) {
933 56 : compiler::TNode<Context> tmp20;
934 56 : compiler::TNode<Object> tmp21;
935 56 : compiler::TNode<JSArray> tmp22;
936 56 : compiler::TNode<Int32T> tmp23;
937 56 : ca_.Bind(&block6, &tmp20, &tmp21, &tmp22, &tmp23);
938 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 154);
939 56 : compiler::TNode<Int32T> tmp24;
940 56 : USE(tmp24);
941 56 : tmp24 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_ELEMENTS));
942 56 : compiler::TNode<BoolT> tmp25;
943 56 : USE(tmp25);
944 56 : tmp25 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp23}, compiler::TNode<Int32T>{tmp24}));
945 56 : ca_.Branch(tmp25, &block8, &block9, tmp20, tmp21, tmp22, tmp23);
946 : }
947 :
948 56 : if (block8.is_used()) {
949 56 : compiler::TNode<Context> tmp26;
950 56 : compiler::TNode<Object> tmp27;
951 56 : compiler::TNode<JSArray> tmp28;
952 56 : compiler::TNode<Int32T> tmp29;
953 56 : ca_.Bind(&block8, &tmp26, &tmp27, &tmp28, &tmp29);
954 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 155);
955 56 : ArrayBuiltinsFromDSLAssembler(state_).EnsureWriteableFastElements(compiler::TNode<Context>{tmp26}, compiler::TNode<JSArray>{tmp28});
956 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 157);
957 56 : compiler::TNode<FixedArrayBase> tmp30;
958 56 : USE(tmp30);
959 56 : tmp30 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp28}));
960 56 : compiler::TNode<Smi> tmp31;
961 56 : USE(tmp31);
962 56 : tmp31 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp28}));
963 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 156);
964 56 : ArrayReverseBuiltinsFromDSLAssembler(state_).FastPackedArrayReverse26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp26}, compiler::TNode<FixedArrayBase>{tmp30}, compiler::TNode<Smi>{tmp31});
965 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 154);
966 56 : ca_.Goto(&block10, tmp26, tmp27, tmp28, tmp29);
967 : }
968 :
969 56 : if (block9.is_used()) {
970 56 : compiler::TNode<Context> tmp32;
971 56 : compiler::TNode<Object> tmp33;
972 56 : compiler::TNode<JSArray> tmp34;
973 56 : compiler::TNode<Int32T> tmp35;
974 56 : ca_.Bind(&block9, &tmp32, &tmp33, &tmp34, &tmp35);
975 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 158);
976 56 : compiler::TNode<Int32T> tmp36;
977 56 : USE(tmp36);
978 56 : tmp36 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATElementsKind24ATconstexpr_ElementsKind(PACKED_DOUBLE_ELEMENTS));
979 56 : compiler::TNode<BoolT> tmp37;
980 56 : USE(tmp37);
981 56 : tmp37 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).ElementsKindEqual(compiler::TNode<Int32T>{tmp35}, compiler::TNode<Int32T>{tmp36}));
982 56 : ca_.Branch(tmp37, &block11, &block12, tmp32, tmp33, tmp34, tmp35);
983 : }
984 :
985 56 : if (block11.is_used()) {
986 56 : compiler::TNode<Context> tmp38;
987 56 : compiler::TNode<Object> tmp39;
988 56 : compiler::TNode<JSArray> tmp40;
989 56 : compiler::TNode<Int32T> tmp41;
990 56 : ca_.Bind(&block11, &tmp38, &tmp39, &tmp40, &tmp41);
991 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 160);
992 56 : compiler::TNode<FixedArrayBase> tmp42;
993 56 : USE(tmp42);
994 56 : tmp42 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp40}));
995 56 : compiler::TNode<Smi> tmp43;
996 56 : USE(tmp43);
997 56 : tmp43 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp40}));
998 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 159);
999 56 : ArrayReverseBuiltinsFromDSLAssembler(state_).FastPackedArrayReverse26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context>{tmp38}, compiler::TNode<FixedArrayBase>{tmp42}, compiler::TNode<Smi>{tmp43});
1000 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 158);
1001 56 : ca_.Goto(&block13, tmp38, tmp39, tmp40, tmp41);
1002 : }
1003 :
1004 56 : if (block12.is_used()) {
1005 56 : compiler::TNode<Context> tmp44;
1006 56 : compiler::TNode<Object> tmp45;
1007 56 : compiler::TNode<JSArray> tmp46;
1008 56 : compiler::TNode<Int32T> tmp47;
1009 56 : ca_.Bind(&block12, &tmp44, &tmp45, &tmp46, &tmp47);
1010 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 162);
1011 56 : ca_.Goto(&block1);
1012 : }
1013 :
1014 56 : if (block13.is_used()) {
1015 56 : compiler::TNode<Context> tmp48;
1016 56 : compiler::TNode<Object> tmp49;
1017 56 : compiler::TNode<JSArray> tmp50;
1018 56 : compiler::TNode<Int32T> tmp51;
1019 56 : ca_.Bind(&block13, &tmp48, &tmp49, &tmp50, &tmp51);
1020 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 154);
1021 56 : ca_.Goto(&block10, tmp48, tmp49, tmp50, tmp51);
1022 : }
1023 :
1024 56 : if (block10.is_used()) {
1025 56 : compiler::TNode<Context> tmp52;
1026 56 : compiler::TNode<Object> tmp53;
1027 56 : compiler::TNode<JSArray> tmp54;
1028 56 : compiler::TNode<Int32T> tmp55;
1029 56 : ca_.Bind(&block10, &tmp52, &tmp53, &tmp54, &tmp55);
1030 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 150);
1031 56 : ca_.Goto(&block7, tmp52, tmp53, tmp54, tmp55);
1032 : }
1033 :
1034 56 : if (block7.is_used()) {
1035 56 : compiler::TNode<Context> tmp56;
1036 56 : compiler::TNode<Object> tmp57;
1037 56 : compiler::TNode<JSArray> tmp58;
1038 56 : compiler::TNode<Int32T> tmp59;
1039 56 : ca_.Bind(&block7, &tmp56, &tmp57, &tmp58, &tmp59);
1040 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 146);
1041 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 145);
1042 56 : ca_.Goto(&block2, tmp56, tmp57);
1043 : }
1044 :
1045 56 : if (block2.is_used()) {
1046 56 : compiler::TNode<Context> tmp60;
1047 56 : compiler::TNode<Object> tmp61;
1048 56 : ca_.Bind(&block2, &tmp60, &tmp61);
1049 56 : ca_.Goto(&block14, tmp60, tmp61);
1050 : }
1051 :
1052 56 : if (block1.is_used()) {
1053 56 : ca_.Bind(&block1);
1054 56 : ca_.Goto(label_Slow);
1055 : }
1056 :
1057 56 : compiler::TNode<Context> tmp62;
1058 56 : compiler::TNode<Object> tmp63;
1059 56 : ca_.Bind(&block14, &tmp62, &tmp63);
1060 56 : }
1061 :
1062 336 : TF_BUILTIN(ArrayPrototypeReverse, CodeStubAssembler) {
1063 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
1064 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
1065 56 : USE(parameter0);
1066 56 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
1067 56 : CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
1068 56 : TNode<Object> parameter1 = arguments_impl.GetReceiver();
1069 56 : auto arguments = &arguments_impl;
1070 56 : USE(arguments);
1071 56 : USE(parameter1);
1072 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1073 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1074 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1075 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1076 56 : ca_.Goto(&block0, parameter0, parameter1);
1077 :
1078 56 : if (block0.is_used()) {
1079 56 : compiler::TNode<Context> tmp0;
1080 56 : compiler::TNode<Object> tmp1;
1081 56 : ca_.Bind(&block0, &tmp0, &tmp1);
1082 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 170);
1083 112 : compiler::CodeAssemblerLabel label0(&ca_);
1084 56 : ArrayReverseBuiltinsFromDSLAssembler(state_).TryFastPackedArrayReverse(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
1085 56 : ca_.Goto(&block3, tmp0, tmp1, tmp1);
1086 56 : if (label0.is_used()) {
1087 56 : ca_.Bind(&label0);
1088 56 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
1089 : }
1090 : }
1091 :
1092 56 : if (block4.is_used()) {
1093 56 : compiler::TNode<Context> tmp2;
1094 56 : compiler::TNode<Object> tmp3;
1095 56 : compiler::TNode<Object> tmp4;
1096 56 : ca_.Bind(&block4, &tmp2, &tmp3, &tmp4);
1097 56 : ca_.Goto(&block2, tmp2, tmp3);
1098 : }
1099 :
1100 56 : if (block3.is_used()) {
1101 56 : compiler::TNode<Context> tmp5;
1102 56 : compiler::TNode<Object> tmp6;
1103 56 : compiler::TNode<Object> tmp7;
1104 56 : ca_.Bind(&block3, &tmp5, &tmp6, &tmp7);
1105 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 171);
1106 56 : arguments->PopAndReturn(tmp6);
1107 : }
1108 :
1109 56 : if (block2.is_used()) {
1110 56 : compiler::TNode<Context> tmp8;
1111 56 : compiler::TNode<Object> tmp9;
1112 56 : ca_.Bind(&block2, &tmp8, &tmp9);
1113 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 174);
1114 56 : compiler::TNode<Object> tmp10;
1115 56 : USE(tmp10);
1116 56 : tmp10 = ca_.UncheckedCast<Object>(ArrayReverseBuiltinsFromDSLAssembler(state_).GenericArrayReverse(compiler::TNode<Context>{tmp8}, compiler::TNode<Object>{tmp9}));
1117 56 : arguments->PopAndReturn(tmp10);
1118 : }
1119 56 : }
1120 :
1121 56 : void ArrayReverseBuiltinsFromDSLAssembler::FastPackedArrayReverse23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_length) {
1122 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1123 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1124 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1125 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1126 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1127 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1128 56 : ca_.Goto(&block0, p_context, p_elements, p_length);
1129 :
1130 56 : if (block0.is_used()) {
1131 56 : compiler::TNode<Context> tmp0;
1132 56 : compiler::TNode<FixedArrayBase> tmp1;
1133 56 : compiler::TNode<Smi> tmp2;
1134 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
1135 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 60);
1136 56 : compiler::TNode<Smi> tmp3;
1137 56 : USE(tmp3);
1138 56 : tmp3 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
1139 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 61);
1140 56 : compiler::TNode<Smi> tmp4;
1141 56 : USE(tmp4);
1142 56 : tmp4 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1143 56 : compiler::TNode<Smi> tmp5;
1144 56 : USE(tmp5);
1145 56 : tmp5 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp2}, compiler::TNode<Smi>{tmp4}));
1146 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 63);
1147 56 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp5);
1148 : }
1149 :
1150 56 : if (block4.is_used()) {
1151 56 : compiler::TNode<Context> tmp6;
1152 56 : compiler::TNode<FixedArrayBase> tmp7;
1153 56 : compiler::TNode<Smi> tmp8;
1154 56 : compiler::TNode<Smi> tmp9;
1155 56 : compiler::TNode<Smi> tmp10;
1156 56 : ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
1157 56 : compiler::TNode<BoolT> tmp11;
1158 56 : USE(tmp11);
1159 56 : tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp9}, compiler::TNode<Smi>{tmp10}));
1160 56 : ca_.Branch(tmp11, &block2, &block3, tmp6, tmp7, tmp8, tmp9, tmp10);
1161 : }
1162 :
1163 56 : if (block2.is_used()) {
1164 56 : compiler::TNode<Context> tmp12;
1165 56 : compiler::TNode<FixedArrayBase> tmp13;
1166 56 : compiler::TNode<Smi> tmp14;
1167 56 : compiler::TNode<Smi> tmp15;
1168 56 : compiler::TNode<Smi> tmp16;
1169 56 : ca_.Bind(&block2, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
1170 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 64);
1171 56 : compiler::TNode<Smi> tmp17;
1172 56 : USE(tmp17);
1173 56 : tmp17 = ca_.UncheckedCast<Smi>(ArrayReverseBuiltinsFromDSLAssembler(state_).LoadElement23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp15}));
1174 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 65);
1175 56 : compiler::TNode<Smi> tmp18;
1176 56 : USE(tmp18);
1177 56 : tmp18 = ca_.UncheckedCast<Smi>(ArrayReverseBuiltinsFromDSLAssembler(state_).LoadElement23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp16}));
1178 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 66);
1179 56 : ArrayReverseBuiltinsFromDSLAssembler(state_).StoreElement23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp15}, compiler::TNode<Smi>{tmp18});
1180 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 67);
1181 56 : ArrayReverseBuiltinsFromDSLAssembler(state_).StoreElement23ATFastPackedSmiElements5ATSmi(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp16}, compiler::TNode<Smi>{tmp17});
1182 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 68);
1183 56 : compiler::TNode<Smi> tmp19;
1184 56 : USE(tmp19);
1185 56 : tmp19 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1186 56 : compiler::TNode<Smi> tmp20;
1187 56 : USE(tmp20);
1188 56 : tmp20 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp15}, compiler::TNode<Smi>{tmp19}));
1189 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 69);
1190 56 : compiler::TNode<Smi> tmp21;
1191 56 : USE(tmp21);
1192 56 : tmp21 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1193 56 : compiler::TNode<Smi> tmp22;
1194 56 : USE(tmp22);
1195 56 : tmp22 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp16}, compiler::TNode<Smi>{tmp21}));
1196 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 63);
1197 56 : ca_.Goto(&block4, tmp12, tmp13, tmp14, tmp20, tmp22);
1198 : }
1199 :
1200 56 : if (block3.is_used()) {
1201 56 : compiler::TNode<Context> tmp23;
1202 56 : compiler::TNode<FixedArrayBase> tmp24;
1203 56 : compiler::TNode<Smi> tmp25;
1204 56 : compiler::TNode<Smi> tmp26;
1205 56 : compiler::TNode<Smi> tmp27;
1206 56 : ca_.Bind(&block3, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
1207 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 59);
1208 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 58);
1209 56 : ca_.Goto(&block1, tmp23, tmp24, tmp25);
1210 : }
1211 :
1212 56 : if (block1.is_used()) {
1213 56 : compiler::TNode<Context> tmp28;
1214 56 : compiler::TNode<FixedArrayBase> tmp29;
1215 56 : compiler::TNode<Smi> tmp30;
1216 56 : ca_.Bind(&block1, &tmp28, &tmp29, &tmp30);
1217 56 : ca_.Goto(&block5, tmp28, tmp29, tmp30);
1218 : }
1219 :
1220 56 : compiler::TNode<Context> tmp31;
1221 56 : compiler::TNode<FixedArrayBase> tmp32;
1222 56 : compiler::TNode<Smi> tmp33;
1223 56 : ca_.Bind(&block5, &tmp31, &tmp32, &tmp33);
1224 56 : }
1225 :
1226 56 : void ArrayReverseBuiltinsFromDSLAssembler::FastPackedArrayReverse26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_length) {
1227 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1228 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1229 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1230 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1231 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1232 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1233 56 : ca_.Goto(&block0, p_context, p_elements, p_length);
1234 :
1235 56 : if (block0.is_used()) {
1236 56 : compiler::TNode<Context> tmp0;
1237 56 : compiler::TNode<FixedArrayBase> tmp1;
1238 56 : compiler::TNode<Smi> tmp2;
1239 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
1240 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 60);
1241 56 : compiler::TNode<Smi> tmp3;
1242 56 : USE(tmp3);
1243 56 : tmp3 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
1244 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 61);
1245 56 : compiler::TNode<Smi> tmp4;
1246 56 : USE(tmp4);
1247 56 : tmp4 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1248 56 : compiler::TNode<Smi> tmp5;
1249 56 : USE(tmp5);
1250 56 : tmp5 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp2}, compiler::TNode<Smi>{tmp4}));
1251 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 63);
1252 56 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp5);
1253 : }
1254 :
1255 56 : if (block4.is_used()) {
1256 56 : compiler::TNode<Context> tmp6;
1257 56 : compiler::TNode<FixedArrayBase> tmp7;
1258 56 : compiler::TNode<Smi> tmp8;
1259 56 : compiler::TNode<Smi> tmp9;
1260 56 : compiler::TNode<Smi> tmp10;
1261 56 : ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
1262 56 : compiler::TNode<BoolT> tmp11;
1263 56 : USE(tmp11);
1264 56 : tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp9}, compiler::TNode<Smi>{tmp10}));
1265 56 : ca_.Branch(tmp11, &block2, &block3, tmp6, tmp7, tmp8, tmp9, tmp10);
1266 : }
1267 :
1268 56 : if (block2.is_used()) {
1269 56 : compiler::TNode<Context> tmp12;
1270 56 : compiler::TNode<FixedArrayBase> tmp13;
1271 56 : compiler::TNode<Smi> tmp14;
1272 56 : compiler::TNode<Smi> tmp15;
1273 56 : compiler::TNode<Smi> tmp16;
1274 56 : ca_.Bind(&block2, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
1275 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 64);
1276 56 : compiler::TNode<Object> tmp17;
1277 56 : USE(tmp17);
1278 56 : tmp17 = ca_.UncheckedCast<Object>(ArrayReverseBuiltinsFromDSLAssembler(state_).LoadElement26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp15}));
1279 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 65);
1280 56 : compiler::TNode<Object> tmp18;
1281 56 : USE(tmp18);
1282 56 : tmp18 = ca_.UncheckedCast<Object>(ArrayReverseBuiltinsFromDSLAssembler(state_).LoadElement26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp16}));
1283 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 66);
1284 56 : ArrayReverseBuiltinsFromDSLAssembler(state_).StoreElement26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp15}, compiler::TNode<Object>{tmp18});
1285 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 67);
1286 56 : ArrayReverseBuiltinsFromDSLAssembler(state_).StoreElement26ATFastPackedObjectElements20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp16}, compiler::TNode<Object>{tmp17});
1287 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 68);
1288 56 : compiler::TNode<Smi> tmp19;
1289 56 : USE(tmp19);
1290 56 : tmp19 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1291 56 : compiler::TNode<Smi> tmp20;
1292 56 : USE(tmp20);
1293 56 : tmp20 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp15}, compiler::TNode<Smi>{tmp19}));
1294 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 69);
1295 56 : compiler::TNode<Smi> tmp21;
1296 56 : USE(tmp21);
1297 56 : tmp21 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1298 56 : compiler::TNode<Smi> tmp22;
1299 56 : USE(tmp22);
1300 56 : tmp22 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp16}, compiler::TNode<Smi>{tmp21}));
1301 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 63);
1302 56 : ca_.Goto(&block4, tmp12, tmp13, tmp14, tmp20, tmp22);
1303 : }
1304 :
1305 56 : if (block3.is_used()) {
1306 56 : compiler::TNode<Context> tmp23;
1307 56 : compiler::TNode<FixedArrayBase> tmp24;
1308 56 : compiler::TNode<Smi> tmp25;
1309 56 : compiler::TNode<Smi> tmp26;
1310 56 : compiler::TNode<Smi> tmp27;
1311 56 : ca_.Bind(&block3, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
1312 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 59);
1313 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 58);
1314 56 : ca_.Goto(&block1, tmp23, tmp24, tmp25);
1315 : }
1316 :
1317 56 : if (block1.is_used()) {
1318 56 : compiler::TNode<Context> tmp28;
1319 56 : compiler::TNode<FixedArrayBase> tmp29;
1320 56 : compiler::TNode<Smi> tmp30;
1321 56 : ca_.Bind(&block1, &tmp28, &tmp29, &tmp30);
1322 56 : ca_.Goto(&block5, tmp28, tmp29, tmp30);
1323 : }
1324 :
1325 56 : compiler::TNode<Context> tmp31;
1326 56 : compiler::TNode<FixedArrayBase> tmp32;
1327 56 : compiler::TNode<Smi> tmp33;
1328 56 : ca_.Bind(&block5, &tmp31, &tmp32, &tmp33);
1329 56 : }
1330 :
1331 56 : void ArrayReverseBuiltinsFromDSLAssembler::FastPackedArrayReverse26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_length) {
1332 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1333 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1334 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1335 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1336 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1337 112 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1338 56 : ca_.Goto(&block0, p_context, p_elements, p_length);
1339 :
1340 56 : if (block0.is_used()) {
1341 56 : compiler::TNode<Context> tmp0;
1342 56 : compiler::TNode<FixedArrayBase> tmp1;
1343 56 : compiler::TNode<Smi> tmp2;
1344 56 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
1345 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 60);
1346 56 : compiler::TNode<Smi> tmp3;
1347 56 : USE(tmp3);
1348 56 : tmp3 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
1349 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 61);
1350 56 : compiler::TNode<Smi> tmp4;
1351 56 : USE(tmp4);
1352 56 : tmp4 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1353 56 : compiler::TNode<Smi> tmp5;
1354 56 : USE(tmp5);
1355 56 : tmp5 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp2}, compiler::TNode<Smi>{tmp4}));
1356 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 63);
1357 56 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp5);
1358 : }
1359 :
1360 56 : if (block4.is_used()) {
1361 56 : compiler::TNode<Context> tmp6;
1362 56 : compiler::TNode<FixedArrayBase> tmp7;
1363 56 : compiler::TNode<Smi> tmp8;
1364 56 : compiler::TNode<Smi> tmp9;
1365 56 : compiler::TNode<Smi> tmp10;
1366 56 : ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
1367 56 : compiler::TNode<BoolT> tmp11;
1368 56 : USE(tmp11);
1369 56 : tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp9}, compiler::TNode<Smi>{tmp10}));
1370 56 : ca_.Branch(tmp11, &block2, &block3, tmp6, tmp7, tmp8, tmp9, tmp10);
1371 : }
1372 :
1373 56 : if (block2.is_used()) {
1374 56 : compiler::TNode<Context> tmp12;
1375 56 : compiler::TNode<FixedArrayBase> tmp13;
1376 56 : compiler::TNode<Smi> tmp14;
1377 56 : compiler::TNode<Smi> tmp15;
1378 56 : compiler::TNode<Smi> tmp16;
1379 56 : ca_.Bind(&block2, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16);
1380 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 64);
1381 56 : compiler::TNode<Float64T> tmp17;
1382 56 : USE(tmp17);
1383 56 : tmp17 = ca_.UncheckedCast<Float64T>(ArrayReverseBuiltinsFromDSLAssembler(state_).LoadElement26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp15}));
1384 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 65);
1385 56 : compiler::TNode<Float64T> tmp18;
1386 56 : USE(tmp18);
1387 56 : tmp18 = ca_.UncheckedCast<Float64T>(ArrayReverseBuiltinsFromDSLAssembler(state_).LoadElement26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp16}));
1388 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 66);
1389 56 : ArrayReverseBuiltinsFromDSLAssembler(state_).StoreElement26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp15}, compiler::TNode<Float64T>{tmp18});
1390 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 67);
1391 56 : ArrayReverseBuiltinsFromDSLAssembler(state_).StoreElement26ATFastPackedDoubleElements9ATfloat64(compiler::TNode<Context>{tmp12}, compiler::TNode<FixedArrayBase>{tmp13}, compiler::TNode<Smi>{tmp16}, compiler::TNode<Float64T>{tmp17});
1392 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 68);
1393 56 : compiler::TNode<Smi> tmp19;
1394 56 : USE(tmp19);
1395 56 : tmp19 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1396 56 : compiler::TNode<Smi> tmp20;
1397 56 : USE(tmp20);
1398 56 : tmp20 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp15}, compiler::TNode<Smi>{tmp19}));
1399 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 69);
1400 56 : compiler::TNode<Smi> tmp21;
1401 56 : USE(tmp21);
1402 56 : tmp21 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
1403 56 : compiler::TNode<Smi> tmp22;
1404 56 : USE(tmp22);
1405 56 : tmp22 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp16}, compiler::TNode<Smi>{tmp21}));
1406 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 63);
1407 56 : ca_.Goto(&block4, tmp12, tmp13, tmp14, tmp20, tmp22);
1408 : }
1409 :
1410 56 : if (block3.is_used()) {
1411 56 : compiler::TNode<Context> tmp23;
1412 56 : compiler::TNode<FixedArrayBase> tmp24;
1413 56 : compiler::TNode<Smi> tmp25;
1414 56 : compiler::TNode<Smi> tmp26;
1415 56 : compiler::TNode<Smi> tmp27;
1416 56 : ca_.Bind(&block3, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
1417 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 59);
1418 56 : ca_.SetSourcePosition("../../src/builtins/array-reverse.tq", 58);
1419 56 : ca_.Goto(&block1, tmp23, tmp24, tmp25);
1420 : }
1421 :
1422 56 : if (block1.is_used()) {
1423 56 : compiler::TNode<Context> tmp28;
1424 56 : compiler::TNode<FixedArrayBase> tmp29;
1425 56 : compiler::TNode<Smi> tmp30;
1426 56 : ca_.Bind(&block1, &tmp28, &tmp29, &tmp30);
1427 56 : ca_.Goto(&block5, tmp28, tmp29, tmp30);
1428 : }
1429 :
1430 56 : compiler::TNode<Context> tmp31;
1431 56 : compiler::TNode<FixedArrayBase> tmp32;
1432 56 : compiler::TNode<Smi> tmp33;
1433 56 : ca_.Bind(&block5, &tmp31, &tmp32, &tmp33);
1434 56 : }
1435 :
1436 : } // namespace internal
1437 87414 : } // namespace v8
1438 :
|