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 18:02:37 UTC 2013


Hi Ramki,

I just did an optimized and build and I don't see -DPRODUCT in the list 
of c++ flags. So we could make this functionality in optimized builds by 
changing the definition of the flags from develop to not_product.

JohnC

On 5/16/2013 10:22 AM, John Cuthbertson wrote:
> 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