RFR: 8214231: Allow concurrent cleaning of TypeStackSlotEntries and ReturnTypeEntry
Erik Österlund
erik.osterlund at oracle.com
Thu Nov 22 13:59:29 UTC 2018
Hi,
The TypeStackSlotEntries and ReturnTypeEntry contain weak metadata links
that must be cleaned during class unloading. With concurrent class
unloading, their ci counterparts must be protected from accessing
unloading metadata.
In particular, ciTypeStackSlotEntries and ciReturnTypeEntry counterparts
copy the raw data from TypeStackSlotEntries and ReturnTypeEntry of the
MDOs, and are subsequently queried by the compiler. The copied data may
contain stale metadata. By checking for unloading metadata and replacing
it with NULL during creation of the ci variants from their raw
counterparts, we protect the compiler from seeing stale metadata that is
being unloaded, before the GC has gotten around to cleaning up the MDOs.
Webrev:
http://cr.openjdk.java.net/~eosterlund/8214231/webrev.00/
Bug:
https://bugs.openjdk.java.net/browse/JDK-8214231
Thanks,
/Erik
More information about the hotspot-dev
mailing list