public class ImmortalSpaceDriver extends LinearSpaceDriver
This class extends LinearSpaceDriver, a simple driver for contiguous MMTk spaces such as CopySpace and ImmortalSpace.
| Modifier and Type | Class and Description |
|---|---|
private class |
ImmortalSpaceDriver.Closure
Used to visit the edges in the immortal object.
|
| Modifier and Type | Field and Description |
|---|---|
private ImmortalSpaceDriver.Closure |
closure |
private static boolean |
DEBUG |
private AbstractDriver[] |
registeredDrivers |
allTileNum, arrayObjectsStream, arrayPrimitiveStream, arrayUsedSpaceStream, lastAddress, lastSize, refFromImmortalStream, rootsStream, scalarObjectsStream, scalarUsedSpaceStream, subspace, totalArrayObjects, totalArrayUsedSpace, totalPrimitives, totalRefFromImmortal, totalRoots, totalScalarObjects, totalScalarUsedSpaceblockSize, changed, control, CONTROL_BACKGROUND, CONTROL_LINK, CONTROL_SEPARATOR, CONTROL_UNUSED, CONTROL_USED, maxTileNum, mmtkSpace, myClass, name, server, serverSpace, streams| Constructor and Description |
|---|
ImmortalSpaceDriver(ServerInterpreter server,
String spaceName,
Space mmtkSpace,
int blockSize,
boolean mainSpace)
Create a new driver for an immortal Contiguous MMTk space.
|
| Modifier and Type | Method and Description |
|---|---|
protected String |
getDriverName()
Get the name of this driver type.
|
void |
registerDriversForReferenceNotification(AbstractDriver[] drivers)
Register a set of AbstractDriver instances to be notified about direct references.
|
void |
scan(ObjectReference object,
boolean total)
Update the tile statistics.
|
getScanner, handleReferenceFromImmortalSpace, handleRoot, resetData, resetRootsStream, scan, scanCheckPrimitiveArray, setRange, setupControlInfo, setupSummaries, transmitaddControl, addStream, controlIsBackground, controlIsSeparator, controlIsUnused, controlIsUsed, controlValues, countTileNum, countTileNum, createServerSpace, createSubspace, getControl, getMaxTileNum, getServerSpace, initControl, initControls, isConnected, maxObjectsPerBlock, scan, scan, send, setControl, setRange, setSpaceInfo, setTilenamesprivate static final boolean DEBUG
private AbstractDriver[] registeredDrivers
private final ImmortalSpaceDriver.Closure closure
public ImmortalSpaceDriver(ServerInterpreter server, String spaceName, Space mmtkSpace, int blockSize, boolean mainSpace)
server - The GCspy ServerInterpreterspaceName - The name of this GCspy spacemmtkSpace - The MMTk spaceblockSize - The tile sizemainSpace - Is this the main space?protected String getDriverName()
getDriverName in class LinearSpaceDriverpublic void scan(ObjectReference object, boolean total)
scan iin its superclass to
add immortal space features.scan in class LinearSpaceDriverobject - The current objecttotal - Whether to accumulate the valuespublic void registerDriversForReferenceNotification(AbstractDriver[] drivers)
drivers - The array of driver objects.