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

John Cuthbertson john.cuthbertson at oracle.com
Thu May 16 17:22:10 UTC 2013


Hi Ramki,

I didn't think PRODUCT was defined in optimized builds. It's been a 
while since I've needed to build the optimized target so my recollection 
may be hazy.

JohnC

On 5/15/2013 5:43 PM, Srinivas Ramakrishna wrote:
> Never mind, didn't read yr email closely. Perhaps check_bitmaps() shouldn't be PRODUCT_RETURN? Yr point well-taken...
>
> ysr1729
>
> On May 15, 2013, at 17:40, Srinivas Ramakrishna <ysr1729 at gmail.com> wrote:
>
>> Jon,
>>
>> That's to support heap verification in product builds -- via a diagnostic option.
>>
>> -- Ramki
>>
>> ysr1729
>>
>> 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