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