The fix for JDK-8299229 needed to wrap all reads of Klass* with a call into the JVM so that ZGC would be able to clean the pointer if the class is unloading. The read in isLeafClass was changed to also perform this call even though it's only checking for non-null which should be safe. This had the side effect of creating a strong reference to the most recently loaded subklass of the current type. This leads to unintentional class unloading problems that appeared to be related to JDK-8310218 but were in fact simply a bug.
- relates to
-
JDK-8319932 [JVMCI] class unloading related tests can fail on libgraal
- Resolved
-
JDK-8310218 Add support for scoping of libjvmci handles
- Open