< prev index next >
src/hotspot/share/oops/objArrayKlass.cpp
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);
}
***************
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) {
< prev index next >