|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.mmtk.plan.TransitiveClosure
public abstract class TransitiveClosure
This abstract class is the fundamental mechanism for performing a transitive closure over an object graph.
Some mechanisms only operate on nodes or edges, but due to limitations of inheritance we have combined these two here.
TraceLocal
Field Summary | |
---|---|
protected int |
specializedScan
The specialized scan identifier |
private static Class<?>[] |
specializedScans
Database of specialized scan classes. |
Constructor Summary | |
---|---|
protected |
TransitiveClosure()
Constructor |
protected |
TransitiveClosure(int specializedScan)
Constructor |
Method Summary | |
---|---|
static Class<?> |
getSpecializedScanClass(int id)
Get the specialized scan with the given id. |
void |
processEdge(ObjectReference source,
Address slot)
Trace an edge during GC. |
void |
processNode(ObjectReference object)
Trace a node during GC. |
static void |
registerSpecializedScan(int id,
Class<?> specializedScanClass)
A transitive closure has been created that is designed to work with a specialized scan method. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final Class<?>[] specializedScans
protected final int specializedScan
Constructor Detail |
---|
protected TransitiveClosure()
protected TransitiveClosure(int specializedScan)
specializedScan
- The specialized scan for this trace.Method Detail |
---|
public static void registerSpecializedScan(int id, Class<?> specializedScanClass)
id
- The method id to register.specializedScanClass
- The class to register.public static Class<?> getSpecializedScanClass(int id)
public void processEdge(ObjectReference source, Address slot)
source
- The source of the reference.slot
- The location containing the object reference.public void processNode(ObjectReference object)
object
- The object to be processed.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |