RFR (M) JDK-8025305 Cleanup CardTableModRefBS usage in G1

Erik Helin erik.helin at oracle.com
Fri Sep 27 07:08:07 PDT 2013

Hi Mikael,

the changes looks good, thanks for cleaning this up!


On 2013-09-24, Mikael Gerdin wrote:
> Hi all!
> 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 0414c1049f15)
> Webrev: http://cr.openjdk.java.net/~mgerdin/8025305/webrev.0/
> Bug link: https://bugs.openjdk.java.net/browse/JDK-8025305
> /Mikael

More information about the hotspot-gc-dev mailing list