RFR (M): 8153503: Move remset scan iteration claim to remset local data structure

Thomas Schatzl thomas.schatzl at oracle.com
Tue Apr 5 09:46:28 UTC 2016


Hi all,

  can I have reviews for this refactoring of the remset scan iteration
claim procedure?

First, this changeset tries to capture all remset scanning specific
data that is located everywhere, and only used during remembered set
scan, into a single new G1RemsetScanState class.

This cleans up lots of code like members in various classes and
additional maintenance code all over the place (and in fact this change
deletes more code than it adds).

Second, I took the liberty to change the weird scan algorithm that does
two-passes over the collection set into a single-pass one.

Instead of, by setting some internal flag whether we are in the second
pass and not do code root scan (iirc), use the result of an atomic
operation to make sure that only a single thread does the code root
scan.

Then the change removes the nasty _cset_rs_update_cl member of
G1RemSet, which hid a nasty bug (JDK-8153360) which this change does
not address (but make obvious).

Also did the usual touch-up of method names that are affected.

Webrev:
https://bugs.openjdk.java.net/browse/JDK-8153503
CR:
http://cr.openjdk.java.net/~tschatzl/8153503/webrev/
Testing:
jprt, vm.gc multiple times, a few benchmarks

Thanks,
  Thomas


More information about the hotspot-gc-dev mailing list