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, totalScalarUsedSpace
blockSize, 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, transmit
addControl, addStream, controlIsBackground, controlIsSeparator, controlIsUnused, controlIsUsed, controlValues, countTileNum, countTileNum, createServerSpace, createSubspace, getControl, getMaxTileNum, getServerSpace, initControl, initControls, isConnected, maxObjectsPerBlock, scan, scan, send, setControl, setRange, setSpaceInfo, setTilenames
private 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 LinearSpaceDriver
public void scan(ObjectReference object, boolean total)
scan
iin its superclass to
add immortal space features.scan
in class LinearSpaceDriver
object
- The current objecttotal
- Whether to accumulate the valuespublic void registerDriversForReferenceNotification(AbstractDriver[] drivers)
drivers
- The array of driver objects.