public class GenImmortalSpaceDriver extends ImmortalSpaceDriver
Modifier and Type | Field and Description |
---|---|
private static boolean |
DEBUG |
protected ShortStream |
remsetStream
The Stream for newly promoted objects
|
protected int |
totalRemset
Statistics for remset references
|
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 |
---|
GenImmortalSpaceDriver(ServerInterpreter server,
String spaceName,
Space mmtkSpace,
int blockSize,
boolean mainSpace)
Create a new driver for a generational immortal space.
|
Modifier and Type | Method and Description |
---|---|
private ShortStream |
createRemsetStream() |
protected String |
getDriverName()
Get the name of this driver type.
|
boolean |
handleRemsetAddress(Address addr)
Handle a remset address
|
void |
resetRemsetStream()
Reset the remset Stream
The remset Stream has to be reset seperately because we do not
gather data in the usual way using scan().
|
protected void |
setupSummaries()
Setup summaries part of the
transmit method. |
registerDriversForReferenceNotification, scan
getScanner, handleReferenceFromImmortalSpace, handleRoot, resetData, resetRootsStream, scan, scanCheckPrimitiveArray, setRange, setupControlInfo, 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
protected ShortStream remsetStream
protected int totalRemset
public GenImmortalSpaceDriver(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 ImmortalSpaceDriver
private ShortStream createRemsetStream()
protected void setupSummaries()
transmit
method.Overrides method in superclass to handle additional Stream.
setupSummaries
in class LinearSpaceDriver
public boolean handleRemsetAddress(Address addr)
addr
- Remset Addresstrue
if the given Address is in this subspace.public void resetRemsetStream()