|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.mmtk.plan.TransitiveClosure org.mmtk.plan.TraceLocal org.mmtk.plan.immix.ImmixDefragTraceLocal
public final class ImmixDefragTraceLocal
This class implements the thread-local functionality for a defragmenting transitive closure over an immix space.
Field Summary | |
---|---|
private ObjectReferenceDeque |
modBuffer
Instance fields |
Fields inherited from class org.mmtk.plan.TraceLocal |
---|
rootLocations, values |
Fields inherited from class org.mmtk.plan.TransitiveClosure |
---|
specializedScan |
Constructor Summary | |
---|---|
ImmixDefragTraceLocal(Trace trace,
ObjectReferenceDeque modBuffer)
Constructor |
Method Summary | |
---|---|
boolean |
isLive(ObjectReference object)
Is the specified object live? |
protected void |
processRememberedSets()
Process any remembered set entries. |
protected void |
scanObject(ObjectReference object)
Collectors that move objects must override this method. |
ObjectReference |
traceObject(ObjectReference object)
This method is the core method during the trace of the object graph. |
boolean |
willNotMoveInCurrentCollection(ObjectReference object)
Return true if this object is guaranteed not to move during this
collection (i.e. this object is defintely not an unforwarded
object). |
Methods inherited from class org.mmtk.plan.TransitiveClosure |
---|
getSpecializedScanClass, registerSpecializedScan |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final ObjectReferenceDeque modBuffer
Constructor Detail |
---|
public ImmixDefragTraceLocal(Trace trace, ObjectReferenceDeque modBuffer)
trace
- TODOmodBuffer
- TODOMethod Detail |
---|
public boolean isLive(ObjectReference object)
isLive
in class TraceLocal
object
- The object.
true
if the object is live.public ObjectReference traceObject(ObjectReference object)
In this instance, we refer objects in the mark-sweep space to the immixSpace for tracing, and defer to the superclass for all others.
traceObject
in class TraceLocal
object
- The object to be traced.
public boolean willNotMoveInCurrentCollection(ObjectReference object)
true
if this object is guaranteed not to move during this
collection (i.e. this object is defintely not an unforwarded
object).
willNotMoveInCurrentCollection
in class TraceLocal
object
-
true
if this object is guaranteed not to move during this
collection.protected void scanObject(ObjectReference object)
TraceLocal
scanObject
in class TraceLocal
object
- The forwarded object to be scannedprotected void processRememberedSets()
processRememberedSets
in class TraceLocal
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |