public final class ImmixDefragTraceLocal extends TraceLocal
Modifier and Type | Field and Description |
---|---|
private ObjectReferenceDeque |
modBuffer
Instance fields
|
rootLocations, values
specializedScan
Constructor and Description |
---|
ImmixDefragTraceLocal(Trace trace,
ObjectReferenceDeque modBuffer)
Constructor
|
Modifier and Type | Method and Description |
---|---|
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). |
completeTrace, flush, getForwardedFinalizable, getForwardedReference, getForwardedReferenceType, getForwardedReferent, incrementalTrace, isReachable, isReferentLive, logMessage, overwriteReferenceDuringTrace, prepare, processEdge, processInteriorEdge, processNode, processRootEdge, processRoots, readyToFinalize, release, reportDelayedRootEdge, retainForFinalize, retainReferent, traceObject
getSpecializedScanClass, registerSpecializedScan
private final ObjectReferenceDeque modBuffer
public ImmixDefragTraceLocal(Trace trace, ObjectReferenceDeque modBuffer)
trace
- the associated global tracemodBuffer
- TODOpublic 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
- the object whose status is of interesttrue
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