RFR (S): 8191888: Refactor ClassLoaderData::remove_handle to use the Access API
david.holmes at oracle.com
Tue Nov 28 06:59:15 UTC 2017
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? ;-)
On 27/11/2017 7:06 PM, Erik Österlund wrote:
> 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.
More information about the hotspot-gc-dev