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

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

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

Erik Österlund-2
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