RFR (S): 8191888: Refactor ClassLoaderData::remove_handle to use the Access API
David Holmes
david.holmes at oracle.com
Tue Nov 28 06:59:15 UTC 2017
Hi Erik,
Is there a non-GC person's guide to what the different forms of
RootAccess<XXX> mean and when to use them? Or do we expect a GC person
to always jump in to show where such things are needed? ;-)
Thanks,
David
On 27/11/2017 7:06 PM, Erik Österlund wrote:
> Hi,
>
> The ClassLoaderData::remove_handle() member function currently uses
> explicit G1 SATB barriers to remove an oop from the root set, as these
> handles are not necessarily walked by the GC in a safepoint. Therefore
> G1 needs pre-write barriers.
>
> This should now be modeled as a
> RootAccess<IN_CONCURRENT_ROOT>::oop_store instead. This maps to
> performing a pre-write SATB barrier with G1, but other GCs are free to
> do other things as necessary.
>
> Webrev:
> http://cr.openjdk.java.net/~eosterlund/8191888/webrev.00/
>
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8191888
>
> Thanks,
> /Erik
More information about the hotspot-runtime-dev
mailing list