|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.mmtk.vm.Scanning
org.jikesrvm.mm.mmtk.Scanning
public final class Scanning
| Field Summary | |
|---|---|
private static SynchronizedCounter |
threadCounter
Counter to track index into thread table for root tracing. |
private static boolean |
threadStacksScanned
Status flag used to determine if stacks were scanned in this collection increment |
private static boolean |
TRACE_PRECOPY
Class variables |
| Constructor Summary | |
|---|---|
Scanning()
|
|
| Method Summary | |
|---|---|
static void |
clearThreadStacksScanned()
Clear the flag that indicates thread stacks have been scanned. |
void |
computeBootImageRoots(TraceLocal trace)
Compute all roots out of the VM's boot image (if any). |
void |
computeGlobalRoots(TraceLocal trace)
Computes global roots. |
void |
computeStaticRoots(TraceLocal trace)
Computes static roots. |
void |
computeThreadRoots(TraceLocal trace)
Computes roots pointed to by threads, their associated registers and stacks. |
void |
precopyChildren(TraceLocal trace,
ObjectReference object)
Precopying of a object's fields, processing each pointer field encountered. |
void |
preCopyGCInstances(TraceLocal trace)
Pre-copy all potentially movable instances used in the course of GC. |
void |
resetThreadCounter()
Prepares for using the computeAllRoots method. |
void |
scanObject(TransitiveClosure trace,
ObjectReference object)
Scanning of a object, processing each pointer field encountered. |
void |
specializedScanObject(int id,
TransitiveClosure trace,
ObjectReference object)
Invoke a specialized scan method. |
static boolean |
threadStacksScanned()
Were thread stacks scanned in this collection increment. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final boolean TRACE_PRECOPY
private static final SynchronizedCounter threadCounter
private static boolean threadStacksScanned
| Constructor Detail |
|---|
public Scanning()
| Method Detail |
|---|
public static boolean threadStacksScanned()
public static void clearThreadStacksScanned()
public void scanObject(TransitiveClosure trace,
ObjectReference object)
scanObject in class Scanningtrace - The closure being used.object - The object to be scanned.
public void specializedScanObject(int id,
TransitiveClosure trace,
ObjectReference object)
specializedScanObject in class Scanningid - The specialized method idtrace - The trace the method has been specialized forobject - The object to be scanned
public void precopyChildren(TraceLocal trace,
ObjectReference object)
precopyChildren in class Scanningtrace - The trace being used.object - The object to be scanned.public void resetThreadCounter()
computeAllRoots method. The
thread counter allows multiple GC threads to co-operatively
iterate through the thread data structure (if load balancing
parallel GC threads were not important, the thread counter could
simply be replaced by a for loop).
resetThreadCounter in class Scanningpublic void preCopyGCInstances(TraceLocal trace)
preCopyGCInstances in class Scanningpublic void computeStaticRoots(TraceLocal trace)
threadCounter must be reset so that load
balancing parallel GC can share the work of scanning threads.
computeStaticRoots in class Scanningtrace - The trace to use for computing roots.public void computeGlobalRoots(TraceLocal trace)
threadCounter must be reset so that load
balancing parallel GC can share the work of scanning threads.
computeGlobalRoots in class Scanningtrace - The trace to use for computing roots.public void computeThreadRoots(TraceLocal trace)
threadCounter must be reset so that load
balancing parallel GC can share the work of scanning threads.
computeThreadRoots in class Scanningtrace - The trace to use for computing roots.public void computeBootImageRoots(TraceLocal trace)
computeBootImageRoots in class Scanningtrace - The trace object to use to report root locations.
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||