RFR(S): 7092412: G1: Some roots not marked during an initial mark	that gets an evacuation failure
    John Cuthbertson 
    john.cuthbertson at oracle.com
       
    Mon Sep 19 20:08:53 UTC 2011
    
    
  
Hi Everyone,
Can I have a couple of reviews of the fix for this CR? The webrev can be 
found at: http://cr.openjdk.java.net/~johnc/7092412/webrev.0/
Summary: As a result of the changes for 7080389, some of the roots may 
not be marked during the initial mark pause in the event of an 
evacuation failure. If the closure that successfully forwards an object 
to itself is a root scanning closure and there are no other paths to the 
object referenced from the root location then the object may not be 
marked. This problem was discovered as a result of enabling marking 
verification while investigating another CR (7086533). The fix is to 
pass a flag into the evacuation failure code as to whether the caller is 
a root scanning closure and, if that is the case, the thread that 
successfully forwards an object to itself is then responsible for 
marking that object.
Testing: selected test cases for 7086533 with +VerifyDuringGC; the GC 
test suite with a high marking threshold and +VerifyDuringGC
Thanks,
JohnC
    
    
More information about the hotspot-gc-dev
mailing list