RFR: 8212996: Use AS_NO_KEEPALIVE when accessing dead java.lang.invoke.CallSites during nmethod unloading

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Thu Oct 25 20:53:19 UTC 2018


This doesn't look bad to me.  It's pretty specific for unloading so the 
NO_KEEP_ALIVE makes sense here even though we're loading dead oops 
through dead oops.

Thanks,
Coleen

On 10/25/18 3:29 PM, Erik Österlund wrote:
> Hi,
>
> When nmethods are unloaded, they may have dead 
> java.lang.invoke.CallSites loaded, and then we follow their dead 
> java.lang.invoke.MethodHandleNatives.CallSiteContext, so that its 
> dependency context can be cleaned. These dead oops should be loaded 
> with AS_NO_KEEPALIVE accessors, otherwise GC barriers can become very 
> unhappy.
>
> Webrev:
> http://cr.openjdk.java.net/~eosterlund/8212996/webrev.00/
>
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8212996
>
> Thanks,
> /Erik



More information about the hotspot-dev mailing list