|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.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 - TODO| Method Detail |
|---|
public boolean isLive(ObjectReference object)
isLive in class TraceLocalobject - 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 TraceLocalobject - 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 TraceLocalobject -
true if this object is guaranteed not to move during this
collection.protected void scanObject(ObjectReference object)
TraceLocal
scanObject in class TraceLocalobject - 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 | ||||||||||