RFR(S): 8155209: Move setting of young index in cset to G1CollectionSet
Mikael Gerdin
mikael.gerdin at oracle.com
Wed Apr 27 10:08:32 UTC 2016
Hi all,
Please review this change to how _young_index_in_cset is set in HeapRegions.
G1 maintains a numbering of all young regions in the collection set in
order to record the amount of bytes copied from each young region in a
convenient fashion.
This done by having a _young_index_in_cset member in each HeapRegion
which is -1 for non-young and >= 0 for young regions.
This change moves the responsibility for setting this value to
G1CollectionSet, where it's easier to verify that the indices are set in
the correct manner for survivor and eden regions instead of relying on
YoungList and its state changes to ensure that the indices are correct
and unique.
The new code is in my mind much more straightforward in how the indices
are set up but still I've added some verification code to ensure that
there are no collisions in the numbering.
This change is part of an effort to simplify the YoungList code.
Testing: JPRT
Bug: https://bugs.openjdk.java.net/browse/JDK-8155209
Webrev: http://cr.openjdk.java.net/~mgerdin/8155209/webrev.0/
Thanks
/Mikael
More information about the hotspot-gc-dev
mailing list