public class GenMSCollector extends GenCollector
GenMS two-generational copying collector.
Specifically, this class defines semantics specific to the collection of
the mature generation (GenCollector defines nursery semantics).
In particular the mature space allocator is defined (for collection-time
allocation into the mature space), and the mature space per-collector thread
collection time semantics are defined.
| Modifier and Type | Field and Description |
|---|---|
private MarkSweepLocal |
mature
The allocator for the mature space
|
private GenMSMatureTraceLocal |
matureTrace |
arrayRemset, los, modbuf, nurseryTrace, remsetsanityLocalgrouplog| Constructor and Description |
|---|
GenMSCollector()
Constructor
|
| 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.
|
TraceLocal |
getFullHeapTrace() |
private static GenMS |
global() |
void |
postCopy(ObjectReference object,
ObjectReference typeRef,
int bytes,
int allocator)
Perform any post-copy actions.
|
getCurrentTracecollect, concurrentCollect, concurrentCollectionPhaseparallelWorkerCount, parallelWorkerOrdinal, park, rendezvous, runcopyCheckAllocator, getId, getLog, initCollectorprivate final MarkSweepLocal mature
private final GenMSMatureTraceLocal matureTrace
public GenMSCollector()
public final Address allocCopy(ObjectReference original, int bytes, int align, int offset, int allocator)
allocCopy in class CollectorContextoriginal - 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)
CollectorContextpostCopy in class CollectorContextobject - 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.public void collectionPhase(short phaseId, boolean primary)
collectionPhase in class GenCollectorphaseId - The unique phase identifierprimary - Should this thread be used to execute any single-threaded
local operations?public final TraceLocal getFullHeapTrace()
getFullHeapTrace in class GenCollector