@@ -171,15 +171,14 @@ void TypeArrayKlass::copy_array(arrayOop s, int src_pos, arrayOop d, int dst_pos
171171}
172172
173173// create a klass of array holding typeArrays
174- Klass* TypeArrayKlass::array_klass_impl ( bool or_null, int n, TRAPS) {
174+ Klass* TypeArrayKlass::array_klass ( int n, TRAPS) {
175175 int dim = dimension ();
176176 assert (dim <= n, " check order of chain" );
177177 if (dim == n)
178178 return this ;
179179
180180 // lock-free read needs acquire semantics
181181 if (higher_dimension_acquire () == NULL ) {
182- if (or_null) return NULL ;
183182
184183 ResourceMark rm;
185184 JavaThread *jt = THREAD->as_Java_thread ();
@@ -200,15 +199,32 @@ Klass* TypeArrayKlass::array_klass_impl(bool or_null, int n, TRAPS) {
200199 }
201200
202201 ObjArrayKlass* h_ak = ObjArrayKlass::cast (higher_dimension ());
203- if (or_null) {
204- return h_ak->array_klass_or_null (n);
205- }
206202 THREAD->as_Java_thread ()->check_possible_safepoint ();
207203 return h_ak->array_klass (n, THREAD);
208204}
209205
210- Klass* TypeArrayKlass::array_klass_impl (bool or_null, TRAPS) {
211- return array_klass_impl (or_null, dimension () + 1 , THREAD);
206+ // return existing klass of array holding typeArrays
207+ Klass* TypeArrayKlass::array_klass_or_null (int n) {
208+ int dim = dimension ();
209+ assert (dim <= n, " check order of chain" );
210+ if (dim == n)
211+ return this ;
212+
213+ // lock-free read needs acquire semantics
214+ if (higher_dimension_acquire () == NULL ) {
215+ return NULL ;
216+ }
217+
218+ ObjArrayKlass* h_ak = ObjArrayKlass::cast (higher_dimension ());
219+ return h_ak->array_klass_or_null (n);
220+ }
221+
222+ Klass* TypeArrayKlass::array_klass (TRAPS) {
223+ return array_klass (dimension () + 1 , THREAD);
224+ }
225+
226+ Klass* TypeArrayKlass::array_klass_or_null () {
227+ return array_klass_or_null (dimension () + 1 );
212228}
213229
214230int TypeArrayKlass::oop_size (oop obj) const {
0 commit comments