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

Bengt Rutisson bengt.rutisson at oracle.com
Thu Sep 26 04:39:30 PDT 2013

Hi Mikael,

Nice cleanup! Looks good!


On 9/24/13 3:57 PM, 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