public class SSGCspyCollector extends SSCollector
See SSGCspy for an overview of the GC-spy mechanisms.
SSCollector,
SSGCspy,
SSGCspyMutator,
StopTheWorldCollector,
CollectorContext,
SimplePhase| Modifier and Type | Field and Description |
|---|---|
private static boolean |
DEBUG |
los, ss, tracesanityLocalgrouplog| Constructor and Description |
|---|
SSGCspyCollector()
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
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)
Prints 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() |
allocCopy, getCurrentTrace, isSemiSpaceObject, postCopycollect, concurrentCollect, concurrentCollectionPhaseparallelWorkerCount, parallelWorkerOrdinal, park, rendezvous, runcopyCheckAllocator, getId, getLog, initCollectorprivate static final boolean DEBUG
public SSGCspyCollector()
public final void collectionPhase(short phaseId, boolean primary)
collectionPhase in class SSCollectorphaseId - 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 - the space that was scannedvoid resetRootStreams()
protected void checkAllDriversForRootAddress(Address addr)
addr - The Address of the object to be checkedprivate LinearSpaceDriver toSpaceDriver()
private LinearSpaceDriver fromSpaceDriver()