public abstract class GenCollector extends StopTheWorldCollector
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).
Gen,
GenMutator,
StopTheWorldCollector,
CollectorContext| Modifier and Type | Field and Description |
|---|---|
protected AddressPairDeque |
arrayRemset |
protected LargeObjectLocal |
los |
protected ObjectReferenceDeque |
modbuf |
protected GenNurseryTraceLocal |
nurseryTrace |
protected AddressDeque |
remset |
sanityLocalgrouplog| Constructor and Description |
|---|
GenCollector()
Constructor
Note that the collector is a consumer of remsets, while the
mutator is a producer.
|
| Modifier and Type | Method and Description |
|---|---|
void |
collectionPhase(short phaseId,
boolean primary)
Perform a (local, i.e.per-collector) collection phase.
|
TraceLocal |
getCurrentTrace() |
abstract TraceLocal |
getFullHeapTrace() |
private static Gen |
global() |
collect, concurrentCollect, concurrentCollectionPhaseparallelWorkerCount, parallelWorkerOrdinal, park, rendezvous, runallocCopy, copyCheckAllocator, getId, getLog, initCollector, postCopyprotected final GenNurseryTraceLocal nurseryTrace
protected final LargeObjectLocal los
protected final ObjectReferenceDeque modbuf
protected final AddressDeque remset
protected final AddressPairDeque arrayRemset
public GenCollector()
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).
GenMutatorpublic void collectionPhase(short phaseId, boolean primary)
collectionPhase in class SimpleCollectorphaseId - The unique phase identifierprimary - Should this thread be used to execute any single-threaded
local operations?public final TraceLocal getCurrentTrace()
getCurrentTrace in class ParallelCollectorpublic abstract TraceLocal getFullHeapTrace()