RFR(S): 8007701: Hotspot trace Allocation Events
bengt.rutisson at oracle.com
Fri Mar 22 05:53:00 PDT 2013
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:
> 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"
>> //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.
>>> The event code for AllocationOutsideTLAB had to be put in
>>> CollectedHeap.cpp since tracing.hpp can't be included into
>>> Nils Eliasson
More information about the hotspot-gc-dev