org.mmtk.plan.refcount.fullheap
Class RCCollector

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
                  extended by org.mmtk.plan.refcount.RCBaseCollector
                      extended by org.mmtk.plan.refcount.fullheap.RCCollector
All Implemented Interfaces:
Constants

public class RCCollector
extends RCBaseCollector

This class implements the collector context for a reference counting collector. See Shahriyar et al for details of and rationale for the optimizations used here (http://dx.doi.org/10.1145/2258996.2259008). See Chapter 4 of Daniel Frampton's PhD thesis for details of and rationale for the cycle collection strategy used by this collector.


Field Summary
private  RCModifiedProcessor modProcessor
           
private  RCFindRootSetTraceLocal rootTrace
           
 
Fields inherited from class org.mmtk.plan.refcount.RCBaseCollector
newRootBuffer
 
Fields inherited from class org.mmtk.plan.SimpleCollector
sanityLocal
 
Fields inherited from class org.mmtk.plan.ParallelCollector
group
 
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
RCCollector()
          Constructor.
 
Method Summary
protected  TransitiveClosure getModifiedProcessor()
          Get the modified processor to use.
protected  TraceLocal getRootTrace()
          Get the root trace to use.
 
Methods inherited from class org.mmtk.plan.refcount.RCBaseCollector
collect, collectionPhase, getCurrentTrace, getModBuffer, global
 
Methods inherited from class org.mmtk.plan.StopTheWorldCollector
concurrentCollect, concurrentCollectionPhase
 
Methods inherited from class org.mmtk.plan.ParallelCollector
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

rootTrace

private final RCFindRootSetTraceLocal rootTrace

modProcessor

private final RCModifiedProcessor modProcessor
Constructor Detail

RCCollector

public RCCollector()
Constructor.

Method Detail

getModifiedProcessor

protected final TransitiveClosure getModifiedProcessor()
Description copied from class: RCBaseCollector
Get the modified processor to use.

Specified by:
getModifiedProcessor in class RCBaseCollector

getRootTrace

protected final TraceLocal getRootTrace()
Description copied from class: RCBaseCollector
Get the root trace to use.

Specified by:
getRootTrace in class RCBaseCollector