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