org.mmtk.plan.generational
Class GenCollector
java.lang.Object
org.mmtk.plan.CollectorContext
org.mmtk.plan.ParallelCollector
org.mmtk.plan.SimpleCollector
org.mmtk.plan.StopTheWorldCollector
org.mmtk.plan.generational.GenCollector
- All Implemented Interfaces:
- Constants
- Direct Known Subclasses:
- GenCopyCollector, GenImmixCollector, GenMSCollector
public abstract class GenCollector
- extends StopTheWorldCollector
This abstract class implements per-collector thread
behavior and state for generational copying collectors.
Specifically, this class defines nursery collection behavior (through
nurseryTrace
and the collectionPhase
method).
Per-collector thread remset consumers are instantiated here (used by
sub-classes).
- See Also:
Gen
,
GenMutator
,
StopTheWorldCollector
,
CollectorContext
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 |
GenCollector()
Constructor
Note that the collector is a consumer of remsets, while the
mutator is a producer. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
nurseryTrace
protected final GenNurseryTraceLocal nurseryTrace
los
protected final LargeObjectLocal los
modbuf
protected final ObjectReferenceDeque modbuf
remset
protected final AddressDeque remset
arrayRemset
protected final AddressPairDeque arrayRemset
GenCollector
public GenCollector()
- Constructor
Note that the collector is a consumer of remsets, while the
mutator is a producer. The GenMutator
class is
responsible for construction of the WriteBuffer (producer).
- See Also:
GenMutator
collectionPhase
public void collectionPhase(short phaseId,
boolean primary)
- Perform a (local, i.e.per-collector) collection phase.
- Overrides:
collectionPhase
in class SimpleCollector
- Parameters:
phaseId
- The unique phase identifierprimary
- Should this thread be used to execute any single-threaded
local operations?
global
private static Gen global()
- Returns:
- The active global plan as a
Gen
instance.
getCurrentTrace
public final TraceLocal getCurrentTrace()
- Overrides:
getCurrentTrace
in class ParallelCollector
- Returns:
- The current trace instance.
getFullHeapTrace
public abstract TraceLocal getFullHeapTrace()
- Returns:
- The trace to use when collecting the mature space