RFR: 8210233: Prepare Klass::is_loader_alive() for concurrent class unloading
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Thu Aug 30 20:03:42 UTC 2018
On 8/30/18 2:56 PM, Erik Österlund wrote:
> 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.
So you verified that there's no performance difference with this? It
looks good and just in time because I'm calling this function in the
patch I'm working on. A lot.
thanks,
Coleen
>
> 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