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