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

Srinivas Ramakrishna ysr1729 at gmail.com
Thu May 16 00:40:54 UTC 2013


That's to support heap verification in product builds -- via a diagnostic option.

-- Ramki


On May 15, 2013, at 15:11, Jon Masamitsu <jon.masamitsu at oracle.com> wrote:

> John,
> Why use guarantee() here instead of a  assert()?
> http://cr.openjdk.java.net/~johnc/7132678/webrev.0/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp.frames.html
> 5945 void G1CollectedHeap::check_bitmaps(const char* caller, HeapRegion* hr) {
> 5946   if (!G1VerifyBitmaps) return;
> 5947
> 5948   guarantee(verify_bitmaps(caller, hr), "bitmap verification");
> 5949 }
> check_bitmap() has a PRODUCT_RETURN.  Is this so it works in an optimized build?
> Jon
> 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