The Klass::_subklass and _next_sibling fields can have references to unloaded classes if classes are being unloaded concurrently. Also the embedded implementor field in InstanceKlass.
Allow for skipping unloaded classes if found in these places. Make sure that the Compile_lock is always held, an assert that it's held or safepoint during clean_weak_klass_links.
- relates to
-
JDK-8213209 [REDO] Allow Klass::_subklass and _next_sibling to have unloaded classes
- Closed
-
JDK-8215575 C2 crash: assert(get_instanceKlass()->is_loaded()) failed: must be at least loaded
- Closed
-
JDK-8212989 Allow CompiledMethod ExceptionCache have unloaded klasses
- Resolved