Line data Source code
1 : #include "src/builtins/builtins-utils-gen.h"
2 : #include "src/builtins/builtins.h"
3 : #include "src/code-factory.h"
4 : #include "src/elements-kind.h"
5 : #include "src/heap/factory-inl.h"
6 : #include "src/objects.h"
7 : #include "src/objects/arguments.h"
8 : #include "src/objects/bigint.h"
9 : #include "src/objects/js-generator.h"
10 : #include "src/objects/js-promise.h"
11 : #include "src/objects/js-regexp-string-iterator.h"
12 : #include "src/objects/module.h"
13 : #include "src/objects/stack-frame-info.h"
14 : #include "src/builtins/builtins-array-gen.h"
15 : #include "src/builtins/builtins-collections-gen.h"
16 : #include "src/builtins/builtins-data-view-gen.h"
17 : #include "src/builtins/builtins-iterator-gen.h"
18 : #include "src/builtins/builtins-proxy-gen.h"
19 : #include "src/builtins/builtins-regexp-gen.h"
20 : #include "src/builtins/builtins-typed-array-gen.h"
21 : #include "src/builtins/builtins-constructor-gen.h"
22 : #include "src/builtins/builtins-typed-array-gen.h"
23 : #include "src/builtins/builtins-typed-array-gen.h"
24 : #include "src/builtins/builtins-typed-array-gen.h"
25 : #include "src/builtins/builtins-typed-array-gen.h"
26 : #include "src/builtins/builtins-typed-array-gen.h"
27 : #include "src/builtins/builtins-typed-array-gen.h"
28 : #include "src/builtins/builtins-typed-array-gen.h"
29 : #include "src/builtins/builtins-typed-array-gen.h"
30 : #include "torque-generated/builtins-base-from-dsl-gen.h"
31 : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
32 : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
33 : #include "torque-generated/builtins-array-from-dsl-gen.h"
34 : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
35 : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
36 : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
37 : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
38 : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
39 : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
40 : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
41 : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
42 : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
43 : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
44 : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
45 : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
46 : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
47 : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
48 : #include "torque-generated/builtins-collections-from-dsl-gen.h"
49 : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
50 : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
51 : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
52 : #include "torque-generated/builtins-object-from-dsl-gen.h"
53 : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
54 : #include "torque-generated/builtins-string-from-dsl-gen.h"
55 : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
56 : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
57 : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
58 : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
59 : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
60 : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
61 : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
62 : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
63 : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
64 : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
65 : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
66 : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
67 : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
68 : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
69 : #include "torque-generated/builtins-test-from-dsl-gen.h"
70 :
71 : namespace v8 {
72 : namespace internal {
73 :
74 56 : compiler::TNode<Object> ArrayShiftBuiltinsFromDSLAssembler::TryFastArrayShift(compiler::TNode<Context> p_context, compiler::TNode<Object> p_receiver, CodeStubArguments* p_arguments, compiler::CodeAssemblerLabel* label_Slow) {
75 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
76 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
77 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, JSArray> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
78 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Context, Map> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
79 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Context, Map, Int32T> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
80 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Context> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
81 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
82 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
83 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
84 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
85 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
86 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
87 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, Smi, Context, Smi> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
88 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, Smi, Context, Smi, JSArray, Smi> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
89 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, Smi, Context, Smi, JSArray, Smi, Object> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
90 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, Smi, Context, Smi> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
91 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, Smi, Context, Smi, JSArray, Smi> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
92 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, Smi, Context, Smi, JSArray, Smi, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
93 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, Smi, Context, Smi, Object> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
94 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
95 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Context, Smi, Object> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
96 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, Smi, Smi> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
97 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
98 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT, FixedArrayBase> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
99 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT, FixedArrayBase, FixedDoubleArray> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
100 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block33(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
101 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT, FixedDoubleArray> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
102 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
103 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT, FixedArrayBase> block39(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
104 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT, FixedArrayBase, FixedArray> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
105 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
106 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT, FixedArray> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
107 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT, FixedArray> block40(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
108 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT, FixedArray> block41(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
109 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT, FixedArray> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
110 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
111 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT, Smi, Object, IntPtrT, IntPtrT, IntPtrT, IntPtrT> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
112 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSArray, JSArray, JSArray, Map, BoolT, BoolT, BoolT> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
113 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
114 112 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
115 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block43(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
116 56 : ca_.Goto(&block0, p_context, p_receiver);
117 :
118 56 : if (block0.is_used()) {
119 56 : compiler::TNode<Context> tmp0;
120 56 : compiler::TNode<Object> tmp1;
121 56 : ca_.Bind(&block0, &tmp0, &tmp1);
122 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 11);
123 56 : compiler::TNode<JSArray> tmp2;
124 56 : USE(tmp2);
125 112 : compiler::CodeAssemblerLabel label0(&ca_);
126 56 : tmp2 = BaseBuiltinsFromDSLAssembler(state_).Cast13ATFastJSArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, &label0);
127 56 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
128 56 : if (label0.is_used()) {
129 56 : ca_.Bind(&label0);
130 56 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
131 : }
132 : }
133 :
134 56 : if (block4.is_used()) {
135 56 : compiler::TNode<Context> tmp3;
136 56 : compiler::TNode<Object> tmp4;
137 56 : compiler::TNode<Object> tmp5;
138 56 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
139 56 : ca_.Goto(&block1);
140 : }
141 :
142 56 : if (block3.is_used()) {
143 56 : compiler::TNode<Context> tmp6;
144 56 : compiler::TNode<Object> tmp7;
145 56 : compiler::TNode<Object> tmp8;
146 56 : compiler::TNode<JSArray> tmp9;
147 56 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
148 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 12);
149 56 : compiler::TNode<JSArray> tmp10;
150 56 : USE(tmp10);
151 56 : compiler::TNode<JSArray> tmp11;
152 56 : USE(tmp11);
153 56 : compiler::TNode<Map> tmp12;
154 56 : USE(tmp12);
155 56 : compiler::TNode<BoolT> tmp13;
156 56 : USE(tmp13);
157 56 : compiler::TNode<BoolT> tmp14;
158 56 : USE(tmp14);
159 56 : compiler::TNode<BoolT> tmp15;
160 56 : USE(tmp15);
161 56 : std::tie(tmp10, tmp11, tmp12, tmp13, tmp14, tmp15) = BaseBuiltinsFromDSLAssembler(state_).NewFastJSArrayWitness(compiler::TNode<JSArray>{tmp9}).Flatten();
162 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 14);
163 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1944);
164 56 : compiler::TNode<Int32T> tmp16;
165 56 : USE(tmp16);
166 112 : compiler::CodeAssemblerLabel label0(&ca_);
167 56 : tmp16 = CodeStubAssembler(state_).EnsureArrayPushable(compiler::TNode<Map>{tmp12}, &label0);
168 56 : ca_.Goto(&block6, tmp6, tmp7, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp6, tmp12, tmp16);
169 56 : if (label0.is_used()) {
170 56 : ca_.Bind(&label0);
171 56 : ca_.Goto(&block7, tmp6, tmp7, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp6, tmp12);
172 : }
173 : }
174 :
175 56 : if (block7.is_used()) {
176 56 : compiler::TNode<Context> tmp17;
177 56 : compiler::TNode<Object> tmp18;
178 56 : compiler::TNode<JSArray> tmp19;
179 56 : compiler::TNode<JSArray> tmp20;
180 56 : compiler::TNode<JSArray> tmp21;
181 56 : compiler::TNode<Map> tmp22;
182 56 : compiler::TNode<BoolT> tmp23;
183 56 : compiler::TNode<BoolT> tmp24;
184 56 : compiler::TNode<BoolT> tmp25;
185 56 : compiler::TNode<Context> tmp26;
186 56 : compiler::TNode<Map> tmp27;
187 56 : ca_.Bind(&block7, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
188 56 : ca_.Goto(&block1);
189 : }
190 :
191 56 : if (block6.is_used()) {
192 56 : compiler::TNode<Context> tmp28;
193 56 : compiler::TNode<Object> tmp29;
194 56 : compiler::TNode<JSArray> tmp30;
195 56 : compiler::TNode<JSArray> tmp31;
196 56 : compiler::TNode<JSArray> tmp32;
197 56 : compiler::TNode<Map> tmp33;
198 56 : compiler::TNode<BoolT> tmp34;
199 56 : compiler::TNode<BoolT> tmp35;
200 56 : compiler::TNode<BoolT> tmp36;
201 56 : compiler::TNode<Context> tmp37;
202 56 : compiler::TNode<Map> tmp38;
203 56 : compiler::TNode<Int32T> tmp39;
204 56 : ca_.Bind(&block6, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
205 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1945);
206 56 : ArrayBuiltinsFromDSLAssembler(state_).EnsureWriteableFastElements(compiler::TNode<Context>{tmp37}, compiler::TNode<JSArray>{tmp32});
207 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1946);
208 56 : compiler::TNode<BoolT> tmp40;
209 56 : USE(tmp40);
210 56 : tmp40 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr6ATbool16ATconstexpr_bool(true));
211 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 14);
212 56 : ca_.Goto(&block5, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp40, tmp37);
213 : }
214 :
215 56 : if (block5.is_used()) {
216 56 : compiler::TNode<Context> tmp41;
217 56 : compiler::TNode<Object> tmp42;
218 56 : compiler::TNode<JSArray> tmp43;
219 56 : compiler::TNode<JSArray> tmp44;
220 56 : compiler::TNode<JSArray> tmp45;
221 56 : compiler::TNode<Map> tmp46;
222 56 : compiler::TNode<BoolT> tmp47;
223 56 : compiler::TNode<BoolT> tmp48;
224 56 : compiler::TNode<BoolT> tmp49;
225 56 : compiler::TNode<Context> tmp50;
226 56 : ca_.Bind(&block5, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50);
227 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 16);
228 56 : compiler::TNode<Smi> tmp51;
229 56 : USE(tmp51);
230 56 : tmp51 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp43}));
231 56 : compiler::TNode<Smi> tmp52;
232 56 : USE(tmp52);
233 56 : tmp52 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
234 56 : compiler::TNode<BoolT> tmp53;
235 56 : USE(tmp53);
236 56 : tmp53 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp51}, compiler::TNode<Smi>{tmp52}));
237 56 : ca_.Branch(tmp53, &block8, &block9, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49);
238 : }
239 :
240 56 : if (block8.is_used()) {
241 56 : compiler::TNode<Context> tmp54;
242 56 : compiler::TNode<Object> tmp55;
243 56 : compiler::TNode<JSArray> tmp56;
244 56 : compiler::TNode<JSArray> tmp57;
245 56 : compiler::TNode<JSArray> tmp58;
246 56 : compiler::TNode<Map> tmp59;
247 56 : compiler::TNode<BoolT> tmp60;
248 56 : compiler::TNode<BoolT> tmp61;
249 56 : compiler::TNode<BoolT> tmp62;
250 56 : ca_.Bind(&block8, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62);
251 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 17);
252 56 : compiler::TNode<Oddball> tmp63;
253 56 : USE(tmp63);
254 56 : tmp63 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
255 56 : ca_.Goto(&block2, tmp54, tmp55, tmp63);
256 : }
257 :
258 56 : if (block9.is_used()) {
259 56 : compiler::TNode<Context> tmp64;
260 56 : compiler::TNode<Object> tmp65;
261 56 : compiler::TNode<JSArray> tmp66;
262 56 : compiler::TNode<JSArray> tmp67;
263 56 : compiler::TNode<JSArray> tmp68;
264 56 : compiler::TNode<Map> tmp69;
265 56 : compiler::TNode<BoolT> tmp70;
266 56 : compiler::TNode<BoolT> tmp71;
267 56 : compiler::TNode<BoolT> tmp72;
268 56 : ca_.Bind(&block9, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72);
269 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 21);
270 56 : compiler::TNode<Smi> tmp73;
271 56 : USE(tmp73);
272 56 : tmp73 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).LoadFastJSArrayLength(compiler::TNode<JSArray>{tmp66}));
273 56 : compiler::TNode<Smi> tmp74;
274 56 : USE(tmp74);
275 56 : tmp74 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
276 56 : compiler::TNode<Smi> tmp75;
277 56 : USE(tmp75);
278 56 : tmp75 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp73}, compiler::TNode<Smi>{tmp74}));
279 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 25);
280 56 : compiler::TNode<Smi> tmp76;
281 56 : USE(tmp76);
282 56 : tmp76 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp75}, compiler::TNode<Smi>{tmp75}));
283 56 : compiler::TNode<Smi> tmp77;
284 56 : USE(tmp77);
285 56 : tmp77 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(JSObject::kMinAddedElementsCapacity));
286 56 : compiler::TNode<Smi> tmp78;
287 56 : USE(tmp78);
288 56 : tmp78 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp76}, compiler::TNode<Smi>{tmp77}));
289 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 26);
290 56 : compiler::TNode<FixedArrayBase> tmp79;
291 56 : USE(tmp79);
292 56 : tmp79 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp66}));
293 56 : compiler::TNode<Smi> tmp80;
294 56 : USE(tmp80);
295 56 : tmp80 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).LoadFixedArrayBaseLength(compiler::TNode<FixedArrayBase>{tmp79}));
296 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 25);
297 56 : compiler::TNode<BoolT> tmp81;
298 56 : USE(tmp81);
299 56 : tmp81 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp78}, compiler::TNode<Smi>{tmp80}));
300 56 : ca_.Branch(tmp81, &block12, &block13, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp75);
301 : }
302 :
303 56 : if (block12.is_used()) {
304 56 : compiler::TNode<Context> tmp82;
305 56 : compiler::TNode<Object> tmp83;
306 56 : compiler::TNode<JSArray> tmp84;
307 56 : compiler::TNode<JSArray> tmp85;
308 56 : compiler::TNode<JSArray> tmp86;
309 56 : compiler::TNode<Map> tmp87;
310 56 : compiler::TNode<BoolT> tmp88;
311 56 : compiler::TNode<BoolT> tmp89;
312 56 : compiler::TNode<BoolT> tmp90;
313 56 : compiler::TNode<Smi> tmp91;
314 56 : ca_.Bind(&block12, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91);
315 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 27);
316 56 : ca_.Goto(&block11, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90);
317 : }
318 :
319 56 : if (block13.is_used()) {
320 56 : compiler::TNode<Context> tmp92;
321 56 : compiler::TNode<Object> tmp93;
322 56 : compiler::TNode<JSArray> tmp94;
323 56 : compiler::TNode<JSArray> tmp95;
324 56 : compiler::TNode<JSArray> tmp96;
325 56 : compiler::TNode<Map> tmp97;
326 56 : compiler::TNode<BoolT> tmp98;
327 56 : compiler::TNode<BoolT> tmp99;
328 56 : compiler::TNode<BoolT> tmp100;
329 56 : compiler::TNode<Smi> tmp101;
330 56 : ca_.Bind(&block13, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101);
331 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 32);
332 56 : compiler::TNode<Smi> tmp102;
333 56 : USE(tmp102);
334 56 : tmp102 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(JSArray::kMaxCopyElements));
335 56 : compiler::TNode<BoolT> tmp103;
336 56 : USE(tmp103);
337 56 : tmp103 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp101}, compiler::TNode<Smi>{tmp102}));
338 56 : ca_.Branch(tmp103, &block14, &block15, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101);
339 : }
340 :
341 56 : if (block14.is_used()) {
342 56 : compiler::TNode<Context> tmp104;
343 56 : compiler::TNode<Object> tmp105;
344 56 : compiler::TNode<JSArray> tmp106;
345 56 : compiler::TNode<JSArray> tmp107;
346 56 : compiler::TNode<JSArray> tmp108;
347 56 : compiler::TNode<Map> tmp109;
348 56 : compiler::TNode<BoolT> tmp110;
349 56 : compiler::TNode<BoolT> tmp111;
350 56 : compiler::TNode<BoolT> tmp112;
351 56 : compiler::TNode<Smi> tmp113;
352 56 : ca_.Bind(&block14, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113);
353 56 : ca_.Goto(&block11, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112);
354 : }
355 :
356 56 : if (block15.is_used()) {
357 56 : compiler::TNode<Context> tmp114;
358 56 : compiler::TNode<Object> tmp115;
359 56 : compiler::TNode<JSArray> tmp116;
360 56 : compiler::TNode<JSArray> tmp117;
361 56 : compiler::TNode<JSArray> tmp118;
362 56 : compiler::TNode<Map> tmp119;
363 56 : compiler::TNode<BoolT> tmp120;
364 56 : compiler::TNode<BoolT> tmp121;
365 56 : compiler::TNode<BoolT> tmp122;
366 56 : compiler::TNode<Smi> tmp123;
367 56 : ca_.Bind(&block15, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123);
368 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 34);
369 56 : compiler::TNode<Smi> tmp124;
370 56 : USE(tmp124);
371 56 : tmp124 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
372 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1936);
373 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1925);
374 56 : ca_.Branch(tmp120, &block20, &block21, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp114, tmp124, tmp124, tmp114, tmp124);
375 : }
376 :
377 56 : if (block20.is_used()) {
378 56 : compiler::TNode<Context> tmp125;
379 56 : compiler::TNode<Object> tmp126;
380 56 : compiler::TNode<JSArray> tmp127;
381 56 : compiler::TNode<JSArray> tmp128;
382 56 : compiler::TNode<JSArray> tmp129;
383 56 : compiler::TNode<Map> tmp130;
384 56 : compiler::TNode<BoolT> tmp131;
385 56 : compiler::TNode<BoolT> tmp132;
386 56 : compiler::TNode<BoolT> tmp133;
387 56 : compiler::TNode<Smi> tmp134;
388 56 : compiler::TNode<Context> tmp135;
389 56 : compiler::TNode<Smi> tmp136;
390 56 : compiler::TNode<Smi> tmp137;
391 56 : compiler::TNode<Context> tmp138;
392 56 : compiler::TNode<Smi> tmp139;
393 56 : ca_.Bind(&block20, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139);
394 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1926);
395 56 : compiler::TNode<Object> tmp140;
396 56 : USE(tmp140);
397 112 : compiler::CodeAssemblerLabel label0(&ca_);
398 56 : tmp140 = BaseBuiltinsFromDSLAssembler(state_).LoadElementNoHole16FixedDoubleArray(compiler::TNode<Context>{tmp138}, compiler::TNode<JSArray>{tmp129}, compiler::TNode<Smi>{tmp139}, &label0);
399 56 : ca_.Goto(&block23, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp129, tmp139, tmp140);
400 56 : if (label0.is_used()) {
401 56 : ca_.Bind(&label0);
402 56 : ca_.Goto(&block24, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp129, tmp139);
403 : }
404 : }
405 :
406 56 : if (block24.is_used()) {
407 56 : compiler::TNode<Context> tmp141;
408 56 : compiler::TNode<Object> tmp142;
409 56 : compiler::TNode<JSArray> tmp143;
410 56 : compiler::TNode<JSArray> tmp144;
411 56 : compiler::TNode<JSArray> tmp145;
412 56 : compiler::TNode<Map> tmp146;
413 56 : compiler::TNode<BoolT> tmp147;
414 56 : compiler::TNode<BoolT> tmp148;
415 56 : compiler::TNode<BoolT> tmp149;
416 56 : compiler::TNode<Smi> tmp150;
417 56 : compiler::TNode<Context> tmp151;
418 56 : compiler::TNode<Smi> tmp152;
419 56 : compiler::TNode<Smi> tmp153;
420 56 : compiler::TNode<Context> tmp154;
421 56 : compiler::TNode<Smi> tmp155;
422 56 : compiler::TNode<JSArray> tmp156;
423 56 : compiler::TNode<Smi> tmp157;
424 56 : ca_.Bind(&block24, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157);
425 56 : ca_.Goto(&block18, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152);
426 : }
427 :
428 56 : if (block23.is_used()) {
429 56 : compiler::TNode<Context> tmp158;
430 56 : compiler::TNode<Object> tmp159;
431 56 : compiler::TNode<JSArray> tmp160;
432 56 : compiler::TNode<JSArray> tmp161;
433 56 : compiler::TNode<JSArray> tmp162;
434 56 : compiler::TNode<Map> tmp163;
435 56 : compiler::TNode<BoolT> tmp164;
436 56 : compiler::TNode<BoolT> tmp165;
437 56 : compiler::TNode<BoolT> tmp166;
438 56 : compiler::TNode<Smi> tmp167;
439 56 : compiler::TNode<Context> tmp168;
440 56 : compiler::TNode<Smi> tmp169;
441 56 : compiler::TNode<Smi> tmp170;
442 56 : compiler::TNode<Context> tmp171;
443 56 : compiler::TNode<Smi> tmp172;
444 56 : compiler::TNode<JSArray> tmp173;
445 56 : compiler::TNode<Smi> tmp174;
446 56 : compiler::TNode<Object> tmp175;
447 56 : ca_.Bind(&block23, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175);
448 56 : ca_.Goto(&block19, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp175);
449 : }
450 :
451 56 : if (block21.is_used()) {
452 56 : compiler::TNode<Context> tmp176;
453 56 : compiler::TNode<Object> tmp177;
454 56 : compiler::TNode<JSArray> tmp178;
455 56 : compiler::TNode<JSArray> tmp179;
456 56 : compiler::TNode<JSArray> tmp180;
457 56 : compiler::TNode<Map> tmp181;
458 56 : compiler::TNode<BoolT> tmp182;
459 56 : compiler::TNode<BoolT> tmp183;
460 56 : compiler::TNode<BoolT> tmp184;
461 56 : compiler::TNode<Smi> tmp185;
462 56 : compiler::TNode<Context> tmp186;
463 56 : compiler::TNode<Smi> tmp187;
464 56 : compiler::TNode<Smi> tmp188;
465 56 : compiler::TNode<Context> tmp189;
466 56 : compiler::TNode<Smi> tmp190;
467 56 : ca_.Bind(&block21, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190);
468 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1929);
469 56 : compiler::TNode<Object> tmp191;
470 56 : USE(tmp191);
471 112 : compiler::CodeAssemblerLabel label0(&ca_);
472 56 : tmp191 = BaseBuiltinsFromDSLAssembler(state_).LoadElementNoHole10FixedArray(compiler::TNode<Context>{tmp189}, compiler::TNode<JSArray>{tmp180}, compiler::TNode<Smi>{tmp190}, &label0);
473 56 : ca_.Goto(&block25, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp180, tmp190, tmp191);
474 56 : if (label0.is_used()) {
475 56 : ca_.Bind(&label0);
476 56 : ca_.Goto(&block26, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp180, tmp190);
477 : }
478 : }
479 :
480 56 : if (block26.is_used()) {
481 56 : compiler::TNode<Context> tmp192;
482 56 : compiler::TNode<Object> tmp193;
483 56 : compiler::TNode<JSArray> tmp194;
484 56 : compiler::TNode<JSArray> tmp195;
485 56 : compiler::TNode<JSArray> tmp196;
486 56 : compiler::TNode<Map> tmp197;
487 56 : compiler::TNode<BoolT> tmp198;
488 56 : compiler::TNode<BoolT> tmp199;
489 56 : compiler::TNode<BoolT> tmp200;
490 56 : compiler::TNode<Smi> tmp201;
491 56 : compiler::TNode<Context> tmp202;
492 56 : compiler::TNode<Smi> tmp203;
493 56 : compiler::TNode<Smi> tmp204;
494 56 : compiler::TNode<Context> tmp205;
495 56 : compiler::TNode<Smi> tmp206;
496 56 : compiler::TNode<JSArray> tmp207;
497 56 : compiler::TNode<Smi> tmp208;
498 56 : ca_.Bind(&block26, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208);
499 56 : ca_.Goto(&block18, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203);
500 : }
501 :
502 56 : if (block25.is_used()) {
503 56 : compiler::TNode<Context> tmp209;
504 56 : compiler::TNode<Object> tmp210;
505 56 : compiler::TNode<JSArray> tmp211;
506 56 : compiler::TNode<JSArray> tmp212;
507 56 : compiler::TNode<JSArray> tmp213;
508 56 : compiler::TNode<Map> tmp214;
509 56 : compiler::TNode<BoolT> tmp215;
510 56 : compiler::TNode<BoolT> tmp216;
511 56 : compiler::TNode<BoolT> tmp217;
512 56 : compiler::TNode<Smi> tmp218;
513 56 : compiler::TNode<Context> tmp219;
514 56 : compiler::TNode<Smi> tmp220;
515 56 : compiler::TNode<Smi> tmp221;
516 56 : compiler::TNode<Context> tmp222;
517 56 : compiler::TNode<Smi> tmp223;
518 56 : compiler::TNode<JSArray> tmp224;
519 56 : compiler::TNode<Smi> tmp225;
520 56 : compiler::TNode<Object> tmp226;
521 56 : ca_.Bind(&block25, &tmp209, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226);
522 56 : ca_.Goto(&block19, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp226);
523 : }
524 :
525 56 : if (block19.is_used()) {
526 56 : compiler::TNode<Context> tmp227;
527 56 : compiler::TNode<Object> tmp228;
528 56 : compiler::TNode<JSArray> tmp229;
529 56 : compiler::TNode<JSArray> tmp230;
530 56 : compiler::TNode<JSArray> tmp231;
531 56 : compiler::TNode<Map> tmp232;
532 56 : compiler::TNode<BoolT> tmp233;
533 56 : compiler::TNode<BoolT> tmp234;
534 56 : compiler::TNode<BoolT> tmp235;
535 56 : compiler::TNode<Smi> tmp236;
536 56 : compiler::TNode<Context> tmp237;
537 56 : compiler::TNode<Smi> tmp238;
538 56 : compiler::TNode<Smi> tmp239;
539 56 : compiler::TNode<Context> tmp240;
540 56 : compiler::TNode<Smi> tmp241;
541 56 : compiler::TNode<Object> tmp242;
542 56 : ca_.Bind(&block19, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242);
543 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1936);
544 56 : ca_.Goto(&block16, tmp227, tmp228, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp242);
545 : }
546 :
547 56 : if (block18.is_used()) {
548 56 : compiler::TNode<Context> tmp243;
549 56 : compiler::TNode<Object> tmp244;
550 56 : compiler::TNode<JSArray> tmp245;
551 56 : compiler::TNode<JSArray> tmp246;
552 56 : compiler::TNode<JSArray> tmp247;
553 56 : compiler::TNode<Map> tmp248;
554 56 : compiler::TNode<BoolT> tmp249;
555 56 : compiler::TNode<BoolT> tmp250;
556 56 : compiler::TNode<BoolT> tmp251;
557 56 : compiler::TNode<Smi> tmp252;
558 56 : compiler::TNode<Context> tmp253;
559 56 : compiler::TNode<Smi> tmp254;
560 56 : ca_.Bind(&block18, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254);
561 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1939);
562 56 : compiler::TNode<Oddball> tmp255;
563 56 : USE(tmp255);
564 56 : tmp255 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
565 56 : ca_.Goto(&block16, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255);
566 : }
567 :
568 56 : if (block16.is_used()) {
569 56 : compiler::TNode<Context> tmp256;
570 56 : compiler::TNode<Object> tmp257;
571 56 : compiler::TNode<JSArray> tmp258;
572 56 : compiler::TNode<JSArray> tmp259;
573 56 : compiler::TNode<JSArray> tmp260;
574 56 : compiler::TNode<Map> tmp261;
575 56 : compiler::TNode<BoolT> tmp262;
576 56 : compiler::TNode<BoolT> tmp263;
577 56 : compiler::TNode<BoolT> tmp264;
578 56 : compiler::TNode<Smi> tmp265;
579 56 : compiler::TNode<Context> tmp266;
580 56 : compiler::TNode<Smi> tmp267;
581 56 : compiler::TNode<Object> tmp268;
582 56 : ca_.Bind(&block16, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268);
583 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 34);
584 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 35);
585 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1951);
586 56 : BaseBuiltinsFromDSLAssembler(state_).StoreJSArrayLength(compiler::TNode<JSArray>{tmp260}, compiler::TNode<Number>{tmp265});
587 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 35);
588 56 : ca_.Goto(&block27, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp268, tmp265, tmp265);
589 : }
590 :
591 56 : if (block27.is_used()) {
592 56 : compiler::TNode<Context> tmp269;
593 56 : compiler::TNode<Object> tmp270;
594 56 : compiler::TNode<JSArray> tmp271;
595 56 : compiler::TNode<JSArray> tmp272;
596 56 : compiler::TNode<JSArray> tmp273;
597 56 : compiler::TNode<Map> tmp274;
598 56 : compiler::TNode<BoolT> tmp275;
599 56 : compiler::TNode<BoolT> tmp276;
600 56 : compiler::TNode<BoolT> tmp277;
601 56 : compiler::TNode<Smi> tmp278;
602 56 : compiler::TNode<Object> tmp279;
603 56 : compiler::TNode<Smi> tmp280;
604 56 : compiler::TNode<Smi> tmp281;
605 56 : ca_.Bind(&block27, &tmp269, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281);
606 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 36);
607 56 : compiler::TNode<IntPtrT> tmp282;
608 56 : USE(tmp282);
609 56 : tmp282 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp278}));
610 56 : compiler::TNode<IntPtrT> tmp283;
611 56 : USE(tmp283);
612 56 : tmp283 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
613 56 : compiler::TNode<IntPtrT> tmp284;
614 56 : USE(tmp284);
615 56 : tmp284 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
616 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1973);
617 56 : ca_.Branch(tmp275, &block29, &block30, tmp269, tmp270, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp282, tmp283, tmp284, tmp282);
618 : }
619 :
620 56 : if (block29.is_used()) {
621 56 : compiler::TNode<Context> tmp285;
622 56 : compiler::TNode<Object> tmp286;
623 56 : compiler::TNode<JSArray> tmp287;
624 56 : compiler::TNode<JSArray> tmp288;
625 56 : compiler::TNode<JSArray> tmp289;
626 56 : compiler::TNode<Map> tmp290;
627 56 : compiler::TNode<BoolT> tmp291;
628 56 : compiler::TNode<BoolT> tmp292;
629 56 : compiler::TNode<BoolT> tmp293;
630 56 : compiler::TNode<Smi> tmp294;
631 56 : compiler::TNode<Object> tmp295;
632 56 : compiler::TNode<IntPtrT> tmp296;
633 56 : compiler::TNode<IntPtrT> tmp297;
634 56 : compiler::TNode<IntPtrT> tmp298;
635 56 : compiler::TNode<IntPtrT> tmp299;
636 56 : ca_.Bind(&block29, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291, &tmp292, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299);
637 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1975);
638 56 : compiler::TNode<FixedArrayBase> tmp300;
639 56 : USE(tmp300);
640 56 : tmp300 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp289}));
641 56 : compiler::TNode<FixedDoubleArray> tmp301;
642 56 : USE(tmp301);
643 112 : compiler::CodeAssemblerLabel label0(&ca_);
644 56 : tmp301 = BaseBuiltinsFromDSLAssembler(state_).Cast16FixedDoubleArray(compiler::TNode<HeapObject>{tmp300}, &label0);
645 56 : ca_.Goto(&block34, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, tmp292, tmp293, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301);
646 56 : if (label0.is_used()) {
647 56 : ca_.Bind(&label0);
648 56 : ca_.Goto(&block35, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, tmp292, tmp293, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300);
649 : }
650 : }
651 :
652 56 : if (block35.is_used()) {
653 56 : compiler::TNode<Context> tmp302;
654 56 : compiler::TNode<Object> tmp303;
655 56 : compiler::TNode<JSArray> tmp304;
656 56 : compiler::TNode<JSArray> tmp305;
657 56 : compiler::TNode<JSArray> tmp306;
658 56 : compiler::TNode<Map> tmp307;
659 56 : compiler::TNode<BoolT> tmp308;
660 56 : compiler::TNode<BoolT> tmp309;
661 56 : compiler::TNode<BoolT> tmp310;
662 56 : compiler::TNode<Smi> tmp311;
663 56 : compiler::TNode<Object> tmp312;
664 56 : compiler::TNode<IntPtrT> tmp313;
665 56 : compiler::TNode<IntPtrT> tmp314;
666 56 : compiler::TNode<IntPtrT> tmp315;
667 56 : compiler::TNode<IntPtrT> tmp316;
668 56 : compiler::TNode<FixedArrayBase> tmp317;
669 56 : ca_.Bind(&block35, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317);
670 56 : ca_.Goto(&block33, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316);
671 : }
672 :
673 56 : if (block34.is_used()) {
674 56 : compiler::TNode<Context> tmp318;
675 56 : compiler::TNode<Object> tmp319;
676 56 : compiler::TNode<JSArray> tmp320;
677 56 : compiler::TNode<JSArray> tmp321;
678 56 : compiler::TNode<JSArray> tmp322;
679 56 : compiler::TNode<Map> tmp323;
680 56 : compiler::TNode<BoolT> tmp324;
681 56 : compiler::TNode<BoolT> tmp325;
682 56 : compiler::TNode<BoolT> tmp326;
683 56 : compiler::TNode<Smi> tmp327;
684 56 : compiler::TNode<Object> tmp328;
685 56 : compiler::TNode<IntPtrT> tmp329;
686 56 : compiler::TNode<IntPtrT> tmp330;
687 56 : compiler::TNode<IntPtrT> tmp331;
688 56 : compiler::TNode<IntPtrT> tmp332;
689 56 : compiler::TNode<FixedArrayBase> tmp333;
690 56 : compiler::TNode<FixedDoubleArray> tmp334;
691 56 : ca_.Bind(&block34, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328, &tmp329, &tmp330, &tmp331, &tmp332, &tmp333, &tmp334);
692 56 : ca_.Goto(&block32, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp334);
693 : }
694 :
695 56 : if (block33.is_used()) {
696 56 : compiler::TNode<Context> tmp335;
697 56 : compiler::TNode<Object> tmp336;
698 56 : compiler::TNode<JSArray> tmp337;
699 56 : compiler::TNode<JSArray> tmp338;
700 56 : compiler::TNode<JSArray> tmp339;
701 56 : compiler::TNode<Map> tmp340;
702 56 : compiler::TNode<BoolT> tmp341;
703 56 : compiler::TNode<BoolT> tmp342;
704 56 : compiler::TNode<BoolT> tmp343;
705 56 : compiler::TNode<Smi> tmp344;
706 56 : compiler::TNode<Object> tmp345;
707 56 : compiler::TNode<IntPtrT> tmp346;
708 56 : compiler::TNode<IntPtrT> tmp347;
709 56 : compiler::TNode<IntPtrT> tmp348;
710 56 : compiler::TNode<IntPtrT> tmp349;
711 56 : ca_.Bind(&block33, &tmp335, &tmp336, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349);
712 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1976);
713 56 : CodeStubAssembler(state_).Unreachable();
714 : }
715 :
716 56 : if (block32.is_used()) {
717 56 : compiler::TNode<Context> tmp350;
718 56 : compiler::TNode<Object> tmp351;
719 56 : compiler::TNode<JSArray> tmp352;
720 56 : compiler::TNode<JSArray> tmp353;
721 56 : compiler::TNode<JSArray> tmp354;
722 56 : compiler::TNode<Map> tmp355;
723 56 : compiler::TNode<BoolT> tmp356;
724 56 : compiler::TNode<BoolT> tmp357;
725 56 : compiler::TNode<BoolT> tmp358;
726 56 : compiler::TNode<Smi> tmp359;
727 56 : compiler::TNode<Object> tmp360;
728 56 : compiler::TNode<IntPtrT> tmp361;
729 56 : compiler::TNode<IntPtrT> tmp362;
730 56 : compiler::TNode<IntPtrT> tmp363;
731 56 : compiler::TNode<IntPtrT> tmp364;
732 56 : compiler::TNode<FixedDoubleArray> tmp365;
733 56 : ca_.Bind(&block32, &tmp350, &tmp351, &tmp352, &tmp353, &tmp354, &tmp355, &tmp356, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365);
734 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1974);
735 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1977);
736 56 : BaseBuiltinsFromDSLAssembler(state_).TorqueMoveElements(compiler::TNode<FixedDoubleArray>{tmp365}, compiler::TNode<IntPtrT>{tmp362}, compiler::TNode<IntPtrT>{tmp363}, compiler::TNode<IntPtrT>{tmp364});
737 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1973);
738 56 : ca_.Goto(&block31, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364);
739 : }
740 :
741 56 : if (block30.is_used()) {
742 56 : compiler::TNode<Context> tmp366;
743 56 : compiler::TNode<Object> tmp367;
744 56 : compiler::TNode<JSArray> tmp368;
745 56 : compiler::TNode<JSArray> tmp369;
746 56 : compiler::TNode<JSArray> tmp370;
747 56 : compiler::TNode<Map> tmp371;
748 56 : compiler::TNode<BoolT> tmp372;
749 56 : compiler::TNode<BoolT> tmp373;
750 56 : compiler::TNode<BoolT> tmp374;
751 56 : compiler::TNode<Smi> tmp375;
752 56 : compiler::TNode<Object> tmp376;
753 56 : compiler::TNode<IntPtrT> tmp377;
754 56 : compiler::TNode<IntPtrT> tmp378;
755 56 : compiler::TNode<IntPtrT> tmp379;
756 56 : compiler::TNode<IntPtrT> tmp380;
757 56 : ca_.Bind(&block30, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371, &tmp372, &tmp373, &tmp374, &tmp375, &tmp376, &tmp377, &tmp378, &tmp379, &tmp380);
758 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1979);
759 56 : compiler::TNode<FixedArrayBase> tmp381;
760 56 : USE(tmp381);
761 56 : tmp381 = ca_.UncheckedCast<FixedArrayBase>(BaseBuiltinsFromDSLAssembler(state_).LoadJSObjectElements(compiler::TNode<JSObject>{tmp370}));
762 56 : compiler::TNode<FixedArray> tmp382;
763 56 : USE(tmp382);
764 112 : compiler::CodeAssemblerLabel label0(&ca_);
765 56 : tmp382 = BaseBuiltinsFromDSLAssembler(state_).Cast10FixedArray(compiler::TNode<HeapObject>{tmp381}, &label0);
766 56 : ca_.Goto(&block38, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377, tmp378, tmp379, tmp380, tmp381, tmp382);
767 56 : if (label0.is_used()) {
768 56 : ca_.Bind(&label0);
769 56 : ca_.Goto(&block39, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377, tmp378, tmp379, tmp380, tmp381);
770 : }
771 : }
772 :
773 56 : if (block39.is_used()) {
774 56 : compiler::TNode<Context> tmp383;
775 56 : compiler::TNode<Object> tmp384;
776 56 : compiler::TNode<JSArray> tmp385;
777 56 : compiler::TNode<JSArray> tmp386;
778 56 : compiler::TNode<JSArray> tmp387;
779 56 : compiler::TNode<Map> tmp388;
780 56 : compiler::TNode<BoolT> tmp389;
781 56 : compiler::TNode<BoolT> tmp390;
782 56 : compiler::TNode<BoolT> tmp391;
783 56 : compiler::TNode<Smi> tmp392;
784 56 : compiler::TNode<Object> tmp393;
785 56 : compiler::TNode<IntPtrT> tmp394;
786 56 : compiler::TNode<IntPtrT> tmp395;
787 56 : compiler::TNode<IntPtrT> tmp396;
788 56 : compiler::TNode<IntPtrT> tmp397;
789 56 : compiler::TNode<FixedArrayBase> tmp398;
790 56 : ca_.Bind(&block39, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394, &tmp395, &tmp396, &tmp397, &tmp398);
791 56 : ca_.Goto(&block37, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp396, tmp397);
792 : }
793 :
794 56 : if (block38.is_used()) {
795 56 : compiler::TNode<Context> tmp399;
796 56 : compiler::TNode<Object> tmp400;
797 56 : compiler::TNode<JSArray> tmp401;
798 56 : compiler::TNode<JSArray> tmp402;
799 56 : compiler::TNode<JSArray> tmp403;
800 56 : compiler::TNode<Map> tmp404;
801 56 : compiler::TNode<BoolT> tmp405;
802 56 : compiler::TNode<BoolT> tmp406;
803 56 : compiler::TNode<BoolT> tmp407;
804 56 : compiler::TNode<Smi> tmp408;
805 56 : compiler::TNode<Object> tmp409;
806 56 : compiler::TNode<IntPtrT> tmp410;
807 56 : compiler::TNode<IntPtrT> tmp411;
808 56 : compiler::TNode<IntPtrT> tmp412;
809 56 : compiler::TNode<IntPtrT> tmp413;
810 56 : compiler::TNode<FixedArrayBase> tmp414;
811 56 : compiler::TNode<FixedArray> tmp415;
812 56 : ca_.Bind(&block38, &tmp399, &tmp400, &tmp401, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415);
813 56 : ca_.Goto(&block36, tmp399, tmp400, tmp401, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp415);
814 : }
815 :
816 56 : if (block37.is_used()) {
817 56 : compiler::TNode<Context> tmp416;
818 56 : compiler::TNode<Object> tmp417;
819 56 : compiler::TNode<JSArray> tmp418;
820 56 : compiler::TNode<JSArray> tmp419;
821 56 : compiler::TNode<JSArray> tmp420;
822 56 : compiler::TNode<Map> tmp421;
823 56 : compiler::TNode<BoolT> tmp422;
824 56 : compiler::TNode<BoolT> tmp423;
825 56 : compiler::TNode<BoolT> tmp424;
826 56 : compiler::TNode<Smi> tmp425;
827 56 : compiler::TNode<Object> tmp426;
828 56 : compiler::TNode<IntPtrT> tmp427;
829 56 : compiler::TNode<IntPtrT> tmp428;
830 56 : compiler::TNode<IntPtrT> tmp429;
831 56 : compiler::TNode<IntPtrT> tmp430;
832 56 : ca_.Bind(&block37, &tmp416, &tmp417, &tmp418, &tmp419, &tmp420, &tmp421, &tmp422, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430);
833 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1980);
834 56 : CodeStubAssembler(state_).Unreachable();
835 : }
836 :
837 56 : if (block36.is_used()) {
838 56 : compiler::TNode<Context> tmp431;
839 56 : compiler::TNode<Object> tmp432;
840 56 : compiler::TNode<JSArray> tmp433;
841 56 : compiler::TNode<JSArray> tmp434;
842 56 : compiler::TNode<JSArray> tmp435;
843 56 : compiler::TNode<Map> tmp436;
844 56 : compiler::TNode<BoolT> tmp437;
845 56 : compiler::TNode<BoolT> tmp438;
846 56 : compiler::TNode<BoolT> tmp439;
847 56 : compiler::TNode<Smi> tmp440;
848 56 : compiler::TNode<Object> tmp441;
849 56 : compiler::TNode<IntPtrT> tmp442;
850 56 : compiler::TNode<IntPtrT> tmp443;
851 56 : compiler::TNode<IntPtrT> tmp444;
852 56 : compiler::TNode<IntPtrT> tmp445;
853 56 : compiler::TNode<FixedArray> tmp446;
854 56 : ca_.Bind(&block36, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439, &tmp440, &tmp441, &tmp442, &tmp443, &tmp444, &tmp445, &tmp446);
855 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1979);
856 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1981);
857 56 : ca_.Branch(tmp438, &block40, &block41, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp439, tmp440, tmp441, tmp442, tmp443, tmp444, tmp445, tmp446);
858 : }
859 :
860 56 : if (block40.is_used()) {
861 56 : compiler::TNode<Context> tmp447;
862 56 : compiler::TNode<Object> tmp448;
863 56 : compiler::TNode<JSArray> tmp449;
864 56 : compiler::TNode<JSArray> tmp450;
865 56 : compiler::TNode<JSArray> tmp451;
866 56 : compiler::TNode<Map> tmp452;
867 56 : compiler::TNode<BoolT> tmp453;
868 56 : compiler::TNode<BoolT> tmp454;
869 56 : compiler::TNode<BoolT> tmp455;
870 56 : compiler::TNode<Smi> tmp456;
871 56 : compiler::TNode<Object> tmp457;
872 56 : compiler::TNode<IntPtrT> tmp458;
873 56 : compiler::TNode<IntPtrT> tmp459;
874 56 : compiler::TNode<IntPtrT> tmp460;
875 56 : compiler::TNode<IntPtrT> tmp461;
876 56 : compiler::TNode<FixedArray> tmp462;
877 56 : ca_.Bind(&block40, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461, &tmp462);
878 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1982);
879 56 : BaseBuiltinsFromDSLAssembler(state_).TorqueMoveElementsSmi(compiler::TNode<FixedArray>{tmp462}, compiler::TNode<IntPtrT>{tmp459}, compiler::TNode<IntPtrT>{tmp460}, compiler::TNode<IntPtrT>{tmp461});
880 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1981);
881 56 : ca_.Goto(&block42, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, tmp462);
882 : }
883 :
884 56 : if (block41.is_used()) {
885 56 : compiler::TNode<Context> tmp463;
886 56 : compiler::TNode<Object> tmp464;
887 56 : compiler::TNode<JSArray> tmp465;
888 56 : compiler::TNode<JSArray> tmp466;
889 56 : compiler::TNode<JSArray> tmp467;
890 56 : compiler::TNode<Map> tmp468;
891 56 : compiler::TNode<BoolT> tmp469;
892 56 : compiler::TNode<BoolT> tmp470;
893 56 : compiler::TNode<BoolT> tmp471;
894 56 : compiler::TNode<Smi> tmp472;
895 56 : compiler::TNode<Object> tmp473;
896 56 : compiler::TNode<IntPtrT> tmp474;
897 56 : compiler::TNode<IntPtrT> tmp475;
898 56 : compiler::TNode<IntPtrT> tmp476;
899 56 : compiler::TNode<IntPtrT> tmp477;
900 56 : compiler::TNode<FixedArray> tmp478;
901 56 : ca_.Bind(&block41, &tmp463, &tmp464, &tmp465, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478);
902 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1984);
903 56 : BaseBuiltinsFromDSLAssembler(state_).TorqueMoveElements(compiler::TNode<FixedArray>{tmp478}, compiler::TNode<IntPtrT>{tmp475}, compiler::TNode<IntPtrT>{tmp476}, compiler::TNode<IntPtrT>{tmp477});
904 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1981);
905 56 : ca_.Goto(&block42, tmp463, tmp464, tmp465, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478);
906 : }
907 :
908 56 : if (block42.is_used()) {
909 56 : compiler::TNode<Context> tmp479;
910 56 : compiler::TNode<Object> tmp480;
911 56 : compiler::TNode<JSArray> tmp481;
912 56 : compiler::TNode<JSArray> tmp482;
913 56 : compiler::TNode<JSArray> tmp483;
914 56 : compiler::TNode<Map> tmp484;
915 56 : compiler::TNode<BoolT> tmp485;
916 56 : compiler::TNode<BoolT> tmp486;
917 56 : compiler::TNode<BoolT> tmp487;
918 56 : compiler::TNode<Smi> tmp488;
919 56 : compiler::TNode<Object> tmp489;
920 56 : compiler::TNode<IntPtrT> tmp490;
921 56 : compiler::TNode<IntPtrT> tmp491;
922 56 : compiler::TNode<IntPtrT> tmp492;
923 56 : compiler::TNode<IntPtrT> tmp493;
924 56 : compiler::TNode<FixedArray> tmp494;
925 56 : ca_.Bind(&block42, &tmp479, &tmp480, &tmp481, &tmp482, &tmp483, &tmp484, &tmp485, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494);
926 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1978);
927 56 : ca_.SetSourcePosition("../../src/builtins/base.tq", 1973);
928 56 : ca_.Goto(&block31, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484, tmp485, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493);
929 : }
930 :
931 56 : if (block31.is_used()) {
932 56 : compiler::TNode<Context> tmp495;
933 56 : compiler::TNode<Object> tmp496;
934 56 : compiler::TNode<JSArray> tmp497;
935 56 : compiler::TNode<JSArray> tmp498;
936 56 : compiler::TNode<JSArray> tmp499;
937 56 : compiler::TNode<Map> tmp500;
938 56 : compiler::TNode<BoolT> tmp501;
939 56 : compiler::TNode<BoolT> tmp502;
940 56 : compiler::TNode<BoolT> tmp503;
941 56 : compiler::TNode<Smi> tmp504;
942 56 : compiler::TNode<Object> tmp505;
943 56 : compiler::TNode<IntPtrT> tmp506;
944 56 : compiler::TNode<IntPtrT> tmp507;
945 56 : compiler::TNode<IntPtrT> tmp508;
946 56 : compiler::TNode<IntPtrT> tmp509;
947 56 : ca_.Bind(&block31, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501, &tmp502, &tmp503, &tmp504, &tmp505, &tmp506, &tmp507, &tmp508, &tmp509);
948 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 36);
949 56 : ca_.Goto(&block28, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503, tmp504, tmp505, tmp506, tmp507, tmp508, tmp509);
950 : }
951 :
952 56 : if (block28.is_used()) {
953 56 : compiler::TNode<Context> tmp510;
954 56 : compiler::TNode<Object> tmp511;
955 56 : compiler::TNode<JSArray> tmp512;
956 56 : compiler::TNode<JSArray> tmp513;
957 56 : compiler::TNode<JSArray> tmp514;
958 56 : compiler::TNode<Map> tmp515;
959 56 : compiler::TNode<BoolT> tmp516;
960 56 : compiler::TNode<BoolT> tmp517;
961 56 : compiler::TNode<BoolT> tmp518;
962 56 : compiler::TNode<Smi> tmp519;
963 56 : compiler::TNode<Object> tmp520;
964 56 : compiler::TNode<IntPtrT> tmp521;
965 56 : compiler::TNode<IntPtrT> tmp522;
966 56 : compiler::TNode<IntPtrT> tmp523;
967 56 : compiler::TNode<IntPtrT> tmp524;
968 56 : ca_.Bind(&block28, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522, &tmp523, &tmp524);
969 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 37);
970 56 : ca_.Goto(&block2, tmp510, tmp511, tmp520);
971 : }
972 :
973 56 : if (block11.is_used()) {
974 56 : compiler::TNode<Context> tmp525;
975 56 : compiler::TNode<Object> tmp526;
976 56 : compiler::TNode<JSArray> tmp527;
977 56 : compiler::TNode<JSArray> tmp528;
978 56 : compiler::TNode<JSArray> tmp529;
979 56 : compiler::TNode<Map> tmp530;
980 56 : compiler::TNode<BoolT> tmp531;
981 56 : compiler::TNode<BoolT> tmp532;
982 56 : compiler::TNode<BoolT> tmp533;
983 56 : ca_.Bind(&block11, &tmp525, &tmp526, &tmp527, &tmp528, &tmp529, &tmp530, &tmp531, &tmp532, &tmp533);
984 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 41);
985 56 : compiler::TNode<JSFunction> tmp534;
986 56 : USE(tmp534);
987 56 : tmp534 = ca_.UncheckedCast<JSFunction>(BaseBuiltinsFromDSLAssembler(state_).LoadTargetFromFrame());
988 56 : compiler::TNode<Oddball> tmp535;
989 56 : USE(tmp535);
990 56 : tmp535 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
991 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 42);
992 56 : compiler::TNode<IntPtrT> tmp536;
993 56 : USE(tmp536);
994 56 : tmp536 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).GetArgumentsLength(p_arguments));
995 56 : compiler::TNode<Int32T> tmp537;
996 56 : USE(tmp537);
997 56 : tmp537 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).Convert7ATint328ATintptr(compiler::TNode<IntPtrT>{tmp536}));
998 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 40);
999 56 : CodeStubAssembler(state_).TailCallBuiltin(Builtins::kArrayShift, tmp525, tmp534, tmp535, tmp537);
1000 : }
1001 :
1002 56 : if (block2.is_used()) {
1003 56 : compiler::TNode<Context> tmp538;
1004 56 : compiler::TNode<Object> tmp539;
1005 56 : compiler::TNode<Object> tmp540;
1006 56 : ca_.Bind(&block2, &tmp538, &tmp539, &tmp540);
1007 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 8);
1008 56 : ca_.Goto(&block43, tmp538, tmp539, tmp540);
1009 : }
1010 :
1011 56 : if (block1.is_used()) {
1012 56 : ca_.Bind(&block1);
1013 56 : ca_.Goto(label_Slow);
1014 : }
1015 :
1016 56 : compiler::TNode<Context> tmp541;
1017 56 : compiler::TNode<Object> tmp542;
1018 56 : compiler::TNode<Object> tmp543;
1019 56 : ca_.Bind(&block43, &tmp541, &tmp542, &tmp543);
1020 112 : return compiler::TNode<Object>{tmp543};
1021 : }
1022 :
1023 56 : compiler::TNode<Object> ArrayShiftBuiltinsFromDSLAssembler::GenericArrayShift(compiler::TNode<Context> p_context, compiler::TNode<Object> p_receiver) {
1024 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1025 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1026 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1027 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Object, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1028 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Object, Number, Number, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1029 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Object, Number, Number, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1030 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Object, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1031 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Object, Number, Number, Number, Oddball> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1032 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Object, Number, Number, Number, Oddball> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1033 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Object, Number, Number, Number, Oddball> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1034 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, JSReceiver, Number, Object, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1035 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1036 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1037 56 : ca_.Goto(&block0, p_context, p_receiver);
1038 :
1039 56 : if (block0.is_used()) {
1040 56 : compiler::TNode<Context> tmp0;
1041 56 : compiler::TNode<Object> tmp1;
1042 56 : ca_.Bind(&block0, &tmp0, &tmp1);
1043 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 49);
1044 56 : compiler::TNode<JSReceiver> tmp2;
1045 56 : USE(tmp2);
1046 56 : tmp2 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ToObject_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}));
1047 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 52);
1048 56 : compiler::TNode<Number> tmp3;
1049 56 : USE(tmp3);
1050 56 : tmp3 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp2}));
1051 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 55);
1052 56 : compiler::TNode<Number> tmp4;
1053 56 : USE(tmp4);
1054 56 : tmp4 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(0));
1055 56 : compiler::TNode<BoolT> tmp5;
1056 56 : USE(tmp5);
1057 56 : tmp5 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).IsNumberEqual(compiler::TNode<Number>{tmp3}, compiler::TNode<Number>{tmp4}));
1058 56 : ca_.Branch(tmp5, &block2, &block3, tmp0, tmp1, tmp2, tmp3);
1059 : }
1060 :
1061 56 : if (block2.is_used()) {
1062 56 : compiler::TNode<Context> tmp6;
1063 56 : compiler::TNode<Object> tmp7;
1064 56 : compiler::TNode<JSReceiver> tmp8;
1065 56 : compiler::TNode<Number> tmp9;
1066 56 : ca_.Bind(&block2, &tmp6, &tmp7, &tmp8, &tmp9);
1067 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 57);
1068 56 : compiler::TNode<String> tmp10;
1069 56 : USE(tmp10);
1070 56 : tmp10 = BaseBuiltinsFromDSLAssembler(state_).kLengthString();
1071 56 : compiler::TNode<Smi> tmp11;
1072 56 : USE(tmp11);
1073 56 : tmp11 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi17ATconstexpr_int31(0));
1074 56 : CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp6, tmp8, tmp10, tmp11);
1075 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 59);
1076 56 : compiler::TNode<Oddball> tmp13;
1077 56 : USE(tmp13);
1078 56 : tmp13 = BaseBuiltinsFromDSLAssembler(state_).Undefined();
1079 56 : ca_.Goto(&block1, tmp6, tmp7, tmp13);
1080 : }
1081 :
1082 56 : if (block3.is_used()) {
1083 56 : compiler::TNode<Context> tmp14;
1084 56 : compiler::TNode<Object> tmp15;
1085 56 : compiler::TNode<JSReceiver> tmp16;
1086 56 : compiler::TNode<Number> tmp17;
1087 56 : ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17);
1088 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 63);
1089 56 : compiler::TNode<Smi> tmp18;
1090 56 : USE(tmp18);
1091 56 : tmp18 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi17ATconstexpr_int31(0));
1092 56 : compiler::TNode<Object> tmp19;
1093 56 : USE(tmp19);
1094 56 : tmp19 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp16}, compiler::TNode<Object>{tmp18}));
1095 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 65);
1096 56 : compiler::TNode<Number> tmp20;
1097 56 : USE(tmp20);
1098 56 : tmp20 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
1099 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 67);
1100 56 : ca_.Goto(&block6, tmp14, tmp15, tmp16, tmp17, tmp19, tmp20);
1101 : }
1102 :
1103 56 : if (block6.is_used()) {
1104 56 : compiler::TNode<Context> tmp21;
1105 56 : compiler::TNode<Object> tmp22;
1106 56 : compiler::TNode<JSReceiver> tmp23;
1107 56 : compiler::TNode<Number> tmp24;
1108 56 : compiler::TNode<Object> tmp25;
1109 56 : compiler::TNode<Number> tmp26;
1110 56 : ca_.Bind(&block6, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
1111 112 : compiler::CodeAssemblerLabel label0(&ca_);
1112 112 : compiler::CodeAssemblerLabel label1(&ca_);
1113 56 : CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp26}, compiler::TNode<Number>{tmp24}, &label0, &label1);
1114 56 : if (label0.is_used()) {
1115 56 : ca_.Bind(&label0);
1116 56 : ca_.Goto(&block7, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp26, tmp24);
1117 : }
1118 56 : if (label1.is_used()) {
1119 56 : ca_.Bind(&label1);
1120 56 : ca_.Goto(&block8, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp26, tmp24);
1121 : }
1122 : }
1123 :
1124 56 : if (block7.is_used()) {
1125 56 : compiler::TNode<Context> tmp27;
1126 56 : compiler::TNode<Object> tmp28;
1127 56 : compiler::TNode<JSReceiver> tmp29;
1128 56 : compiler::TNode<Number> tmp30;
1129 56 : compiler::TNode<Object> tmp31;
1130 56 : compiler::TNode<Number> tmp32;
1131 56 : compiler::TNode<Number> tmp33;
1132 56 : compiler::TNode<Number> tmp34;
1133 56 : ca_.Bind(&block7, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34);
1134 56 : ca_.Goto(&block4, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32);
1135 : }
1136 :
1137 56 : if (block8.is_used()) {
1138 56 : compiler::TNode<Context> tmp35;
1139 56 : compiler::TNode<Object> tmp36;
1140 56 : compiler::TNode<JSReceiver> tmp37;
1141 56 : compiler::TNode<Number> tmp38;
1142 56 : compiler::TNode<Object> tmp39;
1143 56 : compiler::TNode<Number> tmp40;
1144 56 : compiler::TNode<Number> tmp41;
1145 56 : compiler::TNode<Number> tmp42;
1146 56 : ca_.Bind(&block8, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42);
1147 56 : ca_.Goto(&block5, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40);
1148 : }
1149 :
1150 56 : if (block4.is_used()) {
1151 56 : compiler::TNode<Context> tmp43;
1152 56 : compiler::TNode<Object> tmp44;
1153 56 : compiler::TNode<JSReceiver> tmp45;
1154 56 : compiler::TNode<Number> tmp46;
1155 56 : compiler::TNode<Object> tmp47;
1156 56 : compiler::TNode<Number> tmp48;
1157 56 : ca_.Bind(&block4, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48);
1158 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 69);
1159 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 72);
1160 56 : compiler::TNode<Number> tmp49;
1161 56 : USE(tmp49);
1162 56 : tmp49 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
1163 56 : compiler::TNode<Number> tmp50;
1164 56 : USE(tmp50);
1165 56 : tmp50 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp48}, compiler::TNode<Number>{tmp49}));
1166 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 75);
1167 56 : compiler::TNode<Oddball> tmp51;
1168 56 : tmp51 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kHasProperty, tmp43, tmp45, tmp48));
1169 56 : USE(tmp51);
1170 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 78);
1171 56 : compiler::TNode<Oddball> tmp52;
1172 56 : USE(tmp52);
1173 56 : tmp52 = BaseBuiltinsFromDSLAssembler(state_).True();
1174 56 : compiler::TNode<BoolT> tmp53;
1175 56 : USE(tmp53);
1176 56 : tmp53 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp51}, compiler::TNode<HeapObject>{tmp52}));
1177 56 : ca_.Branch(tmp53, &block9, &block10, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp48, tmp50, tmp51);
1178 : }
1179 :
1180 56 : if (block9.is_used()) {
1181 56 : compiler::TNode<Context> tmp54;
1182 56 : compiler::TNode<Object> tmp55;
1183 56 : compiler::TNode<JSReceiver> tmp56;
1184 56 : compiler::TNode<Number> tmp57;
1185 56 : compiler::TNode<Object> tmp58;
1186 56 : compiler::TNode<Number> tmp59;
1187 56 : compiler::TNode<Number> tmp60;
1188 56 : compiler::TNode<Number> tmp61;
1189 56 : compiler::TNode<Oddball> tmp62;
1190 56 : ca_.Bind(&block9, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62);
1191 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 80);
1192 56 : compiler::TNode<Object> tmp63;
1193 56 : USE(tmp63);
1194 56 : tmp63 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp54}, compiler::TNode<Object>{tmp56}, compiler::TNode<Object>{tmp60}));
1195 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 83);
1196 56 : CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp54, tmp56, tmp61, tmp63);
1197 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 78);
1198 56 : ca_.Goto(&block11, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62);
1199 : }
1200 :
1201 56 : if (block10.is_used()) {
1202 56 : compiler::TNode<Context> tmp65;
1203 56 : compiler::TNode<Object> tmp66;
1204 56 : compiler::TNode<JSReceiver> tmp67;
1205 56 : compiler::TNode<Number> tmp68;
1206 56 : compiler::TNode<Object> tmp69;
1207 56 : compiler::TNode<Number> tmp70;
1208 56 : compiler::TNode<Number> tmp71;
1209 56 : compiler::TNode<Number> tmp72;
1210 56 : compiler::TNode<Oddball> tmp73;
1211 56 : ca_.Bind(&block10, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73);
1212 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 86);
1213 56 : compiler::TNode<Smi> tmp74;
1214 56 : USE(tmp74);
1215 56 : tmp74 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode::kStrict));
1216 56 : CodeStubAssembler(state_).CallBuiltin(Builtins::kDeleteProperty, tmp65, tmp67, tmp72, tmp74);
1217 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 78);
1218 56 : ca_.Goto(&block11, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73);
1219 : }
1220 :
1221 56 : if (block11.is_used()) {
1222 56 : compiler::TNode<Context> tmp76;
1223 56 : compiler::TNode<Object> tmp77;
1224 56 : compiler::TNode<JSReceiver> tmp78;
1225 56 : compiler::TNode<Number> tmp79;
1226 56 : compiler::TNode<Object> tmp80;
1227 56 : compiler::TNode<Number> tmp81;
1228 56 : compiler::TNode<Number> tmp82;
1229 56 : compiler::TNode<Number> tmp83;
1230 56 : compiler::TNode<Oddball> tmp84;
1231 56 : ca_.Bind(&block11, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84);
1232 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 90);
1233 56 : compiler::TNode<Number> tmp85;
1234 56 : USE(tmp85);
1235 56 : tmp85 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
1236 56 : compiler::TNode<Number> tmp86;
1237 56 : USE(tmp86);
1238 56 : tmp86 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp81}, compiler::TNode<Number>{tmp85}));
1239 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 67);
1240 56 : ca_.Goto(&block6, tmp76, tmp77, tmp78, tmp79, tmp80, tmp86);
1241 : }
1242 :
1243 56 : if (block5.is_used()) {
1244 56 : compiler::TNode<Context> tmp87;
1245 56 : compiler::TNode<Object> tmp88;
1246 56 : compiler::TNode<JSReceiver> tmp89;
1247 56 : compiler::TNode<Number> tmp90;
1248 56 : compiler::TNode<Object> tmp91;
1249 56 : compiler::TNode<Number> tmp92;
1250 56 : ca_.Bind(&block5, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
1251 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 94);
1252 56 : compiler::TNode<Number> tmp93;
1253 56 : USE(tmp93);
1254 56 : tmp93 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
1255 56 : compiler::TNode<Number> tmp94;
1256 56 : USE(tmp94);
1257 56 : tmp94 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp90}, compiler::TNode<Number>{tmp93}));
1258 56 : compiler::TNode<Smi> tmp95;
1259 56 : USE(tmp95);
1260 56 : tmp95 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode::kStrict));
1261 56 : CodeStubAssembler(state_).CallBuiltin(Builtins::kDeleteProperty, tmp87, tmp89, tmp94, tmp95);
1262 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 97);
1263 56 : compiler::TNode<String> tmp97;
1264 56 : USE(tmp97);
1265 56 : tmp97 = BaseBuiltinsFromDSLAssembler(state_).kLengthString();
1266 56 : compiler::TNode<Number> tmp98;
1267 56 : USE(tmp98);
1268 56 : tmp98 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr22UT12ATHeapNumber5ATSmi17ATconstexpr_int31(1));
1269 56 : compiler::TNode<Number> tmp99;
1270 56 : USE(tmp99);
1271 56 : tmp99 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp90}, compiler::TNode<Number>{tmp98}));
1272 56 : CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp87, tmp89, tmp97, tmp99);
1273 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 100);
1274 56 : ca_.Goto(&block1, tmp87, tmp88, tmp91);
1275 : }
1276 :
1277 56 : if (block1.is_used()) {
1278 56 : compiler::TNode<Context> tmp101;
1279 56 : compiler::TNode<Object> tmp102;
1280 56 : compiler::TNode<Object> tmp103;
1281 56 : ca_.Bind(&block1, &tmp101, &tmp102, &tmp103);
1282 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 46);
1283 56 : ca_.Goto(&block12, tmp101, tmp102, tmp103);
1284 : }
1285 :
1286 56 : compiler::TNode<Context> tmp104;
1287 56 : compiler::TNode<Object> tmp105;
1288 56 : compiler::TNode<Object> tmp106;
1289 56 : ca_.Bind(&block12, &tmp104, &tmp105, &tmp106);
1290 112 : return compiler::TNode<Object>{tmp106};
1291 : }
1292 :
1293 336 : TF_BUILTIN(ArrayPrototypeShift, CodeStubAssembler) {
1294 112 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
1295 56 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
1296 56 : USE(parameter0);
1297 56 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
1298 56 : CodeStubArguments arguments_impl(this, ChangeInt32ToIntPtr(argc));
1299 56 : TNode<Object> parameter1 = arguments_impl.GetReceiver();
1300 56 : auto arguments = &arguments_impl;
1301 56 : USE(arguments);
1302 56 : USE(parameter1);
1303 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1304 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1305 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object, Object, Object> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1306 112 : compiler::CodeAssemblerParameterizedLabel<Context, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1307 56 : ca_.Goto(&block0, parameter0, parameter1);
1308 :
1309 56 : if (block0.is_used()) {
1310 56 : compiler::TNode<Context> tmp0;
1311 56 : compiler::TNode<Object> tmp1;
1312 56 : ca_.Bind(&block0, &tmp0, &tmp1);
1313 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 107);
1314 56 : compiler::TNode<Object> tmp2;
1315 56 : USE(tmp2);
1316 112 : compiler::CodeAssemblerLabel label0(&ca_);
1317 56 : tmp2 = ArrayShiftBuiltinsFromDSLAssembler(state_).TryFastArrayShift(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp1}, arguments, &label0);
1318 56 : ca_.Goto(&block3, tmp0, tmp1, tmp1, tmp2);
1319 56 : if (label0.is_used()) {
1320 56 : ca_.Bind(&label0);
1321 56 : ca_.Goto(&block4, tmp0, tmp1, tmp1);
1322 : }
1323 : }
1324 :
1325 56 : if (block4.is_used()) {
1326 56 : compiler::TNode<Context> tmp3;
1327 56 : compiler::TNode<Object> tmp4;
1328 56 : compiler::TNode<Object> tmp5;
1329 56 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5);
1330 56 : ca_.Goto(&block2, tmp3, tmp4);
1331 : }
1332 :
1333 56 : if (block3.is_used()) {
1334 56 : compiler::TNode<Context> tmp6;
1335 56 : compiler::TNode<Object> tmp7;
1336 56 : compiler::TNode<Object> tmp8;
1337 56 : compiler::TNode<Object> tmp9;
1338 56 : ca_.Bind(&block3, &tmp6, &tmp7, &tmp8, &tmp9);
1339 56 : arguments->PopAndReturn(tmp9);
1340 : }
1341 :
1342 56 : if (block2.is_used()) {
1343 56 : compiler::TNode<Context> tmp10;
1344 56 : compiler::TNode<Object> tmp11;
1345 56 : ca_.Bind(&block2, &tmp10, &tmp11);
1346 56 : ca_.SetSourcePosition("../../src/builtins/array-shift.tq", 110);
1347 56 : compiler::TNode<Object> tmp12;
1348 56 : USE(tmp12);
1349 56 : tmp12 = ca_.UncheckedCast<Object>(ArrayShiftBuiltinsFromDSLAssembler(state_).GenericArrayShift(compiler::TNode<Context>{tmp10}, compiler::TNode<Object>{tmp11}));
1350 56 : arguments->PopAndReturn(tmp12);
1351 : }
1352 56 : }
1353 :
1354 : } // namespace internal
1355 87414 : } // namespace v8
1356 :
|