RFR (M) JDK-8025305 Cleanup CardTableModRefBS usage in G1
mikael.gerdin at oracle.com
Tue Sep 24 06:57:27 PDT 2013
In preparation for fixing 8014555 (the bug discussed in the "G1
question: concurrent cleaning of dirty cards" thread) I'd like to clean
up the CardTableModRefBS-code slightly.
Summary of change:
* Move some g1 specific functions from CardTableModRefBS to the G1
specific variant. I did not change the numeric CardValues. I'm afraid to
change the last_reserved value since other GCs seem to depend on which
bits are available below it.
* Change the setup code for G1 to make sure that the BarrierSet is of
the one G1 actually requires.
* Remove the ModRefBarrierSet* from G1CollectedHeap (it's always the
same as CollectedHeap::_barrier_set)
* Add an accessor which performs a down-cast of
CollectedHeap::_barrier_set to G1SATBCardTableModRefBS.
* Modify G1 code which uses the *claimed or *deferred card values to use
the type G1SATBCardTableModRefBS.
* Remove the unused function CardTableModRefBS::claim_card (last usage
was removed in "6923991: G1: improve scalability of RSet scanning" (rev
Bug link: https://bugs.openjdk.java.net/browse/JDK-8025305
More information about the hotspot-gc-dev