org.mmtk.plan.marksweep
Class MSCollector
java.lang.Object
org.mmtk.plan.CollectorContext
org.mmtk.plan.SimpleCollector
org.mmtk.plan.StopTheWorldCollector
org.mmtk.plan.marksweep.MSCollector
- All Implemented Interfaces:
- Constants
- Direct Known Subclasses:
- PoisonedCollector, StickyMSCollector
public class MSCollector
- extends StopTheWorldCollector
This class implements per-collector thread behavior
and state for the MS plan, which implements a full-heap
mark-sweep collector.
Specifically, this class defines MS collection behavior
(through trace and the collectionPhase
method).
- See Also:
for an overview of the mark-sweep algorithm.
FIXME The SegregatedFreeList class (and its decendents such as
MarkSweepLocal) does not properly separate mutator and collector
behaviors, so the ms field below should really not exist in
this class as there is no collection-time allocation in this
collector.
,
MS,
MSMutator,
StopTheWorldCollector,
CollectorContext
| Fields inherited from interface org.mmtk.utility.Constants |
AALOAD_READ_BARRIER, AASTORE_WRITE_BARRIER, ALIGNMENT_VALUE, BITS_IN_ADDRESS, BITS_IN_BYTE, BITS_IN_INT, BITS_IN_PAGE, BITS_IN_SHORT, BITS_IN_WORD, BYTES_IN_ADDRESS, BYTES_IN_BYTE, BYTES_IN_INT, BYTES_IN_KBYTE, BYTES_IN_MBYTE, BYTES_IN_PAGE, BYTES_IN_SHORT, BYTES_IN_WORD, CARD_MASK, CARD_META_PAGES_PER_REGION, GETFIELD_READ_BARRIER, GETSTATIC_READ_BARRIER, LOG_BITS_IN_ADDRESS, LOG_BITS_IN_BYTE, LOG_BITS_IN_INT, LOG_BITS_IN_PAGE, LOG_BITS_IN_SHORT, LOG_BITS_IN_WORD, LOG_BYTES_IN_ADDRESS, LOG_BYTES_IN_ADDRESS_SPACE, LOG_BYTES_IN_BYTE, LOG_BYTES_IN_INT, LOG_BYTES_IN_KBYTE, LOG_BYTES_IN_MBYTE, LOG_BYTES_IN_PAGE, LOG_BYTES_IN_SHORT, LOG_BYTES_IN_WORD, LOG_CARD_BYTES, LOG_CARD_GRAIN, LOG_CARD_META_BYTES, LOG_CARD_META_PAGES, LOG_CARD_META_SIZE, LOG_CARD_UNITS, LOG_MIN_ALIGNMENT, MAX_ALIGNMENT, MAX_BYTES_PADDING, MAX_INT, MIN_ALIGNMENT, MIN_INT, PUTFIELD_WRITE_BARRIER, PUTSTATIC_WRITE_BARRIER, SUPPORT_CARD_SCANNING |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
fullTrace
protected MSTraceLocal fullTrace
- Instance fields
currentTrace
protected TraceLocal currentTrace
ms
protected MarkSweepLocal ms
MSCollector
public MSCollector()
- Constructor
collectionPhase
public void collectionPhase(short phaseId,
boolean primary)
- Perform a per-collector collection phase.
- Overrides:
collectionPhase in class SimpleCollector
- Parameters:
phaseId - The collection phase to performprimary - Perform any single-threaded activities using this thread.
global
private static MS global()
- Returns:
- The active global plan as an
MS instance.
getCurrentTrace
public final TraceLocal getCurrentTrace()
- Specified by:
getCurrentTrace in class CollectorContext
- Returns:
- The current trace instance.