Line data Source code
1 : #include "src/builtins/builtins-utils-gen.h"
2 : #include "src/builtins/builtins.h"
3 : #include "src/code-factory.h"
4 : #include "src/elements-kind.h"
5 : #include "src/heap/factory-inl.h"
6 : #include "src/objects.h"
7 : #include "src/objects/arguments.h"
8 : #include "src/objects/bigint.h"
9 : #include "src/objects/free-space.h"
10 : #include "src/objects/js-generator.h"
11 : #include "src/objects/js-promise.h"
12 : #include "src/objects/js-regexp-string-iterator.h"
13 : #include "src/objects/module.h"
14 : #include "src/objects/stack-frame-info.h"
15 : #include "src/builtins/builtins-regexp-gen.h"
16 : #include "src/builtins/builtins-array-gen.h"
17 : #include "src/builtins/builtins-collections-gen.h"
18 : #include "src/builtins/builtins-data-view-gen.h"
19 : #include "src/builtins/builtins-iterator-gen.h"
20 : #include "src/builtins/builtins-proxy-gen.h"
21 : #include "src/builtins/builtins-proxy-gen.h"
22 : #include "src/builtins/builtins-regexp-gen.h"
23 : #include "src/builtins/builtins-regexp-gen.h"
24 : #include "src/builtins/builtins-regexp-gen.h"
25 : #include "src/builtins/builtins-typed-array-gen.h"
26 : #include "src/builtins/builtins-constructor-gen.h"
27 : #include "src/builtins/builtins-typed-array-gen.h"
28 : #include "src/builtins/builtins-typed-array-gen.h"
29 : #include "src/builtins/builtins-typed-array-gen.h"
30 : #include "src/builtins/builtins-typed-array-gen.h"
31 : #include "src/builtins/builtins-typed-array-gen.h"
32 : #include "src/builtins/builtins-typed-array-gen.h"
33 : #include "src/builtins/builtins-typed-array-gen.h"
34 : #include "src/builtins/builtins-typed-array-gen.h"
35 : #include "torque-generated/builtins-base-from-dsl-gen.h"
36 : #include "torque-generated/builtins-growable-fixed-array-from-dsl-gen.h"
37 : #include "torque-generated/builtins-arguments-from-dsl-gen.h"
38 : #include "torque-generated/builtins-array-from-dsl-gen.h"
39 : #include "torque-generated/builtins-array-copywithin-from-dsl-gen.h"
40 : #include "torque-generated/builtins-array-filter-from-dsl-gen.h"
41 : #include "torque-generated/builtins-array-find-from-dsl-gen.h"
42 : #include "torque-generated/builtins-array-findindex-from-dsl-gen.h"
43 : #include "torque-generated/builtins-array-foreach-from-dsl-gen.h"
44 : #include "torque-generated/builtins-array-join-from-dsl-gen.h"
45 : #include "torque-generated/builtins-array-lastindexof-from-dsl-gen.h"
46 : #include "torque-generated/builtins-array-of-from-dsl-gen.h"
47 : #include "torque-generated/builtins-array-map-from-dsl-gen.h"
48 : #include "torque-generated/builtins-array-reverse-from-dsl-gen.h"
49 : #include "torque-generated/builtins-array-shift-from-dsl-gen.h"
50 : #include "torque-generated/builtins-array-slice-from-dsl-gen.h"
51 : #include "torque-generated/builtins-array-splice-from-dsl-gen.h"
52 : #include "torque-generated/builtins-array-unshift-from-dsl-gen.h"
53 : #include "torque-generated/builtins-collections-from-dsl-gen.h"
54 : #include "torque-generated/builtins-data-view-from-dsl-gen.h"
55 : #include "torque-generated/builtins-extras-utils-from-dsl-gen.h"
56 : #include "torque-generated/builtins-iterator-from-dsl-gen.h"
57 : #include "torque-generated/builtins-object-from-dsl-gen.h"
58 : #include "torque-generated/builtins-proxy-from-dsl-gen.h"
59 : #include "torque-generated/builtins-regexp-from-dsl-gen.h"
60 : #include "torque-generated/builtins-regexp-replace-from-dsl-gen.h"
61 : #include "torque-generated/builtins-string-from-dsl-gen.h"
62 : #include "torque-generated/builtins-string-html-from-dsl-gen.h"
63 : #include "torque-generated/builtins-string-repeat-from-dsl-gen.h"
64 : #include "torque-generated/builtins-typed-array-from-dsl-gen.h"
65 : #include "torque-generated/builtins-typed-array-createtypedarray-from-dsl-gen.h"
66 : #include "torque-generated/builtins-typed-array-every-from-dsl-gen.h"
67 : #include "torque-generated/builtins-typed-array-filter-from-dsl-gen.h"
68 : #include "torque-generated/builtins-typed-array-find-from-dsl-gen.h"
69 : #include "torque-generated/builtins-typed-array-findindex-from-dsl-gen.h"
70 : #include "torque-generated/builtins-typed-array-foreach-from-dsl-gen.h"
71 : #include "torque-generated/builtins-typed-array-reduce-from-dsl-gen.h"
72 : #include "torque-generated/builtins-typed-array-reduceright-from-dsl-gen.h"
73 : #include "torque-generated/builtins-typed-array-slice-from-dsl-gen.h"
74 : #include "torque-generated/builtins-typed-array-some-from-dsl-gen.h"
75 : #include "torque-generated/builtins-typed-array-subarray-from-dsl-gen.h"
76 : #include "torque-generated/builtins-test-from-dsl-gen.h"
77 :
78 : namespace v8 {
79 : namespace internal {
80 :
81 56 : compiler::TNode<FixedArray> ArraySpliceBuiltinsFromDSLAssembler::Extract10FixedArray(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_first, compiler::TNode<Smi> p_count, compiler::TNode<Smi> p_capacity) {
82 56 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
83 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi, FixedArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
84 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi, FixedArray> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
85 : ca_.Goto(&block0, p_context, p_elements, p_first, p_count, p_capacity);
86 :
87 56 : if (block0.is_used()) {
88 : compiler::TNode<Context> tmp0;
89 : compiler::TNode<FixedArrayBase> tmp1;
90 : compiler::TNode<Smi> tmp2;
91 : compiler::TNode<Smi> tmp3;
92 : compiler::TNode<Smi> tmp4;
93 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
94 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 18);
95 : compiler::TNode<FixedArrayBase> tmp5;
96 : USE(tmp5);
97 112 : tmp5 = ca_.UncheckedCast<FixedArrayBase>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArrayBase>{tmp1}, compiler::TNode<Smi>{tmp2}, compiler::TNode<Smi>{tmp3}, compiler::TNode<Smi>{tmp4}));
98 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 17);
99 : compiler::TNode<FixedArray> tmp6;
100 : USE(tmp6);
101 168 : tmp6 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
102 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp4, tmp6);
103 : }
104 :
105 56 : if (block1.is_used()) {
106 : compiler::TNode<Context> tmp7;
107 : compiler::TNode<FixedArrayBase> tmp8;
108 : compiler::TNode<Smi> tmp9;
109 : compiler::TNode<Smi> tmp10;
110 : compiler::TNode<Smi> tmp11;
111 : compiler::TNode<FixedArray> tmp12;
112 : ca_.Bind(&block1, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12);
113 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 10);
114 : ca_.Goto(&block2, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12);
115 : }
116 :
117 : compiler::TNode<Context> tmp13;
118 : compiler::TNode<FixedArrayBase> tmp14;
119 : compiler::TNode<Smi> tmp15;
120 : compiler::TNode<Smi> tmp16;
121 : compiler::TNode<Smi> tmp17;
122 : compiler::TNode<FixedArray> tmp18;
123 : ca_.Bind(&block2, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
124 112 : return compiler::TNode<FixedArray>{tmp18};
125 : }
126 :
127 56 : compiler::TNode<FixedDoubleArray> ArraySpliceBuiltinsFromDSLAssembler::Extract16FixedDoubleArray(compiler::TNode<Context> p_context, compiler::TNode<FixedArrayBase> p_elements, compiler::TNode<Smi> p_first, compiler::TNode<Smi> p_count, compiler::TNode<Smi> p_capacity) {
128 56 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
129 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
130 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
131 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi, FixedDoubleArray> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
132 : compiler::CodeAssemblerParameterizedLabel<Context, FixedArrayBase, Smi, Smi, Smi, FixedDoubleArray> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
133 : ca_.Goto(&block0, p_context, p_elements, p_first, p_count, p_capacity);
134 :
135 56 : if (block0.is_used()) {
136 : compiler::TNode<Context> tmp0;
137 : compiler::TNode<FixedArrayBase> tmp1;
138 : compiler::TNode<Smi> tmp2;
139 : compiler::TNode<Smi> tmp3;
140 : compiler::TNode<Smi> tmp4;
141 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
142 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 24);
143 : compiler::TNode<FixedArray> tmp5;
144 : USE(tmp5);
145 168 : tmp5 = BaseBuiltinsFromDSLAssembler(state_).kEmptyFixedArray();
146 : compiler::TNode<BoolT> tmp6;
147 : USE(tmp6);
148 112 : tmp6 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp1}, compiler::TNode<HeapObject>{tmp5}));
149 56 : ca_.Branch(tmp6, &block2, &block3, tmp0, tmp1, tmp2, tmp3, tmp4);
150 : }
151 :
152 56 : if (block2.is_used()) {
153 : compiler::TNode<Context> tmp7;
154 : compiler::TNode<FixedArrayBase> tmp8;
155 : compiler::TNode<Smi> tmp9;
156 : compiler::TNode<Smi> tmp10;
157 : compiler::TNode<Smi> tmp11;
158 : ca_.Bind(&block2, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
159 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 25);
160 : compiler::TNode<IntPtrT> tmp12;
161 : USE(tmp12);
162 168 : tmp12 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp11}));
163 : compiler::TNode<FixedDoubleArray> tmp13;
164 : USE(tmp13);
165 112 : tmp13 = ca_.UncheckedCast<FixedDoubleArray>(CodeStubAssembler(state_).AllocateZeroedFixedDoubleArray(compiler::TNode<IntPtrT>{tmp12}));
166 : ca_.Goto(&block1, tmp7, tmp8, tmp9, tmp10, tmp11, tmp13);
167 : }
168 :
169 56 : if (block3.is_used()) {
170 : compiler::TNode<Context> tmp14;
171 : compiler::TNode<FixedArrayBase> tmp15;
172 : compiler::TNode<Smi> tmp16;
173 : compiler::TNode<Smi> tmp17;
174 : compiler::TNode<Smi> tmp18;
175 : ca_.Bind(&block3, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18);
176 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 28);
177 : compiler::TNode<FixedArrayBase> tmp19;
178 : USE(tmp19);
179 112 : tmp19 = ca_.UncheckedCast<FixedArrayBase>(CodeStubAssembler(state_).ExtractFixedArray(compiler::TNode<FixedArrayBase>{tmp15}, compiler::TNode<Smi>{tmp16}, compiler::TNode<Smi>{tmp17}, compiler::TNode<Smi>{tmp18}));
180 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 27);
181 : compiler::TNode<FixedDoubleArray> tmp20;
182 : USE(tmp20);
183 168 : tmp20 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp14}, compiler::TNode<Object>{tmp19}));
184 : ca_.Goto(&block1, tmp14, tmp15, tmp16, tmp17, tmp18, tmp20);
185 : }
186 :
187 56 : if (block1.is_used()) {
188 : compiler::TNode<Context> tmp21;
189 : compiler::TNode<FixedArrayBase> tmp22;
190 : compiler::TNode<Smi> tmp23;
191 : compiler::TNode<Smi> tmp24;
192 : compiler::TNode<Smi> tmp25;
193 : compiler::TNode<FixedDoubleArray> tmp26;
194 : ca_.Bind(&block1, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
195 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 10);
196 : ca_.Goto(&block4, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26);
197 : }
198 :
199 : compiler::TNode<Context> tmp27;
200 : compiler::TNode<FixedArrayBase> tmp28;
201 : compiler::TNode<Smi> tmp29;
202 : compiler::TNode<Smi> tmp30;
203 : compiler::TNode<Smi> tmp31;
204 : compiler::TNode<FixedDoubleArray> tmp32;
205 : ca_.Bind(&block4, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32);
206 112 : return compiler::TNode<FixedDoubleArray>{tmp32};
207 : }
208 :
209 56 : compiler::TNode<Object> ArraySpliceBuiltinsFromDSLAssembler::FastArraySplice(compiler::TNode<Context> p_context, BaseBuiltinsFromDSLAssembler::Arguments p_args, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_originalLengthNumber, compiler::TNode<Number> p_actualStartNumber, compiler::TNode<Smi> p_insertCount, compiler::TNode<Number> p_actualDeleteCountNumber, compiler::CodeAssemblerLabel* label_Bailout) {
210 56 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
211 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
212 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
213 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
214 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Number, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
215 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
216 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Number, Smi> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
217 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSReceiver> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
218 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSReceiver, JSArray> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
219 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
220 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
221 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
222 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
223 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
224 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
225 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Map> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
226 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Map, Int32T> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
227 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
228 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
229 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT> block23(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
230 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
231 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT, Object> block25(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
232 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT, Object> block28(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
233 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT, Object, HeapObject> block30(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
234 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT, Object, HeapObject> block31(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
235 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT, Object, HeapObject, Int32T> block33(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
236 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT, Object, HeapObject, Int32T> block32(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
237 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT, Object> block29(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
238 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT, Object> block26(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
239 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT, Object> block34(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
240 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT, Object> block36(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
241 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT, Object> block37(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
242 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT, Object> block35(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
243 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT, Object> block27(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
244 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT> block24(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
245 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, IntPtrT> block22(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
246 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T> block38(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
247 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T> block39(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
248 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, Number> block41(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
249 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, Number, Smi> block40(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
250 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, Smi> block42(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
251 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, Smi> block43(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
252 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, Smi, JSArray> block44(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
253 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, Smi, JSArray> block45(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
254 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, Smi, JSArray> block46(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
255 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, Smi, JSArray, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block50(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
256 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, Smi, JSArray, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block49(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
257 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, Smi, JSArray> block47(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
258 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, Smi, JSArray, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block52(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
259 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, Smi, JSArray, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block51(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
260 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Smi, Smi, Smi, Smi, Smi, JSArray, Map, Int32T, Int32T, Smi, JSArray> block48(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
261 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Object> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
262 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
263 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Object> block53(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
264 : ca_.Goto(&block0, p_context, p_args.frame, p_args.base, p_args.length, p_o, p_originalLengthNumber, p_actualStartNumber, p_insertCount, p_actualDeleteCountNumber);
265 :
266 56 : if (block0.is_used()) {
267 : compiler::TNode<Context> tmp0;
268 : compiler::TNode<RawPtrT> tmp1;
269 : compiler::TNode<RawPtrT> tmp2;
270 : compiler::TNode<IntPtrT> tmp3;
271 : compiler::TNode<JSReceiver> tmp4;
272 : compiler::TNode<Number> tmp5;
273 : compiler::TNode<Number> tmp6;
274 : compiler::TNode<Smi> tmp7;
275 : compiler::TNode<Number> tmp8;
276 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
277 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 116);
278 : compiler::TNode<Smi> tmp9;
279 : USE(tmp9);
280 56 : compiler::CodeAssemblerLabel label0(&ca_);
281 168 : tmp9 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp5}, &label0);
282 : ca_.Goto(&block3, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp5, tmp9);
283 56 : if (label0.is_used()) {
284 56 : ca_.Bind(&label0);
285 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp5);
286 : }
287 : }
288 :
289 56 : if (block4.is_used()) {
290 : compiler::TNode<Context> tmp10;
291 : compiler::TNode<RawPtrT> tmp11;
292 : compiler::TNode<RawPtrT> tmp12;
293 : compiler::TNode<IntPtrT> tmp13;
294 : compiler::TNode<JSReceiver> tmp14;
295 : compiler::TNode<Number> tmp15;
296 : compiler::TNode<Number> tmp16;
297 : compiler::TNode<Smi> tmp17;
298 : compiler::TNode<Number> tmp18;
299 : compiler::TNode<Number> tmp19;
300 : ca_.Bind(&block4, &tmp10, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
301 : ca_.Goto(&block1);
302 : }
303 :
304 56 : if (block3.is_used()) {
305 : compiler::TNode<Context> tmp20;
306 : compiler::TNode<RawPtrT> tmp21;
307 : compiler::TNode<RawPtrT> tmp22;
308 : compiler::TNode<IntPtrT> tmp23;
309 : compiler::TNode<JSReceiver> tmp24;
310 : compiler::TNode<Number> tmp25;
311 : compiler::TNode<Number> tmp26;
312 : compiler::TNode<Smi> tmp27;
313 : compiler::TNode<Number> tmp28;
314 : compiler::TNode<Number> tmp29;
315 : compiler::TNode<Smi> tmp30;
316 : ca_.Bind(&block3, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
317 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 115);
318 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 117);
319 : compiler::TNode<Smi> tmp31;
320 : USE(tmp31);
321 56 : compiler::CodeAssemblerLabel label0(&ca_);
322 168 : tmp31 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp26}, &label0);
323 : ca_.Goto(&block5, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp30, tmp26, tmp31);
324 56 : if (label0.is_used()) {
325 56 : ca_.Bind(&label0);
326 : ca_.Goto(&block6, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp30, tmp26);
327 : }
328 : }
329 :
330 56 : if (block6.is_used()) {
331 : compiler::TNode<Context> tmp32;
332 : compiler::TNode<RawPtrT> tmp33;
333 : compiler::TNode<RawPtrT> tmp34;
334 : compiler::TNode<IntPtrT> tmp35;
335 : compiler::TNode<JSReceiver> tmp36;
336 : compiler::TNode<Number> tmp37;
337 : compiler::TNode<Number> tmp38;
338 : compiler::TNode<Smi> tmp39;
339 : compiler::TNode<Number> tmp40;
340 : compiler::TNode<Smi> tmp41;
341 : compiler::TNode<Number> tmp42;
342 : ca_.Bind(&block6, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42);
343 : ca_.Goto(&block1);
344 : }
345 :
346 56 : if (block5.is_used()) {
347 : compiler::TNode<Context> tmp43;
348 : compiler::TNode<RawPtrT> tmp44;
349 : compiler::TNode<RawPtrT> tmp45;
350 : compiler::TNode<IntPtrT> tmp46;
351 : compiler::TNode<JSReceiver> tmp47;
352 : compiler::TNode<Number> tmp48;
353 : compiler::TNode<Number> tmp49;
354 : compiler::TNode<Smi> tmp50;
355 : compiler::TNode<Number> tmp51;
356 : compiler::TNode<Smi> tmp52;
357 : compiler::TNode<Number> tmp53;
358 : compiler::TNode<Smi> tmp54;
359 : ca_.Bind(&block5, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54);
360 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 119);
361 : compiler::TNode<Smi> tmp55;
362 : USE(tmp55);
363 56 : compiler::CodeAssemblerLabel label0(&ca_);
364 168 : tmp55 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp51}, &label0);
365 : ca_.Goto(&block7, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp54, tmp51, tmp55);
366 56 : if (label0.is_used()) {
367 56 : ca_.Bind(&label0);
368 : ca_.Goto(&block8, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp54, tmp51);
369 : }
370 : }
371 :
372 56 : if (block8.is_used()) {
373 : compiler::TNode<Context> tmp56;
374 : compiler::TNode<RawPtrT> tmp57;
375 : compiler::TNode<RawPtrT> tmp58;
376 : compiler::TNode<IntPtrT> tmp59;
377 : compiler::TNode<JSReceiver> tmp60;
378 : compiler::TNode<Number> tmp61;
379 : compiler::TNode<Number> tmp62;
380 : compiler::TNode<Smi> tmp63;
381 : compiler::TNode<Number> tmp64;
382 : compiler::TNode<Smi> tmp65;
383 : compiler::TNode<Smi> tmp66;
384 : compiler::TNode<Number> tmp67;
385 : ca_.Bind(&block8, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67);
386 : ca_.Goto(&block1);
387 : }
388 :
389 56 : if (block7.is_used()) {
390 : compiler::TNode<Context> tmp68;
391 : compiler::TNode<RawPtrT> tmp69;
392 : compiler::TNode<RawPtrT> tmp70;
393 : compiler::TNode<IntPtrT> tmp71;
394 : compiler::TNode<JSReceiver> tmp72;
395 : compiler::TNode<Number> tmp73;
396 : compiler::TNode<Number> tmp74;
397 : compiler::TNode<Smi> tmp75;
398 : compiler::TNode<Number> tmp76;
399 : compiler::TNode<Smi> tmp77;
400 : compiler::TNode<Smi> tmp78;
401 : compiler::TNode<Number> tmp79;
402 : compiler::TNode<Smi> tmp80;
403 : ca_.Bind(&block7, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80);
404 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 118);
405 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 120);
406 : compiler::TNode<Smi> tmp81;
407 : USE(tmp81);
408 112 : tmp81 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp75}, compiler::TNode<Smi>{tmp80}));
409 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 121);
410 : compiler::TNode<Smi> tmp82;
411 : USE(tmp82);
412 112 : tmp82 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp77}, compiler::TNode<Smi>{tmp81}));
413 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 123);
414 : compiler::TNode<JSArray> tmp83;
415 : USE(tmp83);
416 56 : compiler::CodeAssemblerLabel label0(&ca_);
417 168 : tmp83 = BaseBuiltinsFromDSLAssembler(state_).Cast7JSArray(compiler::TNode<HeapObject>{tmp72}, &label0);
418 : ca_.Goto(&block9, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp80, tmp81, tmp82, tmp72, tmp83);
419 56 : if (label0.is_used()) {
420 56 : ca_.Bind(&label0);
421 : ca_.Goto(&block10, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp80, tmp81, tmp82, tmp72);
422 : }
423 : }
424 :
425 56 : if (block10.is_used()) {
426 : compiler::TNode<Context> tmp84;
427 : compiler::TNode<RawPtrT> tmp85;
428 : compiler::TNode<RawPtrT> tmp86;
429 : compiler::TNode<IntPtrT> tmp87;
430 : compiler::TNode<JSReceiver> tmp88;
431 : compiler::TNode<Number> tmp89;
432 : compiler::TNode<Number> tmp90;
433 : compiler::TNode<Smi> tmp91;
434 : compiler::TNode<Number> tmp92;
435 : compiler::TNode<Smi> tmp93;
436 : compiler::TNode<Smi> tmp94;
437 : compiler::TNode<Smi> tmp95;
438 : compiler::TNode<Smi> tmp96;
439 : compiler::TNode<Smi> tmp97;
440 : compiler::TNode<JSReceiver> tmp98;
441 : ca_.Bind(&block10, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98);
442 : ca_.Goto(&block1);
443 : }
444 :
445 56 : if (block9.is_used()) {
446 : compiler::TNode<Context> tmp99;
447 : compiler::TNode<RawPtrT> tmp100;
448 : compiler::TNode<RawPtrT> tmp101;
449 : compiler::TNode<IntPtrT> tmp102;
450 : compiler::TNode<JSReceiver> tmp103;
451 : compiler::TNode<Number> tmp104;
452 : compiler::TNode<Number> tmp105;
453 : compiler::TNode<Smi> tmp106;
454 : compiler::TNode<Number> tmp107;
455 : compiler::TNode<Smi> tmp108;
456 : compiler::TNode<Smi> tmp109;
457 : compiler::TNode<Smi> tmp110;
458 : compiler::TNode<Smi> tmp111;
459 : compiler::TNode<Smi> tmp112;
460 : compiler::TNode<JSReceiver> tmp113;
461 : compiler::TNode<JSArray> tmp114;
462 : ca_.Bind(&block9, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114);
463 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 125);
464 56 : compiler::TNode<IntPtrT> tmp115 = ca_.IntPtrConstant(HeapObject::kMapOffset);
465 : USE(tmp115);
466 112 : compiler::TNode<Map>tmp116 = CodeStubAssembler(state_).LoadReference<Map>(CodeStubAssembler::Reference{tmp114, tmp115});
467 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 126);
468 : compiler::TNode<BoolT> tmp117;
469 : USE(tmp117);
470 168 : tmp117 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsPrototypeInitialArrayPrototype(compiler::TNode<Context>{tmp99}, compiler::TNode<Map>{tmp116}));
471 : compiler::TNode<BoolT> tmp118;
472 : USE(tmp118);
473 112 : tmp118 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp117}));
474 56 : ca_.Branch(tmp118, &block11, &block12, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp114, tmp116);
475 : }
476 :
477 56 : if (block11.is_used()) {
478 : compiler::TNode<Context> tmp119;
479 : compiler::TNode<RawPtrT> tmp120;
480 : compiler::TNode<RawPtrT> tmp121;
481 : compiler::TNode<IntPtrT> tmp122;
482 : compiler::TNode<JSReceiver> tmp123;
483 : compiler::TNode<Number> tmp124;
484 : compiler::TNode<Number> tmp125;
485 : compiler::TNode<Smi> tmp126;
486 : compiler::TNode<Number> tmp127;
487 : compiler::TNode<Smi> tmp128;
488 : compiler::TNode<Smi> tmp129;
489 : compiler::TNode<Smi> tmp130;
490 : compiler::TNode<Smi> tmp131;
491 : compiler::TNode<Smi> tmp132;
492 : compiler::TNode<JSArray> tmp133;
493 : compiler::TNode<Map> tmp134;
494 : ca_.Bind(&block11, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134);
495 : ca_.Goto(&block1);
496 : }
497 :
498 56 : if (block12.is_used()) {
499 : compiler::TNode<Context> tmp135;
500 : compiler::TNode<RawPtrT> tmp136;
501 : compiler::TNode<RawPtrT> tmp137;
502 : compiler::TNode<IntPtrT> tmp138;
503 : compiler::TNode<JSReceiver> tmp139;
504 : compiler::TNode<Number> tmp140;
505 : compiler::TNode<Number> tmp141;
506 : compiler::TNode<Smi> tmp142;
507 : compiler::TNode<Number> tmp143;
508 : compiler::TNode<Smi> tmp144;
509 : compiler::TNode<Smi> tmp145;
510 : compiler::TNode<Smi> tmp146;
511 : compiler::TNode<Smi> tmp147;
512 : compiler::TNode<Smi> tmp148;
513 : compiler::TNode<JSArray> tmp149;
514 : compiler::TNode<Map> tmp150;
515 : ca_.Bind(&block12, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150);
516 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 127);
517 : compiler::TNode<BoolT> tmp151;
518 : USE(tmp151);
519 112 : tmp151 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNoElementsProtectorCellInvalid());
520 56 : ca_.Branch(tmp151, &block13, &block14, tmp135, tmp136, tmp137, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150);
521 : }
522 :
523 56 : if (block13.is_used()) {
524 : compiler::TNode<Context> tmp152;
525 : compiler::TNode<RawPtrT> tmp153;
526 : compiler::TNode<RawPtrT> tmp154;
527 : compiler::TNode<IntPtrT> tmp155;
528 : compiler::TNode<JSReceiver> tmp156;
529 : compiler::TNode<Number> tmp157;
530 : compiler::TNode<Number> tmp158;
531 : compiler::TNode<Smi> tmp159;
532 : compiler::TNode<Number> tmp160;
533 : compiler::TNode<Smi> tmp161;
534 : compiler::TNode<Smi> tmp162;
535 : compiler::TNode<Smi> tmp163;
536 : compiler::TNode<Smi> tmp164;
537 : compiler::TNode<Smi> tmp165;
538 : compiler::TNode<JSArray> tmp166;
539 : compiler::TNode<Map> tmp167;
540 : ca_.Bind(&block13, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167);
541 : ca_.Goto(&block1);
542 : }
543 :
544 56 : if (block14.is_used()) {
545 : compiler::TNode<Context> tmp168;
546 : compiler::TNode<RawPtrT> tmp169;
547 : compiler::TNode<RawPtrT> tmp170;
548 : compiler::TNode<IntPtrT> tmp171;
549 : compiler::TNode<JSReceiver> tmp172;
550 : compiler::TNode<Number> tmp173;
551 : compiler::TNode<Number> tmp174;
552 : compiler::TNode<Smi> tmp175;
553 : compiler::TNode<Number> tmp176;
554 : compiler::TNode<Smi> tmp177;
555 : compiler::TNode<Smi> tmp178;
556 : compiler::TNode<Smi> tmp179;
557 : compiler::TNode<Smi> tmp180;
558 : compiler::TNode<Smi> tmp181;
559 : compiler::TNode<JSArray> tmp182;
560 : compiler::TNode<Map> tmp183;
561 : ca_.Bind(&block14, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183);
562 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 128);
563 : compiler::TNode<BoolT> tmp184;
564 : USE(tmp184);
565 112 : tmp184 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsArraySpeciesProtectorCellInvalid());
566 56 : ca_.Branch(tmp184, &block15, &block16, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183);
567 : }
568 :
569 56 : if (block15.is_used()) {
570 : compiler::TNode<Context> tmp185;
571 : compiler::TNode<RawPtrT> tmp186;
572 : compiler::TNode<RawPtrT> tmp187;
573 : compiler::TNode<IntPtrT> tmp188;
574 : compiler::TNode<JSReceiver> tmp189;
575 : compiler::TNode<Number> tmp190;
576 : compiler::TNode<Number> tmp191;
577 : compiler::TNode<Smi> tmp192;
578 : compiler::TNode<Number> tmp193;
579 : compiler::TNode<Smi> tmp194;
580 : compiler::TNode<Smi> tmp195;
581 : compiler::TNode<Smi> tmp196;
582 : compiler::TNode<Smi> tmp197;
583 : compiler::TNode<Smi> tmp198;
584 : compiler::TNode<JSArray> tmp199;
585 : compiler::TNode<Map> tmp200;
586 : ca_.Bind(&block15, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200);
587 : ca_.Goto(&block1);
588 : }
589 :
590 56 : if (block16.is_used()) {
591 : compiler::TNode<Context> tmp201;
592 : compiler::TNode<RawPtrT> tmp202;
593 : compiler::TNode<RawPtrT> tmp203;
594 : compiler::TNode<IntPtrT> tmp204;
595 : compiler::TNode<JSReceiver> tmp205;
596 : compiler::TNode<Number> tmp206;
597 : compiler::TNode<Number> tmp207;
598 : compiler::TNode<Smi> tmp208;
599 : compiler::TNode<Number> tmp209;
600 : compiler::TNode<Smi> tmp210;
601 : compiler::TNode<Smi> tmp211;
602 : compiler::TNode<Smi> tmp212;
603 : compiler::TNode<Smi> tmp213;
604 : compiler::TNode<Smi> tmp214;
605 : compiler::TNode<JSArray> tmp215;
606 : compiler::TNode<Map> tmp216;
607 : ca_.Bind(&block16, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216);
608 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 131);
609 : compiler::TNode<Int32T> tmp217;
610 : USE(tmp217);
611 56 : compiler::CodeAssemblerLabel label0(&ca_);
612 112 : tmp217 = CodeStubAssembler(state_).EnsureArrayPushable(compiler::TNode<Map>{tmp216}, &label0);
613 : ca_.Goto(&block17, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp216, tmp217);
614 56 : if (label0.is_used()) {
615 56 : ca_.Bind(&label0);
616 : ca_.Goto(&block18, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp216);
617 : }
618 : }
619 :
620 56 : if (block18.is_used()) {
621 : compiler::TNode<Context> tmp218;
622 : compiler::TNode<RawPtrT> tmp219;
623 : compiler::TNode<RawPtrT> tmp220;
624 : compiler::TNode<IntPtrT> tmp221;
625 : compiler::TNode<JSReceiver> tmp222;
626 : compiler::TNode<Number> tmp223;
627 : compiler::TNode<Number> tmp224;
628 : compiler::TNode<Smi> tmp225;
629 : compiler::TNode<Number> tmp226;
630 : compiler::TNode<Smi> tmp227;
631 : compiler::TNode<Smi> tmp228;
632 : compiler::TNode<Smi> tmp229;
633 : compiler::TNode<Smi> tmp230;
634 : compiler::TNode<Smi> tmp231;
635 : compiler::TNode<JSArray> tmp232;
636 : compiler::TNode<Map> tmp233;
637 : compiler::TNode<Map> tmp234;
638 : ca_.Bind(&block18, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234);
639 : ca_.Goto(&block1);
640 : }
641 :
642 56 : if (block17.is_used()) {
643 : compiler::TNode<Context> tmp235;
644 : compiler::TNode<RawPtrT> tmp236;
645 : compiler::TNode<RawPtrT> tmp237;
646 : compiler::TNode<IntPtrT> tmp238;
647 : compiler::TNode<JSReceiver> tmp239;
648 : compiler::TNode<Number> tmp240;
649 : compiler::TNode<Number> tmp241;
650 : compiler::TNode<Smi> tmp242;
651 : compiler::TNode<Number> tmp243;
652 : compiler::TNode<Smi> tmp244;
653 : compiler::TNode<Smi> tmp245;
654 : compiler::TNode<Smi> tmp246;
655 : compiler::TNode<Smi> tmp247;
656 : compiler::TNode<Smi> tmp248;
657 : compiler::TNode<JSArray> tmp249;
658 : compiler::TNode<Map> tmp250;
659 : compiler::TNode<Map> tmp251;
660 : compiler::TNode<Int32T> tmp252;
661 : ca_.Bind(&block17, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252);
662 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 132);
663 : compiler::TNode<BoolT> tmp253;
664 : USE(tmp253);
665 112 : tmp253 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsFastElementsKind(compiler::TNode<Int32T>{tmp252}));
666 : compiler::TNode<BoolT> tmp254;
667 : USE(tmp254);
668 112 : tmp254 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp253}));
669 56 : ca_.Branch(tmp254, &block19, &block20, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp252);
670 : }
671 :
672 56 : if (block19.is_used()) {
673 : compiler::TNode<Context> tmp255;
674 : compiler::TNode<RawPtrT> tmp256;
675 : compiler::TNode<RawPtrT> tmp257;
676 : compiler::TNode<IntPtrT> tmp258;
677 : compiler::TNode<JSReceiver> tmp259;
678 : compiler::TNode<Number> tmp260;
679 : compiler::TNode<Number> tmp261;
680 : compiler::TNode<Smi> tmp262;
681 : compiler::TNode<Number> tmp263;
682 : compiler::TNode<Smi> tmp264;
683 : compiler::TNode<Smi> tmp265;
684 : compiler::TNode<Smi> tmp266;
685 : compiler::TNode<Smi> tmp267;
686 : compiler::TNode<Smi> tmp268;
687 : compiler::TNode<JSArray> tmp269;
688 : compiler::TNode<Map> tmp270;
689 : compiler::TNode<Int32T> tmp271;
690 : ca_.Bind(&block19, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271);
691 : ca_.Goto(&block1);
692 : }
693 :
694 56 : if (block20.is_used()) {
695 : compiler::TNode<Context> tmp272;
696 : compiler::TNode<RawPtrT> tmp273;
697 : compiler::TNode<RawPtrT> tmp274;
698 : compiler::TNode<IntPtrT> tmp275;
699 : compiler::TNode<JSReceiver> tmp276;
700 : compiler::TNode<Number> tmp277;
701 : compiler::TNode<Number> tmp278;
702 : compiler::TNode<Smi> tmp279;
703 : compiler::TNode<Number> tmp280;
704 : compiler::TNode<Smi> tmp281;
705 : compiler::TNode<Smi> tmp282;
706 : compiler::TNode<Smi> tmp283;
707 : compiler::TNode<Smi> tmp284;
708 : compiler::TNode<Smi> tmp285;
709 : compiler::TNode<JSArray> tmp286;
710 : compiler::TNode<Map> tmp287;
711 : compiler::TNode<Int32T> tmp288;
712 : ca_.Bind(&block20, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288);
713 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 134);
714 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 135);
715 : compiler::TNode<IntPtrT> tmp289;
716 : USE(tmp289);
717 168 : tmp289 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(2));
718 : ca_.Goto(&block23, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp288, tmp289);
719 : }
720 :
721 56 : if (block23.is_used()) {
722 : compiler::TNode<Context> tmp290;
723 : compiler::TNode<RawPtrT> tmp291;
724 : compiler::TNode<RawPtrT> tmp292;
725 : compiler::TNode<IntPtrT> tmp293;
726 : compiler::TNode<JSReceiver> tmp294;
727 : compiler::TNode<Number> tmp295;
728 : compiler::TNode<Number> tmp296;
729 : compiler::TNode<Smi> tmp297;
730 : compiler::TNode<Number> tmp298;
731 : compiler::TNode<Smi> tmp299;
732 : compiler::TNode<Smi> tmp300;
733 : compiler::TNode<Smi> tmp301;
734 : compiler::TNode<Smi> tmp302;
735 : compiler::TNode<Smi> tmp303;
736 : compiler::TNode<JSArray> tmp304;
737 : compiler::TNode<Map> tmp305;
738 : compiler::TNode<Int32T> tmp306;
739 : compiler::TNode<Int32T> tmp307;
740 : compiler::TNode<IntPtrT> tmp308;
741 : ca_.Bind(&block23, &tmp290, &tmp291, &tmp292, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303, &tmp304, &tmp305, &tmp306, &tmp307, &tmp308);
742 : compiler::TNode<BoolT> tmp309;
743 : USE(tmp309);
744 224 : tmp309 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp308}, compiler::TNode<IntPtrT>{tmp293}));
745 56 : ca_.Branch(tmp309, &block21, &block22, tmp290, tmp291, tmp292, tmp293, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308);
746 : }
747 :
748 56 : if (block21.is_used()) {
749 : compiler::TNode<Context> tmp310;
750 : compiler::TNode<RawPtrT> tmp311;
751 : compiler::TNode<RawPtrT> tmp312;
752 : compiler::TNode<IntPtrT> tmp313;
753 : compiler::TNode<JSReceiver> tmp314;
754 : compiler::TNode<Number> tmp315;
755 : compiler::TNode<Number> tmp316;
756 : compiler::TNode<Smi> tmp317;
757 : compiler::TNode<Number> tmp318;
758 : compiler::TNode<Smi> tmp319;
759 : compiler::TNode<Smi> tmp320;
760 : compiler::TNode<Smi> tmp321;
761 : compiler::TNode<Smi> tmp322;
762 : compiler::TNode<Smi> tmp323;
763 : compiler::TNode<JSArray> tmp324;
764 : compiler::TNode<Map> tmp325;
765 : compiler::TNode<Int32T> tmp326;
766 : compiler::TNode<Int32T> tmp327;
767 : compiler::TNode<IntPtrT> tmp328;
768 : ca_.Bind(&block21, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326, &tmp327, &tmp328);
769 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 136);
770 : compiler::TNode<Object> tmp329;
771 : USE(tmp329);
772 112 : tmp329 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp311}, compiler::TNode<RawPtrT>{tmp312}, compiler::TNode<IntPtrT>{tmp313}}, compiler::TNode<IntPtrT>{tmp328}));
773 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 137);
774 : compiler::TNode<BoolT> tmp330;
775 : USE(tmp330);
776 112 : tmp330 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsFastSmiElementsKind(compiler::TNode<Int32T>{tmp326}));
777 56 : ca_.Branch(tmp330, &block25, &block26, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329);
778 : }
779 :
780 56 : if (block25.is_used()) {
781 : compiler::TNode<Context> tmp331;
782 : compiler::TNode<RawPtrT> tmp332;
783 : compiler::TNode<RawPtrT> tmp333;
784 : compiler::TNode<IntPtrT> tmp334;
785 : compiler::TNode<JSReceiver> tmp335;
786 : compiler::TNode<Number> tmp336;
787 : compiler::TNode<Number> tmp337;
788 : compiler::TNode<Smi> tmp338;
789 : compiler::TNode<Number> tmp339;
790 : compiler::TNode<Smi> tmp340;
791 : compiler::TNode<Smi> tmp341;
792 : compiler::TNode<Smi> tmp342;
793 : compiler::TNode<Smi> tmp343;
794 : compiler::TNode<Smi> tmp344;
795 : compiler::TNode<JSArray> tmp345;
796 : compiler::TNode<Map> tmp346;
797 : compiler::TNode<Int32T> tmp347;
798 : compiler::TNode<Int32T> tmp348;
799 : compiler::TNode<IntPtrT> tmp349;
800 : compiler::TNode<Object> tmp350;
801 : ca_.Bind(&block25, &tmp331, &tmp332, &tmp333, &tmp334, &tmp335, &tmp336, &tmp337, &tmp338, &tmp339, &tmp340, &tmp341, &tmp342, &tmp343, &tmp344, &tmp345, &tmp346, &tmp347, &tmp348, &tmp349, &tmp350);
802 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 138);
803 : compiler::TNode<BoolT> tmp351;
804 : USE(tmp351);
805 168 : tmp351 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).TaggedIsNotSmi(compiler::TNode<Object>{tmp350}));
806 56 : ca_.Branch(tmp351, &block28, &block29, tmp331, tmp332, tmp333, tmp334, tmp335, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350);
807 : }
808 :
809 56 : if (block28.is_used()) {
810 : compiler::TNode<Context> tmp352;
811 : compiler::TNode<RawPtrT> tmp353;
812 : compiler::TNode<RawPtrT> tmp354;
813 : compiler::TNode<IntPtrT> tmp355;
814 : compiler::TNode<JSReceiver> tmp356;
815 : compiler::TNode<Number> tmp357;
816 : compiler::TNode<Number> tmp358;
817 : compiler::TNode<Smi> tmp359;
818 : compiler::TNode<Number> tmp360;
819 : compiler::TNode<Smi> tmp361;
820 : compiler::TNode<Smi> tmp362;
821 : compiler::TNode<Smi> tmp363;
822 : compiler::TNode<Smi> tmp364;
823 : compiler::TNode<Smi> tmp365;
824 : compiler::TNode<JSArray> tmp366;
825 : compiler::TNode<Map> tmp367;
826 : compiler::TNode<Int32T> tmp368;
827 : compiler::TNode<Int32T> tmp369;
828 : compiler::TNode<IntPtrT> tmp370;
829 : compiler::TNode<Object> tmp371;
830 : ca_.Bind(&block28, &tmp352, &tmp353, &tmp354, &tmp355, &tmp356, &tmp357, &tmp358, &tmp359, &tmp360, &tmp361, &tmp362, &tmp363, &tmp364, &tmp365, &tmp366, &tmp367, &tmp368, &tmp369, &tmp370, &tmp371);
831 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 139);
832 : compiler::TNode<HeapObject> tmp372;
833 : USE(tmp372);
834 168 : tmp372 = ca_.UncheckedCast<HeapObject>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10HeapObject(compiler::TNode<Context>{tmp352}, compiler::TNode<Object>{tmp371}));
835 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 140);
836 : compiler::TNode<BoolT> tmp373;
837 : USE(tmp373);
838 112 : tmp373 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsHeapNumber(compiler::TNode<HeapObject>{tmp372}));
839 56 : ca_.Branch(tmp373, &block30, &block31, tmp352, tmp353, tmp354, tmp355, tmp356, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372);
840 : }
841 :
842 56 : if (block30.is_used()) {
843 : compiler::TNode<Context> tmp374;
844 : compiler::TNode<RawPtrT> tmp375;
845 : compiler::TNode<RawPtrT> tmp376;
846 : compiler::TNode<IntPtrT> tmp377;
847 : compiler::TNode<JSReceiver> tmp378;
848 : compiler::TNode<Number> tmp379;
849 : compiler::TNode<Number> tmp380;
850 : compiler::TNode<Smi> tmp381;
851 : compiler::TNode<Number> tmp382;
852 : compiler::TNode<Smi> tmp383;
853 : compiler::TNode<Smi> tmp384;
854 : compiler::TNode<Smi> tmp385;
855 : compiler::TNode<Smi> tmp386;
856 : compiler::TNode<Smi> tmp387;
857 : compiler::TNode<JSArray> tmp388;
858 : compiler::TNode<Map> tmp389;
859 : compiler::TNode<Int32T> tmp390;
860 : compiler::TNode<Int32T> tmp391;
861 : compiler::TNode<IntPtrT> tmp392;
862 : compiler::TNode<Object> tmp393;
863 : compiler::TNode<HeapObject> tmp394;
864 : ca_.Bind(&block30, &tmp374, &tmp375, &tmp376, &tmp377, &tmp378, &tmp379, &tmp380, &tmp381, &tmp382, &tmp383, &tmp384, &tmp385, &tmp386, &tmp387, &tmp388, &tmp389, &tmp390, &tmp391, &tmp392, &tmp393, &tmp394);
865 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 141);
866 : compiler::TNode<Int32T> tmp395;
867 : USE(tmp395);
868 168 : tmp395 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).AllowDoubleElements(compiler::TNode<Int32T>{tmp390}));
869 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 140);
870 : ca_.Goto(&block33, tmp374, tmp375, tmp376, tmp377, tmp378, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395);
871 : }
872 :
873 56 : if (block31.is_used()) {
874 : compiler::TNode<Context> tmp396;
875 : compiler::TNode<RawPtrT> tmp397;
876 : compiler::TNode<RawPtrT> tmp398;
877 : compiler::TNode<IntPtrT> tmp399;
878 : compiler::TNode<JSReceiver> tmp400;
879 : compiler::TNode<Number> tmp401;
880 : compiler::TNode<Number> tmp402;
881 : compiler::TNode<Smi> tmp403;
882 : compiler::TNode<Number> tmp404;
883 : compiler::TNode<Smi> tmp405;
884 : compiler::TNode<Smi> tmp406;
885 : compiler::TNode<Smi> tmp407;
886 : compiler::TNode<Smi> tmp408;
887 : compiler::TNode<Smi> tmp409;
888 : compiler::TNode<JSArray> tmp410;
889 : compiler::TNode<Map> tmp411;
890 : compiler::TNode<Int32T> tmp412;
891 : compiler::TNode<Int32T> tmp413;
892 : compiler::TNode<IntPtrT> tmp414;
893 : compiler::TNode<Object> tmp415;
894 : compiler::TNode<HeapObject> tmp416;
895 : ca_.Bind(&block31, &tmp396, &tmp397, &tmp398, &tmp399, &tmp400, &tmp401, &tmp402, &tmp403, &tmp404, &tmp405, &tmp406, &tmp407, &tmp408, &tmp409, &tmp410, &tmp411, &tmp412, &tmp413, &tmp414, &tmp415, &tmp416);
896 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 142);
897 : compiler::TNode<Int32T> tmp417;
898 : USE(tmp417);
899 168 : tmp417 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).AllowNonNumberElements(compiler::TNode<Int32T>{tmp412}));
900 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 140);
901 : ca_.Goto(&block32, tmp396, tmp397, tmp398, tmp399, tmp400, tmp401, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416, tmp417);
902 : }
903 :
904 56 : if (block33.is_used()) {
905 : compiler::TNode<Context> tmp418;
906 : compiler::TNode<RawPtrT> tmp419;
907 : compiler::TNode<RawPtrT> tmp420;
908 : compiler::TNode<IntPtrT> tmp421;
909 : compiler::TNode<JSReceiver> tmp422;
910 : compiler::TNode<Number> tmp423;
911 : compiler::TNode<Number> tmp424;
912 : compiler::TNode<Smi> tmp425;
913 : compiler::TNode<Number> tmp426;
914 : compiler::TNode<Smi> tmp427;
915 : compiler::TNode<Smi> tmp428;
916 : compiler::TNode<Smi> tmp429;
917 : compiler::TNode<Smi> tmp430;
918 : compiler::TNode<Smi> tmp431;
919 : compiler::TNode<JSArray> tmp432;
920 : compiler::TNode<Map> tmp433;
921 : compiler::TNode<Int32T> tmp434;
922 : compiler::TNode<Int32T> tmp435;
923 : compiler::TNode<IntPtrT> tmp436;
924 : compiler::TNode<Object> tmp437;
925 : compiler::TNode<HeapObject> tmp438;
926 : compiler::TNode<Int32T> tmp439;
927 : ca_.Bind(&block33, &tmp418, &tmp419, &tmp420, &tmp421, &tmp422, &tmp423, &tmp424, &tmp425, &tmp426, &tmp427, &tmp428, &tmp429, &tmp430, &tmp431, &tmp432, &tmp433, &tmp434, &tmp435, &tmp436, &tmp437, &tmp438, &tmp439);
928 : ca_.Goto(&block32, tmp418, tmp419, tmp420, tmp421, tmp422, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp439);
929 : }
930 :
931 56 : if (block32.is_used()) {
932 : compiler::TNode<Context> tmp440;
933 : compiler::TNode<RawPtrT> tmp441;
934 : compiler::TNode<RawPtrT> tmp442;
935 : compiler::TNode<IntPtrT> tmp443;
936 : compiler::TNode<JSReceiver> tmp444;
937 : compiler::TNode<Number> tmp445;
938 : compiler::TNode<Number> tmp446;
939 : compiler::TNode<Smi> tmp447;
940 : compiler::TNode<Number> tmp448;
941 : compiler::TNode<Smi> tmp449;
942 : compiler::TNode<Smi> tmp450;
943 : compiler::TNode<Smi> tmp451;
944 : compiler::TNode<Smi> tmp452;
945 : compiler::TNode<Smi> tmp453;
946 : compiler::TNode<JSArray> tmp454;
947 : compiler::TNode<Map> tmp455;
948 : compiler::TNode<Int32T> tmp456;
949 : compiler::TNode<Int32T> tmp457;
950 : compiler::TNode<IntPtrT> tmp458;
951 : compiler::TNode<Object> tmp459;
952 : compiler::TNode<HeapObject> tmp460;
953 : compiler::TNode<Int32T> tmp461;
954 : ca_.Bind(&block32, &tmp440, &tmp441, &tmp442, &tmp443, &tmp444, &tmp445, &tmp446, &tmp447, &tmp448, &tmp449, &tmp450, &tmp451, &tmp452, &tmp453, &tmp454, &tmp455, &tmp456, &tmp457, &tmp458, &tmp459, &tmp460, &tmp461);
955 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 138);
956 : ca_.Goto(&block29, tmp440, tmp441, tmp442, tmp443, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp461, tmp457, tmp458, tmp459);
957 : }
958 :
959 56 : if (block29.is_used()) {
960 : compiler::TNode<Context> tmp462;
961 : compiler::TNode<RawPtrT> tmp463;
962 : compiler::TNode<RawPtrT> tmp464;
963 : compiler::TNode<IntPtrT> tmp465;
964 : compiler::TNode<JSReceiver> tmp466;
965 : compiler::TNode<Number> tmp467;
966 : compiler::TNode<Number> tmp468;
967 : compiler::TNode<Smi> tmp469;
968 : compiler::TNode<Number> tmp470;
969 : compiler::TNode<Smi> tmp471;
970 : compiler::TNode<Smi> tmp472;
971 : compiler::TNode<Smi> tmp473;
972 : compiler::TNode<Smi> tmp474;
973 : compiler::TNode<Smi> tmp475;
974 : compiler::TNode<JSArray> tmp476;
975 : compiler::TNode<Map> tmp477;
976 : compiler::TNode<Int32T> tmp478;
977 : compiler::TNode<Int32T> tmp479;
978 : compiler::TNode<IntPtrT> tmp480;
979 : compiler::TNode<Object> tmp481;
980 : ca_.Bind(&block29, &tmp462, &tmp463, &tmp464, &tmp465, &tmp466, &tmp467, &tmp468, &tmp469, &tmp470, &tmp471, &tmp472, &tmp473, &tmp474, &tmp475, &tmp476, &tmp477, &tmp478, &tmp479, &tmp480, &tmp481);
981 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 137);
982 : ca_.Goto(&block27, tmp462, tmp463, tmp464, tmp465, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481);
983 : }
984 :
985 56 : if (block26.is_used()) {
986 : compiler::TNode<Context> tmp482;
987 : compiler::TNode<RawPtrT> tmp483;
988 : compiler::TNode<RawPtrT> tmp484;
989 : compiler::TNode<IntPtrT> tmp485;
990 : compiler::TNode<JSReceiver> tmp486;
991 : compiler::TNode<Number> tmp487;
992 : compiler::TNode<Number> tmp488;
993 : compiler::TNode<Smi> tmp489;
994 : compiler::TNode<Number> tmp490;
995 : compiler::TNode<Smi> tmp491;
996 : compiler::TNode<Smi> tmp492;
997 : compiler::TNode<Smi> tmp493;
998 : compiler::TNode<Smi> tmp494;
999 : compiler::TNode<Smi> tmp495;
1000 : compiler::TNode<JSArray> tmp496;
1001 : compiler::TNode<Map> tmp497;
1002 : compiler::TNode<Int32T> tmp498;
1003 : compiler::TNode<Int32T> tmp499;
1004 : compiler::TNode<IntPtrT> tmp500;
1005 : compiler::TNode<Object> tmp501;
1006 : ca_.Bind(&block26, &tmp482, &tmp483, &tmp484, &tmp485, &tmp486, &tmp487, &tmp488, &tmp489, &tmp490, &tmp491, &tmp492, &tmp493, &tmp494, &tmp495, &tmp496, &tmp497, &tmp498, &tmp499, &tmp500, &tmp501);
1007 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 144);
1008 : compiler::TNode<BoolT> tmp502;
1009 : USE(tmp502);
1010 112 : tmp502 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsDoubleElementsKind(compiler::TNode<Int32T>{tmp498}));
1011 56 : ca_.Branch(tmp502, &block34, &block35, tmp482, tmp483, tmp484, tmp485, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp498, tmp499, tmp500, tmp501);
1012 : }
1013 :
1014 56 : if (block34.is_used()) {
1015 : compiler::TNode<Context> tmp503;
1016 : compiler::TNode<RawPtrT> tmp504;
1017 : compiler::TNode<RawPtrT> tmp505;
1018 : compiler::TNode<IntPtrT> tmp506;
1019 : compiler::TNode<JSReceiver> tmp507;
1020 : compiler::TNode<Number> tmp508;
1021 : compiler::TNode<Number> tmp509;
1022 : compiler::TNode<Smi> tmp510;
1023 : compiler::TNode<Number> tmp511;
1024 : compiler::TNode<Smi> tmp512;
1025 : compiler::TNode<Smi> tmp513;
1026 : compiler::TNode<Smi> tmp514;
1027 : compiler::TNode<Smi> tmp515;
1028 : compiler::TNode<Smi> tmp516;
1029 : compiler::TNode<JSArray> tmp517;
1030 : compiler::TNode<Map> tmp518;
1031 : compiler::TNode<Int32T> tmp519;
1032 : compiler::TNode<Int32T> tmp520;
1033 : compiler::TNode<IntPtrT> tmp521;
1034 : compiler::TNode<Object> tmp522;
1035 : ca_.Bind(&block34, &tmp503, &tmp504, &tmp505, &tmp506, &tmp507, &tmp508, &tmp509, &tmp510, &tmp511, &tmp512, &tmp513, &tmp514, &tmp515, &tmp516, &tmp517, &tmp518, &tmp519, &tmp520, &tmp521, &tmp522);
1036 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 145);
1037 : compiler::TNode<BoolT> tmp523;
1038 : USE(tmp523);
1039 168 : tmp523 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsNumber(compiler::TNode<Object>{tmp522}));
1040 : compiler::TNode<BoolT> tmp524;
1041 : USE(tmp524);
1042 112 : tmp524 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).Word32BinaryNot(compiler::TNode<BoolT>{tmp523}));
1043 56 : ca_.Branch(tmp524, &block36, &block37, tmp503, tmp504, tmp505, tmp506, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp522);
1044 : }
1045 :
1046 56 : if (block36.is_used()) {
1047 : compiler::TNode<Context> tmp525;
1048 : compiler::TNode<RawPtrT> tmp526;
1049 : compiler::TNode<RawPtrT> tmp527;
1050 : compiler::TNode<IntPtrT> tmp528;
1051 : compiler::TNode<JSReceiver> tmp529;
1052 : compiler::TNode<Number> tmp530;
1053 : compiler::TNode<Number> tmp531;
1054 : compiler::TNode<Smi> tmp532;
1055 : compiler::TNode<Number> tmp533;
1056 : compiler::TNode<Smi> tmp534;
1057 : compiler::TNode<Smi> tmp535;
1058 : compiler::TNode<Smi> tmp536;
1059 : compiler::TNode<Smi> tmp537;
1060 : compiler::TNode<Smi> tmp538;
1061 : compiler::TNode<JSArray> tmp539;
1062 : compiler::TNode<Map> tmp540;
1063 : compiler::TNode<Int32T> tmp541;
1064 : compiler::TNode<Int32T> tmp542;
1065 : compiler::TNode<IntPtrT> tmp543;
1066 : compiler::TNode<Object> tmp544;
1067 : ca_.Bind(&block36, &tmp525, &tmp526, &tmp527, &tmp528, &tmp529, &tmp530, &tmp531, &tmp532, &tmp533, &tmp534, &tmp535, &tmp536, &tmp537, &tmp538, &tmp539, &tmp540, &tmp541, &tmp542, &tmp543, &tmp544);
1068 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 146);
1069 : compiler::TNode<Int32T> tmp545;
1070 : USE(tmp545);
1071 168 : tmp545 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).AllowNonNumberElements(compiler::TNode<Int32T>{tmp541}));
1072 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 145);
1073 : ca_.Goto(&block37, tmp525, tmp526, tmp527, tmp528, tmp529, tmp530, tmp531, tmp532, tmp533, tmp534, tmp535, tmp536, tmp537, tmp538, tmp539, tmp540, tmp545, tmp542, tmp543, tmp544);
1074 : }
1075 :
1076 56 : if (block37.is_used()) {
1077 : compiler::TNode<Context> tmp546;
1078 : compiler::TNode<RawPtrT> tmp547;
1079 : compiler::TNode<RawPtrT> tmp548;
1080 : compiler::TNode<IntPtrT> tmp549;
1081 : compiler::TNode<JSReceiver> tmp550;
1082 : compiler::TNode<Number> tmp551;
1083 : compiler::TNode<Number> tmp552;
1084 : compiler::TNode<Smi> tmp553;
1085 : compiler::TNode<Number> tmp554;
1086 : compiler::TNode<Smi> tmp555;
1087 : compiler::TNode<Smi> tmp556;
1088 : compiler::TNode<Smi> tmp557;
1089 : compiler::TNode<Smi> tmp558;
1090 : compiler::TNode<Smi> tmp559;
1091 : compiler::TNode<JSArray> tmp560;
1092 : compiler::TNode<Map> tmp561;
1093 : compiler::TNode<Int32T> tmp562;
1094 : compiler::TNode<Int32T> tmp563;
1095 : compiler::TNode<IntPtrT> tmp564;
1096 : compiler::TNode<Object> tmp565;
1097 : ca_.Bind(&block37, &tmp546, &tmp547, &tmp548, &tmp549, &tmp550, &tmp551, &tmp552, &tmp553, &tmp554, &tmp555, &tmp556, &tmp557, &tmp558, &tmp559, &tmp560, &tmp561, &tmp562, &tmp563, &tmp564, &tmp565);
1098 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 144);
1099 : ca_.Goto(&block35, tmp546, tmp547, tmp548, tmp549, tmp550, tmp551, tmp552, tmp553, tmp554, tmp555, tmp556, tmp557, tmp558, tmp559, tmp560, tmp561, tmp562, tmp563, tmp564, tmp565);
1100 : }
1101 :
1102 56 : if (block35.is_used()) {
1103 : compiler::TNode<Context> tmp566;
1104 : compiler::TNode<RawPtrT> tmp567;
1105 : compiler::TNode<RawPtrT> tmp568;
1106 : compiler::TNode<IntPtrT> tmp569;
1107 : compiler::TNode<JSReceiver> tmp570;
1108 : compiler::TNode<Number> tmp571;
1109 : compiler::TNode<Number> tmp572;
1110 : compiler::TNode<Smi> tmp573;
1111 : compiler::TNode<Number> tmp574;
1112 : compiler::TNode<Smi> tmp575;
1113 : compiler::TNode<Smi> tmp576;
1114 : compiler::TNode<Smi> tmp577;
1115 : compiler::TNode<Smi> tmp578;
1116 : compiler::TNode<Smi> tmp579;
1117 : compiler::TNode<JSArray> tmp580;
1118 : compiler::TNode<Map> tmp581;
1119 : compiler::TNode<Int32T> tmp582;
1120 : compiler::TNode<Int32T> tmp583;
1121 : compiler::TNode<IntPtrT> tmp584;
1122 : compiler::TNode<Object> tmp585;
1123 : ca_.Bind(&block35, &tmp566, &tmp567, &tmp568, &tmp569, &tmp570, &tmp571, &tmp572, &tmp573, &tmp574, &tmp575, &tmp576, &tmp577, &tmp578, &tmp579, &tmp580, &tmp581, &tmp582, &tmp583, &tmp584, &tmp585);
1124 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 137);
1125 : ca_.Goto(&block27, tmp566, tmp567, tmp568, tmp569, tmp570, tmp571, tmp572, tmp573, tmp574, tmp575, tmp576, tmp577, tmp578, tmp579, tmp580, tmp581, tmp582, tmp583, tmp584, tmp585);
1126 : }
1127 :
1128 56 : if (block27.is_used()) {
1129 : compiler::TNode<Context> tmp586;
1130 : compiler::TNode<RawPtrT> tmp587;
1131 : compiler::TNode<RawPtrT> tmp588;
1132 : compiler::TNode<IntPtrT> tmp589;
1133 : compiler::TNode<JSReceiver> tmp590;
1134 : compiler::TNode<Number> tmp591;
1135 : compiler::TNode<Number> tmp592;
1136 : compiler::TNode<Smi> tmp593;
1137 : compiler::TNode<Number> tmp594;
1138 : compiler::TNode<Smi> tmp595;
1139 : compiler::TNode<Smi> tmp596;
1140 : compiler::TNode<Smi> tmp597;
1141 : compiler::TNode<Smi> tmp598;
1142 : compiler::TNode<Smi> tmp599;
1143 : compiler::TNode<JSArray> tmp600;
1144 : compiler::TNode<Map> tmp601;
1145 : compiler::TNode<Int32T> tmp602;
1146 : compiler::TNode<Int32T> tmp603;
1147 : compiler::TNode<IntPtrT> tmp604;
1148 : compiler::TNode<Object> tmp605;
1149 : ca_.Bind(&block27, &tmp586, &tmp587, &tmp588, &tmp589, &tmp590, &tmp591, &tmp592, &tmp593, &tmp594, &tmp595, &tmp596, &tmp597, &tmp598, &tmp599, &tmp600, &tmp601, &tmp602, &tmp603, &tmp604, &tmp605);
1150 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 135);
1151 : ca_.Goto(&block24, tmp586, tmp587, tmp588, tmp589, tmp590, tmp591, tmp592, tmp593, tmp594, tmp595, tmp596, tmp597, tmp598, tmp599, tmp600, tmp601, tmp602, tmp603, tmp604);
1152 : }
1153 :
1154 56 : if (block24.is_used()) {
1155 : compiler::TNode<Context> tmp606;
1156 : compiler::TNode<RawPtrT> tmp607;
1157 : compiler::TNode<RawPtrT> tmp608;
1158 : compiler::TNode<IntPtrT> tmp609;
1159 : compiler::TNode<JSReceiver> tmp610;
1160 : compiler::TNode<Number> tmp611;
1161 : compiler::TNode<Number> tmp612;
1162 : compiler::TNode<Smi> tmp613;
1163 : compiler::TNode<Number> tmp614;
1164 : compiler::TNode<Smi> tmp615;
1165 : compiler::TNode<Smi> tmp616;
1166 : compiler::TNode<Smi> tmp617;
1167 : compiler::TNode<Smi> tmp618;
1168 : compiler::TNode<Smi> tmp619;
1169 : compiler::TNode<JSArray> tmp620;
1170 : compiler::TNode<Map> tmp621;
1171 : compiler::TNode<Int32T> tmp622;
1172 : compiler::TNode<Int32T> tmp623;
1173 : compiler::TNode<IntPtrT> tmp624;
1174 : ca_.Bind(&block24, &tmp606, &tmp607, &tmp608, &tmp609, &tmp610, &tmp611, &tmp612, &tmp613, &tmp614, &tmp615, &tmp616, &tmp617, &tmp618, &tmp619, &tmp620, &tmp621, &tmp622, &tmp623, &tmp624);
1175 : compiler::TNode<IntPtrT> tmp625;
1176 : USE(tmp625);
1177 168 : tmp625 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
1178 : compiler::TNode<IntPtrT> tmp626;
1179 : USE(tmp626);
1180 112 : tmp626 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp624}, compiler::TNode<IntPtrT>{tmp625}));
1181 : ca_.Goto(&block23, tmp606, tmp607, tmp608, tmp609, tmp610, tmp611, tmp612, tmp613, tmp614, tmp615, tmp616, tmp617, tmp618, tmp619, tmp620, tmp621, tmp622, tmp623, tmp626);
1182 : }
1183 :
1184 56 : if (block22.is_used()) {
1185 : compiler::TNode<Context> tmp627;
1186 : compiler::TNode<RawPtrT> tmp628;
1187 : compiler::TNode<RawPtrT> tmp629;
1188 : compiler::TNode<IntPtrT> tmp630;
1189 : compiler::TNode<JSReceiver> tmp631;
1190 : compiler::TNode<Number> tmp632;
1191 : compiler::TNode<Number> tmp633;
1192 : compiler::TNode<Smi> tmp634;
1193 : compiler::TNode<Number> tmp635;
1194 : compiler::TNode<Smi> tmp636;
1195 : compiler::TNode<Smi> tmp637;
1196 : compiler::TNode<Smi> tmp638;
1197 : compiler::TNode<Smi> tmp639;
1198 : compiler::TNode<Smi> tmp640;
1199 : compiler::TNode<JSArray> tmp641;
1200 : compiler::TNode<Map> tmp642;
1201 : compiler::TNode<Int32T> tmp643;
1202 : compiler::TNode<Int32T> tmp644;
1203 : compiler::TNode<IntPtrT> tmp645;
1204 : ca_.Bind(&block22, &tmp627, &tmp628, &tmp629, &tmp630, &tmp631, &tmp632, &tmp633, &tmp634, &tmp635, &tmp636, &tmp637, &tmp638, &tmp639, &tmp640, &tmp641, &tmp642, &tmp643, &tmp644, &tmp645);
1205 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 151);
1206 : compiler::TNode<BoolT> tmp646;
1207 : USE(tmp646);
1208 168 : tmp646 = ca_.UncheckedCast<BoolT>(BaseBuiltinsFromDSLAssembler(state_).ElementsKindNotEqual(compiler::TNode<Int32T>{tmp643}, compiler::TNode<Int32T>{tmp644}));
1209 56 : ca_.Branch(tmp646, &block38, &block39, tmp627, tmp628, tmp629, tmp630, tmp631, tmp632, tmp633, tmp634, tmp635, tmp636, tmp637, tmp638, tmp639, tmp640, tmp641, tmp642, tmp643, tmp644);
1210 : }
1211 :
1212 56 : if (block38.is_used()) {
1213 : compiler::TNode<Context> tmp647;
1214 : compiler::TNode<RawPtrT> tmp648;
1215 : compiler::TNode<RawPtrT> tmp649;
1216 : compiler::TNode<IntPtrT> tmp650;
1217 : compiler::TNode<JSReceiver> tmp651;
1218 : compiler::TNode<Number> tmp652;
1219 : compiler::TNode<Number> tmp653;
1220 : compiler::TNode<Smi> tmp654;
1221 : compiler::TNode<Number> tmp655;
1222 : compiler::TNode<Smi> tmp656;
1223 : compiler::TNode<Smi> tmp657;
1224 : compiler::TNode<Smi> tmp658;
1225 : compiler::TNode<Smi> tmp659;
1226 : compiler::TNode<Smi> tmp660;
1227 : compiler::TNode<JSArray> tmp661;
1228 : compiler::TNode<Map> tmp662;
1229 : compiler::TNode<Int32T> tmp663;
1230 : compiler::TNode<Int32T> tmp664;
1231 : ca_.Bind(&block38, &tmp647, &tmp648, &tmp649, &tmp650, &tmp651, &tmp652, &tmp653, &tmp654, &tmp655, &tmp656, &tmp657, &tmp658, &tmp659, &tmp660, &tmp661, &tmp662, &tmp663, &tmp664);
1232 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 152);
1233 : compiler::TNode<Int32T> tmp665;
1234 : USE(tmp665);
1235 168 : tmp665 = ca_.UncheckedCast<Int32T>(BaseBuiltinsFromDSLAssembler(state_).Convert7ATint3214ATElementsKind(compiler::TNode<Int32T>{tmp663}));
1236 : compiler::TNode<Smi> tmp666;
1237 : USE(tmp666);
1238 168 : tmp666 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi7ATint32(compiler::TNode<Int32T>{tmp665}));
1239 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 153);
1240 112 : CodeStubAssembler(state_).CallRuntime(Runtime::kTransitionElementsKindWithKind, tmp647, tmp661, tmp666);
1241 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 151);
1242 : ca_.Goto(&block39, tmp647, tmp648, tmp649, tmp650, tmp651, tmp652, tmp653, tmp654, tmp655, tmp656, tmp657, tmp658, tmp659, tmp660, tmp661, tmp662, tmp663, tmp664);
1243 : }
1244 :
1245 56 : if (block39.is_used()) {
1246 : compiler::TNode<Context> tmp668;
1247 : compiler::TNode<RawPtrT> tmp669;
1248 : compiler::TNode<RawPtrT> tmp670;
1249 : compiler::TNode<IntPtrT> tmp671;
1250 : compiler::TNode<JSReceiver> tmp672;
1251 : compiler::TNode<Number> tmp673;
1252 : compiler::TNode<Number> tmp674;
1253 : compiler::TNode<Smi> tmp675;
1254 : compiler::TNode<Number> tmp676;
1255 : compiler::TNode<Smi> tmp677;
1256 : compiler::TNode<Smi> tmp678;
1257 : compiler::TNode<Smi> tmp679;
1258 : compiler::TNode<Smi> tmp680;
1259 : compiler::TNode<Smi> tmp681;
1260 : compiler::TNode<JSArray> tmp682;
1261 : compiler::TNode<Map> tmp683;
1262 : compiler::TNode<Int32T> tmp684;
1263 : compiler::TNode<Int32T> tmp685;
1264 : ca_.Bind(&block39, &tmp668, &tmp669, &tmp670, &tmp671, &tmp672, &tmp673, &tmp674, &tmp675, &tmp676, &tmp677, &tmp678, &tmp679, &tmp680, &tmp681, &tmp682, &tmp683, &tmp684, &tmp685);
1265 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 157);
1266 56 : compiler::TNode<IntPtrT> tmp686 = ca_.IntPtrConstant(JSArray::kLengthOffset);
1267 : USE(tmp686);
1268 112 : compiler::TNode<Number>tmp687 = CodeStubAssembler(state_).LoadReference<Number>(CodeStubAssembler::Reference{tmp682, tmp686});
1269 : compiler::TNode<Smi> tmp688;
1270 : USE(tmp688);
1271 56 : compiler::CodeAssemblerLabel label0(&ca_);
1272 168 : tmp688 = BaseBuiltinsFromDSLAssembler(state_).Cast5ATSmi(compiler::TNode<Object>{tmp687}, &label0);
1273 : ca_.Goto(&block40, tmp668, tmp669, tmp670, tmp671, tmp672, tmp673, tmp674, tmp675, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp687, tmp688);
1274 56 : if (label0.is_used()) {
1275 56 : ca_.Bind(&label0);
1276 : ca_.Goto(&block41, tmp668, tmp669, tmp670, tmp671, tmp672, tmp673, tmp674, tmp675, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp687);
1277 : }
1278 : }
1279 :
1280 56 : if (block41.is_used()) {
1281 : compiler::TNode<Context> tmp689;
1282 : compiler::TNode<RawPtrT> tmp690;
1283 : compiler::TNode<RawPtrT> tmp691;
1284 : compiler::TNode<IntPtrT> tmp692;
1285 : compiler::TNode<JSReceiver> tmp693;
1286 : compiler::TNode<Number> tmp694;
1287 : compiler::TNode<Number> tmp695;
1288 : compiler::TNode<Smi> tmp696;
1289 : compiler::TNode<Number> tmp697;
1290 : compiler::TNode<Smi> tmp698;
1291 : compiler::TNode<Smi> tmp699;
1292 : compiler::TNode<Smi> tmp700;
1293 : compiler::TNode<Smi> tmp701;
1294 : compiler::TNode<Smi> tmp702;
1295 : compiler::TNode<JSArray> tmp703;
1296 : compiler::TNode<Map> tmp704;
1297 : compiler::TNode<Int32T> tmp705;
1298 : compiler::TNode<Int32T> tmp706;
1299 : compiler::TNode<Number> tmp707;
1300 : ca_.Bind(&block41, &tmp689, &tmp690, &tmp691, &tmp692, &tmp693, &tmp694, &tmp695, &tmp696, &tmp697, &tmp698, &tmp699, &tmp700, &tmp701, &tmp702, &tmp703, &tmp704, &tmp705, &tmp706, &tmp707);
1301 : ca_.Goto(&block1);
1302 : }
1303 :
1304 56 : if (block40.is_used()) {
1305 : compiler::TNode<Context> tmp708;
1306 : compiler::TNode<RawPtrT> tmp709;
1307 : compiler::TNode<RawPtrT> tmp710;
1308 : compiler::TNode<IntPtrT> tmp711;
1309 : compiler::TNode<JSReceiver> tmp712;
1310 : compiler::TNode<Number> tmp713;
1311 : compiler::TNode<Number> tmp714;
1312 : compiler::TNode<Smi> tmp715;
1313 : compiler::TNode<Number> tmp716;
1314 : compiler::TNode<Smi> tmp717;
1315 : compiler::TNode<Smi> tmp718;
1316 : compiler::TNode<Smi> tmp719;
1317 : compiler::TNode<Smi> tmp720;
1318 : compiler::TNode<Smi> tmp721;
1319 : compiler::TNode<JSArray> tmp722;
1320 : compiler::TNode<Map> tmp723;
1321 : compiler::TNode<Int32T> tmp724;
1322 : compiler::TNode<Int32T> tmp725;
1323 : compiler::TNode<Number> tmp726;
1324 : compiler::TNode<Smi> tmp727;
1325 : ca_.Bind(&block40, &tmp708, &tmp709, &tmp710, &tmp711, &tmp712, &tmp713, &tmp714, &tmp715, &tmp716, &tmp717, &tmp718, &tmp719, &tmp720, &tmp721, &tmp722, &tmp723, &tmp724, &tmp725, &tmp726, &tmp727);
1326 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 158);
1327 : compiler::TNode<BoolT> tmp728;
1328 : USE(tmp728);
1329 112 : tmp728 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiNotEqual(compiler::TNode<Smi>{tmp717}, compiler::TNode<Smi>{tmp727}));
1330 56 : ca_.Branch(tmp728, &block42, &block43, tmp708, tmp709, tmp710, tmp711, tmp712, tmp713, tmp714, tmp715, tmp716, tmp717, tmp718, tmp719, tmp720, tmp721, tmp722, tmp723, tmp724, tmp725, tmp727);
1331 : }
1332 :
1333 56 : if (block42.is_used()) {
1334 : compiler::TNode<Context> tmp729;
1335 : compiler::TNode<RawPtrT> tmp730;
1336 : compiler::TNode<RawPtrT> tmp731;
1337 : compiler::TNode<IntPtrT> tmp732;
1338 : compiler::TNode<JSReceiver> tmp733;
1339 : compiler::TNode<Number> tmp734;
1340 : compiler::TNode<Number> tmp735;
1341 : compiler::TNode<Smi> tmp736;
1342 : compiler::TNode<Number> tmp737;
1343 : compiler::TNode<Smi> tmp738;
1344 : compiler::TNode<Smi> tmp739;
1345 : compiler::TNode<Smi> tmp740;
1346 : compiler::TNode<Smi> tmp741;
1347 : compiler::TNode<Smi> tmp742;
1348 : compiler::TNode<JSArray> tmp743;
1349 : compiler::TNode<Map> tmp744;
1350 : compiler::TNode<Int32T> tmp745;
1351 : compiler::TNode<Int32T> tmp746;
1352 : compiler::TNode<Smi> tmp747;
1353 : ca_.Bind(&block42, &tmp729, &tmp730, &tmp731, &tmp732, &tmp733, &tmp734, &tmp735, &tmp736, &tmp737, &tmp738, &tmp739, &tmp740, &tmp741, &tmp742, &tmp743, &tmp744, &tmp745, &tmp746, &tmp747);
1354 : ca_.Goto(&block1);
1355 : }
1356 :
1357 56 : if (block43.is_used()) {
1358 : compiler::TNode<Context> tmp748;
1359 : compiler::TNode<RawPtrT> tmp749;
1360 : compiler::TNode<RawPtrT> tmp750;
1361 : compiler::TNode<IntPtrT> tmp751;
1362 : compiler::TNode<JSReceiver> tmp752;
1363 : compiler::TNode<Number> tmp753;
1364 : compiler::TNode<Number> tmp754;
1365 : compiler::TNode<Smi> tmp755;
1366 : compiler::TNode<Number> tmp756;
1367 : compiler::TNode<Smi> tmp757;
1368 : compiler::TNode<Smi> tmp758;
1369 : compiler::TNode<Smi> tmp759;
1370 : compiler::TNode<Smi> tmp760;
1371 : compiler::TNode<Smi> tmp761;
1372 : compiler::TNode<JSArray> tmp762;
1373 : compiler::TNode<Map> tmp763;
1374 : compiler::TNode<Int32T> tmp764;
1375 : compiler::TNode<Int32T> tmp765;
1376 : compiler::TNode<Smi> tmp766;
1377 : ca_.Bind(&block43, &tmp748, &tmp749, &tmp750, &tmp751, &tmp752, &tmp753, &tmp754, &tmp755, &tmp756, &tmp757, &tmp758, &tmp759, &tmp760, &tmp761, &tmp762, &tmp763, &tmp764, &tmp765, &tmp766);
1378 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 161);
1379 : compiler::TNode<JSArray> tmp767;
1380 112 : tmp767 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kExtractFastJSArray, tmp748, tmp762, tmp758, tmp759));
1381 : USE(tmp767);
1382 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 160);
1383 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 163);
1384 : compiler::TNode<Smi> tmp768;
1385 : USE(tmp768);
1386 168 : tmp768 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
1387 : compiler::TNode<BoolT> tmp769;
1388 : USE(tmp769);
1389 112 : tmp769 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiEqual(compiler::TNode<Smi>{tmp761}, compiler::TNode<Smi>{tmp768}));
1390 56 : ca_.Branch(tmp769, &block44, &block45, tmp748, tmp749, tmp750, tmp751, tmp752, tmp753, tmp754, tmp755, tmp756, tmp757, tmp758, tmp759, tmp760, tmp761, tmp762, tmp763, tmp764, tmp765, tmp766, tmp767);
1391 : }
1392 :
1393 56 : if (block44.is_used()) {
1394 : compiler::TNode<Context> tmp770;
1395 : compiler::TNode<RawPtrT> tmp771;
1396 : compiler::TNode<RawPtrT> tmp772;
1397 : compiler::TNode<IntPtrT> tmp773;
1398 : compiler::TNode<JSReceiver> tmp774;
1399 : compiler::TNode<Number> tmp775;
1400 : compiler::TNode<Number> tmp776;
1401 : compiler::TNode<Smi> tmp777;
1402 : compiler::TNode<Number> tmp778;
1403 : compiler::TNode<Smi> tmp779;
1404 : compiler::TNode<Smi> tmp780;
1405 : compiler::TNode<Smi> tmp781;
1406 : compiler::TNode<Smi> tmp782;
1407 : compiler::TNode<Smi> tmp783;
1408 : compiler::TNode<JSArray> tmp784;
1409 : compiler::TNode<Map> tmp785;
1410 : compiler::TNode<Int32T> tmp786;
1411 : compiler::TNode<Int32T> tmp787;
1412 : compiler::TNode<Smi> tmp788;
1413 : compiler::TNode<JSArray> tmp789;
1414 : ca_.Bind(&block44, &tmp770, &tmp771, &tmp772, &tmp773, &tmp774, &tmp775, &tmp776, &tmp777, &tmp778, &tmp779, &tmp780, &tmp781, &tmp782, &tmp783, &tmp784, &tmp785, &tmp786, &tmp787, &tmp788, &tmp789);
1415 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 164);
1416 56 : compiler::TNode<IntPtrT> tmp790 = ca_.IntPtrConstant(JSObject::kElementsOffset);
1417 : USE(tmp790);
1418 : compiler::TNode<FixedArray> tmp791;
1419 : USE(tmp791);
1420 168 : tmp791 = BaseBuiltinsFromDSLAssembler(state_).kEmptyFixedArray();
1421 112 : CodeStubAssembler(state_).StoreReference(CodeStubAssembler::Reference{tmp784, tmp790}, tmp791);
1422 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 165);
1423 56 : compiler::TNode<IntPtrT> tmp792 = ca_.IntPtrConstant(JSArray::kLengthOffset);
1424 : USE(tmp792);
1425 : compiler::TNode<Number> tmp793;
1426 : USE(tmp793);
1427 168 : tmp793 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
1428 112 : CodeStubAssembler(state_).StoreReference(CodeStubAssembler::Reference{tmp784, tmp792}, tmp793);
1429 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 166);
1430 : ca_.Goto(&block2, tmp770, tmp771, tmp772, tmp773, tmp774, tmp775, tmp776, tmp777, tmp778, tmp789);
1431 : }
1432 :
1433 56 : if (block45.is_used()) {
1434 : compiler::TNode<Context> tmp794;
1435 : compiler::TNode<RawPtrT> tmp795;
1436 : compiler::TNode<RawPtrT> tmp796;
1437 : compiler::TNode<IntPtrT> tmp797;
1438 : compiler::TNode<JSReceiver> tmp798;
1439 : compiler::TNode<Number> tmp799;
1440 : compiler::TNode<Number> tmp800;
1441 : compiler::TNode<Smi> tmp801;
1442 : compiler::TNode<Number> tmp802;
1443 : compiler::TNode<Smi> tmp803;
1444 : compiler::TNode<Smi> tmp804;
1445 : compiler::TNode<Smi> tmp805;
1446 : compiler::TNode<Smi> tmp806;
1447 : compiler::TNode<Smi> tmp807;
1448 : compiler::TNode<JSArray> tmp808;
1449 : compiler::TNode<Map> tmp809;
1450 : compiler::TNode<Int32T> tmp810;
1451 : compiler::TNode<Int32T> tmp811;
1452 : compiler::TNode<Smi> tmp812;
1453 : compiler::TNode<JSArray> tmp813;
1454 : ca_.Bind(&block45, &tmp794, &tmp795, &tmp796, &tmp797, &tmp798, &tmp799, &tmp800, &tmp801, &tmp802, &tmp803, &tmp804, &tmp805, &tmp806, &tmp807, &tmp808, &tmp809, &tmp810, &tmp811, &tmp812, &tmp813);
1455 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 169);
1456 : compiler::TNode<BoolT> tmp814;
1457 : USE(tmp814);
1458 112 : tmp814 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IsFastSmiOrTaggedElementsKind(compiler::TNode<Int32T>{tmp810}));
1459 56 : ca_.Branch(tmp814, &block46, &block47, tmp794, tmp795, tmp796, tmp797, tmp798, tmp799, tmp800, tmp801, tmp802, tmp803, tmp804, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813);
1460 : }
1461 :
1462 56 : if (block46.is_used()) {
1463 : compiler::TNode<Context> tmp815;
1464 : compiler::TNode<RawPtrT> tmp816;
1465 : compiler::TNode<RawPtrT> tmp817;
1466 : compiler::TNode<IntPtrT> tmp818;
1467 : compiler::TNode<JSReceiver> tmp819;
1468 : compiler::TNode<Number> tmp820;
1469 : compiler::TNode<Number> tmp821;
1470 : compiler::TNode<Smi> tmp822;
1471 : compiler::TNode<Number> tmp823;
1472 : compiler::TNode<Smi> tmp824;
1473 : compiler::TNode<Smi> tmp825;
1474 : compiler::TNode<Smi> tmp826;
1475 : compiler::TNode<Smi> tmp827;
1476 : compiler::TNode<Smi> tmp828;
1477 : compiler::TNode<JSArray> tmp829;
1478 : compiler::TNode<Map> tmp830;
1479 : compiler::TNode<Int32T> tmp831;
1480 : compiler::TNode<Int32T> tmp832;
1481 : compiler::TNode<Smi> tmp833;
1482 : compiler::TNode<JSArray> tmp834;
1483 : ca_.Bind(&block46, &tmp815, &tmp816, &tmp817, &tmp818, &tmp819, &tmp820, &tmp821, &tmp822, &tmp823, &tmp824, &tmp825, &tmp826, &tmp827, &tmp828, &tmp829, &tmp830, &tmp831, &tmp832, &tmp833, &tmp834);
1484 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 171);
1485 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 172);
1486 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 170);
1487 56 : compiler::CodeAssemblerLabel label0(&ca_);
1488 168 : ArraySpliceBuiltinsFromDSLAssembler(state_).FastSplice10FixedArray20UT5ATSmi10HeapObject(compiler::TNode<Context>{tmp815}, BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp816}, compiler::TNode<RawPtrT>{tmp817}, compiler::TNode<IntPtrT>{tmp818}}, compiler::TNode<JSArray>{tmp829}, compiler::TNode<Smi>{tmp833}, compiler::TNode<Smi>{tmp828}, compiler::TNode<Smi>{tmp827}, compiler::TNode<Smi>{tmp825}, compiler::TNode<Smi>{tmp822}, compiler::TNode<Smi>{tmp826}, &label0);
1489 : ca_.Goto(&block49, tmp815, tmp816, tmp817, tmp818, tmp819, tmp820, tmp821, tmp822, tmp823, tmp824, tmp825, tmp826, tmp827, tmp828, tmp829, tmp830, tmp831, tmp832, tmp833, tmp834, tmp816, tmp817, tmp818, tmp829, tmp833, tmp828, tmp827, tmp825, tmp822, tmp826);
1490 56 : if (label0.is_used()) {
1491 0 : ca_.Bind(&label0);
1492 : ca_.Goto(&block50, tmp815, tmp816, tmp817, tmp818, tmp819, tmp820, tmp821, tmp822, tmp823, tmp824, tmp825, tmp826, tmp827, tmp828, tmp829, tmp830, tmp831, tmp832, tmp833, tmp834, tmp816, tmp817, tmp818, tmp829, tmp833, tmp828, tmp827, tmp825, tmp822, tmp826);
1493 : }
1494 : }
1495 :
1496 56 : if (block50.is_used()) {
1497 : compiler::TNode<Context> tmp835;
1498 : compiler::TNode<RawPtrT> tmp836;
1499 : compiler::TNode<RawPtrT> tmp837;
1500 : compiler::TNode<IntPtrT> tmp838;
1501 : compiler::TNode<JSReceiver> tmp839;
1502 : compiler::TNode<Number> tmp840;
1503 : compiler::TNode<Number> tmp841;
1504 : compiler::TNode<Smi> tmp842;
1505 : compiler::TNode<Number> tmp843;
1506 : compiler::TNode<Smi> tmp844;
1507 : compiler::TNode<Smi> tmp845;
1508 : compiler::TNode<Smi> tmp846;
1509 : compiler::TNode<Smi> tmp847;
1510 : compiler::TNode<Smi> tmp848;
1511 : compiler::TNode<JSArray> tmp849;
1512 : compiler::TNode<Map> tmp850;
1513 : compiler::TNode<Int32T> tmp851;
1514 : compiler::TNode<Int32T> tmp852;
1515 : compiler::TNode<Smi> tmp853;
1516 : compiler::TNode<JSArray> tmp854;
1517 : compiler::TNode<RawPtrT> tmp855;
1518 : compiler::TNode<RawPtrT> tmp856;
1519 : compiler::TNode<IntPtrT> tmp857;
1520 : compiler::TNode<JSArray> tmp858;
1521 : compiler::TNode<Smi> tmp859;
1522 : compiler::TNode<Smi> tmp860;
1523 : compiler::TNode<Smi> tmp861;
1524 : compiler::TNode<Smi> tmp862;
1525 : compiler::TNode<Smi> tmp863;
1526 : compiler::TNode<Smi> tmp864;
1527 : ca_.Bind(&block50, &tmp835, &tmp836, &tmp837, &tmp838, &tmp839, &tmp840, &tmp841, &tmp842, &tmp843, &tmp844, &tmp845, &tmp846, &tmp847, &tmp848, &tmp849, &tmp850, &tmp851, &tmp852, &tmp853, &tmp854, &tmp855, &tmp856, &tmp857, &tmp858, &tmp859, &tmp860, &tmp861, &tmp862, &tmp863, &tmp864);
1528 : ca_.Goto(&block1);
1529 : }
1530 :
1531 56 : if (block49.is_used()) {
1532 : compiler::TNode<Context> tmp865;
1533 : compiler::TNode<RawPtrT> tmp866;
1534 : compiler::TNode<RawPtrT> tmp867;
1535 : compiler::TNode<IntPtrT> tmp868;
1536 : compiler::TNode<JSReceiver> tmp869;
1537 : compiler::TNode<Number> tmp870;
1538 : compiler::TNode<Number> tmp871;
1539 : compiler::TNode<Smi> tmp872;
1540 : compiler::TNode<Number> tmp873;
1541 : compiler::TNode<Smi> tmp874;
1542 : compiler::TNode<Smi> tmp875;
1543 : compiler::TNode<Smi> tmp876;
1544 : compiler::TNode<Smi> tmp877;
1545 : compiler::TNode<Smi> tmp878;
1546 : compiler::TNode<JSArray> tmp879;
1547 : compiler::TNode<Map> tmp880;
1548 : compiler::TNode<Int32T> tmp881;
1549 : compiler::TNode<Int32T> tmp882;
1550 : compiler::TNode<Smi> tmp883;
1551 : compiler::TNode<JSArray> tmp884;
1552 : compiler::TNode<RawPtrT> tmp885;
1553 : compiler::TNode<RawPtrT> tmp886;
1554 : compiler::TNode<IntPtrT> tmp887;
1555 : compiler::TNode<JSArray> tmp888;
1556 : compiler::TNode<Smi> tmp889;
1557 : compiler::TNode<Smi> tmp890;
1558 : compiler::TNode<Smi> tmp891;
1559 : compiler::TNode<Smi> tmp892;
1560 : compiler::TNode<Smi> tmp893;
1561 : compiler::TNode<Smi> tmp894;
1562 : ca_.Bind(&block49, &tmp865, &tmp866, &tmp867, &tmp868, &tmp869, &tmp870, &tmp871, &tmp872, &tmp873, &tmp874, &tmp875, &tmp876, &tmp877, &tmp878, &tmp879, &tmp880, &tmp881, &tmp882, &tmp883, &tmp884, &tmp885, &tmp886, &tmp887, &tmp888, &tmp889, &tmp890, &tmp891, &tmp892, &tmp893, &tmp894);
1563 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 169);
1564 : ca_.Goto(&block48, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp874, tmp875, tmp876, tmp877, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884);
1565 : }
1566 :
1567 56 : if (block47.is_used()) {
1568 : compiler::TNode<Context> tmp895;
1569 : compiler::TNode<RawPtrT> tmp896;
1570 : compiler::TNode<RawPtrT> tmp897;
1571 : compiler::TNode<IntPtrT> tmp898;
1572 : compiler::TNode<JSReceiver> tmp899;
1573 : compiler::TNode<Number> tmp900;
1574 : compiler::TNode<Number> tmp901;
1575 : compiler::TNode<Smi> tmp902;
1576 : compiler::TNode<Number> tmp903;
1577 : compiler::TNode<Smi> tmp904;
1578 : compiler::TNode<Smi> tmp905;
1579 : compiler::TNode<Smi> tmp906;
1580 : compiler::TNode<Smi> tmp907;
1581 : compiler::TNode<Smi> tmp908;
1582 : compiler::TNode<JSArray> tmp909;
1583 : compiler::TNode<Map> tmp910;
1584 : compiler::TNode<Int32T> tmp911;
1585 : compiler::TNode<Int32T> tmp912;
1586 : compiler::TNode<Smi> tmp913;
1587 : compiler::TNode<JSArray> tmp914;
1588 : ca_.Bind(&block47, &tmp895, &tmp896, &tmp897, &tmp898, &tmp899, &tmp900, &tmp901, &tmp902, &tmp903, &tmp904, &tmp905, &tmp906, &tmp907, &tmp908, &tmp909, &tmp910, &tmp911, &tmp912, &tmp913, &tmp914);
1589 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 175);
1590 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 176);
1591 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 174);
1592 56 : compiler::CodeAssemblerLabel label0(&ca_);
1593 168 : ArraySpliceBuiltinsFromDSLAssembler(state_).FastSplice16FixedDoubleArray20UT5ATSmi10HeapNumber(compiler::TNode<Context>{tmp895}, BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp896}, compiler::TNode<RawPtrT>{tmp897}, compiler::TNode<IntPtrT>{tmp898}}, compiler::TNode<JSArray>{tmp909}, compiler::TNode<Smi>{tmp913}, compiler::TNode<Smi>{tmp908}, compiler::TNode<Smi>{tmp907}, compiler::TNode<Smi>{tmp905}, compiler::TNode<Smi>{tmp902}, compiler::TNode<Smi>{tmp906}, &label0);
1594 : ca_.Goto(&block51, tmp895, tmp896, tmp897, tmp898, tmp899, tmp900, tmp901, tmp902, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp896, tmp897, tmp898, tmp909, tmp913, tmp908, tmp907, tmp905, tmp902, tmp906);
1595 56 : if (label0.is_used()) {
1596 0 : ca_.Bind(&label0);
1597 : ca_.Goto(&block52, tmp895, tmp896, tmp897, tmp898, tmp899, tmp900, tmp901, tmp902, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp896, tmp897, tmp898, tmp909, tmp913, tmp908, tmp907, tmp905, tmp902, tmp906);
1598 : }
1599 : }
1600 :
1601 56 : if (block52.is_used()) {
1602 : compiler::TNode<Context> tmp915;
1603 : compiler::TNode<RawPtrT> tmp916;
1604 : compiler::TNode<RawPtrT> tmp917;
1605 : compiler::TNode<IntPtrT> tmp918;
1606 : compiler::TNode<JSReceiver> tmp919;
1607 : compiler::TNode<Number> tmp920;
1608 : compiler::TNode<Number> tmp921;
1609 : compiler::TNode<Smi> tmp922;
1610 : compiler::TNode<Number> tmp923;
1611 : compiler::TNode<Smi> tmp924;
1612 : compiler::TNode<Smi> tmp925;
1613 : compiler::TNode<Smi> tmp926;
1614 : compiler::TNode<Smi> tmp927;
1615 : compiler::TNode<Smi> tmp928;
1616 : compiler::TNode<JSArray> tmp929;
1617 : compiler::TNode<Map> tmp930;
1618 : compiler::TNode<Int32T> tmp931;
1619 : compiler::TNode<Int32T> tmp932;
1620 : compiler::TNode<Smi> tmp933;
1621 : compiler::TNode<JSArray> tmp934;
1622 : compiler::TNode<RawPtrT> tmp935;
1623 : compiler::TNode<RawPtrT> tmp936;
1624 : compiler::TNode<IntPtrT> tmp937;
1625 : compiler::TNode<JSArray> tmp938;
1626 : compiler::TNode<Smi> tmp939;
1627 : compiler::TNode<Smi> tmp940;
1628 : compiler::TNode<Smi> tmp941;
1629 : compiler::TNode<Smi> tmp942;
1630 : compiler::TNode<Smi> tmp943;
1631 : compiler::TNode<Smi> tmp944;
1632 : ca_.Bind(&block52, &tmp915, &tmp916, &tmp917, &tmp918, &tmp919, &tmp920, &tmp921, &tmp922, &tmp923, &tmp924, &tmp925, &tmp926, &tmp927, &tmp928, &tmp929, &tmp930, &tmp931, &tmp932, &tmp933, &tmp934, &tmp935, &tmp936, &tmp937, &tmp938, &tmp939, &tmp940, &tmp941, &tmp942, &tmp943, &tmp944);
1633 : ca_.Goto(&block1);
1634 : }
1635 :
1636 56 : if (block51.is_used()) {
1637 : compiler::TNode<Context> tmp945;
1638 : compiler::TNode<RawPtrT> tmp946;
1639 : compiler::TNode<RawPtrT> tmp947;
1640 : compiler::TNode<IntPtrT> tmp948;
1641 : compiler::TNode<JSReceiver> tmp949;
1642 : compiler::TNode<Number> tmp950;
1643 : compiler::TNode<Number> tmp951;
1644 : compiler::TNode<Smi> tmp952;
1645 : compiler::TNode<Number> tmp953;
1646 : compiler::TNode<Smi> tmp954;
1647 : compiler::TNode<Smi> tmp955;
1648 : compiler::TNode<Smi> tmp956;
1649 : compiler::TNode<Smi> tmp957;
1650 : compiler::TNode<Smi> tmp958;
1651 : compiler::TNode<JSArray> tmp959;
1652 : compiler::TNode<Map> tmp960;
1653 : compiler::TNode<Int32T> tmp961;
1654 : compiler::TNode<Int32T> tmp962;
1655 : compiler::TNode<Smi> tmp963;
1656 : compiler::TNode<JSArray> tmp964;
1657 : compiler::TNode<RawPtrT> tmp965;
1658 : compiler::TNode<RawPtrT> tmp966;
1659 : compiler::TNode<IntPtrT> tmp967;
1660 : compiler::TNode<JSArray> tmp968;
1661 : compiler::TNode<Smi> tmp969;
1662 : compiler::TNode<Smi> tmp970;
1663 : compiler::TNode<Smi> tmp971;
1664 : compiler::TNode<Smi> tmp972;
1665 : compiler::TNode<Smi> tmp973;
1666 : compiler::TNode<Smi> tmp974;
1667 : ca_.Bind(&block51, &tmp945, &tmp946, &tmp947, &tmp948, &tmp949, &tmp950, &tmp951, &tmp952, &tmp953, &tmp954, &tmp955, &tmp956, &tmp957, &tmp958, &tmp959, &tmp960, &tmp961, &tmp962, &tmp963, &tmp964, &tmp965, &tmp966, &tmp967, &tmp968, &tmp969, &tmp970, &tmp971, &tmp972, &tmp973, &tmp974);
1668 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 169);
1669 : ca_.Goto(&block48, tmp945, tmp946, tmp947, tmp948, tmp949, tmp950, tmp951, tmp952, tmp953, tmp954, tmp955, tmp956, tmp957, tmp958, tmp959, tmp960, tmp961, tmp962, tmp963, tmp964);
1670 : }
1671 :
1672 56 : if (block48.is_used()) {
1673 : compiler::TNode<Context> tmp975;
1674 : compiler::TNode<RawPtrT> tmp976;
1675 : compiler::TNode<RawPtrT> tmp977;
1676 : compiler::TNode<IntPtrT> tmp978;
1677 : compiler::TNode<JSReceiver> tmp979;
1678 : compiler::TNode<Number> tmp980;
1679 : compiler::TNode<Number> tmp981;
1680 : compiler::TNode<Smi> tmp982;
1681 : compiler::TNode<Number> tmp983;
1682 : compiler::TNode<Smi> tmp984;
1683 : compiler::TNode<Smi> tmp985;
1684 : compiler::TNode<Smi> tmp986;
1685 : compiler::TNode<Smi> tmp987;
1686 : compiler::TNode<Smi> tmp988;
1687 : compiler::TNode<JSArray> tmp989;
1688 : compiler::TNode<Map> tmp990;
1689 : compiler::TNode<Int32T> tmp991;
1690 : compiler::TNode<Int32T> tmp992;
1691 : compiler::TNode<Smi> tmp993;
1692 : compiler::TNode<JSArray> tmp994;
1693 : ca_.Bind(&block48, &tmp975, &tmp976, &tmp977, &tmp978, &tmp979, &tmp980, &tmp981, &tmp982, &tmp983, &tmp984, &tmp985, &tmp986, &tmp987, &tmp988, &tmp989, &tmp990, &tmp991, &tmp992, &tmp993, &tmp994);
1694 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 179);
1695 : ca_.Goto(&block2, tmp975, tmp976, tmp977, tmp978, tmp979, tmp980, tmp981, tmp982, tmp983, tmp994);
1696 : }
1697 :
1698 56 : if (block2.is_used()) {
1699 : compiler::TNode<Context> tmp995;
1700 : compiler::TNode<RawPtrT> tmp996;
1701 : compiler::TNode<RawPtrT> tmp997;
1702 : compiler::TNode<IntPtrT> tmp998;
1703 : compiler::TNode<JSReceiver> tmp999;
1704 : compiler::TNode<Number> tmp1000;
1705 : compiler::TNode<Number> tmp1001;
1706 : compiler::TNode<Smi> tmp1002;
1707 : compiler::TNode<Number> tmp1003;
1708 : compiler::TNode<Object> tmp1004;
1709 : ca_.Bind(&block2, &tmp995, &tmp996, &tmp997, &tmp998, &tmp999, &tmp1000, &tmp1001, &tmp1002, &tmp1003, &tmp1004);
1710 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 110);
1711 : ca_.Goto(&block53, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001, tmp1002, tmp1003, tmp1004);
1712 : }
1713 :
1714 56 : if (block1.is_used()) {
1715 : ca_.Bind(&block1);
1716 56 : ca_.Goto(label_Bailout);
1717 : }
1718 :
1719 : compiler::TNode<Context> tmp1005;
1720 : compiler::TNode<RawPtrT> tmp1006;
1721 : compiler::TNode<RawPtrT> tmp1007;
1722 : compiler::TNode<IntPtrT> tmp1008;
1723 : compiler::TNode<JSReceiver> tmp1009;
1724 : compiler::TNode<Number> tmp1010;
1725 : compiler::TNode<Number> tmp1011;
1726 : compiler::TNode<Smi> tmp1012;
1727 : compiler::TNode<Number> tmp1013;
1728 : compiler::TNode<Object> tmp1014;
1729 : ca_.Bind(&block53, &tmp1005, &tmp1006, &tmp1007, &tmp1008, &tmp1009, &tmp1010, &tmp1011, &tmp1012, &tmp1013, &tmp1014);
1730 112 : return compiler::TNode<Object>{tmp1014};
1731 : }
1732 :
1733 56 : compiler::TNode<Object> ArraySpliceBuiltinsFromDSLAssembler::FillDeletedElementsArray(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_actualStart, compiler::TNode<Number> p_actualDeleteCount, compiler::TNode<JSReceiver> p_a) {
1734 56 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, JSReceiver> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1735 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, JSReceiver, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1736 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, JSReceiver, Number, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1737 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, JSReceiver, Number, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1738 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1739 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, JSReceiver, Number, Number, Oddball> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1740 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, JSReceiver, Number, Number, Oddball> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1741 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, JSReceiver, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1742 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, JSReceiver, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1743 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, JSReceiver, Object> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1744 : ca_.Goto(&block0, p_context, p_o, p_actualStart, p_actualDeleteCount, p_a);
1745 :
1746 56 : if (block0.is_used()) {
1747 : compiler::TNode<Context> tmp0;
1748 : compiler::TNode<JSReceiver> tmp1;
1749 : compiler::TNode<Number> tmp2;
1750 : compiler::TNode<Number> tmp3;
1751 : compiler::TNode<JSReceiver> tmp4;
1752 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
1753 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 186);
1754 : compiler::TNode<Number> tmp5;
1755 : USE(tmp5);
1756 168 : tmp5 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
1757 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 189);
1758 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5);
1759 : }
1760 :
1761 56 : if (block4.is_used()) {
1762 : compiler::TNode<Context> tmp6;
1763 : compiler::TNode<JSReceiver> tmp7;
1764 : compiler::TNode<Number> tmp8;
1765 : compiler::TNode<Number> tmp9;
1766 : compiler::TNode<JSReceiver> tmp10;
1767 : compiler::TNode<Number> tmp11;
1768 : ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11);
1769 56 : compiler::CodeAssemblerLabel label0(&ca_);
1770 56 : compiler::CodeAssemblerLabel label1(&ca_);
1771 112 : CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp11}, compiler::TNode<Number>{tmp9}, &label0, &label1);
1772 56 : if (label0.is_used()) {
1773 56 : ca_.Bind(&label0);
1774 : ca_.Goto(&block5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp11, tmp9);
1775 : }
1776 56 : if (label1.is_used()) {
1777 56 : ca_.Bind(&label1);
1778 : ca_.Goto(&block6, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp11, tmp9);
1779 : }
1780 : }
1781 :
1782 56 : if (block5.is_used()) {
1783 : compiler::TNode<Context> tmp12;
1784 : compiler::TNode<JSReceiver> tmp13;
1785 : compiler::TNode<Number> tmp14;
1786 : compiler::TNode<Number> tmp15;
1787 : compiler::TNode<JSReceiver> tmp16;
1788 : compiler::TNode<Number> tmp17;
1789 : compiler::TNode<Number> tmp18;
1790 : compiler::TNode<Number> tmp19;
1791 : ca_.Bind(&block5, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19);
1792 : ca_.Goto(&block2, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17);
1793 : }
1794 :
1795 56 : if (block6.is_used()) {
1796 : compiler::TNode<Context> tmp20;
1797 : compiler::TNode<JSReceiver> tmp21;
1798 : compiler::TNode<Number> tmp22;
1799 : compiler::TNode<Number> tmp23;
1800 : compiler::TNode<JSReceiver> tmp24;
1801 : compiler::TNode<Number> tmp25;
1802 : compiler::TNode<Number> tmp26;
1803 : compiler::TNode<Number> tmp27;
1804 : ca_.Bind(&block6, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27);
1805 : ca_.Goto(&block3, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25);
1806 : }
1807 :
1808 56 : if (block2.is_used()) {
1809 : compiler::TNode<Context> tmp28;
1810 : compiler::TNode<JSReceiver> tmp29;
1811 : compiler::TNode<Number> tmp30;
1812 : compiler::TNode<Number> tmp31;
1813 : compiler::TNode<JSReceiver> tmp32;
1814 : compiler::TNode<Number> tmp33;
1815 : ca_.Bind(&block2, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33);
1816 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 191);
1817 : compiler::TNode<Number> tmp34;
1818 : USE(tmp34);
1819 224 : tmp34 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp30}, compiler::TNode<Number>{tmp33}));
1820 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 194);
1821 : compiler::TNode<Oddball> tmp35;
1822 112 : tmp35 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kHasProperty, tmp28, tmp29, tmp34));
1823 : USE(tmp35);
1824 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 197);
1825 : compiler::TNode<Oddball> tmp36;
1826 : USE(tmp36);
1827 168 : tmp36 = BaseBuiltinsFromDSLAssembler(state_).True();
1828 : compiler::TNode<BoolT> tmp37;
1829 : USE(tmp37);
1830 112 : tmp37 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp35}, compiler::TNode<HeapObject>{tmp36}));
1831 56 : ca_.Branch(tmp37, &block7, &block8, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35);
1832 : }
1833 :
1834 56 : if (block7.is_used()) {
1835 : compiler::TNode<Context> tmp38;
1836 : compiler::TNode<JSReceiver> tmp39;
1837 : compiler::TNode<Number> tmp40;
1838 : compiler::TNode<Number> tmp41;
1839 : compiler::TNode<JSReceiver> tmp42;
1840 : compiler::TNode<Number> tmp43;
1841 : compiler::TNode<Number> tmp44;
1842 : compiler::TNode<Oddball> tmp45;
1843 : ca_.Bind(&block7, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45);
1844 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 199);
1845 : compiler::TNode<Object> tmp46;
1846 : USE(tmp46);
1847 112 : tmp46 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp38}, compiler::TNode<Object>{tmp39}, compiler::TNode<Object>{tmp44}));
1848 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 202);
1849 : compiler::TNode<Object> tmp47;
1850 112 : tmp47 = CodeStubAssembler(state_).CallBuiltin(Builtins::kFastCreateDataProperty, tmp38, tmp42, tmp43, tmp46);
1851 : USE(tmp47);
1852 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 197);
1853 : ca_.Goto(&block8, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45);
1854 : }
1855 :
1856 56 : if (block8.is_used()) {
1857 : compiler::TNode<Context> tmp48;
1858 : compiler::TNode<JSReceiver> tmp49;
1859 : compiler::TNode<Number> tmp50;
1860 : compiler::TNode<Number> tmp51;
1861 : compiler::TNode<JSReceiver> tmp52;
1862 : compiler::TNode<Number> tmp53;
1863 : compiler::TNode<Number> tmp54;
1864 : compiler::TNode<Oddball> tmp55;
1865 : ca_.Bind(&block8, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55);
1866 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 206);
1867 : compiler::TNode<Number> tmp56;
1868 : USE(tmp56);
1869 168 : tmp56 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
1870 : compiler::TNode<Number> tmp57;
1871 : USE(tmp57);
1872 168 : tmp57 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp53}, compiler::TNode<Number>{tmp56}));
1873 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 189);
1874 : ca_.Goto(&block4, tmp48, tmp49, tmp50, tmp51, tmp52, tmp57);
1875 : }
1876 :
1877 56 : if (block3.is_used()) {
1878 : compiler::TNode<Context> tmp58;
1879 : compiler::TNode<JSReceiver> tmp59;
1880 : compiler::TNode<Number> tmp60;
1881 : compiler::TNode<Number> tmp61;
1882 : compiler::TNode<JSReceiver> tmp62;
1883 : compiler::TNode<Number> tmp63;
1884 : ca_.Bind(&block3, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63);
1885 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 209);
1886 : compiler::TNode<String> tmp64;
1887 : USE(tmp64);
1888 168 : tmp64 = BaseBuiltinsFromDSLAssembler(state_).kLengthString();
1889 112 : CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp58, tmp62, tmp64, tmp61);
1890 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 210);
1891 : ca_.Goto(&block1, tmp58, tmp59, tmp60, tmp61, tmp62, tmp62);
1892 : }
1893 :
1894 56 : if (block1.is_used()) {
1895 : compiler::TNode<Context> tmp66;
1896 : compiler::TNode<JSReceiver> tmp67;
1897 : compiler::TNode<Number> tmp68;
1898 : compiler::TNode<Number> tmp69;
1899 : compiler::TNode<JSReceiver> tmp70;
1900 : compiler::TNode<Object> tmp71;
1901 : ca_.Bind(&block1, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71);
1902 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 182);
1903 : ca_.Goto(&block9, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71);
1904 : }
1905 :
1906 : compiler::TNode<Context> tmp72;
1907 : compiler::TNode<JSReceiver> tmp73;
1908 : compiler::TNode<Number> tmp74;
1909 : compiler::TNode<Number> tmp75;
1910 : compiler::TNode<JSReceiver> tmp76;
1911 : compiler::TNode<Object> tmp77;
1912 : ca_.Bind(&block9, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
1913 112 : return compiler::TNode<Object>{tmp77};
1914 : }
1915 :
1916 56 : void ArraySpliceBuiltinsFromDSLAssembler::HandleForwardCase(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_len, compiler::TNode<Number> p_itemCount, compiler::TNode<Number> p_actualStart, compiler::TNode<Number> p_actualDeleteCount) {
1917 56 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1918 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1919 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1920 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1921 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1922 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number, Number, Number, Oddball> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1923 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number, Number, Number, Oddball> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1924 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number, Number, Number, Oddball> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1925 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1926 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1927 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number, Number, Number> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1928 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number, Number, Number> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1929 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1930 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1931 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1932 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
1933 : ca_.Goto(&block0, p_context, p_o, p_len, p_itemCount, p_actualStart, p_actualDeleteCount);
1934 :
1935 56 : if (block0.is_used()) {
1936 : compiler::TNode<Context> tmp0;
1937 : compiler::TNode<JSReceiver> tmp1;
1938 : compiler::TNode<Number> tmp2;
1939 : compiler::TNode<Number> tmp3;
1940 : compiler::TNode<Number> tmp4;
1941 : compiler::TNode<Number> tmp5;
1942 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
1943 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 220);
1944 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 223);
1945 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp4);
1946 : }
1947 :
1948 56 : if (block4.is_used()) {
1949 : compiler::TNode<Context> tmp6;
1950 : compiler::TNode<JSReceiver> tmp7;
1951 : compiler::TNode<Number> tmp8;
1952 : compiler::TNode<Number> tmp9;
1953 : compiler::TNode<Number> tmp10;
1954 : compiler::TNode<Number> tmp11;
1955 : compiler::TNode<Number> tmp12;
1956 : ca_.Bind(&block4, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12);
1957 : compiler::TNode<Number> tmp13;
1958 : USE(tmp13);
1959 224 : tmp13 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp8}, compiler::TNode<Number>{tmp11}));
1960 56 : compiler::CodeAssemblerLabel label0(&ca_);
1961 56 : compiler::CodeAssemblerLabel label1(&ca_);
1962 112 : CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp12}, compiler::TNode<Number>{tmp13}, &label0, &label1);
1963 56 : if (label0.is_used()) {
1964 56 : ca_.Bind(&label0);
1965 : ca_.Goto(&block5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp12, tmp13);
1966 : }
1967 56 : if (label1.is_used()) {
1968 56 : ca_.Bind(&label1);
1969 : ca_.Goto(&block6, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp12, tmp13);
1970 : }
1971 : }
1972 :
1973 56 : if (block5.is_used()) {
1974 : compiler::TNode<Context> tmp14;
1975 : compiler::TNode<JSReceiver> tmp15;
1976 : compiler::TNode<Number> tmp16;
1977 : compiler::TNode<Number> tmp17;
1978 : compiler::TNode<Number> tmp18;
1979 : compiler::TNode<Number> tmp19;
1980 : compiler::TNode<Number> tmp20;
1981 : compiler::TNode<Number> tmp21;
1982 : compiler::TNode<Number> tmp22;
1983 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
1984 : ca_.Goto(&block2, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
1985 : }
1986 :
1987 56 : if (block6.is_used()) {
1988 : compiler::TNode<Context> tmp23;
1989 : compiler::TNode<JSReceiver> tmp24;
1990 : compiler::TNode<Number> tmp25;
1991 : compiler::TNode<Number> tmp26;
1992 : compiler::TNode<Number> tmp27;
1993 : compiler::TNode<Number> tmp28;
1994 : compiler::TNode<Number> tmp29;
1995 : compiler::TNode<Number> tmp30;
1996 : compiler::TNode<Number> tmp31;
1997 : ca_.Bind(&block6, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
1998 : ca_.Goto(&block3, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29);
1999 : }
2000 :
2001 56 : if (block2.is_used()) {
2002 : compiler::TNode<Context> tmp32;
2003 : compiler::TNode<JSReceiver> tmp33;
2004 : compiler::TNode<Number> tmp34;
2005 : compiler::TNode<Number> tmp35;
2006 : compiler::TNode<Number> tmp36;
2007 : compiler::TNode<Number> tmp37;
2008 : compiler::TNode<Number> tmp38;
2009 : ca_.Bind(&block2, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
2010 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 225);
2011 : compiler::TNode<Number> tmp39;
2012 : USE(tmp39);
2013 224 : tmp39 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp38}, compiler::TNode<Number>{tmp37}));
2014 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 227);
2015 : compiler::TNode<Number> tmp40;
2016 : USE(tmp40);
2017 224 : tmp40 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp38}, compiler::TNode<Number>{tmp35}));
2018 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 230);
2019 : compiler::TNode<Oddball> tmp41;
2020 112 : tmp41 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kHasProperty, tmp32, tmp33, tmp39));
2021 : USE(tmp41);
2022 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 233);
2023 : compiler::TNode<Oddball> tmp42;
2024 : USE(tmp42);
2025 168 : tmp42 = BaseBuiltinsFromDSLAssembler(state_).True();
2026 : compiler::TNode<BoolT> tmp43;
2027 : USE(tmp43);
2028 112 : tmp43 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp41}, compiler::TNode<HeapObject>{tmp42}));
2029 56 : ca_.Branch(tmp43, &block7, &block8, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41);
2030 : }
2031 :
2032 56 : if (block7.is_used()) {
2033 : compiler::TNode<Context> tmp44;
2034 : compiler::TNode<JSReceiver> tmp45;
2035 : compiler::TNode<Number> tmp46;
2036 : compiler::TNode<Number> tmp47;
2037 : compiler::TNode<Number> tmp48;
2038 : compiler::TNode<Number> tmp49;
2039 : compiler::TNode<Number> tmp50;
2040 : compiler::TNode<Number> tmp51;
2041 : compiler::TNode<Number> tmp52;
2042 : compiler::TNode<Oddball> tmp53;
2043 : ca_.Bind(&block7, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53);
2044 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 235);
2045 : compiler::TNode<Object> tmp54;
2046 : USE(tmp54);
2047 112 : tmp54 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp44}, compiler::TNode<Object>{tmp45}, compiler::TNode<Object>{tmp51}));
2048 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 238);
2049 112 : CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp44, tmp45, tmp52, tmp54);
2050 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 233);
2051 : ca_.Goto(&block9, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53);
2052 : }
2053 :
2054 56 : if (block8.is_used()) {
2055 : compiler::TNode<Context> tmp56;
2056 : compiler::TNode<JSReceiver> tmp57;
2057 : compiler::TNode<Number> tmp58;
2058 : compiler::TNode<Number> tmp59;
2059 : compiler::TNode<Number> tmp60;
2060 : compiler::TNode<Number> tmp61;
2061 : compiler::TNode<Number> tmp62;
2062 : compiler::TNode<Number> tmp63;
2063 : compiler::TNode<Number> tmp64;
2064 : compiler::TNode<Oddball> tmp65;
2065 : ca_.Bind(&block8, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65);
2066 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 243);
2067 : compiler::TNode<Smi> tmp66;
2068 : USE(tmp66);
2069 168 : tmp66 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode::kStrict));
2070 112 : CodeStubAssembler(state_).CallBuiltin(Builtins::kDeleteProperty, tmp56, tmp57, tmp64, tmp66);
2071 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 233);
2072 : ca_.Goto(&block9, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65);
2073 : }
2074 :
2075 56 : if (block9.is_used()) {
2076 : compiler::TNode<Context> tmp68;
2077 : compiler::TNode<JSReceiver> tmp69;
2078 : compiler::TNode<Number> tmp70;
2079 : compiler::TNode<Number> tmp71;
2080 : compiler::TNode<Number> tmp72;
2081 : compiler::TNode<Number> tmp73;
2082 : compiler::TNode<Number> tmp74;
2083 : compiler::TNode<Number> tmp75;
2084 : compiler::TNode<Number> tmp76;
2085 : compiler::TNode<Oddball> tmp77;
2086 : ca_.Bind(&block9, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
2087 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 246);
2088 : compiler::TNode<Number> tmp78;
2089 : USE(tmp78);
2090 168 : tmp78 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
2091 : compiler::TNode<Number> tmp79;
2092 : USE(tmp79);
2093 168 : tmp79 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp74}, compiler::TNode<Number>{tmp78}));
2094 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 223);
2095 : ca_.Goto(&block4, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp79);
2096 : }
2097 :
2098 56 : if (block3.is_used()) {
2099 : compiler::TNode<Context> tmp80;
2100 : compiler::TNode<JSReceiver> tmp81;
2101 : compiler::TNode<Number> tmp82;
2102 : compiler::TNode<Number> tmp83;
2103 : compiler::TNode<Number> tmp84;
2104 : compiler::TNode<Number> tmp85;
2105 : compiler::TNode<Number> tmp86;
2106 : ca_.Bind(&block3, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86);
2107 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 250);
2108 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 253);
2109 : ca_.Goto(&block12, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp82);
2110 : }
2111 :
2112 56 : if (block12.is_used()) {
2113 : compiler::TNode<Context> tmp87;
2114 : compiler::TNode<JSReceiver> tmp88;
2115 : compiler::TNode<Number> tmp89;
2116 : compiler::TNode<Number> tmp90;
2117 : compiler::TNode<Number> tmp91;
2118 : compiler::TNode<Number> tmp92;
2119 : compiler::TNode<Number> tmp93;
2120 : ca_.Bind(&block12, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93);
2121 : compiler::TNode<Number> tmp94;
2122 : USE(tmp94);
2123 224 : tmp94 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp89}, compiler::TNode<Number>{tmp92}));
2124 : compiler::TNode<Number> tmp95;
2125 : USE(tmp95);
2126 168 : tmp95 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp94}, compiler::TNode<Number>{tmp90}));
2127 56 : compiler::CodeAssemblerLabel label0(&ca_);
2128 56 : compiler::CodeAssemblerLabel label1(&ca_);
2129 112 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp93}, compiler::TNode<Number>{tmp95}, &label0, &label1);
2130 56 : if (label0.is_used()) {
2131 56 : ca_.Bind(&label0);
2132 : ca_.Goto(&block13, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp93, tmp95);
2133 : }
2134 56 : if (label1.is_used()) {
2135 56 : ca_.Bind(&label1);
2136 : ca_.Goto(&block14, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp93, tmp95);
2137 : }
2138 : }
2139 :
2140 56 : if (block13.is_used()) {
2141 : compiler::TNode<Context> tmp96;
2142 : compiler::TNode<JSReceiver> tmp97;
2143 : compiler::TNode<Number> tmp98;
2144 : compiler::TNode<Number> tmp99;
2145 : compiler::TNode<Number> tmp100;
2146 : compiler::TNode<Number> tmp101;
2147 : compiler::TNode<Number> tmp102;
2148 : compiler::TNode<Number> tmp103;
2149 : compiler::TNode<Number> tmp104;
2150 : ca_.Bind(&block13, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104);
2151 : ca_.Goto(&block10, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102);
2152 : }
2153 :
2154 56 : if (block14.is_used()) {
2155 : compiler::TNode<Context> tmp105;
2156 : compiler::TNode<JSReceiver> tmp106;
2157 : compiler::TNode<Number> tmp107;
2158 : compiler::TNode<Number> tmp108;
2159 : compiler::TNode<Number> tmp109;
2160 : compiler::TNode<Number> tmp110;
2161 : compiler::TNode<Number> tmp111;
2162 : compiler::TNode<Number> tmp112;
2163 : compiler::TNode<Number> tmp113;
2164 : ca_.Bind(&block14, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113);
2165 : ca_.Goto(&block11, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111);
2166 : }
2167 :
2168 56 : if (block10.is_used()) {
2169 : compiler::TNode<Context> tmp114;
2170 : compiler::TNode<JSReceiver> tmp115;
2171 : compiler::TNode<Number> tmp116;
2172 : compiler::TNode<Number> tmp117;
2173 : compiler::TNode<Number> tmp118;
2174 : compiler::TNode<Number> tmp119;
2175 : compiler::TNode<Number> tmp120;
2176 : ca_.Bind(&block10, &tmp114, &tmp115, &tmp116, &tmp117, &tmp118, &tmp119, &tmp120);
2177 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 255);
2178 : compiler::TNode<Number> tmp121;
2179 : USE(tmp121);
2180 168 : tmp121 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
2181 : compiler::TNode<Number> tmp122;
2182 : USE(tmp122);
2183 168 : tmp122 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp120}, compiler::TNode<Number>{tmp121}));
2184 : compiler::TNode<Smi> tmp123;
2185 : USE(tmp123);
2186 168 : tmp123 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode::kStrict));
2187 112 : CodeStubAssembler(state_).CallBuiltin(Builtins::kDeleteProperty, tmp114, tmp115, tmp122, tmp123);
2188 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 257);
2189 : compiler::TNode<Number> tmp125;
2190 : USE(tmp125);
2191 168 : tmp125 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
2192 : compiler::TNode<Number> tmp126;
2193 : USE(tmp126);
2194 168 : tmp126 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp120}, compiler::TNode<Number>{tmp125}));
2195 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 253);
2196 : ca_.Goto(&block12, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp126);
2197 : }
2198 :
2199 56 : if (block11.is_used()) {
2200 : compiler::TNode<Context> tmp127;
2201 : compiler::TNode<JSReceiver> tmp128;
2202 : compiler::TNode<Number> tmp129;
2203 : compiler::TNode<Number> tmp130;
2204 : compiler::TNode<Number> tmp131;
2205 : compiler::TNode<Number> tmp132;
2206 : compiler::TNode<Number> tmp133;
2207 : ca_.Bind(&block11, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133);
2208 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 217);
2209 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 215);
2210 : ca_.Goto(&block1, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132);
2211 : }
2212 :
2213 56 : if (block1.is_used()) {
2214 : compiler::TNode<Context> tmp134;
2215 : compiler::TNode<JSReceiver> tmp135;
2216 : compiler::TNode<Number> tmp136;
2217 : compiler::TNode<Number> tmp137;
2218 : compiler::TNode<Number> tmp138;
2219 : compiler::TNode<Number> tmp139;
2220 : ca_.Bind(&block1, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139);
2221 : ca_.Goto(&block15, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139);
2222 : }
2223 :
2224 : compiler::TNode<Context> tmp140;
2225 : compiler::TNode<JSReceiver> tmp141;
2226 : compiler::TNode<Number> tmp142;
2227 : compiler::TNode<Number> tmp143;
2228 : compiler::TNode<Number> tmp144;
2229 : compiler::TNode<Number> tmp145;
2230 : ca_.Bind(&block15, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145);
2231 56 : }
2232 :
2233 56 : void ArraySpliceBuiltinsFromDSLAssembler::HandleBackwardCase(compiler::TNode<Context> p_context, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_len, compiler::TNode<Number> p_itemCount, compiler::TNode<Number> p_actualStart, compiler::TNode<Number> p_actualDeleteCount) {
2234 56 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2235 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2236 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2237 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2238 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2239 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number, Number, Number, Oddball> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2240 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number, Number, Number, Oddball> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2241 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number, Number, Number, Oddball> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2242 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2243 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2244 : compiler::CodeAssemblerParameterizedLabel<Context, JSReceiver, Number, Number, Number, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2245 : ca_.Goto(&block0, p_context, p_o, p_len, p_itemCount, p_actualStart, p_actualDeleteCount);
2246 :
2247 56 : if (block0.is_used()) {
2248 : compiler::TNode<Context> tmp0;
2249 : compiler::TNode<JSReceiver> tmp1;
2250 : compiler::TNode<Number> tmp2;
2251 : compiler::TNode<Number> tmp3;
2252 : compiler::TNode<Number> tmp4;
2253 : compiler::TNode<Number> tmp5;
2254 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5);
2255 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 268);
2256 : compiler::TNode<Number> tmp6;
2257 : USE(tmp6);
2258 224 : tmp6 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp2}, compiler::TNode<Number>{tmp5}));
2259 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 271);
2260 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6);
2261 : }
2262 :
2263 56 : if (block4.is_used()) {
2264 : compiler::TNode<Context> tmp7;
2265 : compiler::TNode<JSReceiver> tmp8;
2266 : compiler::TNode<Number> tmp9;
2267 : compiler::TNode<Number> tmp10;
2268 : compiler::TNode<Number> tmp11;
2269 : compiler::TNode<Number> tmp12;
2270 : compiler::TNode<Number> tmp13;
2271 : ca_.Bind(&block4, &tmp7, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12, &tmp13);
2272 56 : compiler::CodeAssemblerLabel label0(&ca_);
2273 56 : compiler::CodeAssemblerLabel label1(&ca_);
2274 112 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp13}, compiler::TNode<Number>{tmp11}, &label0, &label1);
2275 56 : if (label0.is_used()) {
2276 56 : ca_.Bind(&label0);
2277 : ca_.Goto(&block5, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp13, tmp11);
2278 : }
2279 56 : if (label1.is_used()) {
2280 56 : ca_.Bind(&label1);
2281 : ca_.Goto(&block6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp13, tmp11);
2282 : }
2283 : }
2284 :
2285 56 : if (block5.is_used()) {
2286 : compiler::TNode<Context> tmp14;
2287 : compiler::TNode<JSReceiver> tmp15;
2288 : compiler::TNode<Number> tmp16;
2289 : compiler::TNode<Number> tmp17;
2290 : compiler::TNode<Number> tmp18;
2291 : compiler::TNode<Number> tmp19;
2292 : compiler::TNode<Number> tmp20;
2293 : compiler::TNode<Number> tmp21;
2294 : compiler::TNode<Number> tmp22;
2295 : ca_.Bind(&block5, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
2296 : ca_.Goto(&block2, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20);
2297 : }
2298 :
2299 56 : if (block6.is_used()) {
2300 : compiler::TNode<Context> tmp23;
2301 : compiler::TNode<JSReceiver> tmp24;
2302 : compiler::TNode<Number> tmp25;
2303 : compiler::TNode<Number> tmp26;
2304 : compiler::TNode<Number> tmp27;
2305 : compiler::TNode<Number> tmp28;
2306 : compiler::TNode<Number> tmp29;
2307 : compiler::TNode<Number> tmp30;
2308 : compiler::TNode<Number> tmp31;
2309 : ca_.Bind(&block6, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31);
2310 : ca_.Goto(&block3, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29);
2311 : }
2312 :
2313 56 : if (block2.is_used()) {
2314 : compiler::TNode<Context> tmp32;
2315 : compiler::TNode<JSReceiver> tmp33;
2316 : compiler::TNode<Number> tmp34;
2317 : compiler::TNode<Number> tmp35;
2318 : compiler::TNode<Number> tmp36;
2319 : compiler::TNode<Number> tmp37;
2320 : compiler::TNode<Number> tmp38;
2321 : ca_.Bind(&block2, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38);
2322 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 273);
2323 : compiler::TNode<Number> tmp39;
2324 : USE(tmp39);
2325 224 : tmp39 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp38}, compiler::TNode<Number>{tmp37}));
2326 : compiler::TNode<Number> tmp40;
2327 : USE(tmp40);
2328 168 : tmp40 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
2329 : compiler::TNode<Number> tmp41;
2330 : USE(tmp41);
2331 112 : tmp41 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp39}, compiler::TNode<Number>{tmp40}));
2332 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 276);
2333 : compiler::TNode<Number> tmp42;
2334 : USE(tmp42);
2335 224 : tmp42 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp38}, compiler::TNode<Number>{tmp35}));
2336 : compiler::TNode<Number> tmp43;
2337 : USE(tmp43);
2338 168 : tmp43 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
2339 : compiler::TNode<Number> tmp44;
2340 : USE(tmp44);
2341 112 : tmp44 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp42}, compiler::TNode<Number>{tmp43}));
2342 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 279);
2343 : compiler::TNode<Oddball> tmp45;
2344 112 : tmp45 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kHasProperty, tmp32, tmp33, tmp41));
2345 : USE(tmp45);
2346 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 282);
2347 : compiler::TNode<Oddball> tmp46;
2348 : USE(tmp46);
2349 168 : tmp46 = BaseBuiltinsFromDSLAssembler(state_).True();
2350 : compiler::TNode<BoolT> tmp47;
2351 : USE(tmp47);
2352 112 : tmp47 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<HeapObject>{tmp45}, compiler::TNode<HeapObject>{tmp46}));
2353 56 : ca_.Branch(tmp47, &block7, &block8, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp41, tmp44, tmp45);
2354 : }
2355 :
2356 56 : if (block7.is_used()) {
2357 : compiler::TNode<Context> tmp48;
2358 : compiler::TNode<JSReceiver> tmp49;
2359 : compiler::TNode<Number> tmp50;
2360 : compiler::TNode<Number> tmp51;
2361 : compiler::TNode<Number> tmp52;
2362 : compiler::TNode<Number> tmp53;
2363 : compiler::TNode<Number> tmp54;
2364 : compiler::TNode<Number> tmp55;
2365 : compiler::TNode<Number> tmp56;
2366 : compiler::TNode<Oddball> tmp57;
2367 : ca_.Bind(&block7, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57);
2368 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 284);
2369 : compiler::TNode<Object> tmp58;
2370 : USE(tmp58);
2371 112 : tmp58 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetProperty(compiler::TNode<Context>{tmp48}, compiler::TNode<Object>{tmp49}, compiler::TNode<Object>{tmp55}));
2372 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 287);
2373 112 : CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp48, tmp49, tmp56, tmp58);
2374 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 282);
2375 : ca_.Goto(&block9, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57);
2376 : }
2377 :
2378 56 : if (block8.is_used()) {
2379 : compiler::TNode<Context> tmp60;
2380 : compiler::TNode<JSReceiver> tmp61;
2381 : compiler::TNode<Number> tmp62;
2382 : compiler::TNode<Number> tmp63;
2383 : compiler::TNode<Number> tmp64;
2384 : compiler::TNode<Number> tmp65;
2385 : compiler::TNode<Number> tmp66;
2386 : compiler::TNode<Number> tmp67;
2387 : compiler::TNode<Number> tmp68;
2388 : compiler::TNode<Oddball> tmp69;
2389 : ca_.Bind(&block8, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69);
2390 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 292);
2391 : compiler::TNode<Smi> tmp70;
2392 : USE(tmp70);
2393 168 : tmp70 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr14ATLanguageMode24ATconstexpr_LanguageMode(LanguageMode::kStrict));
2394 112 : CodeStubAssembler(state_).CallBuiltin(Builtins::kDeleteProperty, tmp60, tmp61, tmp68, tmp70);
2395 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 282);
2396 : ca_.Goto(&block9, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69);
2397 : }
2398 :
2399 56 : if (block9.is_used()) {
2400 : compiler::TNode<Context> tmp72;
2401 : compiler::TNode<JSReceiver> tmp73;
2402 : compiler::TNode<Number> tmp74;
2403 : compiler::TNode<Number> tmp75;
2404 : compiler::TNode<Number> tmp76;
2405 : compiler::TNode<Number> tmp77;
2406 : compiler::TNode<Number> tmp78;
2407 : compiler::TNode<Number> tmp79;
2408 : compiler::TNode<Number> tmp80;
2409 : compiler::TNode<Oddball> tmp81;
2410 : ca_.Bind(&block9, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81);
2411 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 296);
2412 : compiler::TNode<Number> tmp82;
2413 : USE(tmp82);
2414 168 : tmp82 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
2415 : compiler::TNode<Number> tmp83;
2416 : USE(tmp83);
2417 168 : tmp83 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp78}, compiler::TNode<Number>{tmp82}));
2418 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 271);
2419 : ca_.Goto(&block4, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp83);
2420 : }
2421 :
2422 56 : if (block3.is_used()) {
2423 : compiler::TNode<Context> tmp84;
2424 : compiler::TNode<JSReceiver> tmp85;
2425 : compiler::TNode<Number> tmp86;
2426 : compiler::TNode<Number> tmp87;
2427 : compiler::TNode<Number> tmp88;
2428 : compiler::TNode<Number> tmp89;
2429 : compiler::TNode<Number> tmp90;
2430 : ca_.Bind(&block3, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90);
2431 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 265);
2432 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 263);
2433 : ca_.Goto(&block1, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89);
2434 : }
2435 :
2436 56 : if (block1.is_used()) {
2437 : compiler::TNode<Context> tmp91;
2438 : compiler::TNode<JSReceiver> tmp92;
2439 : compiler::TNode<Number> tmp93;
2440 : compiler::TNode<Number> tmp94;
2441 : compiler::TNode<Number> tmp95;
2442 : compiler::TNode<Number> tmp96;
2443 : ca_.Bind(&block1, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96);
2444 : ca_.Goto(&block10, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96);
2445 : }
2446 :
2447 : compiler::TNode<Context> tmp97;
2448 : compiler::TNode<JSReceiver> tmp98;
2449 : compiler::TNode<Number> tmp99;
2450 : compiler::TNode<Number> tmp100;
2451 : compiler::TNode<Number> tmp101;
2452 : compiler::TNode<Number> tmp102;
2453 : ca_.Bind(&block10, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102);
2454 56 : }
2455 :
2456 56 : compiler::TNode<Object> ArraySpliceBuiltinsFromDSLAssembler::SlowSplice(compiler::TNode<Context> p_context, BaseBuiltinsFromDSLAssembler::Arguments p_arguments, compiler::TNode<JSReceiver> p_o, compiler::TNode<Number> p_len, compiler::TNode<Number> p_actualStart, compiler::TNode<Smi> p_insertCount, compiler::TNode<Number> p_actualDeleteCount) {
2457 56 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2458 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2459 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2460 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2461 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2462 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number, Number, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2463 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number, Number, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2464 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2465 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2466 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2467 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2468 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number, Number, IntPtrT> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2469 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number, Number, IntPtrT> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2470 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number, Number, IntPtrT> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2471 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number, Number, IntPtrT> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2472 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Number, JSReceiver, Number, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2473 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Object> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2474 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Object> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2475 : ca_.Goto(&block0, p_context, p_arguments.frame, p_arguments.base, p_arguments.length, p_o, p_len, p_actualStart, p_insertCount, p_actualDeleteCount);
2476 :
2477 56 : if (block0.is_used()) {
2478 : compiler::TNode<Context> tmp0;
2479 : compiler::TNode<RawPtrT> tmp1;
2480 : compiler::TNode<RawPtrT> tmp2;
2481 : compiler::TNode<IntPtrT> tmp3;
2482 : compiler::TNode<JSReceiver> tmp4;
2483 : compiler::TNode<Number> tmp5;
2484 : compiler::TNode<Number> tmp6;
2485 : compiler::TNode<Smi> tmp7;
2486 : compiler::TNode<Number> tmp8;
2487 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8);
2488 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 304);
2489 : compiler::TNode<Number> tmp9;
2490 : USE(tmp9);
2491 224 : tmp9 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp5}, compiler::TNode<Number>{tmp6}));
2492 : compiler::TNode<Number> tmp10;
2493 : USE(tmp10);
2494 168 : tmp10 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp9}, compiler::TNode<Number>{tmp8}));
2495 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 307);
2496 : compiler::TNode<JSReceiver> tmp11;
2497 : USE(tmp11);
2498 112 : tmp11 = ca_.UncheckedCast<JSReceiver>(CodeStubAssembler(state_).ArraySpeciesCreate(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp4}, compiler::TNode<Number>{tmp8}));
2499 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 308);
2500 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 311);
2501 : compiler::TNode<Object> tmp12;
2502 : USE(tmp12);
2503 168 : tmp12 = ca_.UncheckedCast<Object>(ArraySpliceBuiltinsFromDSLAssembler(state_).FillDeletedElementsArray(compiler::TNode<Context>{tmp0}, compiler::TNode<JSReceiver>{tmp4}, compiler::TNode<Number>{tmp6}, compiler::TNode<Number>{tmp8}, compiler::TNode<JSReceiver>{tmp11}));
2504 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 321);
2505 56 : compiler::CodeAssemblerLabel label0(&ca_);
2506 56 : compiler::CodeAssemblerLabel label1(&ca_);
2507 112 : CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp7}, compiler::TNode<Number>{tmp8}, &label0, &label1);
2508 56 : if (label0.is_used()) {
2509 56 : ca_.Bind(&label0);
2510 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp10, tmp11, tmp7, tmp7, tmp8);
2511 : }
2512 56 : if (label1.is_used()) {
2513 56 : ca_.Bind(&label1);
2514 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp10, tmp11, tmp7, tmp7, tmp8);
2515 : }
2516 : }
2517 :
2518 56 : if (block4.is_used()) {
2519 : compiler::TNode<Context> tmp13;
2520 : compiler::TNode<RawPtrT> tmp14;
2521 : compiler::TNode<RawPtrT> tmp15;
2522 : compiler::TNode<IntPtrT> tmp16;
2523 : compiler::TNode<JSReceiver> tmp17;
2524 : compiler::TNode<Number> tmp18;
2525 : compiler::TNode<Number> tmp19;
2526 : compiler::TNode<Smi> tmp20;
2527 : compiler::TNode<Number> tmp21;
2528 : compiler::TNode<Number> tmp22;
2529 : compiler::TNode<JSReceiver> tmp23;
2530 : compiler::TNode<Number> tmp24;
2531 : compiler::TNode<Number> tmp25;
2532 : compiler::TNode<Number> tmp26;
2533 : ca_.Bind(&block4, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26);
2534 : ca_.Goto(&block2, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24);
2535 : }
2536 :
2537 56 : if (block5.is_used()) {
2538 : compiler::TNode<Context> tmp27;
2539 : compiler::TNode<RawPtrT> tmp28;
2540 : compiler::TNode<RawPtrT> tmp29;
2541 : compiler::TNode<IntPtrT> tmp30;
2542 : compiler::TNode<JSReceiver> tmp31;
2543 : compiler::TNode<Number> tmp32;
2544 : compiler::TNode<Number> tmp33;
2545 : compiler::TNode<Smi> tmp34;
2546 : compiler::TNode<Number> tmp35;
2547 : compiler::TNode<Number> tmp36;
2548 : compiler::TNode<JSReceiver> tmp37;
2549 : compiler::TNode<Number> tmp38;
2550 : compiler::TNode<Number> tmp39;
2551 : compiler::TNode<Number> tmp40;
2552 : ca_.Bind(&block5, &tmp27, &tmp28, &tmp29, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40);
2553 : ca_.Goto(&block3, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38);
2554 : }
2555 :
2556 56 : if (block2.is_used()) {
2557 : compiler::TNode<Context> tmp41;
2558 : compiler::TNode<RawPtrT> tmp42;
2559 : compiler::TNode<RawPtrT> tmp43;
2560 : compiler::TNode<IntPtrT> tmp44;
2561 : compiler::TNode<JSReceiver> tmp45;
2562 : compiler::TNode<Number> tmp46;
2563 : compiler::TNode<Number> tmp47;
2564 : compiler::TNode<Smi> tmp48;
2565 : compiler::TNode<Number> tmp49;
2566 : compiler::TNode<Number> tmp50;
2567 : compiler::TNode<JSReceiver> tmp51;
2568 : compiler::TNode<Number> tmp52;
2569 : ca_.Bind(&block2, &tmp41, &tmp42, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52);
2570 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 323);
2571 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 322);
2572 168 : ArraySpliceBuiltinsFromDSLAssembler(state_).HandleForwardCase(compiler::TNode<Context>{tmp41}, compiler::TNode<JSReceiver>{tmp45}, compiler::TNode<Number>{tmp46}, compiler::TNode<Number>{tmp52}, compiler::TNode<Number>{tmp47}, compiler::TNode<Number>{tmp49});
2573 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 321);
2574 : ca_.Goto(&block6, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52);
2575 : }
2576 :
2577 56 : if (block3.is_used()) {
2578 : compiler::TNode<Context> tmp53;
2579 : compiler::TNode<RawPtrT> tmp54;
2580 : compiler::TNode<RawPtrT> tmp55;
2581 : compiler::TNode<IntPtrT> tmp56;
2582 : compiler::TNode<JSReceiver> tmp57;
2583 : compiler::TNode<Number> tmp58;
2584 : compiler::TNode<Number> tmp59;
2585 : compiler::TNode<Smi> tmp60;
2586 : compiler::TNode<Number> tmp61;
2587 : compiler::TNode<Number> tmp62;
2588 : compiler::TNode<JSReceiver> tmp63;
2589 : compiler::TNode<Number> tmp64;
2590 : ca_.Bind(&block3, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62, &tmp63, &tmp64);
2591 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 325);
2592 56 : compiler::CodeAssemblerLabel label0(&ca_);
2593 56 : compiler::CodeAssemblerLabel label1(&ca_);
2594 112 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp64}, compiler::TNode<Number>{tmp61}, &label0, &label1);
2595 56 : if (label0.is_used()) {
2596 56 : ca_.Bind(&label0);
2597 : ca_.Goto(&block9, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp64, tmp61);
2598 : }
2599 56 : if (label1.is_used()) {
2600 56 : ca_.Bind(&label1);
2601 : ca_.Goto(&block10, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp64, tmp61);
2602 : }
2603 : }
2604 :
2605 56 : if (block9.is_used()) {
2606 : compiler::TNode<Context> tmp65;
2607 : compiler::TNode<RawPtrT> tmp66;
2608 : compiler::TNode<RawPtrT> tmp67;
2609 : compiler::TNode<IntPtrT> tmp68;
2610 : compiler::TNode<JSReceiver> tmp69;
2611 : compiler::TNode<Number> tmp70;
2612 : compiler::TNode<Number> tmp71;
2613 : compiler::TNode<Smi> tmp72;
2614 : compiler::TNode<Number> tmp73;
2615 : compiler::TNode<Number> tmp74;
2616 : compiler::TNode<JSReceiver> tmp75;
2617 : compiler::TNode<Number> tmp76;
2618 : compiler::TNode<Number> tmp77;
2619 : compiler::TNode<Number> tmp78;
2620 : ca_.Bind(&block9, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77, &tmp78);
2621 : ca_.Goto(&block7, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76);
2622 : }
2623 :
2624 56 : if (block10.is_used()) {
2625 : compiler::TNode<Context> tmp79;
2626 : compiler::TNode<RawPtrT> tmp80;
2627 : compiler::TNode<RawPtrT> tmp81;
2628 : compiler::TNode<IntPtrT> tmp82;
2629 : compiler::TNode<JSReceiver> tmp83;
2630 : compiler::TNode<Number> tmp84;
2631 : compiler::TNode<Number> tmp85;
2632 : compiler::TNode<Smi> tmp86;
2633 : compiler::TNode<Number> tmp87;
2634 : compiler::TNode<Number> tmp88;
2635 : compiler::TNode<JSReceiver> tmp89;
2636 : compiler::TNode<Number> tmp90;
2637 : compiler::TNode<Number> tmp91;
2638 : compiler::TNode<Number> tmp92;
2639 : ca_.Bind(&block10, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92);
2640 : ca_.Goto(&block8, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90);
2641 : }
2642 :
2643 56 : if (block7.is_used()) {
2644 : compiler::TNode<Context> tmp93;
2645 : compiler::TNode<RawPtrT> tmp94;
2646 : compiler::TNode<RawPtrT> tmp95;
2647 : compiler::TNode<IntPtrT> tmp96;
2648 : compiler::TNode<JSReceiver> tmp97;
2649 : compiler::TNode<Number> tmp98;
2650 : compiler::TNode<Number> tmp99;
2651 : compiler::TNode<Smi> tmp100;
2652 : compiler::TNode<Number> tmp101;
2653 : compiler::TNode<Number> tmp102;
2654 : compiler::TNode<JSReceiver> tmp103;
2655 : compiler::TNode<Number> tmp104;
2656 : ca_.Bind(&block7, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104);
2657 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 327);
2658 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 326);
2659 168 : ArraySpliceBuiltinsFromDSLAssembler(state_).HandleBackwardCase(compiler::TNode<Context>{tmp93}, compiler::TNode<JSReceiver>{tmp97}, compiler::TNode<Number>{tmp98}, compiler::TNode<Number>{tmp104}, compiler::TNode<Number>{tmp99}, compiler::TNode<Number>{tmp101});
2660 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 325);
2661 : ca_.Goto(&block8, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104);
2662 : }
2663 :
2664 56 : if (block8.is_used()) {
2665 : compiler::TNode<Context> tmp105;
2666 : compiler::TNode<RawPtrT> tmp106;
2667 : compiler::TNode<RawPtrT> tmp107;
2668 : compiler::TNode<IntPtrT> tmp108;
2669 : compiler::TNode<JSReceiver> tmp109;
2670 : compiler::TNode<Number> tmp110;
2671 : compiler::TNode<Number> tmp111;
2672 : compiler::TNode<Smi> tmp112;
2673 : compiler::TNode<Number> tmp113;
2674 : compiler::TNode<Number> tmp114;
2675 : compiler::TNode<JSReceiver> tmp115;
2676 : compiler::TNode<Number> tmp116;
2677 : ca_.Bind(&block8, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114, &tmp115, &tmp116);
2678 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 321);
2679 : ca_.Goto(&block6, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116);
2680 : }
2681 :
2682 56 : if (block6.is_used()) {
2683 : compiler::TNode<Context> tmp117;
2684 : compiler::TNode<RawPtrT> tmp118;
2685 : compiler::TNode<RawPtrT> tmp119;
2686 : compiler::TNode<IntPtrT> tmp120;
2687 : compiler::TNode<JSReceiver> tmp121;
2688 : compiler::TNode<Number> tmp122;
2689 : compiler::TNode<Number> tmp123;
2690 : compiler::TNode<Smi> tmp124;
2691 : compiler::TNode<Number> tmp125;
2692 : compiler::TNode<Number> tmp126;
2693 : compiler::TNode<JSReceiver> tmp127;
2694 : compiler::TNode<Number> tmp128;
2695 : ca_.Bind(&block6, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128);
2696 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 331);
2697 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 336);
2698 : compiler::TNode<IntPtrT> tmp129;
2699 : USE(tmp129);
2700 168 : tmp129 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(2));
2701 : compiler::TNode<BoolT> tmp130;
2702 : USE(tmp130);
2703 168 : tmp130 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrGreaterThan(compiler::TNode<IntPtrT>{tmp120}, compiler::TNode<IntPtrT>{tmp129}));
2704 56 : ca_.Branch(tmp130, &block11, &block12, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, tmp123);
2705 : }
2706 :
2707 56 : if (block11.is_used()) {
2708 : compiler::TNode<Context> tmp131;
2709 : compiler::TNode<RawPtrT> tmp132;
2710 : compiler::TNode<RawPtrT> tmp133;
2711 : compiler::TNode<IntPtrT> tmp134;
2712 : compiler::TNode<JSReceiver> tmp135;
2713 : compiler::TNode<Number> tmp136;
2714 : compiler::TNode<Number> tmp137;
2715 : compiler::TNode<Smi> tmp138;
2716 : compiler::TNode<Number> tmp139;
2717 : compiler::TNode<Number> tmp140;
2718 : compiler::TNode<JSReceiver> tmp141;
2719 : compiler::TNode<Number> tmp142;
2720 : compiler::TNode<Number> tmp143;
2721 : ca_.Bind(&block11, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136, &tmp137, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143);
2722 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 337);
2723 : compiler::TNode<IntPtrT> tmp144;
2724 : USE(tmp144);
2725 168 : tmp144 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(2));
2726 : ca_.Goto(&block15, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144);
2727 : }
2728 :
2729 56 : if (block15.is_used()) {
2730 : compiler::TNode<Context> tmp145;
2731 : compiler::TNode<RawPtrT> tmp146;
2732 : compiler::TNode<RawPtrT> tmp147;
2733 : compiler::TNode<IntPtrT> tmp148;
2734 : compiler::TNode<JSReceiver> tmp149;
2735 : compiler::TNode<Number> tmp150;
2736 : compiler::TNode<Number> tmp151;
2737 : compiler::TNode<Smi> tmp152;
2738 : compiler::TNode<Number> tmp153;
2739 : compiler::TNode<Number> tmp154;
2740 : compiler::TNode<JSReceiver> tmp155;
2741 : compiler::TNode<Number> tmp156;
2742 : compiler::TNode<Number> tmp157;
2743 : compiler::TNode<IntPtrT> tmp158;
2744 : ca_.Bind(&block15, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158);
2745 : compiler::TNode<BoolT> tmp159;
2746 : USE(tmp159);
2747 224 : tmp159 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp158}, compiler::TNode<IntPtrT>{tmp148}));
2748 56 : ca_.Branch(tmp159, &block13, &block14, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158);
2749 : }
2750 :
2751 56 : if (block13.is_used()) {
2752 : compiler::TNode<Context> tmp160;
2753 : compiler::TNode<RawPtrT> tmp161;
2754 : compiler::TNode<RawPtrT> tmp162;
2755 : compiler::TNode<IntPtrT> tmp163;
2756 : compiler::TNode<JSReceiver> tmp164;
2757 : compiler::TNode<Number> tmp165;
2758 : compiler::TNode<Number> tmp166;
2759 : compiler::TNode<Smi> tmp167;
2760 : compiler::TNode<Number> tmp168;
2761 : compiler::TNode<Number> tmp169;
2762 : compiler::TNode<JSReceiver> tmp170;
2763 : compiler::TNode<Number> tmp171;
2764 : compiler::TNode<Number> tmp172;
2765 : compiler::TNode<IntPtrT> tmp173;
2766 : ca_.Bind(&block13, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173);
2767 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 338);
2768 : compiler::TNode<Object> tmp174;
2769 : USE(tmp174);
2770 112 : tmp174 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp161}, compiler::TNode<RawPtrT>{tmp162}, compiler::TNode<IntPtrT>{tmp163}}, compiler::TNode<IntPtrT>{tmp173}));
2771 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 340);
2772 112 : CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp160, tmp164, tmp172, tmp174);
2773 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 343);
2774 : compiler::TNode<Number> tmp176;
2775 : USE(tmp176);
2776 168 : tmp176 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(1));
2777 : compiler::TNode<Number> tmp177;
2778 : USE(tmp177);
2779 168 : tmp177 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp172}, compiler::TNode<Number>{tmp176}));
2780 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 337);
2781 : ca_.Goto(&block16, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp177, tmp173);
2782 : }
2783 :
2784 56 : if (block16.is_used()) {
2785 : compiler::TNode<Context> tmp178;
2786 : compiler::TNode<RawPtrT> tmp179;
2787 : compiler::TNode<RawPtrT> tmp180;
2788 : compiler::TNode<IntPtrT> tmp181;
2789 : compiler::TNode<JSReceiver> tmp182;
2790 : compiler::TNode<Number> tmp183;
2791 : compiler::TNode<Number> tmp184;
2792 : compiler::TNode<Smi> tmp185;
2793 : compiler::TNode<Number> tmp186;
2794 : compiler::TNode<Number> tmp187;
2795 : compiler::TNode<JSReceiver> tmp188;
2796 : compiler::TNode<Number> tmp189;
2797 : compiler::TNode<Number> tmp190;
2798 : compiler::TNode<IntPtrT> tmp191;
2799 : ca_.Bind(&block16, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191);
2800 : compiler::TNode<IntPtrT> tmp192;
2801 : USE(tmp192);
2802 168 : tmp192 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
2803 : compiler::TNode<IntPtrT> tmp193;
2804 : USE(tmp193);
2805 112 : tmp193 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp191}, compiler::TNode<IntPtrT>{tmp192}));
2806 : ca_.Goto(&block15, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp193);
2807 : }
2808 :
2809 56 : if (block14.is_used()) {
2810 : compiler::TNode<Context> tmp194;
2811 : compiler::TNode<RawPtrT> tmp195;
2812 : compiler::TNode<RawPtrT> tmp196;
2813 : compiler::TNode<IntPtrT> tmp197;
2814 : compiler::TNode<JSReceiver> tmp198;
2815 : compiler::TNode<Number> tmp199;
2816 : compiler::TNode<Number> tmp200;
2817 : compiler::TNode<Smi> tmp201;
2818 : compiler::TNode<Number> tmp202;
2819 : compiler::TNode<Number> tmp203;
2820 : compiler::TNode<JSReceiver> tmp204;
2821 : compiler::TNode<Number> tmp205;
2822 : compiler::TNode<Number> tmp206;
2823 : compiler::TNode<IntPtrT> tmp207;
2824 : ca_.Bind(&block14, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207);
2825 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 336);
2826 : ca_.Goto(&block12, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206);
2827 : }
2828 :
2829 56 : if (block12.is_used()) {
2830 : compiler::TNode<Context> tmp208;
2831 : compiler::TNode<RawPtrT> tmp209;
2832 : compiler::TNode<RawPtrT> tmp210;
2833 : compiler::TNode<IntPtrT> tmp211;
2834 : compiler::TNode<JSReceiver> tmp212;
2835 : compiler::TNode<Number> tmp213;
2836 : compiler::TNode<Number> tmp214;
2837 : compiler::TNode<Smi> tmp215;
2838 : compiler::TNode<Number> tmp216;
2839 : compiler::TNode<Number> tmp217;
2840 : compiler::TNode<JSReceiver> tmp218;
2841 : compiler::TNode<Number> tmp219;
2842 : compiler::TNode<Number> tmp220;
2843 : ca_.Bind(&block12, &tmp208, &tmp209, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220);
2844 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 349);
2845 : compiler::TNode<String> tmp221;
2846 : USE(tmp221);
2847 168 : tmp221 = BaseBuiltinsFromDSLAssembler(state_).kLengthString();
2848 : compiler::TNode<Number> tmp222;
2849 : USE(tmp222);
2850 224 : tmp222 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp213}, compiler::TNode<Number>{tmp216}));
2851 : compiler::TNode<Number> tmp223;
2852 : USE(tmp223);
2853 168 : tmp223 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp222}, compiler::TNode<Number>{tmp219}));
2854 112 : CodeStubAssembler(state_).CallBuiltin(Builtins::kSetProperty, tmp208, tmp212, tmp221, tmp223);
2855 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 351);
2856 : ca_.Goto(&block1, tmp208, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp218);
2857 : }
2858 :
2859 56 : if (block1.is_used()) {
2860 : compiler::TNode<Context> tmp225;
2861 : compiler::TNode<RawPtrT> tmp226;
2862 : compiler::TNode<RawPtrT> tmp227;
2863 : compiler::TNode<IntPtrT> tmp228;
2864 : compiler::TNode<JSReceiver> tmp229;
2865 : compiler::TNode<Number> tmp230;
2866 : compiler::TNode<Number> tmp231;
2867 : compiler::TNode<Smi> tmp232;
2868 : compiler::TNode<Number> tmp233;
2869 : compiler::TNode<Object> tmp234;
2870 : ca_.Bind(&block1, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234);
2871 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 300);
2872 : ca_.Goto(&block17, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234);
2873 : }
2874 :
2875 : compiler::TNode<Context> tmp235;
2876 : compiler::TNode<RawPtrT> tmp236;
2877 : compiler::TNode<RawPtrT> tmp237;
2878 : compiler::TNode<IntPtrT> tmp238;
2879 : compiler::TNode<JSReceiver> tmp239;
2880 : compiler::TNode<Number> tmp240;
2881 : compiler::TNode<Number> tmp241;
2882 : compiler::TNode<Smi> tmp242;
2883 : compiler::TNode<Number> tmp243;
2884 : compiler::TNode<Object> tmp244;
2885 : ca_.Bind(&block17, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242, &tmp243, &tmp244);
2886 112 : return compiler::TNode<Object>{tmp244};
2887 : }
2888 :
2889 224 : TF_BUILTIN(ArrayPrototypeSplice, CodeStubAssembler) {
2890 56 : compiler::CodeAssemblerState* state_ = state(); compiler::CodeAssembler ca_(state());
2891 : TNode<Context> parameter0 = UncheckedCast<Context>(Parameter(Descriptor::kContext));
2892 : USE(parameter0);
2893 : Node* argc = Parameter(Descriptor::kJSActualArgumentsCount);
2894 56 : TNode<IntPtrT> arguments_length(ChangeInt32ToIntPtr(argc));
2895 56 : TNode<RawPtrT> arguments_frame = UncheckedCast<RawPtrT>(LoadFramePointer());
2896 56 : BaseBuiltinsFromDSLAssembler::Arguments torque_arguments(GetFrameArguments(arguments_frame, arguments_length));
2897 : CodeStubArguments arguments(this, torque_arguments);
2898 56 : TNode<Object> parameter1 = arguments.GetReceiver();
2899 : USE(parameter1);
2900 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2901 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2902 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2903 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2904 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2905 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2906 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2907 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2908 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2909 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2910 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2911 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2912 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2913 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number, Number, Number> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2914 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number, Number, Number> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2915 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number, Number> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2916 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number, Number> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2917 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number, Number, Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2918 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number, Number, Context, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Number, Smi, Number, Object> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2919 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number, Number> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2920 : compiler::CodeAssemblerParameterizedLabel<Context, Object, RawPtrT, RawPtrT, IntPtrT, JSReceiver, Number, Object, Number, Number, Smi, Number, Number> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
2921 : ca_.Goto(&block0, parameter0, parameter1, torque_arguments.frame, torque_arguments.base, torque_arguments.length);
2922 :
2923 56 : if (block0.is_used()) {
2924 : compiler::TNode<Context> tmp0;
2925 : compiler::TNode<Object> tmp1;
2926 : compiler::TNode<RawPtrT> tmp2;
2927 : compiler::TNode<RawPtrT> tmp3;
2928 : compiler::TNode<IntPtrT> tmp4;
2929 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
2930 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 359);
2931 : compiler::TNode<JSReceiver> tmp5;
2932 112 : tmp5 = TORQUE_CAST(CodeStubAssembler(state_).CallBuiltin(Builtins::kToObject, tmp0, tmp1));
2933 : USE(tmp5);
2934 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 362);
2935 : compiler::TNode<Number> tmp6;
2936 : USE(tmp6);
2937 112 : tmp6 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).GetLengthProperty(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp5}));
2938 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 365);
2939 : compiler::TNode<IntPtrT> tmp7;
2940 : USE(tmp7);
2941 112 : tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
2942 : compiler::TNode<Object> tmp8;
2943 : USE(tmp8);
2944 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}));
2945 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 366);
2946 : compiler::TNode<Number> tmp9;
2947 : USE(tmp9);
2948 168 : tmp9 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ToInteger_Inline(compiler::TNode<Context>{tmp0}, compiler::TNode<Object>{tmp8}));
2949 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 371);
2950 : compiler::TNode<Number> tmp10;
2951 : USE(tmp10);
2952 112 : tmp10 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
2953 56 : compiler::CodeAssemblerLabel label0(&ca_);
2954 56 : compiler::CodeAssemblerLabel label1(&ca_);
2955 112 : CodeStubAssembler(state_).BranchIfNumberLessThan(compiler::TNode<Number>{tmp9}, compiler::TNode<Number>{tmp10}, &label0, &label1);
2956 56 : if (label0.is_used()) {
2957 56 : ca_.Bind(&label0);
2958 : ca_.Goto(&block5, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp8, tmp9, tmp9);
2959 : }
2960 56 : if (label1.is_used()) {
2961 56 : ca_.Bind(&label1);
2962 : ca_.Goto(&block6, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp8, tmp9, tmp9);
2963 : }
2964 : }
2965 :
2966 56 : if (block5.is_used()) {
2967 : compiler::TNode<Context> tmp11;
2968 : compiler::TNode<Object> tmp12;
2969 : compiler::TNode<RawPtrT> tmp13;
2970 : compiler::TNode<RawPtrT> tmp14;
2971 : compiler::TNode<IntPtrT> tmp15;
2972 : compiler::TNode<JSReceiver> tmp16;
2973 : compiler::TNode<Number> tmp17;
2974 : compiler::TNode<Object> tmp18;
2975 : compiler::TNode<Number> tmp19;
2976 : compiler::TNode<Number> tmp20;
2977 : ca_.Bind(&block5, &tmp11, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20);
2978 : ca_.Goto(&block1, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19);
2979 : }
2980 :
2981 56 : if (block6.is_used()) {
2982 : compiler::TNode<Context> tmp21;
2983 : compiler::TNode<Object> tmp22;
2984 : compiler::TNode<RawPtrT> tmp23;
2985 : compiler::TNode<RawPtrT> tmp24;
2986 : compiler::TNode<IntPtrT> tmp25;
2987 : compiler::TNode<JSReceiver> tmp26;
2988 : compiler::TNode<Number> tmp27;
2989 : compiler::TNode<Object> tmp28;
2990 : compiler::TNode<Number> tmp29;
2991 : compiler::TNode<Number> tmp30;
2992 : ca_.Bind(&block6, &tmp21, &tmp22, &tmp23, &tmp24, &tmp25, &tmp26, &tmp27, &tmp28, &tmp29, &tmp30);
2993 : ca_.Goto(&block2, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29);
2994 : }
2995 :
2996 56 : if (block1.is_used()) {
2997 : compiler::TNode<Context> tmp31;
2998 : compiler::TNode<Object> tmp32;
2999 : compiler::TNode<RawPtrT> tmp33;
3000 : compiler::TNode<RawPtrT> tmp34;
3001 : compiler::TNode<IntPtrT> tmp35;
3002 : compiler::TNode<JSReceiver> tmp36;
3003 : compiler::TNode<Number> tmp37;
3004 : compiler::TNode<Object> tmp38;
3005 : compiler::TNode<Number> tmp39;
3006 : ca_.Bind(&block1, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39);
3007 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 372);
3008 : compiler::TNode<Number> tmp40;
3009 : USE(tmp40);
3010 224 : tmp40 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp37}, compiler::TNode<Number>{tmp39}));
3011 : compiler::TNode<Number> tmp41;
3012 : USE(tmp41);
3013 112 : tmp41 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
3014 : compiler::TNode<Number> tmp42;
3015 : USE(tmp42);
3016 112 : tmp42 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Max(compiler::TNode<Number>{tmp40}, compiler::TNode<Number>{tmp41}));
3017 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 371);
3018 : ca_.Goto(&block4, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp42);
3019 : }
3020 :
3021 56 : if (block2.is_used()) {
3022 : compiler::TNode<Context> tmp43;
3023 : compiler::TNode<Object> tmp44;
3024 : compiler::TNode<RawPtrT> tmp45;
3025 : compiler::TNode<RawPtrT> tmp46;
3026 : compiler::TNode<IntPtrT> tmp47;
3027 : compiler::TNode<JSReceiver> tmp48;
3028 : compiler::TNode<Number> tmp49;
3029 : compiler::TNode<Object> tmp50;
3030 : compiler::TNode<Number> tmp51;
3031 : ca_.Bind(&block2, &tmp43, &tmp44, &tmp45, &tmp46, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51);
3032 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 373);
3033 : compiler::TNode<Number> tmp52;
3034 : USE(tmp52);
3035 112 : tmp52 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Min(compiler::TNode<Number>{tmp51}, compiler::TNode<Number>{tmp49}));
3036 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 371);
3037 : ca_.Goto(&block3, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52);
3038 : }
3039 :
3040 56 : if (block4.is_used()) {
3041 : compiler::TNode<Context> tmp53;
3042 : compiler::TNode<Object> tmp54;
3043 : compiler::TNode<RawPtrT> tmp55;
3044 : compiler::TNode<RawPtrT> tmp56;
3045 : compiler::TNode<IntPtrT> tmp57;
3046 : compiler::TNode<JSReceiver> tmp58;
3047 : compiler::TNode<Number> tmp59;
3048 : compiler::TNode<Object> tmp60;
3049 : compiler::TNode<Number> tmp61;
3050 : compiler::TNode<Number> tmp62;
3051 : ca_.Bind(&block4, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61, &tmp62);
3052 : ca_.Goto(&block3, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62);
3053 : }
3054 :
3055 56 : if (block3.is_used()) {
3056 : compiler::TNode<Context> tmp63;
3057 : compiler::TNode<Object> tmp64;
3058 : compiler::TNode<RawPtrT> tmp65;
3059 : compiler::TNode<RawPtrT> tmp66;
3060 : compiler::TNode<IntPtrT> tmp67;
3061 : compiler::TNode<JSReceiver> tmp68;
3062 : compiler::TNode<Number> tmp69;
3063 : compiler::TNode<Object> tmp70;
3064 : compiler::TNode<Number> tmp71;
3065 : compiler::TNode<Number> tmp72;
3066 : ca_.Bind(&block3, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72);
3067 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 375);
3068 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 376);
3069 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 378);
3070 : compiler::TNode<IntPtrT> tmp73;
3071 : USE(tmp73);
3072 112 : tmp73 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(0));
3073 : compiler::TNode<BoolT> tmp74;
3074 : USE(tmp74);
3075 168 : tmp74 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp67}, compiler::TNode<IntPtrT>{tmp73}));
3076 56 : ca_.Branch(tmp74, &block7, &block8, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, ca_.Uninitialized<Smi>(), ca_.Uninitialized<Number>());
3077 : }
3078 :
3079 56 : if (block7.is_used()) {
3080 : compiler::TNode<Context> tmp75;
3081 : compiler::TNode<Object> tmp76;
3082 : compiler::TNode<RawPtrT> tmp77;
3083 : compiler::TNode<RawPtrT> tmp78;
3084 : compiler::TNode<IntPtrT> tmp79;
3085 : compiler::TNode<JSReceiver> tmp80;
3086 : compiler::TNode<Number> tmp81;
3087 : compiler::TNode<Object> tmp82;
3088 : compiler::TNode<Number> tmp83;
3089 : compiler::TNode<Number> tmp84;
3090 : compiler::TNode<Smi> tmp85;
3091 : compiler::TNode<Number> tmp86;
3092 : ca_.Bind(&block7, &tmp75, &tmp76, &tmp77, &tmp78, &tmp79, &tmp80, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86);
3093 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 380);
3094 : compiler::TNode<Smi> tmp87;
3095 : USE(tmp87);
3096 112 : tmp87 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3097 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 382);
3098 : compiler::TNode<Number> tmp88;
3099 : USE(tmp88);
3100 112 : tmp88 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
3101 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 378);
3102 : ca_.Goto(&block9, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp87, tmp88);
3103 : }
3104 :
3105 56 : if (block8.is_used()) {
3106 : compiler::TNode<Context> tmp89;
3107 : compiler::TNode<Object> tmp90;
3108 : compiler::TNode<RawPtrT> tmp91;
3109 : compiler::TNode<RawPtrT> tmp92;
3110 : compiler::TNode<IntPtrT> tmp93;
3111 : compiler::TNode<JSReceiver> tmp94;
3112 : compiler::TNode<Number> tmp95;
3113 : compiler::TNode<Object> tmp96;
3114 : compiler::TNode<Number> tmp97;
3115 : compiler::TNode<Number> tmp98;
3116 : compiler::TNode<Smi> tmp99;
3117 : compiler::TNode<Number> tmp100;
3118 : ca_.Bind(&block8, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95, &tmp96, &tmp97, &tmp98, &tmp99, &tmp100);
3119 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 384);
3120 : compiler::TNode<IntPtrT> tmp101;
3121 : USE(tmp101);
3122 112 : tmp101 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
3123 : compiler::TNode<BoolT> tmp102;
3124 : USE(tmp102);
3125 168 : tmp102 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).WordEqual(compiler::TNode<IntPtrT>{tmp93}, compiler::TNode<IntPtrT>{tmp101}));
3126 56 : ca_.Branch(tmp102, &block10, &block11, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100);
3127 : }
3128 :
3129 56 : if (block10.is_used()) {
3130 : compiler::TNode<Context> tmp103;
3131 : compiler::TNode<Object> tmp104;
3132 : compiler::TNode<RawPtrT> tmp105;
3133 : compiler::TNode<RawPtrT> tmp106;
3134 : compiler::TNode<IntPtrT> tmp107;
3135 : compiler::TNode<JSReceiver> tmp108;
3136 : compiler::TNode<Number> tmp109;
3137 : compiler::TNode<Object> tmp110;
3138 : compiler::TNode<Number> tmp111;
3139 : compiler::TNode<Number> tmp112;
3140 : compiler::TNode<Smi> tmp113;
3141 : compiler::TNode<Number> tmp114;
3142 : ca_.Bind(&block10, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111, &tmp112, &tmp113, &tmp114);
3143 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 386);
3144 : compiler::TNode<Smi> tmp115;
3145 : USE(tmp115);
3146 112 : tmp115 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3147 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 388);
3148 : compiler::TNode<Number> tmp116;
3149 : USE(tmp116);
3150 224 : tmp116 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp109}, compiler::TNode<Number>{tmp112}));
3151 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 384);
3152 : ca_.Goto(&block12, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp115, tmp116);
3153 : }
3154 :
3155 56 : if (block11.is_used()) {
3156 : compiler::TNode<Context> tmp117;
3157 : compiler::TNode<Object> tmp118;
3158 : compiler::TNode<RawPtrT> tmp119;
3159 : compiler::TNode<RawPtrT> tmp120;
3160 : compiler::TNode<IntPtrT> tmp121;
3161 : compiler::TNode<JSReceiver> tmp122;
3162 : compiler::TNode<Number> tmp123;
3163 : compiler::TNode<Object> tmp124;
3164 : compiler::TNode<Number> tmp125;
3165 : compiler::TNode<Number> tmp126;
3166 : compiler::TNode<Smi> tmp127;
3167 : compiler::TNode<Number> tmp128;
3168 : ca_.Bind(&block11, &tmp117, &tmp118, &tmp119, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128);
3169 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 392);
3170 : compiler::TNode<Smi> tmp129;
3171 : USE(tmp129);
3172 112 : tmp129 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).Convert5ATSmi8ATintptr(compiler::TNode<IntPtrT>{tmp121}));
3173 : compiler::TNode<Smi> tmp130;
3174 : USE(tmp130);
3175 112 : tmp130 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(2));
3176 : compiler::TNode<Smi> tmp131;
3177 : USE(tmp131);
3178 112 : tmp131 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp129}, compiler::TNode<Smi>{tmp130}));
3179 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 394);
3180 : compiler::TNode<IntPtrT> tmp132;
3181 : USE(tmp132);
3182 112 : tmp132 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
3183 : compiler::TNode<Object> tmp133;
3184 : USE(tmp133);
3185 112 : tmp133 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp119}, compiler::TNode<RawPtrT>{tmp120}, compiler::TNode<IntPtrT>{tmp121}}, compiler::TNode<IntPtrT>{tmp132}));
3186 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 395);
3187 : compiler::TNode<Number> tmp134;
3188 : USE(tmp134);
3189 168 : tmp134 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).ToInteger_Inline(compiler::TNode<Context>{tmp117}, compiler::TNode<Object>{tmp133}));
3190 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 397);
3191 : compiler::TNode<Number> tmp135;
3192 : USE(tmp135);
3193 112 : tmp135 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber17ATconstexpr_int31(0));
3194 : compiler::TNode<Number> tmp136;
3195 : USE(tmp136);
3196 112 : tmp136 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Max(compiler::TNode<Number>{tmp134}, compiler::TNode<Number>{tmp135}));
3197 : compiler::TNode<Number> tmp137;
3198 : USE(tmp137);
3199 224 : tmp137 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp123}, compiler::TNode<Number>{tmp126}));
3200 : compiler::TNode<Number> tmp138;
3201 : USE(tmp138);
3202 112 : tmp138 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).Min(compiler::TNode<Number>{tmp136}, compiler::TNode<Number>{tmp137}));
3203 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 390);
3204 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 384);
3205 : ca_.Goto(&block12, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp131, tmp138);
3206 : }
3207 :
3208 56 : if (block12.is_used()) {
3209 : compiler::TNode<Context> tmp139;
3210 : compiler::TNode<Object> tmp140;
3211 : compiler::TNode<RawPtrT> tmp141;
3212 : compiler::TNode<RawPtrT> tmp142;
3213 : compiler::TNode<IntPtrT> tmp143;
3214 : compiler::TNode<JSReceiver> tmp144;
3215 : compiler::TNode<Number> tmp145;
3216 : compiler::TNode<Object> tmp146;
3217 : compiler::TNode<Number> tmp147;
3218 : compiler::TNode<Number> tmp148;
3219 : compiler::TNode<Smi> tmp149;
3220 : compiler::TNode<Number> tmp150;
3221 : ca_.Bind(&block12, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150);
3222 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 378);
3223 : ca_.Goto(&block9, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150);
3224 : }
3225 :
3226 56 : if (block9.is_used()) {
3227 : compiler::TNode<Context> tmp151;
3228 : compiler::TNode<Object> tmp152;
3229 : compiler::TNode<RawPtrT> tmp153;
3230 : compiler::TNode<RawPtrT> tmp154;
3231 : compiler::TNode<IntPtrT> tmp155;
3232 : compiler::TNode<JSReceiver> tmp156;
3233 : compiler::TNode<Number> tmp157;
3234 : compiler::TNode<Object> tmp158;
3235 : compiler::TNode<Number> tmp159;
3236 : compiler::TNode<Number> tmp160;
3237 : compiler::TNode<Smi> tmp161;
3238 : compiler::TNode<Number> tmp162;
3239 : ca_.Bind(&block9, &tmp151, &tmp152, &tmp153, &tmp154, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162);
3240 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 402);
3241 : compiler::TNode<Number> tmp163;
3242 : USE(tmp163);
3243 168 : tmp163 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberAdd(compiler::TNode<Number>{tmp157}, compiler::TNode<Number>{tmp161}));
3244 : compiler::TNode<Number> tmp164;
3245 : USE(tmp164);
3246 168 : tmp164 = ca_.UncheckedCast<Number>(CodeStubAssembler(state_).NumberSub(compiler::TNode<Number>{tmp163}, compiler::TNode<Number>{tmp162}));
3247 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 403);
3248 : compiler::TNode<Number> tmp165;
3249 : USE(tmp165);
3250 112 : tmp165 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr20UT5ATSmi10HeapNumber19ATconstexpr_float64(kMaxSafeInteger));
3251 56 : compiler::CodeAssemblerLabel label0(&ca_);
3252 56 : compiler::CodeAssemblerLabel label1(&ca_);
3253 112 : CodeStubAssembler(state_).BranchIfNumberGreaterThan(compiler::TNode<Number>{tmp164}, compiler::TNode<Number>{tmp165}, &label0, &label1);
3254 56 : if (label0.is_used()) {
3255 56 : ca_.Bind(&label0);
3256 : ca_.Goto(&block15, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp164, tmp164);
3257 : }
3258 56 : if (label1.is_used()) {
3259 56 : ca_.Bind(&label1);
3260 : ca_.Goto(&block16, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp164, tmp164);
3261 : }
3262 : }
3263 :
3264 56 : if (block15.is_used()) {
3265 : compiler::TNode<Context> tmp166;
3266 : compiler::TNode<Object> tmp167;
3267 : compiler::TNode<RawPtrT> tmp168;
3268 : compiler::TNode<RawPtrT> tmp169;
3269 : compiler::TNode<IntPtrT> tmp170;
3270 : compiler::TNode<JSReceiver> tmp171;
3271 : compiler::TNode<Number> tmp172;
3272 : compiler::TNode<Object> tmp173;
3273 : compiler::TNode<Number> tmp174;
3274 : compiler::TNode<Number> tmp175;
3275 : compiler::TNode<Smi> tmp176;
3276 : compiler::TNode<Number> tmp177;
3277 : compiler::TNode<Number> tmp178;
3278 : compiler::TNode<Number> tmp179;
3279 : ca_.Bind(&block15, &tmp166, &tmp167, &tmp168, &tmp169, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179);
3280 : ca_.Goto(&block13, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178);
3281 : }
3282 :
3283 56 : if (block16.is_used()) {
3284 : compiler::TNode<Context> tmp180;
3285 : compiler::TNode<Object> tmp181;
3286 : compiler::TNode<RawPtrT> tmp182;
3287 : compiler::TNode<RawPtrT> tmp183;
3288 : compiler::TNode<IntPtrT> tmp184;
3289 : compiler::TNode<JSReceiver> tmp185;
3290 : compiler::TNode<Number> tmp186;
3291 : compiler::TNode<Object> tmp187;
3292 : compiler::TNode<Number> tmp188;
3293 : compiler::TNode<Number> tmp189;
3294 : compiler::TNode<Smi> tmp190;
3295 : compiler::TNode<Number> tmp191;
3296 : compiler::TNode<Number> tmp192;
3297 : compiler::TNode<Number> tmp193;
3298 : ca_.Bind(&block16, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192, &tmp193);
3299 : ca_.Goto(&block14, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192);
3300 : }
3301 :
3302 56 : if (block13.is_used()) {
3303 : compiler::TNode<Context> tmp194;
3304 : compiler::TNode<Object> tmp195;
3305 : compiler::TNode<RawPtrT> tmp196;
3306 : compiler::TNode<RawPtrT> tmp197;
3307 : compiler::TNode<IntPtrT> tmp198;
3308 : compiler::TNode<JSReceiver> tmp199;
3309 : compiler::TNode<Number> tmp200;
3310 : compiler::TNode<Object> tmp201;
3311 : compiler::TNode<Number> tmp202;
3312 : compiler::TNode<Number> tmp203;
3313 : compiler::TNode<Smi> tmp204;
3314 : compiler::TNode<Number> tmp205;
3315 : compiler::TNode<Number> tmp206;
3316 : ca_.Bind(&block13, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206);
3317 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 404);
3318 112 : CodeStubAssembler(state_).ThrowTypeError(compiler::TNode<Context>{tmp194}, MessageTemplate::kInvalidArrayLength, compiler::TNode<Object>{tmp201});
3319 : }
3320 :
3321 56 : if (block14.is_used()) {
3322 : compiler::TNode<Context> tmp207;
3323 : compiler::TNode<Object> tmp208;
3324 : compiler::TNode<RawPtrT> tmp209;
3325 : compiler::TNode<RawPtrT> tmp210;
3326 : compiler::TNode<IntPtrT> tmp211;
3327 : compiler::TNode<JSReceiver> tmp212;
3328 : compiler::TNode<Number> tmp213;
3329 : compiler::TNode<Object> tmp214;
3330 : compiler::TNode<Number> tmp215;
3331 : compiler::TNode<Number> tmp216;
3332 : compiler::TNode<Smi> tmp217;
3333 : compiler::TNode<Number> tmp218;
3334 : compiler::TNode<Number> tmp219;
3335 : ca_.Bind(&block14, &tmp207, &tmp208, &tmp209, &tmp210, &tmp211, &tmp212, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219);
3336 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 409);
3337 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 410);
3338 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 408);
3339 : compiler::TNode<Object> tmp220;
3340 : USE(tmp220);
3341 56 : compiler::CodeAssemblerLabel label0(&ca_);
3342 168 : tmp220 = ArraySpliceBuiltinsFromDSLAssembler(state_).FastArraySplice(compiler::TNode<Context>{tmp207}, BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp209}, compiler::TNode<RawPtrT>{tmp210}, compiler::TNode<IntPtrT>{tmp211}}, compiler::TNode<JSReceiver>{tmp212}, compiler::TNode<Number>{tmp213}, compiler::TNode<Number>{tmp216}, compiler::TNode<Smi>{tmp217}, compiler::TNode<Number>{tmp218}, &label0);
3343 : ca_.Goto(&block19, tmp207, tmp208, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp207, tmp209, tmp210, tmp211, tmp212, tmp213, tmp216, tmp217, tmp218, tmp220);
3344 56 : if (label0.is_used()) {
3345 56 : ca_.Bind(&label0);
3346 : ca_.Goto(&block20, tmp207, tmp208, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp207, tmp209, tmp210, tmp211, tmp212, tmp213, tmp216, tmp217, tmp218);
3347 : }
3348 : }
3349 :
3350 56 : if (block20.is_used()) {
3351 : compiler::TNode<Context> tmp221;
3352 : compiler::TNode<Object> tmp222;
3353 : compiler::TNode<RawPtrT> tmp223;
3354 : compiler::TNode<RawPtrT> tmp224;
3355 : compiler::TNode<IntPtrT> tmp225;
3356 : compiler::TNode<JSReceiver> tmp226;
3357 : compiler::TNode<Number> tmp227;
3358 : compiler::TNode<Object> tmp228;
3359 : compiler::TNode<Number> tmp229;
3360 : compiler::TNode<Number> tmp230;
3361 : compiler::TNode<Smi> tmp231;
3362 : compiler::TNode<Number> tmp232;
3363 : compiler::TNode<Number> tmp233;
3364 : compiler::TNode<Context> tmp234;
3365 : compiler::TNode<RawPtrT> tmp235;
3366 : compiler::TNode<RawPtrT> tmp236;
3367 : compiler::TNode<IntPtrT> tmp237;
3368 : compiler::TNode<JSReceiver> tmp238;
3369 : compiler::TNode<Number> tmp239;
3370 : compiler::TNode<Number> tmp240;
3371 : compiler::TNode<Smi> tmp241;
3372 : compiler::TNode<Number> tmp242;
3373 : ca_.Bind(&block20, &tmp221, &tmp222, &tmp223, &tmp224, &tmp225, &tmp226, &tmp227, &tmp228, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242);
3374 : ca_.Goto(&block18, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, tmp232, tmp233);
3375 : }
3376 :
3377 56 : if (block19.is_used()) {
3378 : compiler::TNode<Context> tmp243;
3379 : compiler::TNode<Object> tmp244;
3380 : compiler::TNode<RawPtrT> tmp245;
3381 : compiler::TNode<RawPtrT> tmp246;
3382 : compiler::TNode<IntPtrT> tmp247;
3383 : compiler::TNode<JSReceiver> tmp248;
3384 : compiler::TNode<Number> tmp249;
3385 : compiler::TNode<Object> tmp250;
3386 : compiler::TNode<Number> tmp251;
3387 : compiler::TNode<Number> tmp252;
3388 : compiler::TNode<Smi> tmp253;
3389 : compiler::TNode<Number> tmp254;
3390 : compiler::TNode<Number> tmp255;
3391 : compiler::TNode<Context> tmp256;
3392 : compiler::TNode<RawPtrT> tmp257;
3393 : compiler::TNode<RawPtrT> tmp258;
3394 : compiler::TNode<IntPtrT> tmp259;
3395 : compiler::TNode<JSReceiver> tmp260;
3396 : compiler::TNode<Number> tmp261;
3397 : compiler::TNode<Number> tmp262;
3398 : compiler::TNode<Smi> tmp263;
3399 : compiler::TNode<Number> tmp264;
3400 : compiler::TNode<Object> tmp265;
3401 : ca_.Bind(&block19, &tmp243, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257, &tmp258, &tmp259, &tmp260, &tmp261, &tmp262, &tmp263, &tmp264, &tmp265);
3402 56 : arguments.PopAndReturn(tmp265);
3403 : }
3404 :
3405 56 : if (block18.is_used()) {
3406 : compiler::TNode<Context> tmp266;
3407 : compiler::TNode<Object> tmp267;
3408 : compiler::TNode<RawPtrT> tmp268;
3409 : compiler::TNode<RawPtrT> tmp269;
3410 : compiler::TNode<IntPtrT> tmp270;
3411 : compiler::TNode<JSReceiver> tmp271;
3412 : compiler::TNode<Number> tmp272;
3413 : compiler::TNode<Object> tmp273;
3414 : compiler::TNode<Number> tmp274;
3415 : compiler::TNode<Number> tmp275;
3416 : compiler::TNode<Smi> tmp276;
3417 : compiler::TNode<Number> tmp277;
3418 : compiler::TNode<Number> tmp278;
3419 : ca_.Bind(&block18, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275, &tmp276, &tmp277, &tmp278);
3420 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 407);
3421 : ca_.Goto(&block17, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278);
3422 : }
3423 :
3424 56 : if (block17.is_used()) {
3425 : compiler::TNode<Context> tmp279;
3426 : compiler::TNode<Object> tmp280;
3427 : compiler::TNode<RawPtrT> tmp281;
3428 : compiler::TNode<RawPtrT> tmp282;
3429 : compiler::TNode<IntPtrT> tmp283;
3430 : compiler::TNode<JSReceiver> tmp284;
3431 : compiler::TNode<Number> tmp285;
3432 : compiler::TNode<Object> tmp286;
3433 : compiler::TNode<Number> tmp287;
3434 : compiler::TNode<Number> tmp288;
3435 : compiler::TNode<Smi> tmp289;
3436 : compiler::TNode<Number> tmp290;
3437 : compiler::TNode<Number> tmp291;
3438 : ca_.Bind(&block17, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291);
3439 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 417);
3440 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 418);
3441 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 416);
3442 : compiler::TNode<Object> tmp292;
3443 : USE(tmp292);
3444 168 : tmp292 = ca_.UncheckedCast<Object>(ArraySpliceBuiltinsFromDSLAssembler(state_).SlowSplice(compiler::TNode<Context>{tmp279}, BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp281}, compiler::TNode<RawPtrT>{tmp282}, compiler::TNode<IntPtrT>{tmp283}}, compiler::TNode<JSReceiver>{tmp284}, compiler::TNode<Number>{tmp285}, compiler::TNode<Number>{tmp288}, compiler::TNode<Smi>{tmp289}, compiler::TNode<Number>{tmp290}));
3445 56 : arguments.PopAndReturn(tmp292);
3446 : }
3447 56 : }
3448 :
3449 56 : void ArraySpliceBuiltinsFromDSLAssembler::FastSplice10FixedArray20UT5ATSmi10HeapObject(compiler::TNode<Context> p_context, BaseBuiltinsFromDSLAssembler::Arguments p_args, compiler::TNode<JSArray> p_a, compiler::TNode<Smi> p_length, compiler::TNode<Smi> p_newLength, compiler::TNode<Smi> p_lengthDelta, compiler::TNode<Smi> p_actualStart, compiler::TNode<Smi> p_insertCount, compiler::TNode<Smi> p_actualDeleteCount, compiler::CodeAssemblerLabel* label_Bailout) {
3450 56 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3451 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3452 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3453 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3454 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3455 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3456 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3457 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi, Smi, FixedArray> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3458 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi, Smi, FixedArray> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3459 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3460 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3461 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3462 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3463 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, Smi> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3464 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, Smi, FixedArray, IntPtrT> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3465 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, Smi, FixedArray, IntPtrT> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3466 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, Smi, FixedArray, IntPtrT> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3467 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, Smi, FixedArray, IntPtrT> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3468 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, Smi> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3469 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3470 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3471 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
3472 : ca_.Goto(&block0, p_context, p_args.frame, p_args.base, p_args.length, p_a, p_length, p_newLength, p_lengthDelta, p_actualStart, p_insertCount, p_actualDeleteCount);
3473 :
3474 56 : if (block0.is_used()) {
3475 : compiler::TNode<Context> tmp0;
3476 : compiler::TNode<RawPtrT> tmp1;
3477 : compiler::TNode<RawPtrT> tmp2;
3478 : compiler::TNode<IntPtrT> tmp3;
3479 : compiler::TNode<JSArray> tmp4;
3480 : compiler::TNode<Smi> tmp5;
3481 : compiler::TNode<Smi> tmp6;
3482 : compiler::TNode<Smi> tmp7;
3483 : compiler::TNode<Smi> tmp8;
3484 : compiler::TNode<Smi> tmp9;
3485 : compiler::TNode<Smi> tmp10;
3486 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
3487 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 60);
3488 168 : ArrayBuiltinsFromDSLAssembler(state_).EnsureWriteableFastElements(compiler::TNode<Context>{tmp0}, compiler::TNode<JSArray>{tmp4});
3489 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 62);
3490 : compiler::TNode<BoolT> tmp11;
3491 : USE(tmp11);
3492 112 : tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiNotEqual(compiler::TNode<Smi>{tmp9}, compiler::TNode<Smi>{tmp10}));
3493 56 : ca_.Branch(tmp11, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10);
3494 : }
3495 :
3496 56 : if (block3.is_used()) {
3497 : compiler::TNode<Context> tmp12;
3498 : compiler::TNode<RawPtrT> tmp13;
3499 : compiler::TNode<RawPtrT> tmp14;
3500 : compiler::TNode<IntPtrT> tmp15;
3501 : compiler::TNode<JSArray> tmp16;
3502 : compiler::TNode<Smi> tmp17;
3503 : compiler::TNode<Smi> tmp18;
3504 : compiler::TNode<Smi> tmp19;
3505 : compiler::TNode<Smi> tmp20;
3506 : compiler::TNode<Smi> tmp21;
3507 : compiler::TNode<Smi> tmp22;
3508 : ca_.Bind(&block3, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
3509 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 63);
3510 56 : compiler::TNode<IntPtrT> tmp23 = ca_.IntPtrConstant(JSObject::kElementsOffset);
3511 : USE(tmp23);
3512 168 : compiler::TNode<FixedArrayBase>tmp24 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp16, tmp23});
3513 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 64);
3514 : compiler::TNode<Smi> tmp25;
3515 : USE(tmp25);
3516 112 : tmp25 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp20}, compiler::TNode<Smi>{tmp21}));
3517 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 65);
3518 : compiler::TNode<Smi> tmp26;
3519 : USE(tmp26);
3520 112 : tmp26 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp20}, compiler::TNode<Smi>{tmp22}));
3521 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 66);
3522 : compiler::TNode<Smi> tmp27;
3523 : USE(tmp27);
3524 112 : tmp27 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp17}, compiler::TNode<Smi>{tmp22}));
3525 : compiler::TNode<Smi> tmp28;
3526 : USE(tmp28);
3527 112 : tmp28 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp27}, compiler::TNode<Smi>{tmp20}));
3528 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 67);
3529 : compiler::TNode<BoolT> tmp29;
3530 : USE(tmp29);
3531 112 : tmp29 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp21}, compiler::TNode<Smi>{tmp22}));
3532 56 : ca_.Branch(tmp29, &block5, &block6, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp24, tmp25, tmp26, tmp28);
3533 : }
3534 :
3535 56 : if (block5.is_used()) {
3536 : compiler::TNode<Context> tmp30;
3537 : compiler::TNode<RawPtrT> tmp31;
3538 : compiler::TNode<RawPtrT> tmp32;
3539 : compiler::TNode<IntPtrT> tmp33;
3540 : compiler::TNode<JSArray> tmp34;
3541 : compiler::TNode<Smi> tmp35;
3542 : compiler::TNode<Smi> tmp36;
3543 : compiler::TNode<Smi> tmp37;
3544 : compiler::TNode<Smi> tmp38;
3545 : compiler::TNode<Smi> tmp39;
3546 : compiler::TNode<Smi> tmp40;
3547 : compiler::TNode<FixedArrayBase> tmp41;
3548 : compiler::TNode<Smi> tmp42;
3549 : compiler::TNode<Smi> tmp43;
3550 : compiler::TNode<Smi> tmp44;
3551 : ca_.Bind(&block5, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44);
3552 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 70);
3553 : compiler::TNode<FixedArray> tmp45;
3554 : USE(tmp45);
3555 168 : tmp45 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp30}, compiler::TNode<Object>{tmp41}));
3556 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 69);
3557 168 : ArraySpliceBuiltinsFromDSLAssembler(state_).DoMoveElements10FixedArray(compiler::TNode<FixedArray>{tmp45}, compiler::TNode<Smi>{tmp42}, compiler::TNode<Smi>{tmp43}, compiler::TNode<Smi>{tmp44});
3558 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 72);
3559 : compiler::TNode<FixedArray> tmp46;
3560 : USE(tmp46);
3561 168 : tmp46 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp30}, compiler::TNode<Object>{tmp41}));
3562 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 71);
3563 168 : ArraySpliceBuiltinsFromDSLAssembler(state_).StoreHoles10FixedArray(compiler::TNode<FixedArray>{tmp46}, compiler::TNode<Smi>{tmp36}, compiler::TNode<Smi>{tmp35});
3564 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 67);
3565 : ca_.Goto(&block7, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44);
3566 : }
3567 :
3568 56 : if (block6.is_used()) {
3569 : compiler::TNode<Context> tmp47;
3570 : compiler::TNode<RawPtrT> tmp48;
3571 : compiler::TNode<RawPtrT> tmp49;
3572 : compiler::TNode<IntPtrT> tmp50;
3573 : compiler::TNode<JSArray> tmp51;
3574 : compiler::TNode<Smi> tmp52;
3575 : compiler::TNode<Smi> tmp53;
3576 : compiler::TNode<Smi> tmp54;
3577 : compiler::TNode<Smi> tmp55;
3578 : compiler::TNode<Smi> tmp56;
3579 : compiler::TNode<Smi> tmp57;
3580 : compiler::TNode<FixedArrayBase> tmp58;
3581 : compiler::TNode<Smi> tmp59;
3582 : compiler::TNode<Smi> tmp60;
3583 : compiler::TNode<Smi> tmp61;
3584 : ca_.Bind(&block6, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61);
3585 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 73);
3586 : compiler::TNode<BoolT> tmp62;
3587 : USE(tmp62);
3588 112 : tmp62 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp56}, compiler::TNode<Smi>{tmp57}));
3589 56 : ca_.Branch(tmp62, &block8, &block9, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61);
3590 : }
3591 :
3592 56 : if (block8.is_used()) {
3593 : compiler::TNode<Context> tmp63;
3594 : compiler::TNode<RawPtrT> tmp64;
3595 : compiler::TNode<RawPtrT> tmp65;
3596 : compiler::TNode<IntPtrT> tmp66;
3597 : compiler::TNode<JSArray> tmp67;
3598 : compiler::TNode<Smi> tmp68;
3599 : compiler::TNode<Smi> tmp69;
3600 : compiler::TNode<Smi> tmp70;
3601 : compiler::TNode<Smi> tmp71;
3602 : compiler::TNode<Smi> tmp72;
3603 : compiler::TNode<Smi> tmp73;
3604 : compiler::TNode<FixedArrayBase> tmp74;
3605 : compiler::TNode<Smi> tmp75;
3606 : compiler::TNode<Smi> tmp76;
3607 : compiler::TNode<Smi> tmp77;
3608 : ca_.Bind(&block8, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
3609 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 75);
3610 56 : compiler::TNode<IntPtrT> tmp78 = ca_.IntPtrConstant(FixedArrayBase::kLengthOffset);
3611 : USE(tmp78);
3612 168 : compiler::TNode<Smi>tmp79 = CodeStubAssembler(state_).LoadReference<Smi>(CodeStubAssembler::Reference{tmp74, tmp78});
3613 : compiler::TNode<BoolT> tmp80;
3614 : USE(tmp80);
3615 112 : tmp80 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThanOrEqual(compiler::TNode<Smi>{tmp69}, compiler::TNode<Smi>{tmp79}));
3616 56 : ca_.Branch(tmp80, &block10, &block11, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77);
3617 : }
3618 :
3619 56 : if (block10.is_used()) {
3620 : compiler::TNode<Context> tmp81;
3621 : compiler::TNode<RawPtrT> tmp82;
3622 : compiler::TNode<RawPtrT> tmp83;
3623 : compiler::TNode<IntPtrT> tmp84;
3624 : compiler::TNode<JSArray> tmp85;
3625 : compiler::TNode<Smi> tmp86;
3626 : compiler::TNode<Smi> tmp87;
3627 : compiler::TNode<Smi> tmp88;
3628 : compiler::TNode<Smi> tmp89;
3629 : compiler::TNode<Smi> tmp90;
3630 : compiler::TNode<Smi> tmp91;
3631 : compiler::TNode<FixedArrayBase> tmp92;
3632 : compiler::TNode<Smi> tmp93;
3633 : compiler::TNode<Smi> tmp94;
3634 : compiler::TNode<Smi> tmp95;
3635 : ca_.Bind(&block10, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95);
3636 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 77);
3637 : compiler::TNode<FixedArray> tmp96;
3638 : USE(tmp96);
3639 168 : tmp96 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp81}, compiler::TNode<Object>{tmp92}));
3640 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 76);
3641 168 : ArraySpliceBuiltinsFromDSLAssembler(state_).DoMoveElements10FixedArray(compiler::TNode<FixedArray>{tmp96}, compiler::TNode<Smi>{tmp93}, compiler::TNode<Smi>{tmp94}, compiler::TNode<Smi>{tmp95});
3642 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 75);
3643 : ca_.Goto(&block12, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95);
3644 : }
3645 :
3646 56 : if (block11.is_used()) {
3647 : compiler::TNode<Context> tmp97;
3648 : compiler::TNode<RawPtrT> tmp98;
3649 : compiler::TNode<RawPtrT> tmp99;
3650 : compiler::TNode<IntPtrT> tmp100;
3651 : compiler::TNode<JSArray> tmp101;
3652 : compiler::TNode<Smi> tmp102;
3653 : compiler::TNode<Smi> tmp103;
3654 : compiler::TNode<Smi> tmp104;
3655 : compiler::TNode<Smi> tmp105;
3656 : compiler::TNode<Smi> tmp106;
3657 : compiler::TNode<Smi> tmp107;
3658 : compiler::TNode<FixedArrayBase> tmp108;
3659 : compiler::TNode<Smi> tmp109;
3660 : compiler::TNode<Smi> tmp110;
3661 : compiler::TNode<Smi> tmp111;
3662 : ca_.Bind(&block11, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111);
3663 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 80);
3664 : compiler::TNode<Smi> tmp112;
3665 : USE(tmp112);
3666 112 : tmp112 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<Smi>{tmp103}));
3667 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 82);
3668 : compiler::TNode<Smi> tmp113;
3669 : USE(tmp113);
3670 168 : tmp113 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3671 : compiler::TNode<FixedArray> tmp114;
3672 : USE(tmp114);
3673 168 : tmp114 = ca_.UncheckedCast<FixedArray>(ArraySpliceBuiltinsFromDSLAssembler(state_).Extract10FixedArray(compiler::TNode<Context>{tmp97}, compiler::TNode<FixedArrayBase>{tmp108}, compiler::TNode<Smi>{tmp113}, compiler::TNode<Smi>{tmp105}, compiler::TNode<Smi>{tmp112}));
3674 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 81);
3675 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 83);
3676 56 : compiler::TNode<IntPtrT> tmp115 = ca_.IntPtrConstant(JSObject::kElementsOffset);
3677 : USE(tmp115);
3678 112 : CodeStubAssembler(state_).StoreReference(CodeStubAssembler::Reference{tmp101, tmp115}, tmp114);
3679 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 84);
3680 56 : compiler::TNode<IntPtrT> tmp116 = ca_.IntPtrConstant(FixedArrayBase::kLengthOffset);
3681 : USE(tmp116);
3682 168 : compiler::TNode<Smi>tmp117 = CodeStubAssembler(state_).LoadReference<Smi>(CodeStubAssembler::Reference{tmp108, tmp116});
3683 : compiler::TNode<Smi> tmp118;
3684 : USE(tmp118);
3685 168 : tmp118 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3686 : compiler::TNode<BoolT> tmp119;
3687 : USE(tmp119);
3688 112 : tmp119 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp117}, compiler::TNode<Smi>{tmp118}));
3689 56 : ca_.Branch(tmp119, &block13, &block14, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp114);
3690 : }
3691 :
3692 56 : if (block13.is_used()) {
3693 : compiler::TNode<Context> tmp120;
3694 : compiler::TNode<RawPtrT> tmp121;
3695 : compiler::TNode<RawPtrT> tmp122;
3696 : compiler::TNode<IntPtrT> tmp123;
3697 : compiler::TNode<JSArray> tmp124;
3698 : compiler::TNode<Smi> tmp125;
3699 : compiler::TNode<Smi> tmp126;
3700 : compiler::TNode<Smi> tmp127;
3701 : compiler::TNode<Smi> tmp128;
3702 : compiler::TNode<Smi> tmp129;
3703 : compiler::TNode<Smi> tmp130;
3704 : compiler::TNode<FixedArrayBase> tmp131;
3705 : compiler::TNode<Smi> tmp132;
3706 : compiler::TNode<Smi> tmp133;
3707 : compiler::TNode<Smi> tmp134;
3708 : compiler::TNode<Smi> tmp135;
3709 : compiler::TNode<FixedArray> tmp136;
3710 : ca_.Bind(&block13, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136);
3711 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 86);
3712 : compiler::TNode<FixedArray> tmp137;
3713 : USE(tmp137);
3714 168 : tmp137 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp120}, compiler::TNode<Object>{tmp131}));
3715 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 87);
3716 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 85);
3717 168 : ArraySpliceBuiltinsFromDSLAssembler(state_).DoCopyElements10FixedArray(compiler::TNode<FixedArray>{tmp136}, compiler::TNode<Smi>{tmp132}, compiler::TNode<FixedArray>{tmp137}, compiler::TNode<Smi>{tmp133}, compiler::TNode<Smi>{tmp134});
3718 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 84);
3719 : ca_.Goto(&block14, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136);
3720 : }
3721 :
3722 56 : if (block14.is_used()) {
3723 : compiler::TNode<Context> tmp138;
3724 : compiler::TNode<RawPtrT> tmp139;
3725 : compiler::TNode<RawPtrT> tmp140;
3726 : compiler::TNode<IntPtrT> tmp141;
3727 : compiler::TNode<JSArray> tmp142;
3728 : compiler::TNode<Smi> tmp143;
3729 : compiler::TNode<Smi> tmp144;
3730 : compiler::TNode<Smi> tmp145;
3731 : compiler::TNode<Smi> tmp146;
3732 : compiler::TNode<Smi> tmp147;
3733 : compiler::TNode<Smi> tmp148;
3734 : compiler::TNode<FixedArrayBase> tmp149;
3735 : compiler::TNode<Smi> tmp150;
3736 : compiler::TNode<Smi> tmp151;
3737 : compiler::TNode<Smi> tmp152;
3738 : compiler::TNode<Smi> tmp153;
3739 : compiler::TNode<FixedArray> tmp154;
3740 : ca_.Bind(&block14, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154);
3741 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 78);
3742 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 75);
3743 : ca_.Goto(&block12, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152);
3744 : }
3745 :
3746 56 : if (block12.is_used()) {
3747 : compiler::TNode<Context> tmp155;
3748 : compiler::TNode<RawPtrT> tmp156;
3749 : compiler::TNode<RawPtrT> tmp157;
3750 : compiler::TNode<IntPtrT> tmp158;
3751 : compiler::TNode<JSArray> tmp159;
3752 : compiler::TNode<Smi> tmp160;
3753 : compiler::TNode<Smi> tmp161;
3754 : compiler::TNode<Smi> tmp162;
3755 : compiler::TNode<Smi> tmp163;
3756 : compiler::TNode<Smi> tmp164;
3757 : compiler::TNode<Smi> tmp165;
3758 : compiler::TNode<FixedArrayBase> tmp166;
3759 : compiler::TNode<Smi> tmp167;
3760 : compiler::TNode<Smi> tmp168;
3761 : compiler::TNode<Smi> tmp169;
3762 : ca_.Bind(&block12, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169);
3763 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 73);
3764 : ca_.Goto(&block9, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169);
3765 : }
3766 :
3767 56 : if (block9.is_used()) {
3768 : compiler::TNode<Context> tmp170;
3769 : compiler::TNode<RawPtrT> tmp171;
3770 : compiler::TNode<RawPtrT> tmp172;
3771 : compiler::TNode<IntPtrT> tmp173;
3772 : compiler::TNode<JSArray> tmp174;
3773 : compiler::TNode<Smi> tmp175;
3774 : compiler::TNode<Smi> tmp176;
3775 : compiler::TNode<Smi> tmp177;
3776 : compiler::TNode<Smi> tmp178;
3777 : compiler::TNode<Smi> tmp179;
3778 : compiler::TNode<Smi> tmp180;
3779 : compiler::TNode<FixedArrayBase> tmp181;
3780 : compiler::TNode<Smi> tmp182;
3781 : compiler::TNode<Smi> tmp183;
3782 : compiler::TNode<Smi> tmp184;
3783 : ca_.Bind(&block9, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184);
3784 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 67);
3785 : ca_.Goto(&block7, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184);
3786 : }
3787 :
3788 56 : if (block7.is_used()) {
3789 : compiler::TNode<Context> tmp185;
3790 : compiler::TNode<RawPtrT> tmp186;
3791 : compiler::TNode<RawPtrT> tmp187;
3792 : compiler::TNode<IntPtrT> tmp188;
3793 : compiler::TNode<JSArray> tmp189;
3794 : compiler::TNode<Smi> tmp190;
3795 : compiler::TNode<Smi> tmp191;
3796 : compiler::TNode<Smi> tmp192;
3797 : compiler::TNode<Smi> tmp193;
3798 : compiler::TNode<Smi> tmp194;
3799 : compiler::TNode<Smi> tmp195;
3800 : compiler::TNode<FixedArrayBase> tmp196;
3801 : compiler::TNode<Smi> tmp197;
3802 : compiler::TNode<Smi> tmp198;
3803 : compiler::TNode<Smi> tmp199;
3804 : ca_.Bind(&block7, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199);
3805 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 62);
3806 : ca_.Goto(&block4, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195);
3807 : }
3808 :
3809 56 : if (block4.is_used()) {
3810 : compiler::TNode<Context> tmp200;
3811 : compiler::TNode<RawPtrT> tmp201;
3812 : compiler::TNode<RawPtrT> tmp202;
3813 : compiler::TNode<IntPtrT> tmp203;
3814 : compiler::TNode<JSArray> tmp204;
3815 : compiler::TNode<Smi> tmp205;
3816 : compiler::TNode<Smi> tmp206;
3817 : compiler::TNode<Smi> tmp207;
3818 : compiler::TNode<Smi> tmp208;
3819 : compiler::TNode<Smi> tmp209;
3820 : compiler::TNode<Smi> tmp210;
3821 : ca_.Bind(&block4, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210);
3822 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 94);
3823 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 95);
3824 : compiler::TNode<Smi> tmp211;
3825 : USE(tmp211);
3826 168 : tmp211 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
3827 : compiler::TNode<BoolT> tmp212;
3828 : USE(tmp212);
3829 112 : tmp212 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp209}, compiler::TNode<Smi>{tmp211}));
3830 56 : ca_.Branch(tmp212, &block15, &block16, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp208);
3831 : }
3832 :
3833 56 : if (block15.is_used()) {
3834 : compiler::TNode<Context> tmp213;
3835 : compiler::TNode<RawPtrT> tmp214;
3836 : compiler::TNode<RawPtrT> tmp215;
3837 : compiler::TNode<IntPtrT> tmp216;
3838 : compiler::TNode<JSArray> tmp217;
3839 : compiler::TNode<Smi> tmp218;
3840 : compiler::TNode<Smi> tmp219;
3841 : compiler::TNode<Smi> tmp220;
3842 : compiler::TNode<Smi> tmp221;
3843 : compiler::TNode<Smi> tmp222;
3844 : compiler::TNode<Smi> tmp223;
3845 : compiler::TNode<Smi> tmp224;
3846 : ca_.Bind(&block15, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224);
3847 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 97);
3848 56 : compiler::TNode<IntPtrT> tmp225 = ca_.IntPtrConstant(JSObject::kElementsOffset);
3849 : USE(tmp225);
3850 112 : compiler::TNode<FixedArrayBase>tmp226 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp217, tmp225});
3851 : compiler::TNode<FixedArray> tmp227;
3852 : USE(tmp227);
3853 168 : tmp227 = ca_.UncheckedCast<FixedArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast10FixedArray(compiler::TNode<Context>{tmp213}, compiler::TNode<Object>{tmp226}));
3854 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 96);
3855 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 98);
3856 : compiler::TNode<IntPtrT> tmp228;
3857 : USE(tmp228);
3858 168 : tmp228 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(2));
3859 : ca_.Goto(&block19, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp227, tmp228);
3860 : }
3861 :
3862 56 : if (block19.is_used()) {
3863 : compiler::TNode<Context> tmp229;
3864 : compiler::TNode<RawPtrT> tmp230;
3865 : compiler::TNode<RawPtrT> tmp231;
3866 : compiler::TNode<IntPtrT> tmp232;
3867 : compiler::TNode<JSArray> tmp233;
3868 : compiler::TNode<Smi> tmp234;
3869 : compiler::TNode<Smi> tmp235;
3870 : compiler::TNode<Smi> tmp236;
3871 : compiler::TNode<Smi> tmp237;
3872 : compiler::TNode<Smi> tmp238;
3873 : compiler::TNode<Smi> tmp239;
3874 : compiler::TNode<Smi> tmp240;
3875 : compiler::TNode<FixedArray> tmp241;
3876 : compiler::TNode<IntPtrT> tmp242;
3877 : ca_.Bind(&block19, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242);
3878 : compiler::TNode<BoolT> tmp243;
3879 : USE(tmp243);
3880 224 : tmp243 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp242}, compiler::TNode<IntPtrT>{tmp232}));
3881 56 : ca_.Branch(tmp243, &block17, &block18, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242);
3882 : }
3883 :
3884 56 : if (block17.is_used()) {
3885 : compiler::TNode<Context> tmp244;
3886 : compiler::TNode<RawPtrT> tmp245;
3887 : compiler::TNode<RawPtrT> tmp246;
3888 : compiler::TNode<IntPtrT> tmp247;
3889 : compiler::TNode<JSArray> tmp248;
3890 : compiler::TNode<Smi> tmp249;
3891 : compiler::TNode<Smi> tmp250;
3892 : compiler::TNode<Smi> tmp251;
3893 : compiler::TNode<Smi> tmp252;
3894 : compiler::TNode<Smi> tmp253;
3895 : compiler::TNode<Smi> tmp254;
3896 : compiler::TNode<Smi> tmp255;
3897 : compiler::TNode<FixedArray> tmp256;
3898 : compiler::TNode<IntPtrT> tmp257;
3899 : ca_.Bind(&block17, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257);
3900 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 99);
3901 : compiler::TNode<Object> tmp258;
3902 : USE(tmp258);
3903 112 : tmp258 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp245}, compiler::TNode<RawPtrT>{tmp246}, compiler::TNode<IntPtrT>{tmp247}}, compiler::TNode<IntPtrT>{tmp257}));
3904 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 102);
3905 : compiler::TNode<Smi> tmp259;
3906 : USE(tmp259);
3907 168 : tmp259 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
3908 : compiler::TNode<Smi> tmp260;
3909 : USE(tmp260);
3910 112 : tmp260 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp255}, compiler::TNode<Smi>{tmp259}));
3911 : compiler::TNode<Object> tmp261;
3912 : USE(tmp261);
3913 168 : tmp261 = ca_.UncheckedCast<Object>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast20UT5ATSmi10HeapObject(compiler::TNode<Object>{tmp258}));
3914 168 : BaseBuiltinsFromDSLAssembler(state_).StoreFixedArrayDirect(compiler::TNode<FixedArray>{tmp256}, compiler::TNode<Smi>{tmp255}, compiler::TNode<Object>{tmp261});
3915 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 98);
3916 : ca_.Goto(&block20, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, tmp252, tmp253, tmp254, tmp260, tmp256, tmp257);
3917 : }
3918 :
3919 56 : if (block20.is_used()) {
3920 : compiler::TNode<Context> tmp262;
3921 : compiler::TNode<RawPtrT> tmp263;
3922 : compiler::TNode<RawPtrT> tmp264;
3923 : compiler::TNode<IntPtrT> tmp265;
3924 : compiler::TNode<JSArray> tmp266;
3925 : compiler::TNode<Smi> tmp267;
3926 : compiler::TNode<Smi> tmp268;
3927 : compiler::TNode<Smi> tmp269;
3928 : compiler::TNode<Smi> tmp270;
3929 : compiler::TNode<Smi> tmp271;
3930 : compiler::TNode<Smi> tmp272;
3931 : compiler::TNode<Smi> tmp273;
3932 : compiler::TNode<FixedArray> tmp274;
3933 : compiler::TNode<IntPtrT> tmp275;
3934 : ca_.Bind(&block20, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275);
3935 : compiler::TNode<IntPtrT> tmp276;
3936 : USE(tmp276);
3937 168 : tmp276 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
3938 : compiler::TNode<IntPtrT> tmp277;
3939 : USE(tmp277);
3940 112 : tmp277 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp275}, compiler::TNode<IntPtrT>{tmp276}));
3941 : ca_.Goto(&block19, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, tmp272, tmp273, tmp274, tmp277);
3942 : }
3943 :
3944 56 : if (block18.is_used()) {
3945 : compiler::TNode<Context> tmp278;
3946 : compiler::TNode<RawPtrT> tmp279;
3947 : compiler::TNode<RawPtrT> tmp280;
3948 : compiler::TNode<IntPtrT> tmp281;
3949 : compiler::TNode<JSArray> tmp282;
3950 : compiler::TNode<Smi> tmp283;
3951 : compiler::TNode<Smi> tmp284;
3952 : compiler::TNode<Smi> tmp285;
3953 : compiler::TNode<Smi> tmp286;
3954 : compiler::TNode<Smi> tmp287;
3955 : compiler::TNode<Smi> tmp288;
3956 : compiler::TNode<Smi> tmp289;
3957 : compiler::TNode<FixedArray> tmp290;
3958 : compiler::TNode<IntPtrT> tmp291;
3959 : ca_.Bind(&block18, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291);
3960 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 95);
3961 : ca_.Goto(&block16, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289);
3962 : }
3963 :
3964 56 : if (block16.is_used()) {
3965 : compiler::TNode<Context> tmp292;
3966 : compiler::TNode<RawPtrT> tmp293;
3967 : compiler::TNode<RawPtrT> tmp294;
3968 : compiler::TNode<IntPtrT> tmp295;
3969 : compiler::TNode<JSArray> tmp296;
3970 : compiler::TNode<Smi> tmp297;
3971 : compiler::TNode<Smi> tmp298;
3972 : compiler::TNode<Smi> tmp299;
3973 : compiler::TNode<Smi> tmp300;
3974 : compiler::TNode<Smi> tmp301;
3975 : compiler::TNode<Smi> tmp302;
3976 : compiler::TNode<Smi> tmp303;
3977 : ca_.Bind(&block16, &tmp292, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303);
3978 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 107);
3979 56 : compiler::TNode<IntPtrT> tmp304 = ca_.IntPtrConstant(JSArray::kLengthOffset);
3980 : USE(tmp304);
3981 112 : CodeStubAssembler(state_).StoreReference(CodeStubAssembler::Reference{tmp296, tmp304}, tmp298);
3982 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 58);
3983 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 54);
3984 : ca_.Goto(&block2, tmp292, tmp293, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302);
3985 : }
3986 :
3987 56 : if (block2.is_used()) {
3988 : compiler::TNode<Context> tmp305;
3989 : compiler::TNode<RawPtrT> tmp306;
3990 : compiler::TNode<RawPtrT> tmp307;
3991 : compiler::TNode<IntPtrT> tmp308;
3992 : compiler::TNode<JSArray> tmp309;
3993 : compiler::TNode<Smi> tmp310;
3994 : compiler::TNode<Smi> tmp311;
3995 : compiler::TNode<Smi> tmp312;
3996 : compiler::TNode<Smi> tmp313;
3997 : compiler::TNode<Smi> tmp314;
3998 : compiler::TNode<Smi> tmp315;
3999 : ca_.Bind(&block2, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315);
4000 : ca_.Goto(&block21, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315);
4001 : }
4002 :
4003 56 : if (block1.is_used()) {
4004 : ca_.Bind(&block1);
4005 0 : ca_.Goto(label_Bailout);
4006 : }
4007 :
4008 : compiler::TNode<Context> tmp316;
4009 : compiler::TNode<RawPtrT> tmp317;
4010 : compiler::TNode<RawPtrT> tmp318;
4011 : compiler::TNode<IntPtrT> tmp319;
4012 : compiler::TNode<JSArray> tmp320;
4013 : compiler::TNode<Smi> tmp321;
4014 : compiler::TNode<Smi> tmp322;
4015 : compiler::TNode<Smi> tmp323;
4016 : compiler::TNode<Smi> tmp324;
4017 : compiler::TNode<Smi> tmp325;
4018 : compiler::TNode<Smi> tmp326;
4019 : ca_.Bind(&block21, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326);
4020 56 : }
4021 :
4022 56 : void ArraySpliceBuiltinsFromDSLAssembler::FastSplice16FixedDoubleArray20UT5ATSmi10HeapNumber(compiler::TNode<Context> p_context, BaseBuiltinsFromDSLAssembler::Arguments p_args, compiler::TNode<JSArray> p_a, compiler::TNode<Smi> p_length, compiler::TNode<Smi> p_newLength, compiler::TNode<Smi> p_lengthDelta, compiler::TNode<Smi> p_actualStart, compiler::TNode<Smi> p_insertCount, compiler::TNode<Smi> p_actualDeleteCount, compiler::CodeAssemblerLabel* label_Bailout) {
4023 56 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4024 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4025 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4026 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4027 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block8(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4028 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block10(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4029 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block11(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4030 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi, Smi, FixedDoubleArray> block13(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4031 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi, Smi, FixedDoubleArray> block14(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4032 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block12(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4033 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block9(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4034 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, FixedArrayBase, Smi, Smi, Smi> block7(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4035 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4036 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, Smi> block15(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4037 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, Smi, FixedDoubleArray, IntPtrT> block19(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4038 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, Smi, FixedDoubleArray, IntPtrT> block17(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4039 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, Smi, FixedDoubleArray, IntPtrT> block20(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4040 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, Smi, FixedDoubleArray, IntPtrT> block18(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4041 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi, Smi> block16(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4042 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4043 : compiler::CodeAssemblerParameterizedLabel<> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4044 : compiler::CodeAssemblerParameterizedLabel<Context, RawPtrT, RawPtrT, IntPtrT, JSArray, Smi, Smi, Smi, Smi, Smi, Smi> block21(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4045 : ca_.Goto(&block0, p_context, p_args.frame, p_args.base, p_args.length, p_a, p_length, p_newLength, p_lengthDelta, p_actualStart, p_insertCount, p_actualDeleteCount);
4046 :
4047 56 : if (block0.is_used()) {
4048 : compiler::TNode<Context> tmp0;
4049 : compiler::TNode<RawPtrT> tmp1;
4050 : compiler::TNode<RawPtrT> tmp2;
4051 : compiler::TNode<IntPtrT> tmp3;
4052 : compiler::TNode<JSArray> tmp4;
4053 : compiler::TNode<Smi> tmp5;
4054 : compiler::TNode<Smi> tmp6;
4055 : compiler::TNode<Smi> tmp7;
4056 : compiler::TNode<Smi> tmp8;
4057 : compiler::TNode<Smi> tmp9;
4058 : compiler::TNode<Smi> tmp10;
4059 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4, &tmp5, &tmp6, &tmp7, &tmp8, &tmp9, &tmp10);
4060 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 60);
4061 168 : ArrayBuiltinsFromDSLAssembler(state_).EnsureWriteableFastElements(compiler::TNode<Context>{tmp0}, compiler::TNode<JSArray>{tmp4});
4062 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 62);
4063 : compiler::TNode<BoolT> tmp11;
4064 : USE(tmp11);
4065 112 : tmp11 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiNotEqual(compiler::TNode<Smi>{tmp9}, compiler::TNode<Smi>{tmp10}));
4066 56 : ca_.Branch(tmp11, &block3, &block4, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10);
4067 : }
4068 :
4069 56 : if (block3.is_used()) {
4070 : compiler::TNode<Context> tmp12;
4071 : compiler::TNode<RawPtrT> tmp13;
4072 : compiler::TNode<RawPtrT> tmp14;
4073 : compiler::TNode<IntPtrT> tmp15;
4074 : compiler::TNode<JSArray> tmp16;
4075 : compiler::TNode<Smi> tmp17;
4076 : compiler::TNode<Smi> tmp18;
4077 : compiler::TNode<Smi> tmp19;
4078 : compiler::TNode<Smi> tmp20;
4079 : compiler::TNode<Smi> tmp21;
4080 : compiler::TNode<Smi> tmp22;
4081 : ca_.Bind(&block3, &tmp12, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17, &tmp18, &tmp19, &tmp20, &tmp21, &tmp22);
4082 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 63);
4083 56 : compiler::TNode<IntPtrT> tmp23 = ca_.IntPtrConstant(JSObject::kElementsOffset);
4084 : USE(tmp23);
4085 168 : compiler::TNode<FixedArrayBase>tmp24 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp16, tmp23});
4086 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 64);
4087 : compiler::TNode<Smi> tmp25;
4088 : USE(tmp25);
4089 112 : tmp25 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp20}, compiler::TNode<Smi>{tmp21}));
4090 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 65);
4091 : compiler::TNode<Smi> tmp26;
4092 : USE(tmp26);
4093 112 : tmp26 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp20}, compiler::TNode<Smi>{tmp22}));
4094 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 66);
4095 : compiler::TNode<Smi> tmp27;
4096 : USE(tmp27);
4097 112 : tmp27 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp17}, compiler::TNode<Smi>{tmp22}));
4098 : compiler::TNode<Smi> tmp28;
4099 : USE(tmp28);
4100 112 : tmp28 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiSub(compiler::TNode<Smi>{tmp27}, compiler::TNode<Smi>{tmp20}));
4101 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 67);
4102 : compiler::TNode<BoolT> tmp29;
4103 : USE(tmp29);
4104 112 : tmp29 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp21}, compiler::TNode<Smi>{tmp22}));
4105 56 : ca_.Branch(tmp29, &block5, &block6, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp24, tmp25, tmp26, tmp28);
4106 : }
4107 :
4108 56 : if (block5.is_used()) {
4109 : compiler::TNode<Context> tmp30;
4110 : compiler::TNode<RawPtrT> tmp31;
4111 : compiler::TNode<RawPtrT> tmp32;
4112 : compiler::TNode<IntPtrT> tmp33;
4113 : compiler::TNode<JSArray> tmp34;
4114 : compiler::TNode<Smi> tmp35;
4115 : compiler::TNode<Smi> tmp36;
4116 : compiler::TNode<Smi> tmp37;
4117 : compiler::TNode<Smi> tmp38;
4118 : compiler::TNode<Smi> tmp39;
4119 : compiler::TNode<Smi> tmp40;
4120 : compiler::TNode<FixedArrayBase> tmp41;
4121 : compiler::TNode<Smi> tmp42;
4122 : compiler::TNode<Smi> tmp43;
4123 : compiler::TNode<Smi> tmp44;
4124 : ca_.Bind(&block5, &tmp30, &tmp31, &tmp32, &tmp33, &tmp34, &tmp35, &tmp36, &tmp37, &tmp38, &tmp39, &tmp40, &tmp41, &tmp42, &tmp43, &tmp44);
4125 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 70);
4126 : compiler::TNode<FixedDoubleArray> tmp45;
4127 : USE(tmp45);
4128 168 : tmp45 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp30}, compiler::TNode<Object>{tmp41}));
4129 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 69);
4130 168 : ArraySpliceBuiltinsFromDSLAssembler(state_).DoMoveElements16FixedDoubleArray(compiler::TNode<FixedDoubleArray>{tmp45}, compiler::TNode<Smi>{tmp42}, compiler::TNode<Smi>{tmp43}, compiler::TNode<Smi>{tmp44});
4131 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 72);
4132 : compiler::TNode<FixedDoubleArray> tmp46;
4133 : USE(tmp46);
4134 168 : tmp46 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp30}, compiler::TNode<Object>{tmp41}));
4135 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 71);
4136 168 : ArraySpliceBuiltinsFromDSLAssembler(state_).StoreHoles16FixedDoubleArray(compiler::TNode<FixedDoubleArray>{tmp46}, compiler::TNode<Smi>{tmp36}, compiler::TNode<Smi>{tmp35});
4137 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 67);
4138 : ca_.Goto(&block7, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44);
4139 : }
4140 :
4141 56 : if (block6.is_used()) {
4142 : compiler::TNode<Context> tmp47;
4143 : compiler::TNode<RawPtrT> tmp48;
4144 : compiler::TNode<RawPtrT> tmp49;
4145 : compiler::TNode<IntPtrT> tmp50;
4146 : compiler::TNode<JSArray> tmp51;
4147 : compiler::TNode<Smi> tmp52;
4148 : compiler::TNode<Smi> tmp53;
4149 : compiler::TNode<Smi> tmp54;
4150 : compiler::TNode<Smi> tmp55;
4151 : compiler::TNode<Smi> tmp56;
4152 : compiler::TNode<Smi> tmp57;
4153 : compiler::TNode<FixedArrayBase> tmp58;
4154 : compiler::TNode<Smi> tmp59;
4155 : compiler::TNode<Smi> tmp60;
4156 : compiler::TNode<Smi> tmp61;
4157 : ca_.Bind(&block6, &tmp47, &tmp48, &tmp49, &tmp50, &tmp51, &tmp52, &tmp53, &tmp54, &tmp55, &tmp56, &tmp57, &tmp58, &tmp59, &tmp60, &tmp61);
4158 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 73);
4159 : compiler::TNode<BoolT> tmp62;
4160 : USE(tmp62);
4161 112 : tmp62 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp56}, compiler::TNode<Smi>{tmp57}));
4162 56 : ca_.Branch(tmp62, &block8, &block9, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61);
4163 : }
4164 :
4165 56 : if (block8.is_used()) {
4166 : compiler::TNode<Context> tmp63;
4167 : compiler::TNode<RawPtrT> tmp64;
4168 : compiler::TNode<RawPtrT> tmp65;
4169 : compiler::TNode<IntPtrT> tmp66;
4170 : compiler::TNode<JSArray> tmp67;
4171 : compiler::TNode<Smi> tmp68;
4172 : compiler::TNode<Smi> tmp69;
4173 : compiler::TNode<Smi> tmp70;
4174 : compiler::TNode<Smi> tmp71;
4175 : compiler::TNode<Smi> tmp72;
4176 : compiler::TNode<Smi> tmp73;
4177 : compiler::TNode<FixedArrayBase> tmp74;
4178 : compiler::TNode<Smi> tmp75;
4179 : compiler::TNode<Smi> tmp76;
4180 : compiler::TNode<Smi> tmp77;
4181 : ca_.Bind(&block8, &tmp63, &tmp64, &tmp65, &tmp66, &tmp67, &tmp68, &tmp69, &tmp70, &tmp71, &tmp72, &tmp73, &tmp74, &tmp75, &tmp76, &tmp77);
4182 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 75);
4183 56 : compiler::TNode<IntPtrT> tmp78 = ca_.IntPtrConstant(FixedArrayBase::kLengthOffset);
4184 : USE(tmp78);
4185 168 : compiler::TNode<Smi>tmp79 = CodeStubAssembler(state_).LoadReference<Smi>(CodeStubAssembler::Reference{tmp74, tmp78});
4186 : compiler::TNode<BoolT> tmp80;
4187 : USE(tmp80);
4188 112 : tmp80 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThanOrEqual(compiler::TNode<Smi>{tmp69}, compiler::TNode<Smi>{tmp79}));
4189 56 : ca_.Branch(tmp80, &block10, &block11, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77);
4190 : }
4191 :
4192 56 : if (block10.is_used()) {
4193 : compiler::TNode<Context> tmp81;
4194 : compiler::TNode<RawPtrT> tmp82;
4195 : compiler::TNode<RawPtrT> tmp83;
4196 : compiler::TNode<IntPtrT> tmp84;
4197 : compiler::TNode<JSArray> tmp85;
4198 : compiler::TNode<Smi> tmp86;
4199 : compiler::TNode<Smi> tmp87;
4200 : compiler::TNode<Smi> tmp88;
4201 : compiler::TNode<Smi> tmp89;
4202 : compiler::TNode<Smi> tmp90;
4203 : compiler::TNode<Smi> tmp91;
4204 : compiler::TNode<FixedArrayBase> tmp92;
4205 : compiler::TNode<Smi> tmp93;
4206 : compiler::TNode<Smi> tmp94;
4207 : compiler::TNode<Smi> tmp95;
4208 : ca_.Bind(&block10, &tmp81, &tmp82, &tmp83, &tmp84, &tmp85, &tmp86, &tmp87, &tmp88, &tmp89, &tmp90, &tmp91, &tmp92, &tmp93, &tmp94, &tmp95);
4209 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 77);
4210 : compiler::TNode<FixedDoubleArray> tmp96;
4211 : USE(tmp96);
4212 168 : tmp96 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp81}, compiler::TNode<Object>{tmp92}));
4213 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 76);
4214 168 : ArraySpliceBuiltinsFromDSLAssembler(state_).DoMoveElements16FixedDoubleArray(compiler::TNode<FixedDoubleArray>{tmp96}, compiler::TNode<Smi>{tmp93}, compiler::TNode<Smi>{tmp94}, compiler::TNode<Smi>{tmp95});
4215 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 75);
4216 : ca_.Goto(&block12, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95);
4217 : }
4218 :
4219 56 : if (block11.is_used()) {
4220 : compiler::TNode<Context> tmp97;
4221 : compiler::TNode<RawPtrT> tmp98;
4222 : compiler::TNode<RawPtrT> tmp99;
4223 : compiler::TNode<IntPtrT> tmp100;
4224 : compiler::TNode<JSArray> tmp101;
4225 : compiler::TNode<Smi> tmp102;
4226 : compiler::TNode<Smi> tmp103;
4227 : compiler::TNode<Smi> tmp104;
4228 : compiler::TNode<Smi> tmp105;
4229 : compiler::TNode<Smi> tmp106;
4230 : compiler::TNode<Smi> tmp107;
4231 : compiler::TNode<FixedArrayBase> tmp108;
4232 : compiler::TNode<Smi> tmp109;
4233 : compiler::TNode<Smi> tmp110;
4234 : compiler::TNode<Smi> tmp111;
4235 : ca_.Bind(&block11, &tmp97, &tmp98, &tmp99, &tmp100, &tmp101, &tmp102, &tmp103, &tmp104, &tmp105, &tmp106, &tmp107, &tmp108, &tmp109, &tmp110, &tmp111);
4236 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 80);
4237 : compiler::TNode<Smi> tmp112;
4238 : USE(tmp112);
4239 112 : tmp112 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).CalculateNewElementsCapacity(compiler::TNode<Smi>{tmp103}));
4240 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 82);
4241 : compiler::TNode<Smi> tmp113;
4242 : USE(tmp113);
4243 168 : tmp113 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
4244 : compiler::TNode<FixedDoubleArray> tmp114;
4245 : USE(tmp114);
4246 168 : tmp114 = ca_.UncheckedCast<FixedDoubleArray>(ArraySpliceBuiltinsFromDSLAssembler(state_).Extract16FixedDoubleArray(compiler::TNode<Context>{tmp97}, compiler::TNode<FixedArrayBase>{tmp108}, compiler::TNode<Smi>{tmp113}, compiler::TNode<Smi>{tmp105}, compiler::TNode<Smi>{tmp112}));
4247 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 81);
4248 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 83);
4249 56 : compiler::TNode<IntPtrT> tmp115 = ca_.IntPtrConstant(JSObject::kElementsOffset);
4250 : USE(tmp115);
4251 112 : CodeStubAssembler(state_).StoreReference(CodeStubAssembler::Reference{tmp101, tmp115}, tmp114);
4252 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 84);
4253 56 : compiler::TNode<IntPtrT> tmp116 = ca_.IntPtrConstant(FixedArrayBase::kLengthOffset);
4254 : USE(tmp116);
4255 168 : compiler::TNode<Smi>tmp117 = CodeStubAssembler(state_).LoadReference<Smi>(CodeStubAssembler::Reference{tmp108, tmp116});
4256 : compiler::TNode<Smi> tmp118;
4257 : USE(tmp118);
4258 168 : tmp118 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
4259 : compiler::TNode<BoolT> tmp119;
4260 : USE(tmp119);
4261 112 : tmp119 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp117}, compiler::TNode<Smi>{tmp118}));
4262 56 : ca_.Branch(tmp119, &block13, &block14, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp114);
4263 : }
4264 :
4265 56 : if (block13.is_used()) {
4266 : compiler::TNode<Context> tmp120;
4267 : compiler::TNode<RawPtrT> tmp121;
4268 : compiler::TNode<RawPtrT> tmp122;
4269 : compiler::TNode<IntPtrT> tmp123;
4270 : compiler::TNode<JSArray> tmp124;
4271 : compiler::TNode<Smi> tmp125;
4272 : compiler::TNode<Smi> tmp126;
4273 : compiler::TNode<Smi> tmp127;
4274 : compiler::TNode<Smi> tmp128;
4275 : compiler::TNode<Smi> tmp129;
4276 : compiler::TNode<Smi> tmp130;
4277 : compiler::TNode<FixedArrayBase> tmp131;
4278 : compiler::TNode<Smi> tmp132;
4279 : compiler::TNode<Smi> tmp133;
4280 : compiler::TNode<Smi> tmp134;
4281 : compiler::TNode<Smi> tmp135;
4282 : compiler::TNode<FixedDoubleArray> tmp136;
4283 : ca_.Bind(&block13, &tmp120, &tmp121, &tmp122, &tmp123, &tmp124, &tmp125, &tmp126, &tmp127, &tmp128, &tmp129, &tmp130, &tmp131, &tmp132, &tmp133, &tmp134, &tmp135, &tmp136);
4284 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 86);
4285 : compiler::TNode<FixedDoubleArray> tmp137;
4286 : USE(tmp137);
4287 168 : tmp137 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp120}, compiler::TNode<Object>{tmp131}));
4288 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 87);
4289 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 85);
4290 168 : ArraySpliceBuiltinsFromDSLAssembler(state_).DoCopyElements16FixedDoubleArray(compiler::TNode<FixedDoubleArray>{tmp136}, compiler::TNode<Smi>{tmp132}, compiler::TNode<FixedDoubleArray>{tmp137}, compiler::TNode<Smi>{tmp133}, compiler::TNode<Smi>{tmp134});
4291 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 84);
4292 : ca_.Goto(&block14, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136);
4293 : }
4294 :
4295 56 : if (block14.is_used()) {
4296 : compiler::TNode<Context> tmp138;
4297 : compiler::TNode<RawPtrT> tmp139;
4298 : compiler::TNode<RawPtrT> tmp140;
4299 : compiler::TNode<IntPtrT> tmp141;
4300 : compiler::TNode<JSArray> tmp142;
4301 : compiler::TNode<Smi> tmp143;
4302 : compiler::TNode<Smi> tmp144;
4303 : compiler::TNode<Smi> tmp145;
4304 : compiler::TNode<Smi> tmp146;
4305 : compiler::TNode<Smi> tmp147;
4306 : compiler::TNode<Smi> tmp148;
4307 : compiler::TNode<FixedArrayBase> tmp149;
4308 : compiler::TNode<Smi> tmp150;
4309 : compiler::TNode<Smi> tmp151;
4310 : compiler::TNode<Smi> tmp152;
4311 : compiler::TNode<Smi> tmp153;
4312 : compiler::TNode<FixedDoubleArray> tmp154;
4313 : ca_.Bind(&block14, &tmp138, &tmp139, &tmp140, &tmp141, &tmp142, &tmp143, &tmp144, &tmp145, &tmp146, &tmp147, &tmp148, &tmp149, &tmp150, &tmp151, &tmp152, &tmp153, &tmp154);
4314 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 78);
4315 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 75);
4316 : ca_.Goto(&block12, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152);
4317 : }
4318 :
4319 56 : if (block12.is_used()) {
4320 : compiler::TNode<Context> tmp155;
4321 : compiler::TNode<RawPtrT> tmp156;
4322 : compiler::TNode<RawPtrT> tmp157;
4323 : compiler::TNode<IntPtrT> tmp158;
4324 : compiler::TNode<JSArray> tmp159;
4325 : compiler::TNode<Smi> tmp160;
4326 : compiler::TNode<Smi> tmp161;
4327 : compiler::TNode<Smi> tmp162;
4328 : compiler::TNode<Smi> tmp163;
4329 : compiler::TNode<Smi> tmp164;
4330 : compiler::TNode<Smi> tmp165;
4331 : compiler::TNode<FixedArrayBase> tmp166;
4332 : compiler::TNode<Smi> tmp167;
4333 : compiler::TNode<Smi> tmp168;
4334 : compiler::TNode<Smi> tmp169;
4335 : ca_.Bind(&block12, &tmp155, &tmp156, &tmp157, &tmp158, &tmp159, &tmp160, &tmp161, &tmp162, &tmp163, &tmp164, &tmp165, &tmp166, &tmp167, &tmp168, &tmp169);
4336 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 73);
4337 : ca_.Goto(&block9, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169);
4338 : }
4339 :
4340 56 : if (block9.is_used()) {
4341 : compiler::TNode<Context> tmp170;
4342 : compiler::TNode<RawPtrT> tmp171;
4343 : compiler::TNode<RawPtrT> tmp172;
4344 : compiler::TNode<IntPtrT> tmp173;
4345 : compiler::TNode<JSArray> tmp174;
4346 : compiler::TNode<Smi> tmp175;
4347 : compiler::TNode<Smi> tmp176;
4348 : compiler::TNode<Smi> tmp177;
4349 : compiler::TNode<Smi> tmp178;
4350 : compiler::TNode<Smi> tmp179;
4351 : compiler::TNode<Smi> tmp180;
4352 : compiler::TNode<FixedArrayBase> tmp181;
4353 : compiler::TNode<Smi> tmp182;
4354 : compiler::TNode<Smi> tmp183;
4355 : compiler::TNode<Smi> tmp184;
4356 : ca_.Bind(&block9, &tmp170, &tmp171, &tmp172, &tmp173, &tmp174, &tmp175, &tmp176, &tmp177, &tmp178, &tmp179, &tmp180, &tmp181, &tmp182, &tmp183, &tmp184);
4357 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 67);
4358 : ca_.Goto(&block7, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184);
4359 : }
4360 :
4361 56 : if (block7.is_used()) {
4362 : compiler::TNode<Context> tmp185;
4363 : compiler::TNode<RawPtrT> tmp186;
4364 : compiler::TNode<RawPtrT> tmp187;
4365 : compiler::TNode<IntPtrT> tmp188;
4366 : compiler::TNode<JSArray> tmp189;
4367 : compiler::TNode<Smi> tmp190;
4368 : compiler::TNode<Smi> tmp191;
4369 : compiler::TNode<Smi> tmp192;
4370 : compiler::TNode<Smi> tmp193;
4371 : compiler::TNode<Smi> tmp194;
4372 : compiler::TNode<Smi> tmp195;
4373 : compiler::TNode<FixedArrayBase> tmp196;
4374 : compiler::TNode<Smi> tmp197;
4375 : compiler::TNode<Smi> tmp198;
4376 : compiler::TNode<Smi> tmp199;
4377 : ca_.Bind(&block7, &tmp185, &tmp186, &tmp187, &tmp188, &tmp189, &tmp190, &tmp191, &tmp192, &tmp193, &tmp194, &tmp195, &tmp196, &tmp197, &tmp198, &tmp199);
4378 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 62);
4379 : ca_.Goto(&block4, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195);
4380 : }
4381 :
4382 56 : if (block4.is_used()) {
4383 : compiler::TNode<Context> tmp200;
4384 : compiler::TNode<RawPtrT> tmp201;
4385 : compiler::TNode<RawPtrT> tmp202;
4386 : compiler::TNode<IntPtrT> tmp203;
4387 : compiler::TNode<JSArray> tmp204;
4388 : compiler::TNode<Smi> tmp205;
4389 : compiler::TNode<Smi> tmp206;
4390 : compiler::TNode<Smi> tmp207;
4391 : compiler::TNode<Smi> tmp208;
4392 : compiler::TNode<Smi> tmp209;
4393 : compiler::TNode<Smi> tmp210;
4394 : ca_.Bind(&block4, &tmp200, &tmp201, &tmp202, &tmp203, &tmp204, &tmp205, &tmp206, &tmp207, &tmp208, &tmp209, &tmp210);
4395 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 94);
4396 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 95);
4397 : compiler::TNode<Smi> tmp211;
4398 : USE(tmp211);
4399 168 : tmp211 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(0));
4400 : compiler::TNode<BoolT> tmp212;
4401 : USE(tmp212);
4402 112 : tmp212 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiGreaterThan(compiler::TNode<Smi>{tmp209}, compiler::TNode<Smi>{tmp211}));
4403 56 : ca_.Branch(tmp212, &block15, &block16, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp208);
4404 : }
4405 :
4406 56 : if (block15.is_used()) {
4407 : compiler::TNode<Context> tmp213;
4408 : compiler::TNode<RawPtrT> tmp214;
4409 : compiler::TNode<RawPtrT> tmp215;
4410 : compiler::TNode<IntPtrT> tmp216;
4411 : compiler::TNode<JSArray> tmp217;
4412 : compiler::TNode<Smi> tmp218;
4413 : compiler::TNode<Smi> tmp219;
4414 : compiler::TNode<Smi> tmp220;
4415 : compiler::TNode<Smi> tmp221;
4416 : compiler::TNode<Smi> tmp222;
4417 : compiler::TNode<Smi> tmp223;
4418 : compiler::TNode<Smi> tmp224;
4419 : ca_.Bind(&block15, &tmp213, &tmp214, &tmp215, &tmp216, &tmp217, &tmp218, &tmp219, &tmp220, &tmp221, &tmp222, &tmp223, &tmp224);
4420 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 97);
4421 56 : compiler::TNode<IntPtrT> tmp225 = ca_.IntPtrConstant(JSObject::kElementsOffset);
4422 : USE(tmp225);
4423 112 : compiler::TNode<FixedArrayBase>tmp226 = CodeStubAssembler(state_).LoadReference<FixedArrayBase>(CodeStubAssembler::Reference{tmp217, tmp225});
4424 : compiler::TNode<FixedDoubleArray> tmp227;
4425 : USE(tmp227);
4426 168 : tmp227 = ca_.UncheckedCast<FixedDoubleArray>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast16FixedDoubleArray(compiler::TNode<Context>{tmp213}, compiler::TNode<Object>{tmp226}));
4427 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 96);
4428 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 98);
4429 : compiler::TNode<IntPtrT> tmp228;
4430 : USE(tmp228);
4431 168 : tmp228 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(2));
4432 : ca_.Goto(&block19, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp227, tmp228);
4433 : }
4434 :
4435 56 : if (block19.is_used()) {
4436 : compiler::TNode<Context> tmp229;
4437 : compiler::TNode<RawPtrT> tmp230;
4438 : compiler::TNode<RawPtrT> tmp231;
4439 : compiler::TNode<IntPtrT> tmp232;
4440 : compiler::TNode<JSArray> tmp233;
4441 : compiler::TNode<Smi> tmp234;
4442 : compiler::TNode<Smi> tmp235;
4443 : compiler::TNode<Smi> tmp236;
4444 : compiler::TNode<Smi> tmp237;
4445 : compiler::TNode<Smi> tmp238;
4446 : compiler::TNode<Smi> tmp239;
4447 : compiler::TNode<Smi> tmp240;
4448 : compiler::TNode<FixedDoubleArray> tmp241;
4449 : compiler::TNode<IntPtrT> tmp242;
4450 : ca_.Bind(&block19, &tmp229, &tmp230, &tmp231, &tmp232, &tmp233, &tmp234, &tmp235, &tmp236, &tmp237, &tmp238, &tmp239, &tmp240, &tmp241, &tmp242);
4451 : compiler::TNode<BoolT> tmp243;
4452 : USE(tmp243);
4453 224 : tmp243 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).IntPtrLessThan(compiler::TNode<IntPtrT>{tmp242}, compiler::TNode<IntPtrT>{tmp232}));
4454 56 : ca_.Branch(tmp243, &block17, &block18, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242);
4455 : }
4456 :
4457 56 : if (block17.is_used()) {
4458 : compiler::TNode<Context> tmp244;
4459 : compiler::TNode<RawPtrT> tmp245;
4460 : compiler::TNode<RawPtrT> tmp246;
4461 : compiler::TNode<IntPtrT> tmp247;
4462 : compiler::TNode<JSArray> tmp248;
4463 : compiler::TNode<Smi> tmp249;
4464 : compiler::TNode<Smi> tmp250;
4465 : compiler::TNode<Smi> tmp251;
4466 : compiler::TNode<Smi> tmp252;
4467 : compiler::TNode<Smi> tmp253;
4468 : compiler::TNode<Smi> tmp254;
4469 : compiler::TNode<Smi> tmp255;
4470 : compiler::TNode<FixedDoubleArray> tmp256;
4471 : compiler::TNode<IntPtrT> tmp257;
4472 : ca_.Bind(&block17, &tmp244, &tmp245, &tmp246, &tmp247, &tmp248, &tmp249, &tmp250, &tmp251, &tmp252, &tmp253, &tmp254, &tmp255, &tmp256, &tmp257);
4473 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 99);
4474 : compiler::TNode<Object> tmp258;
4475 : USE(tmp258);
4476 112 : tmp258 = ca_.UncheckedCast<Object>(CodeStubAssembler(state_).GetArgumentValue(BaseBuiltinsFromDSLAssembler::Arguments{compiler::TNode<RawPtrT>{tmp245}, compiler::TNode<RawPtrT>{tmp246}, compiler::TNode<IntPtrT>{tmp247}}, compiler::TNode<IntPtrT>{tmp257}));
4477 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 102);
4478 : compiler::TNode<Smi> tmp259;
4479 : USE(tmp259);
4480 168 : tmp259 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
4481 : compiler::TNode<Smi> tmp260;
4482 : USE(tmp260);
4483 112 : tmp260 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp255}, compiler::TNode<Smi>{tmp259}));
4484 : compiler::TNode<Number> tmp261;
4485 : USE(tmp261);
4486 168 : tmp261 = ca_.UncheckedCast<Number>(BaseBuiltinsFromDSLAssembler(state_).UnsafeCast20UT5ATSmi10HeapNumber(compiler::TNode<Context>{tmp244}, compiler::TNode<Object>{tmp258}));
4487 168 : BaseBuiltinsFromDSLAssembler(state_).StoreFixedDoubleArrayDirect(compiler::TNode<FixedDoubleArray>{tmp256}, compiler::TNode<Smi>{tmp255}, compiler::TNode<Number>{tmp261});
4488 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 98);
4489 : ca_.Goto(&block20, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, tmp252, tmp253, tmp254, tmp260, tmp256, tmp257);
4490 : }
4491 :
4492 56 : if (block20.is_used()) {
4493 : compiler::TNode<Context> tmp262;
4494 : compiler::TNode<RawPtrT> tmp263;
4495 : compiler::TNode<RawPtrT> tmp264;
4496 : compiler::TNode<IntPtrT> tmp265;
4497 : compiler::TNode<JSArray> tmp266;
4498 : compiler::TNode<Smi> tmp267;
4499 : compiler::TNode<Smi> tmp268;
4500 : compiler::TNode<Smi> tmp269;
4501 : compiler::TNode<Smi> tmp270;
4502 : compiler::TNode<Smi> tmp271;
4503 : compiler::TNode<Smi> tmp272;
4504 : compiler::TNode<Smi> tmp273;
4505 : compiler::TNode<FixedDoubleArray> tmp274;
4506 : compiler::TNode<IntPtrT> tmp275;
4507 : ca_.Bind(&block20, &tmp262, &tmp263, &tmp264, &tmp265, &tmp266, &tmp267, &tmp268, &tmp269, &tmp270, &tmp271, &tmp272, &tmp273, &tmp274, &tmp275);
4508 : compiler::TNode<IntPtrT> tmp276;
4509 : USE(tmp276);
4510 168 : tmp276 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr8ATintptr17ATconstexpr_int31(1));
4511 : compiler::TNode<IntPtrT> tmp277;
4512 : USE(tmp277);
4513 112 : tmp277 = ca_.UncheckedCast<IntPtrT>(CodeStubAssembler(state_).IntPtrAdd(compiler::TNode<IntPtrT>{tmp275}, compiler::TNode<IntPtrT>{tmp276}));
4514 : ca_.Goto(&block19, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, tmp272, tmp273, tmp274, tmp277);
4515 : }
4516 :
4517 56 : if (block18.is_used()) {
4518 : compiler::TNode<Context> tmp278;
4519 : compiler::TNode<RawPtrT> tmp279;
4520 : compiler::TNode<RawPtrT> tmp280;
4521 : compiler::TNode<IntPtrT> tmp281;
4522 : compiler::TNode<JSArray> tmp282;
4523 : compiler::TNode<Smi> tmp283;
4524 : compiler::TNode<Smi> tmp284;
4525 : compiler::TNode<Smi> tmp285;
4526 : compiler::TNode<Smi> tmp286;
4527 : compiler::TNode<Smi> tmp287;
4528 : compiler::TNode<Smi> tmp288;
4529 : compiler::TNode<Smi> tmp289;
4530 : compiler::TNode<FixedDoubleArray> tmp290;
4531 : compiler::TNode<IntPtrT> tmp291;
4532 : ca_.Bind(&block18, &tmp278, &tmp279, &tmp280, &tmp281, &tmp282, &tmp283, &tmp284, &tmp285, &tmp286, &tmp287, &tmp288, &tmp289, &tmp290, &tmp291);
4533 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 95);
4534 : ca_.Goto(&block16, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289);
4535 : }
4536 :
4537 56 : if (block16.is_used()) {
4538 : compiler::TNode<Context> tmp292;
4539 : compiler::TNode<RawPtrT> tmp293;
4540 : compiler::TNode<RawPtrT> tmp294;
4541 : compiler::TNode<IntPtrT> tmp295;
4542 : compiler::TNode<JSArray> tmp296;
4543 : compiler::TNode<Smi> tmp297;
4544 : compiler::TNode<Smi> tmp298;
4545 : compiler::TNode<Smi> tmp299;
4546 : compiler::TNode<Smi> tmp300;
4547 : compiler::TNode<Smi> tmp301;
4548 : compiler::TNode<Smi> tmp302;
4549 : compiler::TNode<Smi> tmp303;
4550 : ca_.Bind(&block16, &tmp292, &tmp293, &tmp294, &tmp295, &tmp296, &tmp297, &tmp298, &tmp299, &tmp300, &tmp301, &tmp302, &tmp303);
4551 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 107);
4552 56 : compiler::TNode<IntPtrT> tmp304 = ca_.IntPtrConstant(JSArray::kLengthOffset);
4553 : USE(tmp304);
4554 112 : CodeStubAssembler(state_).StoreReference(CodeStubAssembler::Reference{tmp296, tmp304}, tmp298);
4555 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 58);
4556 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 54);
4557 : ca_.Goto(&block2, tmp292, tmp293, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302);
4558 : }
4559 :
4560 56 : if (block2.is_used()) {
4561 : compiler::TNode<Context> tmp305;
4562 : compiler::TNode<RawPtrT> tmp306;
4563 : compiler::TNode<RawPtrT> tmp307;
4564 : compiler::TNode<IntPtrT> tmp308;
4565 : compiler::TNode<JSArray> tmp309;
4566 : compiler::TNode<Smi> tmp310;
4567 : compiler::TNode<Smi> tmp311;
4568 : compiler::TNode<Smi> tmp312;
4569 : compiler::TNode<Smi> tmp313;
4570 : compiler::TNode<Smi> tmp314;
4571 : compiler::TNode<Smi> tmp315;
4572 : ca_.Bind(&block2, &tmp305, &tmp306, &tmp307, &tmp308, &tmp309, &tmp310, &tmp311, &tmp312, &tmp313, &tmp314, &tmp315);
4573 : ca_.Goto(&block21, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315);
4574 : }
4575 :
4576 56 : if (block1.is_used()) {
4577 : ca_.Bind(&block1);
4578 0 : ca_.Goto(label_Bailout);
4579 : }
4580 :
4581 : compiler::TNode<Context> tmp316;
4582 : compiler::TNode<RawPtrT> tmp317;
4583 : compiler::TNode<RawPtrT> tmp318;
4584 : compiler::TNode<IntPtrT> tmp319;
4585 : compiler::TNode<JSArray> tmp320;
4586 : compiler::TNode<Smi> tmp321;
4587 : compiler::TNode<Smi> tmp322;
4588 : compiler::TNode<Smi> tmp323;
4589 : compiler::TNode<Smi> tmp324;
4590 : compiler::TNode<Smi> tmp325;
4591 : compiler::TNode<Smi> tmp326;
4592 : ca_.Bind(&block21, &tmp316, &tmp317, &tmp318, &tmp319, &tmp320, &tmp321, &tmp322, &tmp323, &tmp324, &tmp325, &tmp326);
4593 56 : }
4594 :
4595 112 : void ArraySpliceBuiltinsFromDSLAssembler::DoMoveElements10FixedArray(compiler::TNode<FixedArray> p_elements, compiler::TNode<Smi> p_dstIndex, compiler::TNode<Smi> p_srcIndex, compiler::TNode<Smi> p_count) {
4596 112 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4597 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, Smi, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4598 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4599 : ca_.Goto(&block0, p_elements, p_dstIndex, p_srcIndex, p_count);
4600 :
4601 112 : if (block0.is_used()) {
4602 : compiler::TNode<FixedArray> tmp0;
4603 : compiler::TNode<Smi> tmp1;
4604 : compiler::TNode<Smi> tmp2;
4605 : compiler::TNode<Smi> tmp3;
4606 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
4607 112 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 35);
4608 : compiler::TNode<IntPtrT> tmp4;
4609 : USE(tmp4);
4610 336 : tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp1}));
4611 : compiler::TNode<IntPtrT> tmp5;
4612 : USE(tmp5);
4613 336 : tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp2}));
4614 112 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 36);
4615 : compiler::TNode<IntPtrT> tmp6;
4616 : USE(tmp6);
4617 336 : tmp6 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp3}));
4618 112 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 34);
4619 336 : BaseBuiltinsFromDSLAssembler(state_).TorqueMoveElements(compiler::TNode<FixedArray>{tmp0}, compiler::TNode<IntPtrT>{tmp4}, compiler::TNode<IntPtrT>{tmp5}, compiler::TNode<IntPtrT>{tmp6});
4620 112 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 31);
4621 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
4622 : }
4623 :
4624 112 : if (block1.is_used()) {
4625 : compiler::TNode<FixedArray> tmp7;
4626 : compiler::TNode<Smi> tmp8;
4627 : compiler::TNode<Smi> tmp9;
4628 : compiler::TNode<Smi> tmp10;
4629 : ca_.Bind(&block1, &tmp7, &tmp8, &tmp9, &tmp10);
4630 : ca_.Goto(&block2, tmp7, tmp8, tmp9, tmp10);
4631 : }
4632 :
4633 : compiler::TNode<FixedArray> tmp11;
4634 : compiler::TNode<Smi> tmp12;
4635 : compiler::TNode<Smi> tmp13;
4636 : compiler::TNode<Smi> tmp14;
4637 : ca_.Bind(&block2, &tmp11, &tmp12, &tmp13, &tmp14);
4638 112 : }
4639 :
4640 56 : void ArraySpliceBuiltinsFromDSLAssembler::StoreHoles10FixedArray(compiler::TNode<FixedArray> p_elements, compiler::TNode<Smi> p_holeStartIndex, compiler::TNode<Smi> p_holeEndIndex) {
4641 56 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4642 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4643 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4644 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, Smi, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4645 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4646 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4647 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4648 : ca_.Goto(&block0, p_elements, p_holeStartIndex, p_holeEndIndex);
4649 :
4650 56 : if (block0.is_used()) {
4651 : compiler::TNode<FixedArray> tmp0;
4652 : compiler::TNode<Smi> tmp1;
4653 : compiler::TNode<Smi> tmp2;
4654 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
4655 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 41);
4656 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp1);
4657 : }
4658 :
4659 56 : if (block4.is_used()) {
4660 : compiler::TNode<FixedArray> tmp3;
4661 : compiler::TNode<Smi> tmp4;
4662 : compiler::TNode<Smi> tmp5;
4663 : compiler::TNode<Smi> tmp6;
4664 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5, &tmp6);
4665 : compiler::TNode<BoolT> tmp7;
4666 : USE(tmp7);
4667 112 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp6}, compiler::TNode<Smi>{tmp5}));
4668 56 : ca_.Branch(tmp7, &block2, &block3, tmp3, tmp4, tmp5, tmp6);
4669 : }
4670 :
4671 56 : if (block2.is_used()) {
4672 : compiler::TNode<FixedArray> tmp8;
4673 : compiler::TNode<Smi> tmp9;
4674 : compiler::TNode<Smi> tmp10;
4675 : compiler::TNode<Smi> tmp11;
4676 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11);
4677 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 42);
4678 168 : ArrayBuiltinsFromDSLAssembler(state_).StoreArrayHole(compiler::TNode<FixedArray>{tmp8}, compiler::TNode<Smi>{tmp11});
4679 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 41);
4680 : ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11);
4681 : }
4682 :
4683 56 : if (block5.is_used()) {
4684 : compiler::TNode<FixedArray> tmp12;
4685 : compiler::TNode<Smi> tmp13;
4686 : compiler::TNode<Smi> tmp14;
4687 : compiler::TNode<Smi> tmp15;
4688 : ca_.Bind(&block5, &tmp12, &tmp13, &tmp14, &tmp15);
4689 : compiler::TNode<Smi> tmp16;
4690 : USE(tmp16);
4691 168 : tmp16 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
4692 : compiler::TNode<Smi> tmp17;
4693 : USE(tmp17);
4694 112 : tmp17 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp15}, compiler::TNode<Smi>{tmp16}));
4695 : ca_.Goto(&block4, tmp12, tmp13, tmp14, tmp17);
4696 : }
4697 :
4698 56 : if (block3.is_used()) {
4699 : compiler::TNode<FixedArray> tmp18;
4700 : compiler::TNode<Smi> tmp19;
4701 : compiler::TNode<Smi> tmp20;
4702 : compiler::TNode<Smi> tmp21;
4703 : ca_.Bind(&block3, &tmp18, &tmp19, &tmp20, &tmp21);
4704 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 39);
4705 : ca_.Goto(&block1, tmp18, tmp19, tmp20);
4706 : }
4707 :
4708 56 : if (block1.is_used()) {
4709 : compiler::TNode<FixedArray> tmp22;
4710 : compiler::TNode<Smi> tmp23;
4711 : compiler::TNode<Smi> tmp24;
4712 : ca_.Bind(&block1, &tmp22, &tmp23, &tmp24);
4713 : ca_.Goto(&block6, tmp22, tmp23, tmp24);
4714 : }
4715 :
4716 : compiler::TNode<FixedArray> tmp25;
4717 : compiler::TNode<Smi> tmp26;
4718 : compiler::TNode<Smi> tmp27;
4719 : ca_.Bind(&block6, &tmp25, &tmp26, &tmp27);
4720 56 : }
4721 :
4722 56 : void ArraySpliceBuiltinsFromDSLAssembler::DoCopyElements10FixedArray(compiler::TNode<FixedArray> p_dstElements, compiler::TNode<Smi> p_dstIndex, compiler::TNode<FixedArray> p_srcElements, compiler::TNode<Smi> p_srcIndex, compiler::TNode<Smi> p_count) {
4723 56 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, FixedArray, Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4724 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, FixedArray, Smi, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4725 : compiler::CodeAssemblerParameterizedLabel<FixedArray, Smi, FixedArray, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4726 : ca_.Goto(&block0, p_dstElements, p_dstIndex, p_srcElements, p_srcIndex, p_count);
4727 :
4728 56 : if (block0.is_used()) {
4729 : compiler::TNode<FixedArray> tmp0;
4730 : compiler::TNode<Smi> tmp1;
4731 : compiler::TNode<FixedArray> tmp2;
4732 : compiler::TNode<Smi> tmp3;
4733 : compiler::TNode<Smi> tmp4;
4734 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
4735 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 50);
4736 : compiler::TNode<IntPtrT> tmp5;
4737 : USE(tmp5);
4738 168 : tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp1}));
4739 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 51);
4740 : compiler::TNode<IntPtrT> tmp6;
4741 : USE(tmp6);
4742 168 : tmp6 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp3}));
4743 : compiler::TNode<IntPtrT> tmp7;
4744 : USE(tmp7);
4745 168 : tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp4}));
4746 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 49);
4747 168 : BaseBuiltinsFromDSLAssembler(state_).TorqueCopyElements(compiler::TNode<FixedArray>{tmp0}, compiler::TNode<IntPtrT>{tmp5}, compiler::TNode<FixedArray>{tmp2}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<IntPtrT>{tmp7});
4748 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 46);
4749 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp4);
4750 : }
4751 :
4752 56 : if (block1.is_used()) {
4753 : compiler::TNode<FixedArray> tmp8;
4754 : compiler::TNode<Smi> tmp9;
4755 : compiler::TNode<FixedArray> tmp10;
4756 : compiler::TNode<Smi> tmp11;
4757 : compiler::TNode<Smi> tmp12;
4758 : ca_.Bind(&block1, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12);
4759 : ca_.Goto(&block2, tmp8, tmp9, tmp10, tmp11, tmp12);
4760 : }
4761 :
4762 : compiler::TNode<FixedArray> tmp13;
4763 : compiler::TNode<Smi> tmp14;
4764 : compiler::TNode<FixedArray> tmp15;
4765 : compiler::TNode<Smi> tmp16;
4766 : compiler::TNode<Smi> tmp17;
4767 : ca_.Bind(&block2, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17);
4768 56 : }
4769 :
4770 112 : void ArraySpliceBuiltinsFromDSLAssembler::DoMoveElements16FixedDoubleArray(compiler::TNode<FixedDoubleArray> p_elements, compiler::TNode<Smi> p_dstIndex, compiler::TNode<Smi> p_srcIndex, compiler::TNode<Smi> p_count) {
4771 112 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4772 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Smi, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4773 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4774 : ca_.Goto(&block0, p_elements, p_dstIndex, p_srcIndex, p_count);
4775 :
4776 112 : if (block0.is_used()) {
4777 : compiler::TNode<FixedDoubleArray> tmp0;
4778 : compiler::TNode<Smi> tmp1;
4779 : compiler::TNode<Smi> tmp2;
4780 : compiler::TNode<Smi> tmp3;
4781 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3);
4782 112 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 35);
4783 : compiler::TNode<IntPtrT> tmp4;
4784 : USE(tmp4);
4785 336 : tmp4 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp1}));
4786 : compiler::TNode<IntPtrT> tmp5;
4787 : USE(tmp5);
4788 336 : tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp2}));
4789 112 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 36);
4790 : compiler::TNode<IntPtrT> tmp6;
4791 : USE(tmp6);
4792 336 : tmp6 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp3}));
4793 112 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 34);
4794 336 : BaseBuiltinsFromDSLAssembler(state_).TorqueMoveElements(compiler::TNode<FixedDoubleArray>{tmp0}, compiler::TNode<IntPtrT>{tmp4}, compiler::TNode<IntPtrT>{tmp5}, compiler::TNode<IntPtrT>{tmp6});
4795 112 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 31);
4796 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3);
4797 : }
4798 :
4799 112 : if (block1.is_used()) {
4800 : compiler::TNode<FixedDoubleArray> tmp7;
4801 : compiler::TNode<Smi> tmp8;
4802 : compiler::TNode<Smi> tmp9;
4803 : compiler::TNode<Smi> tmp10;
4804 : ca_.Bind(&block1, &tmp7, &tmp8, &tmp9, &tmp10);
4805 : ca_.Goto(&block2, tmp7, tmp8, tmp9, tmp10);
4806 : }
4807 :
4808 : compiler::TNode<FixedDoubleArray> tmp11;
4809 : compiler::TNode<Smi> tmp12;
4810 : compiler::TNode<Smi> tmp13;
4811 : compiler::TNode<Smi> tmp14;
4812 : ca_.Bind(&block2, &tmp11, &tmp12, &tmp13, &tmp14);
4813 112 : }
4814 :
4815 56 : void ArraySpliceBuiltinsFromDSLAssembler::StoreHoles16FixedDoubleArray(compiler::TNode<FixedDoubleArray> p_elements, compiler::TNode<Smi> p_holeStartIndex, compiler::TNode<Smi> p_holeEndIndex) {
4816 56 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4817 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Smi, Smi> block4(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4818 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4819 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Smi, Smi> block5(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4820 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Smi, Smi> block3(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4821 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4822 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, Smi> block6(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4823 : ca_.Goto(&block0, p_elements, p_holeStartIndex, p_holeEndIndex);
4824 :
4825 56 : if (block0.is_used()) {
4826 : compiler::TNode<FixedDoubleArray> tmp0;
4827 : compiler::TNode<Smi> tmp1;
4828 : compiler::TNode<Smi> tmp2;
4829 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2);
4830 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 41);
4831 : ca_.Goto(&block4, tmp0, tmp1, tmp2, tmp1);
4832 : }
4833 :
4834 56 : if (block4.is_used()) {
4835 : compiler::TNode<FixedDoubleArray> tmp3;
4836 : compiler::TNode<Smi> tmp4;
4837 : compiler::TNode<Smi> tmp5;
4838 : compiler::TNode<Smi> tmp6;
4839 : ca_.Bind(&block4, &tmp3, &tmp4, &tmp5, &tmp6);
4840 : compiler::TNode<BoolT> tmp7;
4841 : USE(tmp7);
4842 112 : tmp7 = ca_.UncheckedCast<BoolT>(CodeStubAssembler(state_).SmiLessThan(compiler::TNode<Smi>{tmp6}, compiler::TNode<Smi>{tmp5}));
4843 56 : ca_.Branch(tmp7, &block2, &block3, tmp3, tmp4, tmp5, tmp6);
4844 : }
4845 :
4846 56 : if (block2.is_used()) {
4847 : compiler::TNode<FixedDoubleArray> tmp8;
4848 : compiler::TNode<Smi> tmp9;
4849 : compiler::TNode<Smi> tmp10;
4850 : compiler::TNode<Smi> tmp11;
4851 : ca_.Bind(&block2, &tmp8, &tmp9, &tmp10, &tmp11);
4852 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 42);
4853 168 : ArrayBuiltinsFromDSLAssembler(state_).StoreArrayHole(compiler::TNode<FixedDoubleArray>{tmp8}, compiler::TNode<Smi>{tmp11});
4854 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 41);
4855 : ca_.Goto(&block5, tmp8, tmp9, tmp10, tmp11);
4856 : }
4857 :
4858 56 : if (block5.is_used()) {
4859 : compiler::TNode<FixedDoubleArray> tmp12;
4860 : compiler::TNode<Smi> tmp13;
4861 : compiler::TNode<Smi> tmp14;
4862 : compiler::TNode<Smi> tmp15;
4863 : ca_.Bind(&block5, &tmp12, &tmp13, &tmp14, &tmp15);
4864 : compiler::TNode<Smi> tmp16;
4865 : USE(tmp16);
4866 168 : tmp16 = ca_.UncheckedCast<Smi>(BaseBuiltinsFromDSLAssembler(state_).FromConstexpr5ATSmi17ATconstexpr_int31(1));
4867 : compiler::TNode<Smi> tmp17;
4868 : USE(tmp17);
4869 112 : tmp17 = ca_.UncheckedCast<Smi>(CodeStubAssembler(state_).SmiAdd(compiler::TNode<Smi>{tmp15}, compiler::TNode<Smi>{tmp16}));
4870 : ca_.Goto(&block4, tmp12, tmp13, tmp14, tmp17);
4871 : }
4872 :
4873 56 : if (block3.is_used()) {
4874 : compiler::TNode<FixedDoubleArray> tmp18;
4875 : compiler::TNode<Smi> tmp19;
4876 : compiler::TNode<Smi> tmp20;
4877 : compiler::TNode<Smi> tmp21;
4878 : ca_.Bind(&block3, &tmp18, &tmp19, &tmp20, &tmp21);
4879 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 39);
4880 : ca_.Goto(&block1, tmp18, tmp19, tmp20);
4881 : }
4882 :
4883 56 : if (block1.is_used()) {
4884 : compiler::TNode<FixedDoubleArray> tmp22;
4885 : compiler::TNode<Smi> tmp23;
4886 : compiler::TNode<Smi> tmp24;
4887 : ca_.Bind(&block1, &tmp22, &tmp23, &tmp24);
4888 : ca_.Goto(&block6, tmp22, tmp23, tmp24);
4889 : }
4890 :
4891 : compiler::TNode<FixedDoubleArray> tmp25;
4892 : compiler::TNode<Smi> tmp26;
4893 : compiler::TNode<Smi> tmp27;
4894 : ca_.Bind(&block6, &tmp25, &tmp26, &tmp27);
4895 56 : }
4896 :
4897 56 : void ArraySpliceBuiltinsFromDSLAssembler::DoCopyElements16FixedDoubleArray(compiler::TNode<FixedDoubleArray> p_dstElements, compiler::TNode<Smi> p_dstIndex, compiler::TNode<FixedDoubleArray> p_srcElements, compiler::TNode<Smi> p_srcIndex, compiler::TNode<Smi> p_count) {
4898 56 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, FixedDoubleArray, Smi, Smi> block0(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4899 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, FixedDoubleArray, Smi, Smi> block1(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4900 : compiler::CodeAssemblerParameterizedLabel<FixedDoubleArray, Smi, FixedDoubleArray, Smi, Smi> block2(&ca_, compiler::CodeAssemblerLabel::kNonDeferred);
4901 : ca_.Goto(&block0, p_dstElements, p_dstIndex, p_srcElements, p_srcIndex, p_count);
4902 :
4903 56 : if (block0.is_used()) {
4904 : compiler::TNode<FixedDoubleArray> tmp0;
4905 : compiler::TNode<Smi> tmp1;
4906 : compiler::TNode<FixedDoubleArray> tmp2;
4907 : compiler::TNode<Smi> tmp3;
4908 : compiler::TNode<Smi> tmp4;
4909 : ca_.Bind(&block0, &tmp0, &tmp1, &tmp2, &tmp3, &tmp4);
4910 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 50);
4911 : compiler::TNode<IntPtrT> tmp5;
4912 : USE(tmp5);
4913 168 : tmp5 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp1}));
4914 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 51);
4915 : compiler::TNode<IntPtrT> tmp6;
4916 : USE(tmp6);
4917 168 : tmp6 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp3}));
4918 : compiler::TNode<IntPtrT> tmp7;
4919 : USE(tmp7);
4920 168 : tmp7 = ca_.UncheckedCast<IntPtrT>(BaseBuiltinsFromDSLAssembler(state_).Convert8ATintptr5ATSmi(compiler::TNode<Smi>{tmp4}));
4921 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 49);
4922 168 : BaseBuiltinsFromDSLAssembler(state_).TorqueCopyElements(compiler::TNode<FixedDoubleArray>{tmp0}, compiler::TNode<IntPtrT>{tmp5}, compiler::TNode<FixedDoubleArray>{tmp2}, compiler::TNode<IntPtrT>{tmp6}, compiler::TNode<IntPtrT>{tmp7});
4923 56 : ca_.SetSourcePosition("../../src/builtins/array-splice.tq", 46);
4924 : ca_.Goto(&block1, tmp0, tmp1, tmp2, tmp3, tmp4);
4925 : }
4926 :
4927 56 : if (block1.is_used()) {
4928 : compiler::TNode<FixedDoubleArray> tmp8;
4929 : compiler::TNode<Smi> tmp9;
4930 : compiler::TNode<FixedDoubleArray> tmp10;
4931 : compiler::TNode<Smi> tmp11;
4932 : compiler::TNode<Smi> tmp12;
4933 : ca_.Bind(&block1, &tmp8, &tmp9, &tmp10, &tmp11, &tmp12);
4934 : ca_.Goto(&block2, tmp8, tmp9, tmp10, tmp11, tmp12);
4935 : }
4936 :
4937 : compiler::TNode<FixedDoubleArray> tmp13;
4938 : compiler::TNode<Smi> tmp14;
4939 : compiler::TNode<FixedDoubleArray> tmp15;
4940 : compiler::TNode<Smi> tmp16;
4941 : compiler::TNode<Smi> tmp17;
4942 : ca_.Bind(&block2, &tmp13, &tmp14, &tmp15, &tmp16, &tmp17);
4943 56 : }
4944 :
4945 : } // namespace internal
4946 59456 : } // namespace v8
4947 :
|