org.mmtk.plan
Class SimpleCollector

java.lang.Object
  extended by org.mmtk.plan.CollectorContext
      extended by org.mmtk.plan.ParallelCollector
          extended by org.mmtk.plan.SimpleCollector
All Implemented Interfaces:
Constants
Direct Known Subclasses:
ConcurrentCollector, StopTheWorldCollector

public abstract class SimpleCollector
extends ParallelCollector

This class (and its sub-classes) implement per-collector thread behavior and state.

MMTk assumes that the VM instantiates instances of CollectorContext in thread local storage (TLS) for each thread participating in collection. Accesses to this state are therefore assumed to be low-cost during mutator time.

See Also:
CollectorContext

Field Summary
protected  SanityCheckerLocal sanityLocal
          Used for sanity checking.
 
Fields inherited from class org.mmtk.plan.ParallelCollector
group, lastTriggerCount, workerOrdinal
 
Fields inherited from class org.mmtk.plan.CollectorContext
log
 
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
SimpleCollector()
           
 
Method Summary
 void collectionPhase(short phaseId, boolean primary)
          Perform a (local, i.e.per-collector) collection phase.
private static Simple global()
           
 
Methods inherited from class org.mmtk.plan.ParallelCollector
collect, getCurrentTrace, parallelWorkerCount, parallelWorkerOrdinal, park, rendezvous, run
 
Methods inherited from class org.mmtk.plan.CollectorContext
allocCopy, copyCheckAllocator, getId, getLog, initCollector, postCopy
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sanityLocal

protected final SanityCheckerLocal sanityLocal
Used for sanity checking.

Constructor Detail

SimpleCollector

public SimpleCollector()
Method Detail

collectionPhase

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

Overrides:
collectionPhase in class ParallelCollector
Parameters:
phaseId - The unique phase identifier
primary - Should this thread be used to execute any single-threaded local operations?

global

private static Simple global()
Returns:
The active global plan as a Simple instance.