RFR: 8212996: Use AS_NO_KEEPALIVE when accessing dead java.lang.invoke.CallSites during nmethod unloading
Erik Österlund
erik.osterlund at oracle.com
Fri Oct 26 06:18:23 UTC 2018
Hi Coleen,
Thanks for the review. And yeah, this could have turned out a lot worse.
/Erik
On 2018-10-25 22:53, coleen.phillimore at oracle.com wrote:
>
> 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