org.mmtk.plan.stickyimmix
Class StickyImmixCollector

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.immix.ImmixCollector
                      extended by org.mmtk.plan.stickyimmix.StickyImmixCollector
All Implemented Interfaces:
Constants

public class StickyImmixCollector
extends ImmixCollector

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

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

See Also:
for an overview of the algorithm.

, StickyImmixMutator, StopTheWorldCollector, CollectorContext, Phase


Field Summary
private  ImmixAllocator nurseryCopy
           
private  StickyImmixNurseryTraceLocal nurseryTrace
           
 
Fields inherited from class org.mmtk.plan.immix.ImmixCollector
copy, currentTrace, defragTrace, fastTrace, immix, immortal
 
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
StickyImmixCollector()
          Constructor
 
Method Summary
 void collectionPhase(short phaseId, boolean primary)
          Perform a (local, i.e.per-collector) collection phase.
private static StickyImmix global()
           
 
Methods inherited from class org.mmtk.plan.immix.ImmixCollector
allocCopy, getCurrentTrace, postCopy
 
Methods inherited from class org.mmtk.plan.StopTheWorldCollector
collect, concurrentCollect, concurrentCollectionPhase
 
Methods inherited from class org.mmtk.plan.ParallelCollector
parallelWorkerCount, parallelWorkerOrdinal, park, rendezvous, run
 
Methods inherited from class org.mmtk.plan.CollectorContext
copyCheckAllocator, getId, getLog, initCollector
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nurseryTrace

private StickyImmixNurseryTraceLocal nurseryTrace

nurseryCopy

private final ImmixAllocator nurseryCopy
Constructor Detail

StickyImmixCollector

public StickyImmixCollector()
Constructor

Method Detail

collectionPhase

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

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

global

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