RFR: 8210233: Prepare Klass::is_loader_alive() for concurrent class unloading
Erik Österlund
erik.osterlund at oracle.com
Tue Sep 4 12:36:38 UTC 2018
Hi Coleen,
Thank you for the review.
/Erik
On 2018-09-04 13:59, coleen.phillimore at oracle.com wrote:
>
> The updated comments look fine. I briefly checked other uses of the
> _is_unloading field and it seems like we still want is_unloading() for
> cleaning up modules/packages and the dictionaries.
>
> This looks good.
>
> thanks,
> Coleen
>
> On 9/3/18 11:25 AM, Erik Österlund wrote:
>> 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