RFR (S): 8191888: Refactor ClassLoaderData::remove_handle to use the Access API

Erik Österlund erik.osterlund at oracle.com
Mon Nov 27 09:06:59 UTC 2017


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-gc-dev mailing list