RFR: 8210233: Prepare Klass::is_loader_alive() for concurrent class unloading
Erik Österlund
erik.osterlund at oracle.com
Mon Sep 3 15:25:23 UTC 2018
Hi Kim,
You are right. Thank you for catching that.
Incremental:
http://cr.openjdk.java.net/~eosterlund/8210233/webrev.00_01/
Full:
http://cr.openjdk.java.net/~eosterlund/8210233/webrev.01/
Thank you for the review.
/Erik
On 2018-08-30 21:27, Kim Barrett wrote:
>> On Aug 30, 2018, at 2:56 PM, Erik Österlund <erik.osterlund at oracle.com> 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.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~eosterlund/8210233/webrev.00/
>>
>> Bug:
>> https://bugs.openjdk.java.net/browse/JDK-8210233
>>
>> Thanks,
>> /Erik
> Nearby comments involving "unloading" should be updated.
>
More information about the hotspot-runtime-dev
mailing list