8212682: Avoid holding Compile_lock when blocking for GC in ObjArrayKlass::allocate_objArray_klass()

Reviewed-by: coleenp, dlong
This commit is contained in:
Erik Österlund 2018-11-20 10:08:18 +01:00
parent 041946dcb0
commit 8b1844626a
4 changed files with 1 additions and 6 deletions

View file

@ -80,7 +80,6 @@ Klass* ObjArrayKlass::allocate_objArray_klass(ClassLoaderData* loader_data,
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);
@ -332,7 +331,6 @@ Klass* ObjArrayKlass::array_klass_impl(bool or_null, int n, TRAPS) {
ResourceMark rm;
JavaThread *jt = (JavaThread *)THREAD;
{
MutexLocker mc(Compile_lock, THREAD); // for vtables
// Ensure atomic creation of higher dimensions
MutexLocker mu(MultiArray_lock, THREAD);