|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.mmtk.plan.CollectorContext org.mmtk.plan.ParallelCollector org.mmtk.plan.SimpleCollector org.mmtk.plan.StopTheWorldCollector org.mmtk.plan.semispace.SSCollector
public class SSCollector
This class implements per-collector thread behavior and state for the SS plan, which implements a full-heap semi-space collector.
Specifically, this class defines SS collection behavior
(through trace
and the collectionPhase
method), and collection-time allocation (copying of objects).
See SS
for an overview of the semi-space algorithm.
SS
,
SSMutator
,
StopTheWorldCollector
,
CollectorContext
Field Summary | |
---|---|
protected LargeObjectLocal |
los
|
protected CopyLocal |
ss
|
protected SSTraceLocal |
trace
|
Fields inherited from class org.mmtk.plan.SimpleCollector |
---|
sanityLocal |
Fields inherited from class org.mmtk.plan.ParallelCollector |
---|
group |
Fields inherited from class org.mmtk.plan.CollectorContext |
---|
log |
Constructor Summary | |
---|---|
|
SSCollector()
Constructor |
protected |
SSCollector(SSTraceLocal tr)
Constructor |
Method Summary | |
---|---|
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 |
getCurrentTrace()
|
private static SS |
global()
|
static boolean |
isSemiSpaceObject(ObjectReference object)
Return true if the given reference is to an object that is within
one of the semi-spaces. |
void |
postCopy(ObjectReference object,
ObjectReference typeRef,
int bytes,
int allocator)
Perform any post-copy actions. |
Methods inherited from class org.mmtk.plan.StopTheWorldCollector |
---|
collect, concurrentCollect, concurrentCollectionPhase |
Methods inherited from class org.mmtk.plan.ParallelCollector |
---|
parallelWorkerCount, parallelWorkerOrdinal, park, rendezvous, run |
Methods inherited from class org.mmtk.plan.CollectorContext |
---|
copyCheckAllocator, getId, getLog, initCollector |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final SSTraceLocal trace
protected final CopyLocal ss
protected final LargeObjectLocal los
Constructor Detail |
---|
public SSCollector()
protected SSCollector(SSTraceLocal tr)
tr
- The trace to useMethod Detail |
---|
public 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 request
public void postCopy(ObjectReference object, ObjectReference typeRef, int bytes, int allocator)
CollectorContext
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.public void collectionPhase(short phaseId, boolean primary)
collectionPhase
in class SimpleCollector
phaseId
- The unique phase identifierprimary
- Should this thread be used to execute any single-threaded
local operations?public static boolean isSemiSpaceObject(ObjectReference object)
true
if the given reference is to an object that is within
one of the semi-spaces.
object
- The object in question
true
if the given reference is to an object that is within
one of the semi-spaces.private static SS global()
SS
instance.public TraceLocal getCurrentTrace()
getCurrentTrace
in class ParallelCollector
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |