[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