public abstract class RCBaseCollector extends StopTheWorldCollector
Modifier and Type | Field and Description |
---|---|
private BTTraceLocal |
backupTrace |
private RCDecBuffer |
decBuffer |
private ObjectReferenceDeque |
modBuffer |
protected ObjectReferenceDeque |
newRootBuffer |
private ObjectReferenceDeque |
oldRootBuffer |
private RCZero |
zero |
sanityLocal
group
log
Constructor and Description |
---|
RCBaseCollector()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
collect()
Perform garbage collection
|
void |
collectionPhase(short phaseId,
boolean primary)
Perform a (local, i.e.per-collector) collection phase.
|
TraceLocal |
getCurrentTrace() |
ObjectReferenceDeque |
getModBuffer() |
protected abstract TransitiveClosure |
getModifiedProcessor() |
protected abstract TraceLocal |
getRootTrace() |
protected static RCBase |
global() |
concurrentCollect, concurrentCollectionPhase
parallelWorkerCount, parallelWorkerOrdinal, park, rendezvous, run
allocCopy, copyCheckAllocator, getId, getLog, initCollector, postCopy
protected final ObjectReferenceDeque newRootBuffer
private final BTTraceLocal backupTrace
private final ObjectReferenceDeque modBuffer
private final ObjectReferenceDeque oldRootBuffer
private final RCDecBuffer decBuffer
public RCBaseCollector()
protected abstract TransitiveClosure getModifiedProcessor()
protected abstract TraceLocal getRootTrace()
public void collect()
collect
in class StopTheWorldCollector
public void collectionPhase(short phaseId, boolean primary)
SimpleCollector
collectionPhase
in class SimpleCollector
phaseId
- The unique phase identifierprimary
- Should this thread be used to execute any single-threaded
local operations?public final TraceLocal getCurrentTrace()
getCurrentTrace
in class ParallelCollector
public final ObjectReferenceDeque getModBuffer()