org.mmtk.utility.gcspy.drivers
Class ImmortalSpaceDriver
java.lang.Object
org.mmtk.utility.gcspy.drivers.AbstractDriver
org.mmtk.utility.gcspy.drivers.LinearSpaceDriver
org.mmtk.utility.gcspy.drivers.ImmortalSpaceDriver
- Direct Known Subclasses:
- GenImmortalSpaceDriver
public class ImmortalSpaceDriver
- extends LinearSpaceDriver
GCspy driver for the contiguous MMTk ImmortalSpace.
Adds features for the Immortal space.
This class extends LinearSpaceDriver, a simple driver for contiguous MMTk spaces
such as CopySpace and ImmortalSpace.
Fields inherited from class org.mmtk.utility.gcspy.drivers.LinearSpaceDriver |
allTileNum, arrayObjectsStream, arrayPrimitiveStream, arrayUsedSpaceStream, lastAddress, lastSize, refFromImmortalStream, rootsStream, scalarObjectsStream, scalarUsedSpaceStream, subspace, totalArrayObjects, totalArrayUsedSpace, totalPrimitives, totalRefFromImmortal, totalRoots, totalScalarObjects, totalScalarUsedSpace |
Fields inherited from class org.mmtk.utility.gcspy.drivers.AbstractDriver |
blockSize, changed, control, CONTROL_BACKGROUND, CONTROL_LINK, CONTROL_SEPARATOR, CONTROL_UNUSED, CONTROL_USED, maxTileNum, mmtkSpace, myClass, name, server, serverSpace, streams |
Methods inherited from class org.mmtk.utility.gcspy.drivers.LinearSpaceDriver |
getScanner, handleReferenceFromImmortalSpace, handleRoot, resetData, resetRootsStream, scan, scanCheckPrimitiveArray, setRange, setupControlInfo, setupSummaries, transmit |
Methods inherited from class org.mmtk.utility.gcspy.drivers.AbstractDriver |
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 |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEBUG
private static final boolean DEBUG
- See Also:
- Constant Field Values
registeredDrivers
private AbstractDriver[] registeredDrivers
closure
private ImmortalSpaceDriver.Closure closure
ImmortalSpaceDriver
public ImmortalSpaceDriver(ServerInterpreter server,
String spaceName,
Space mmtkSpace,
int blockSize,
boolean mainSpace)
- Create a new driver for an immortal Contiguous MMTk space.
- Parameters:
server
- The GCspy ServerInterpreterspaceName
- The name of this GCspy spacemmtkSpace
- The MMTk spaceblockSize
- The tile sizemainSpace
- Is this the main space?
getDriverName
protected String getDriverName()
- Get the name of this driver type.
- Overrides:
getDriverName
in class LinearSpaceDriver
- Returns:
- The name, "MMTk ImmortalSpaceDriver" for this driver.
scan
public void scan(ObjectReference object,
boolean total)
- Update the tile statistics.
This method overrides scan
iin its superclass to
add immortal space features.
- Overrides:
scan
in class LinearSpaceDriver
- Parameters:
object
- The current objecttotal
- Whether to accumulate the values
registerDriversForReferenceNotification
public void registerDriversForReferenceNotification(AbstractDriver[] drivers)
- Register a set of AbstractDriver instances to be notified about direct references.
- Parameters:
drivers
- The array of driver objects.