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