RFR(S/M): 7132678: G1: verify that the marking bitmaps have no marks for objects over TAMS

Jon Masamitsu jon.masamitsu at oracle.com
Wed May 15 22:11:06 UTC 2013


Why use guarantee() here instead of a  assert()?


5945 void G1CollectedHeap::check_bitmaps(const char* caller, HeapRegion* 
hr) {
5946   if (!G1VerifyBitmaps) return;
5948   guarantee(verify_bitmaps(caller, hr), "bitmap verification");
5949 }

check_bitmap() has a PRODUCT_RETURN.  Is this so it works in an 
optimized build?


On 1/15/2013 12:10 PM, John Cuthbertson wrote:
> 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/7132678/webrev.0/
> Most of the changes come from a patch that Tony gave me before he left 
> and I had to tweak them slightly to remove a spurious failure. The 
> changes verify that the heap regions don't have any marks between 
> [TAMS, top) at strategic places: start and end of each GC, start and 
> end of remark and cleanup, and when allocating a region. Tony deserves 
> the bulk of the credit so, if possible and there are no objections, I 
> intend to list him as author of the change and include myself as a 
> reviewer.
> Testing:
> GC test suite with the both the new flags (separately and together) 
> and a low IHOP value.
> jprt with the new flags (+IgnoreUnrecognizedVMOptions so that product 
> test runs did not fail).
> Thanks,
> JohnC

More information about the hotspot-gc-dev mailing list