|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.mmtk.plan.Plan
org.mmtk.plan.Simple
org.mmtk.plan.StopTheWorld
org.mmtk.plan.refcount.RCBase
public class RCBase
This class implements the global state of a a simple reference counting collector.
| Field Summary | |
|---|---|
Trace |
backupTrace
|
static short |
BT_CLOSURE
|
static boolean |
CC_BACKUP_TRACE
Use backup tracing for cycle collection (currently the only option) |
static boolean |
CC_ENABLED
Is cycle collection enabled? |
static boolean |
CC_FORCE_FULL
Force full cycle collection at each GC? |
short |
collection
This is the phase that is executed to perform a collection. |
SharedDeque |
decPool
|
private BTFreeLargeObjectSweeper |
loFreeSweeper
|
private BTScanLargeObjectSweeper |
loScanSweeper
|
SharedDeque |
modPool
|
SharedDeque |
newRootPool
|
SharedDeque |
oldRootPool
|
static boolean |
performCycleCollection
|
static short |
PROCESS_DECBUFFER
|
static short |
PROCESS_MODBUFFER
|
static short |
PROCESS_NEWROOTBUFFER
|
static short |
PROCESS_OLDROOTBUFFER
|
static ExplicitLargeObjectSpace |
rcloSpace
|
static ExplicitFreeListSpace |
rcSpace
Class fields |
private BTSweeper |
rcSweeper
|
static int |
REF_COUNT
|
static int |
REF_COUNT_LOS
|
protected static short |
refCountCollectionPhase
Reference counting specific collection steps. |
protected static short |
rootClosurePhase
Perform the initial determination of liveness from the roots. |
Trace |
rootTrace
Instance fields |
| Fields inherited from class org.mmtk.plan.StopTheWorld |
|---|
postSanityPhase, preSanityPhase |
| Constructor Summary | |
|---|---|
RCBase()
Constructor |
|
| Method Summary | |
|---|---|
void |
collectionPhase(short phaseId)
Perform a (global) collection phase. |
int |
getPagesUsed()
Return the number of pages used given the pending allocation. |
static boolean |
isRCObject(ObjectReference object)
Collection |
boolean |
lastCollectionFullHeap()
|
void |
postBoot()
The boot method is called early in the boot process before any allocation. |
protected void |
registerSpecializedMethods()
Register specialized methods. |
int |
sanityExpectedRC(ObjectReference object,
int sanityRootRC)
Return the expected reference count. |
void |
sanityLinearScan(LinearScan scan)
Perform a linear scan across all objects in the heap to check for leaks. |
| Methods inherited from class org.mmtk.plan.Simple |
|---|
replacePhase, replacePlaceholderPhase |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final short PROCESS_OLDROOTBUFFER
public static final short PROCESS_NEWROOTBUFFER
public static final short PROCESS_MODBUFFER
public static final short PROCESS_DECBUFFER
public static final boolean CC_ENABLED
public static final boolean CC_FORCE_FULL
public static final boolean CC_BACKUP_TRACE
public static boolean performCycleCollection
public static final short BT_CLOSURE
protected static final short refCountCollectionPhase
protected static final short rootClosurePhase
public short collection
public static final ExplicitFreeListSpace rcSpace
public static final ExplicitLargeObjectSpace rcloSpace
public static final int REF_COUNT
public static final int REF_COUNT_LOS
public final SharedDeque modPool
public final SharedDeque decPool
public final SharedDeque newRootPool
public final SharedDeque oldRootPool
public final Trace rootTrace
public final Trace backupTrace
private final BTSweeper rcSweeper
private final BTScanLargeObjectSweeper loScanSweeper
private final BTFreeLargeObjectSweeper loFreeSweeper
| Constructor Detail |
|---|
public RCBase()
| Method Detail |
|---|
public void postBoot()
postBoot in class StopTheWorldpublic static final boolean isRCObject(ObjectReference object)
public boolean lastCollectionFullHeap()
lastCollectionFullHeap in class Planpublic void collectionPhase(short phaseId)
collectionPhase in class SimplephaseId - Collection phasepublic int getPagesUsed()
getPagesUsed in class Planpublic void sanityLinearScan(LinearScan scan)
sanityLinearScan in class Planscan - The scanner callback to use.
public int sanityExpectedRC(ObjectReference object,
int sanityRootRC)
sanityExpectedRC in class Planobject - The object to check.sanityRootRC - The number of root references to the object.
protected void registerSpecializedMethods()
registerSpecializedMethods in class Plan
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||