< prev index next >

src/hotspot/share/oops/objArrayKlass.cpp


*** 78,88 **** if (!supers_exist) { // Oops. Not allocated yet. Back out, allocate it, and retry. Klass* ek = NULL; { MutexUnlocker mu(MultiArray_lock); - MutexUnlocker mc(Compile_lock); // for vtables super_klass = element_super->array_klass(CHECK_0); for( int i = element_supers->length()-1; i >= 0; i-- ) { Klass* elem_super = element_supers->at(i); elem_super->array_klass(CHECK_0); } --- 78,87 ---- ***************
*** 330,340 **** if (or_null) return NULL; ResourceMark rm; JavaThread *jt = (JavaThread *)THREAD; { - MutexLocker mc(Compile_lock, THREAD); // for vtables // Ensure atomic creation of higher dimensions MutexLocker mu(MultiArray_lock, THREAD); // Check if another thread beat us if (higher_dimension() == NULL) { --- 329,338 ----
< prev index next >