org.mmtk.plan.stickyms
Class StickyMSCollector

java.lang.Object
  extended by org.mmtk.plan.CollectorContext
      extended by org.mmtk.plan.SimpleCollector
          extended by org.mmtk.plan.StopTheWorldCollector
              extended by org.mmtk.plan.marksweep.MSCollector
                  extended by org.mmtk.plan.stickyms.StickyMSCollector
All Implemented Interfaces:
Constants

public class StickyMSCollector
extends MSCollector

This class implements per-collector thread behavior and state for the StickMS plan, which implements a generational sticky mark bits mark-sweep collector.

Specifically, this class defines StickyMS collection behavior (through trace and the collectionPhase method).

See Also:
for an overview of the algorithm.

, StickyMSMutator, StopTheWorldCollector, CollectorContext, Phase


Field Summary
private  StickyMSNurseryTraceLocal nurseryTrace
          Instance fields
 
Fields inherited from class org.mmtk.plan.marksweep.MSCollector
currentTrace, fullTrace
 
Fields inherited from class org.mmtk.plan.CollectorContext
immortal, resetConcurrentWork, sanityLocal
 
Fields inherited from interface org.mmtk.utility.Constants
ALIGNMENT_VALUE, ARRAY_ELEMENT, BITS_IN_ADDRESS, BITS_IN_BYTE, BITS_IN_CHAR, BITS_IN_INT, BITS_IN_PAGE, BITS_IN_SHORT, BITS_IN_WORD, BYTES_IN_ADDRESS, BYTES_IN_BYTE, BYTES_IN_CHAR, 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, INSTANCE_FIELD, LOG_BITS_IN_ADDRESS, LOG_BITS_IN_BYTE, LOG_BITS_IN_CHAR, 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_CHAR, 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, SUPPORT_CARD_SCANNING
 
Constructor Summary
StickyMSCollector()
          Constructor
 
Method Summary
 void collectionPhase(short phaseId, boolean primary)
          Perform a per-collector collection phase.
private static StickyMS global()
           
 
Methods inherited from class org.mmtk.plan.marksweep.MSCollector
getCurrentTrace
 
Methods inherited from class org.mmtk.plan.StopTheWorldCollector
collect, concurrentCollect, concurrentCollectionPhase
 
Methods inherited from class org.mmtk.plan.CollectorContext
allocCopy, clearResetConcurrentWork, copyCheckAllocator, getId, initCollector, postCopy, resetConcurrentWork
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nurseryTrace

private StickyMSNurseryTraceLocal nurseryTrace
Instance fields

Constructor Detail

StickyMSCollector

public StickyMSCollector()
Constructor

Method Detail

collectionPhase

public final void collectionPhase(short phaseId,
                                  boolean primary)
Perform a per-collector collection phase.

Overrides:
collectionPhase in class MSCollector
Parameters:
phaseId - The collection phase to perform
primary - Perform any single-threaded activities using this thread.

global

private static StickyMS global()
Returns:
The active global plan as an MS instance.