public abstract class GenMatureTraceLocal extends TraceLocal
Modifier and Type | Field and Description |
---|---|
private AddressPairDeque |
arrayRemset |
private ObjectReferenceDeque |
modbuf |
private AddressDeque |
remset |
rootLocations, values
specializedScan
Constructor and Description |
---|
GenMatureTraceLocal(int specializedScan,
Trace trace,
GenCollector plan) |
GenMatureTraceLocal(Trace trace,
GenCollector plan) |
Modifier and Type | Method and Description |
---|---|
boolean |
isLive(ObjectReference object)
Is the specified object live?
|
protected void |
processRememberedSets()
Process any remembered set entries.
|
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 definitely 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, scanObject, traceObject
getSpecializedScanClass, registerSpecializedScan
private final ObjectReferenceDeque modbuf
private final AddressDeque remset
private final AddressPairDeque arrayRemset
public GenMatureTraceLocal(int specializedScan, Trace trace, GenCollector plan)
specializedScan
- the id of the specialized scantrace
- the global trace class to useplan
- the state of the generational collectorpublic GenMatureTraceLocal(Trace trace, GenCollector plan)
trace
- the global trace class to useplan
- the state of the generational collectorpublic boolean isLive(ObjectReference object)
isLive
in class TraceLocal
object
- The object.true
if the object is live.public boolean willNotMoveInCurrentCollection(ObjectReference object)
true
if this object is guaranteed not to move during this
collection (i.e. this object is definitely not an unforwarded
object).willNotMoveInCurrentCollection
in class TraceLocal
object
- the object that might movetrue
if this object is guaranteed not to move during this
collection.public ObjectReference traceObject(ObjectReference object)
TraceLocal
traceObject
in class TraceLocal
object
- The object to be traced.protected void processRememberedSets()
processRememberedSets
in class TraceLocal