Check out the new USENIX Web site. next up previous
Next: Unnecessary Object Retention Up: Heap Profiling Previous: Excessive Heap Allocation

   
Algorithm-Independent Allocation and Garbage Collection Events

Many memory allocation and garbage collection algorithms are suitable for different Java virtual machine implementations. Mark-and-sweep, copying, generational, and reference counting are some examples. This presents a challenge to designing a comprehensive profiling interface: Is there a set of events that can uniformly handle a wide variety of garbage collection algorithms?

We have designed a set of profiling events that covers all garbage collection algorithms we are currently concerned with. We introduce the abstract notion of an arena, in which objects are allocated. The virtual machine issues the following set of events:

Our notation encodes the event-specific information in a pair of parentheses, immediately following the event type. Let us go through some examples to see how these events may be used with different garbage collection algorithms:

In summary, the simple set of heap allocation events support a wide variety of garbage collection algorithms.


next up previous
Next: Unnecessary Object Retention Up: Heap Profiling Previous: Excessive Heap Allocation
Sheng Liang
1998-12-19