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