RFR(S): 8007701: Hotspot trace Allocation Events

Bengt Rutisson bengt.rutisson at oracle.com
Fri Mar 22 05:53:00 PDT 2013

Hi Nils,

Overall this looks good, but I have two questions.

Could we add a new class (maybe called AllocTracer?) instead of adding 
the two static send methods to GCTracer? It feels a bit wrong to have 
the GCTracer handle things that don't happen during a GC.

How do we handle the fact that this does not cover the C1 tlab 
allocations? Is there a bug to track that?


On 3/22/13 10:12 AM, Nils Eliasson wrote:
> Latest webrev after more feedback:
> http://cr.openjdk.java.net/~neliasso/8007701/webrev.06/
> //N
> On 2013-03-20 16:24, Nils Eliasson wrote:
>> Thanks for your review Erik,
>> Updated the webrev with your suggestions
>> - Moved alloction events to GCTrace
>> - Renamed class event field to "class"
>> http://cr.openjdk.java.net/~neliasso/8007701/webrev.04/
>> http://bugs.sun.com/view_bug.do?bug_id=8007701
>> //Nils Eliasson
>> On 2013-03-14 21:42, Nils Eliasson wrote:
>>> Hi all,
>>> I would like a review for this change that introduces two new 
>>> tracing events.
>>> "AllocationInNewTLAB" is sent for the first object in a new TLAB and 
>>> gives a reasonably cheap and reasonably fair object sampling.
>>> "AllocationOutsideTLAB" is sent for each object that gets allocated 
>>> outside the TLABs. (The object doesn't fit or would cause too much 
>>> wasted free space if the tlab was discarded.)
>>> These events use the allocation slow path in CollectedHeap which is 
>>> used by default in the template interpreter and the C2 compiler. It 
>>> is also used for all TLAB refills in the C1-compiler if the flag 
>>> -XX:-FastTLABRefill is supplied.
>>> http://cr.openjdk.java.net/~neliasso/8007701/webrev.03/
>>> http://bugs.sun.com/view_bug.do?bug_id=8007701
>>> The event code for AllocationOutsideTLAB had to be put in 
>>> CollectedHeap.cpp since tracing.hpp can't be included into 
>>> CollectedHeap.inline.hpp.
>>> Thanks,
>>> Nils Eliasson

More information about the hotspot-gc-dev mailing list