[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-dev
Subject:    Re: RFR: 8210236: Prepare ciReceiverTypeData::translate_receiver_data_from for concurrent class
From:       coleen.phillimore () oracle ! com
Date:       2018-08-31 13:12:27
Message-ID: 37614f02-94d7-b576-5b2b-c50dd4e54e35 () oracle ! com
[Download RAW message or body]


This looks good.
Coleen

On 8/30/18 3:08 PM, Erik Ă–sterlund wrote:
> Hi,
>
> When concurrently unloading classes, it is possible for MDOs to have 
> stale metadata entries in them until the GC comes around to clean it 
> up. That is fine, but there is one place where extra care needs to be 
> taken: when the compiler interface fetches ReceiverTypeData. This is 
> done by memcpy:ing the ReceiverTypeData to a new memory buffer, and 
> walking the metadata, patching it with corresponding ci metadata 
> classes in the new buffer. The metadata could be stale by now. In such 
> scenarios, the rows should be lazily cleaned. Once the ci metadata 
> handles are created, they are safe to use in the rest of the code.
>
> This patch builds on 8210233 which makes Klass::is_loader_alive() 
> concurrency friendly using phantom loads.
>
> Webrev:
> http://cr.openjdk.java.net/~eosterlund/8210236/webrev.00
>
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8210236
>
> Thanks,
> /Erik

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic