--- a/src/hotspot/share/oops/objArrayKlass.cpp Wed Aug 14 11:14:54 2019 +0100
+++ b/src/hotspot/share/oops/objArrayKlass.cpp Wed Aug 14 10:07:00 2019 -0400
@@ -328,7 +328,7 @@
// lock-free read needs acquire semantics
if (higher_dimension_acquire() == NULL) {
- if (or_null) return NULL;
+ if (or_null) return NULL;
ResourceMark rm;
JavaThread *jt = (JavaThread *)THREAD;
@@ -349,14 +349,13 @@
assert(ak->is_objArray_klass(), "incorrect initialization of ObjArrayKlass");
}
}
- } else {
- CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops());
}
ObjArrayKlass *ak = ObjArrayKlass::cast(higher_dimension());
if (or_null) {
return ak->array_klass_or_null(n);
}
+ THREAD->check_possible_safepoint();
return ak->array_klass(n, THREAD);
}