org.mmtk.plan.nogc
Class NoGCCollector

java.lang.Object
  extended by org.mmtk.plan.CollectorContext
      extended by org.mmtk.plan.nogc.NoGCCollector
All Implemented Interfaces:
Constants

public class NoGCCollector
extends CollectorContext

This class implements per-collector thread behavior and state for the NoGC plan, which simply allocates (without ever collecting until the available space is exhausted.

Specifically, this class would define NoGC collection time semantics, however, since this plan never collects, this class consists only of stubs which may be useful as a template for implementing a basic collector.

See Also:
NoGC, NoGCMutator, CollectorContext

Field Summary
protected  TraceLocal currentTrace
           
private  NoGCTraceLocal trace
          Instance fields
 
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
NoGCCollector()
           
 
Method Summary
 void collect()
          Perform a garbage collection
 void collectionPhase(short phaseId, boolean primary)
          Perform a per-collector collection phase.
 void concurrentCollect()
          Perform some concurrent garbage collection
 void concurrentCollectionPhase(short phaseId)
          Perform some concurrent collection work.
 TraceLocal getCurrentTrace()
           
private static NoGC global()
           
 
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

trace

private final NoGCTraceLocal trace
Instance fields


currentTrace

protected final TraceLocal currentTrace
Constructor Detail

NoGCCollector

public NoGCCollector()
Method Detail

collect

public final void collect()
Perform a garbage collection

Specified by:
collect in class CollectorContext

concurrentCollect

public final void concurrentCollect()
Perform some concurrent garbage collection

Specified by:
concurrentCollect in class CollectorContext

collectionPhase

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

Specified by:
collectionPhase in class CollectorContext
Parameters:
phaseId - The collection phase to perform
primary - perform any single-threaded local activities.

concurrentCollectionPhase

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

Specified by:
concurrentCollectionPhase in class CollectorContext
Parameters:
phaseId - The unique phase identifier

global

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

getCurrentTrace

public final TraceLocal getCurrentTrace()
Specified by:
getCurrentTrace in class CollectorContext
Returns:
The current trace instance.