org.mmtk.utility.sanitychecker
Class SanityTraceLocal

java.lang.Object
  extended by org.mmtk.plan.TransitiveClosure
      extended by org.mmtk.plan.TraceLocal
          extended by org.mmtk.utility.sanitychecker.SanityTraceLocal
All Implemented Interfaces:
Constants

public final class SanityTraceLocal
extends TraceLocal

This class implements the simply sanity closure.


Field Summary
private  SanityChecker sanityChecker
           
 
Fields inherited from class org.mmtk.plan.TraceLocal
rootLocations, values
 
Fields inherited from class org.mmtk.plan.TransitiveClosure
specializedScan
 
Fields inherited from interface org.mmtk.utility.Constants
ALIGNMENT_VALUE, ARRAY_ELEMENT, BITS_IN_ADDRESS, BITS_IN_BYTE, BITS_IN_CHAR, BITS_IN_INT, BITS_IN_PAGE, BITS_IN_SHORT, BITS_IN_WORD, BYTES_IN_ADDRESS, BYTES_IN_BYTE, BYTES_IN_CHAR, BYTES_IN_INT, BYTES_IN_KBYTE, BYTES_IN_MBYTE, BYTES_IN_PAGE, BYTES_IN_SHORT, BYTES_IN_WORD, CARD_MASK, CARD_META_PAGES_PER_REGION, INSTANCE_FIELD, LOG_BITS_IN_ADDRESS, LOG_BITS_IN_BYTE, LOG_BITS_IN_CHAR, LOG_BITS_IN_INT, LOG_BITS_IN_PAGE, LOG_BITS_IN_SHORT, LOG_BITS_IN_WORD, LOG_BYTES_IN_ADDRESS, LOG_BYTES_IN_ADDRESS_SPACE, LOG_BYTES_IN_BYTE, LOG_BYTES_IN_CHAR, LOG_BYTES_IN_INT, LOG_BYTES_IN_KBYTE, LOG_BYTES_IN_MBYTE, LOG_BYTES_IN_PAGE, LOG_BYTES_IN_SHORT, LOG_BYTES_IN_WORD, LOG_CARD_BYTES, LOG_CARD_GRAIN, LOG_CARD_META_BYTES, LOG_CARD_META_PAGES, LOG_CARD_META_SIZE, LOG_CARD_UNITS, LOG_MIN_ALIGNMENT, MAX_ALIGNMENT, MAX_BYTES_PADDING, MAX_INT, MIN_ALIGNMENT, MIN_INT, SUPPORT_CARD_SCANNING
 
Constructor Summary
SanityTraceLocal(Trace trace, SanityChecker sanityChecker)
          Constructor
 
Method Summary
 ObjectReference traceObject(ObjectReference object, boolean root)
          This method traces an object with knowledge of the fact that object is a root or not.
 boolean willNotMoveInCurrentCollection(ObjectReference object)
          Will this object move from this point on, during the current trace?
 
Methods inherited from class org.mmtk.plan.TraceLocal
completeTrace, flush, getForwardedFinalizable, getForwardedReference, getForwardedReferenceType, getForwardedReferent, incrementalTrace, isLive, isReachable, isReferentLive, logMessage, overwriteReferenceDuringTrace, prepare, processEdge, processInteriorEdge, processNode, processRememberedSets, processRootEdge, processRoots, readyToFinalize, release, reportDelayedRootEdge, retainForFinalize, retainReferent, scanObject, traceObject
 
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

sanityChecker

private final SanityChecker sanityChecker
Constructor Detail

SanityTraceLocal

public SanityTraceLocal(Trace trace,
                        SanityChecker sanityChecker)
Constructor

Method Detail

traceObject

public ObjectReference traceObject(ObjectReference object,
                                   boolean root)
This method traces an object with knowledge of the fact that object is a root or not. In simple collectors the fact it is a root is not important so this is the default implementation given here.

Overrides:
traceObject in class TraceLocal
Parameters:
object - The object to be traced.
root - Is this object a root?
Returns:
The new reference to the same object instance.

willNotMoveInCurrentCollection

public boolean willNotMoveInCurrentCollection(ObjectReference object)
Will this object move from this point on, during the current trace?

Overrides:
willNotMoveInCurrentCollection in class TraceLocal
Parameters:
object - The object to query.
Returns:
true if the object will not move.