RFR (S): 8008737: The trace event vm/gc/heap/summary is missing for CMS

Erik Helin erik.helin at oracle.com
Mon Feb 25 08:50:14 UTC 2013


Bengt,

On 02/25/2013 08:42 AM, Bengt Rutisson wrote:
>
> Hi Erik,
>
> I think this looks good.

Thanks!

On 02/25/2013 08:42 AM, Bengt Rutisson wrote:
> One question:
>
> CMSCollector::register_gc_start() is currently called like this:
>
> register_gc_start(GenCollectedHeap::heap()->gc_cause());
>
> With your patch you look up the heap inside
> CMSCollector::register_gc_start() to call trace_heap_before_gc() on it.
> What do you think about passing the heap to
> CMSCollector::register_gc_start() instead of passing the cause?

If you look in the file vmCMSOperations.cpp you will see that
register_gc_start is called with an explicit cause, 
GCCause::_cms_concurrent_mark.
This is why register_gc_start takes GCCause as an parameter.

If a pointer to GenCollectedHeap should be passed as a parameter, then
we still have to pass GCCause as an explicit parameter. Therefore I
think it is better to look up the pointer to GenCollectedHeap inside
register_gc_start.

What do you think?

Thanks,
Erik

> Thanks,
> Bengt
>
>
>
> On 2/24/13 10:40 AM, Erik Helin wrote:
>> Hi all,
>>
>> this change adds the trace event vm/gc/heap/summary to the CMS collector.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~ehelin/8008737/webrev.00/
>>
>> Bug:
>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008737
>>
>> Testing:
>> JPRT
>>
>> Thanks,
>> Erik
>
>




More information about the hotspot-gc-dev mailing list