public class GenRCCollector extends RCBaseCollector
Modifier and Type | Field and Description |
---|---|
private GenRCModifiedProcessor |
modProcessor |
private ExplicitFreeListLocal |
rc |
private GenRCFindRootSetTraceLocal |
rootTrace |
newRootBuffer
sanityLocal
group
log
Constructor and Description |
---|
GenRCCollector() |
Modifier and Type | Method and Description |
---|---|
Address |
allocCopy(ObjectReference original,
int bytes,
int align,
int offset,
int allocator)
Allocate space for copying an object (this method does not
copy the object, it only allocates space)
|
void |
collectionPhase(short phaseId,
boolean primary)
Perform a (local, i.e.per-collector) collection phase.
|
protected TransitiveClosure |
getModifiedProcessor() |
protected TraceLocal |
getRootTrace() |
void |
postCopy(ObjectReference object,
ObjectReference typeRef,
int bytes,
int allocator)
Perform any post-copy actions.
|
collect, getCurrentTrace, getModBuffer, global
concurrentCollect, concurrentCollectionPhase
parallelWorkerCount, parallelWorkerOrdinal, park, rendezvous, run
copyCheckAllocator, getId, getLog, initCollector
private final GenRCFindRootSetTraceLocal rootTrace
private final GenRCModifiedProcessor modProcessor
private final ExplicitFreeListLocal rc
public GenRCCollector()
public final void collectionPhase(short phaseId, boolean primary)
collectionPhase
in class RCBaseCollector
phaseId
- The unique phase identifierprimary
- Should this thread be used to execute any single-threaded
local operations?public final Address allocCopy(ObjectReference original, int bytes, int align, int offset, int allocator)
allocCopy
in class CollectorContext
original
- The object that is being copied.bytes
- The size of the space to be allocated (in bytes)align
- Required alignment for the copyoffset
- Offset associated with the alignment.allocator
- The allocator associated with this requestpublic final void postCopy(ObjectReference object, ObjectReference typeRef, int bytes, int allocator)
In this case nothing is required.
postCopy
in class CollectorContext
object
- The newly allocated object.typeRef
- the type reference for the instance being created.bytes
- The size of the space to be allocated (in bytes).allocator
- The allocator statically assigned to this allocation.protected final TransitiveClosure getModifiedProcessor()
getModifiedProcessor
in class RCBaseCollector
protected final TraceLocal getRootTrace()
getRootTrace
in class RCBaseCollector