|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.mmtk.plan.CollectorContext org.mmtk.plan.ParallelCollector org.mmtk.plan.SimpleCollector org.mmtk.plan.StopTheWorldCollector org.mmtk.plan.semispace.SSCollector org.mmtk.plan.semispace.gcspy.SSGCspyCollector
public class SSGCspyCollector
This class implements per-collector thread behavior and state for the SSGCspy plan.
See SSGCspy
for an overview of the GC-spy mechanisms.
SSCollector
,
SSGCspy
,
SSGCspyMutator
,
StopTheWorldCollector
,
CollectorContext
,
SimplePhase
Field Summary | |
---|---|
private static boolean |
DEBUG
|
Fields inherited from class org.mmtk.plan.semispace.SSCollector |
---|
los, ss, trace |
Fields inherited from class org.mmtk.plan.SimpleCollector |
---|
sanityLocal |
Fields inherited from class org.mmtk.plan.ParallelCollector |
---|
group |
Fields inherited from class org.mmtk.plan.CollectorContext |
---|
log |
Constructor Summary | |
---|---|
SSGCspyCollector()
Constructor |
Method Summary | |
---|---|
protected void |
checkAllDriversForRootAddress(Address addr)
Pass a root to all drivers. |
void |
collectionPhase(short phaseId,
boolean primary)
Perform a (local) collection phase. |
private void |
debugSpaces(CopySpace scannedSpace)
Print some debugging info |
private LinearSpaceDriver |
fromSpaceDriver()
|
private void |
gcspyGatherData(int event)
Gather data for GCspy for the semispaces only. |
private static SSGCspy |
global()
|
(package private) void |
resetRootStreams()
Reset all root streams. |
private LinearSpaceDriver |
toSpaceDriver()
|
Methods inherited from class org.mmtk.plan.semispace.SSCollector |
---|
allocCopy, getCurrentTrace, isSemiSpaceObject, postCopy |
Methods inherited from class org.mmtk.plan.StopTheWorldCollector |
---|
collect, concurrentCollect, concurrentCollectionPhase |
Methods inherited from class org.mmtk.plan.ParallelCollector |
---|
parallelWorkerCount, parallelWorkerOrdinal, park, rendezvous, run |
Methods inherited from class org.mmtk.plan.CollectorContext |
---|
copyCheckAllocator, getId, getLog, initCollector |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final boolean DEBUG
Constructor Detail |
---|
public SSGCspyCollector()
Method Detail |
---|
public final void collectionPhase(short phaseId, boolean primary)
collectionPhase
in class SSCollector
phaseId
- The unique phase identifierprimary
- Should this thread be used to execute any single-threaded
local operations?private void gcspyGatherData(int event)
This method sweeps the semispace under consideration to gather data. Alternatively and more efficiently, 'used space' can obviously be discovered in constant time simply by comparing the start and the end addresses of the semispace. However, per-object information can only be gathered by sweeping through the space and we do this here for tutorial purposes.
event
- The event, either BEFORE_COLLECTION, SEMISPACE_COPIED or
AFTER_COLLECTIONprivate void debugSpaces(CopySpace scannedSpace)
scannedSpace
- void resetRootStreams()
protected void checkAllDriversForRootAddress(Address addr)
addr
- The Address of the object to be checkedprivate static SSGCspy global()
SSGCspy
instance.private LinearSpaceDriver toSpaceDriver()
private LinearSpaceDriver fromSpaceDriver()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |