RFR: 8210233: Prepare Klass::is_loader_alive() for concurrent class unloading
erik.osterlund at oracle.com
Mon Sep 3 14:50:19 UTC 2018
On 2018-08-30 22:03, coleen.phillimore at oracle.com wrote:
> On 8/30/18 2:56 PM, Erik Österlund wrote:
>> 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 for the review.
More information about the hotspot-runtime-dev