org.mmtk.plan
Class StopTheWorldCollector

java.lang.Object
  extended by org.mmtk.plan.CollectorContext
      extended by org.mmtk.plan.ParallelCollector
          extended by org.mmtk.plan.SimpleCollector
              extended by org.mmtk.plan.StopTheWorldCollector
All Implemented Interfaces:
Constants
Direct Known Subclasses:
CopyMSCollector, GenCollector, ImmixCollector, MCCollector, MSCollector, RCBaseCollector, SSCollector

public abstract class StopTheWorldCollector
extends SimpleCollector

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
 
Fields inherited from class org.mmtk.plan.SimpleCollector
sanityLocal
 
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
StopTheWorldCollector()
           
 
Method Summary
 void collect()
          Perform garbage collection
 void concurrentCollect()
          Perform some concurrent garbage collection
 void concurrentCollectionPhase(short phaseId)
          Perform some concurrent collection work.
private static StopTheWorld global()
           
 
Methods inherited from class org.mmtk.plan.SimpleCollector
collectionPhase
 
Methods inherited from class org.mmtk.plan.ParallelCollector
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
 

Constructor Detail

StopTheWorldCollector

public StopTheWorldCollector()
Method Detail

collect

public void collect()
Perform garbage collection

Overrides:
collect in class ParallelCollector

concurrentCollect

public final void concurrentCollect()
Perform some concurrent garbage collection


concurrentCollectionPhase

public void concurrentCollectionPhase(short phaseId)
Perform some concurrent collection work.

Parameters:
phaseId - The unique phase identifier

global

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