|
|||||||||||
| 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.markcompact.MCCollector
public class MCCollector
This class implements per-collector thread behavior and state for the MC plan, which implements a full-heap mark-compact collector.
Specifically, this class defines MC collection behavior
(through trace and the collectionPhase
method), and collection-time allocation.
for an overview of the mark-compact algorithm.,
MCMutator,
StopTheWorldCollector,
CollectorContext| Field Summary | |
|---|---|
private boolean |
currentTrace
|
private MCForwardTraceLocal |
forwardTrace
|
private MCMarkTraceLocal |
markTrace
Instance fields |
private MarkCompactCollector |
mc
|
private static boolean |
TRACE_FORWARD
|
private static boolean |
TRACE_MARK
|
| Fields inherited from class org.mmtk.plan.CollectorContext |
|---|
immortal, resetConcurrentWork, sanityLocal |
| Constructor Summary | |
|---|---|
MCCollector()
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 per-collector collection phase. |
TraceLocal |
getCurrentTrace()
|
private static MC |
global()
|
void |
postCopy(ObjectReference object,
ObjectReference typeRef,
int bytes,
int allocator)
Perform any post-copy actions. |
| 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 static final boolean TRACE_MARK
private static final boolean TRACE_FORWARD
private final MCMarkTraceLocal markTrace
private final MCForwardTraceLocal forwardTrace
private final MarkCompactCollector mc
private boolean currentTrace
| Constructor Detail |
|---|
public MCCollector()
| 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 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 statically assigned to this allocation.
public final void collectionPhase(short phaseId,
boolean primary)
collectionPhase in class SimpleCollectorphaseId - The collection phase to performprimary - Perform any single-threaded activities using this thread.public final TraceLocal getCurrentTrace()
getCurrentTrace in class CollectorContextprivate static MC global()
MC instance.
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||