|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.mmtk.plan.CollectorContext
org.mmtk.plan.SimpleCollector
org.mmtk.plan.StopTheWorldCollector
org.mmtk.plan.generational.GenCollector
org.mmtk.plan.generational.copying.GenCopyCollector
public class GenCopyCollector
This class implements per-collector thread behavior and state for
the GenCopy two-generational copying collector.
Specifically, this class defines semantics specific to the collection of
the mature generation (GenCollector defines nursery semantics).
In particular the mature space allocator is defined (for collection-time
allocation into the mature space), and the mature space per-collector thread
collection time semantics are defined.
for a description of the GenCopy algorithm.,
GenCopy,
GenCopyMutator,
GenCollector,
StopTheWorldCollector,
CollectorContext| Field Summary | |
|---|---|
private CopyLocal |
mature
The allocator for the mature space |
private GenCopyMatureTraceLocal |
matureTrace
The trace object for full-heap collections |
| Fields inherited from class org.mmtk.plan.generational.GenCollector |
|---|
arrayRemset, los, modbuf, nurseryTrace, remset |
| Fields inherited from class org.mmtk.plan.CollectorContext |
|---|
immortal, resetConcurrentWork, sanityLocal |
| Constructor Summary | |
|---|---|
GenCopyCollector()
Constructor |
|
| Method Summary | |
|---|---|
Address |
allocCopy(ObjectReference original,
int bytes,
int align,
int offset,
int allocator)
Allocate space for copying an object (this method does not copy the object, it only allocates space) |
void |
collectionPhase(short phaseId,
boolean primary)
Execute a per-collector collection phase. |
TraceLocal |
getFullHeapTrace()
|
private static GenCopy |
global()
|
void |
postCopy(ObjectReference object,
ObjectReference typeRef,
int bytes,
int allocator)
Perform any post-copy actions. |
protected void |
showMature()
Show the status of the mature allocator. |
| Methods inherited from class org.mmtk.plan.generational.GenCollector |
|---|
getCurrentTrace |
| Methods inherited from class org.mmtk.plan.StopTheWorldCollector |
|---|
collect, concurrentCollect, concurrentCollectionPhase |
| Methods inherited from class org.mmtk.plan.CollectorContext |
|---|
clearResetConcurrentWork, copyCheckAllocator, getId, initCollector, resetConcurrentWork |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private final CopyLocal mature
private final GenCopyMatureTraceLocal matureTrace
| Constructor Detail |
|---|
public GenCopyCollector()
| Method Detail |
|---|
public Address allocCopy(ObjectReference original,
int bytes,
int align,
int offset,
int allocator)
allocCopy in class CollectorContextoriginal - A reference to the original objectbytes - The size of the space to be allocated (in bytes)align - The requested alignment.offset - The alignment offset.allocator - The allocator associated with this request.
public final void postCopy(ObjectReference object,
ObjectReference typeRef,
int bytes,
int allocator)
postCopy in class CollectorContextobject - The newly allocated objecttypeRef - the type reference for the instance being createdbytes - The size of the space to be allocated (in bytes)allocator - The allocator to allocate from
public void collectionPhase(short phaseId,
boolean primary)
collectionPhase in class GenCollectorphaseId - The phase to execute.primary - True if this thread should peform local single-threaded
actions.private static GenCopy global()
GenCopy instance.protected final void showMature()
public final TraceLocal getFullHeapTrace()
getFullHeapTrace in class GenCollector
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||