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