|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.mmtk.plan.CollectorContext org.mmtk.plan.ParallelCollector 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.SimpleCollector |
---|
sanityLocal |
Fields inherited from class org.mmtk.plan.ParallelCollector |
---|
group |
Fields inherited from class org.mmtk.plan.CollectorContext |
---|
log |
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)
Perform a (local, i.e.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.ParallelCollector |
---|
parallelWorkerCount, parallelWorkerOrdinal, park, rendezvous, run |
Methods inherited from class org.mmtk.plan.CollectorContext |
---|
copyCheckAllocator, getId, getLog, initCollector |
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 CollectorContext
original
- The object that is being copied.bytes
- The size of the space to be allocated (in bytes)align
- Required alignment for the copyoffset
- Offset associated with the alignment.allocator
- The allocator associated with this request
public final void postCopy(ObjectReference object, ObjectReference typeRef, int bytes, int allocator)
In this case we clear any bits used for this object's GC metadata.
postCopy
in class CollectorContext
object
- The newly allocated object.typeRef
- the type reference for the instance being created.bytes
- The size of the space to be allocated (in bytes).allocator
- The allocator statically assigned to this allocation.public void collectionPhase(short phaseId, boolean primary)
collectionPhase
in class GenCollector
phaseId
- The unique phase identifierprimary
- Should this thread be used to execute any single-threaded
local operations?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 |