RFR: 8210233: Prepare Klass::is_loader_alive() for concurrent class unloading
Erik Ă–sterlund
erik.osterlund at oracle.com
Thu Aug 30 18:56:06 UTC 2018
Hi,
The Klass::is_loader_alive() facility currently assumes that CLDs are
set to unloading before giving a correct answer. This is a problem for
concurrent class unloading. This needs to instead be evaluated in a more
concurrency friendly fashion, so that it will give the right answer even
in concurrent contexts.
The proposed solution is to stop using the cached unloading value, and
instead ask the CLD if it is_alive(), which utilizes a phantom load on
the CLD holder, and is concurrency friendly.
Webrev:
http://cr.openjdk.java.net/~eosterlund/8210233/webrev.00/
Bug:
https://bugs.openjdk.java.net/browse/JDK-8210233
Thanks,
/Erik
More information about the hotspot-runtime-dev
mailing list