|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.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 | ||||||||||