RFR(L): 6484965: G1: piggy-back liveness accounting phase on marking

John Cuthbertson john.cuthbertson at oracle.com
Mon Oct 3 23:09:50 UTC 2011

Hi Everyone,

Can I have a couple of volunteers review the changes for this CR? The 
webrev can be found at: http://cr.openjdk.java.net/~johnc/6484965/webrev.0/

During some big application runs we were seeing some excessively long 
concurrent counting times. These long counting times were increasing the 
cycle time of concurrent marking and increasing the risk of evacuation 
failure. It was suggested that, rather than having a separate phase that 
walks the marking bitmap to calculate the amount of live data etc, we 
could track this information in some per marking task/worker thread data 
structures and update the information as objects were marked. These 
changes implement that scheme. The original bitmap walking code has been 
retained but turned into a verification mechanism that is enabled using 
-XX:+UnlockDiagnosticVMOption -XX:+VerifyDuringGC.

Testing: GC test suite with a low marking threshold (10%); OpenDS, 
KitchenSink, and jprt with the additional verification code enabled.


More information about the hotspot-gc-dev mailing list