Constructor and Description |
---|
Memory() |
Modifier and Type | Method and Description |
---|---|
(package private) static int |
alignmentValueTrapdoor(Memory m) |
(package private) static Address |
availableEndTrapdoor(Memory m) |
(package private) static Address |
availableStartTrapdoor(Memory m) |
abstract void |
collectorPrepareVMSpace()
Per-collector preparation for a collection.
|
abstract void |
collectorReleaseVMSpace()
Per-collector post-collection work.
|
abstract void |
dumpMemory(Address start,
int beforeBytes,
int afterBytes)
Logs the contents of an address and the surrounding memory to the
error output.
|
abstract int |
dzmmap(Address start,
int size)
Demand zero mmaps an area of virtual memory.
|
protected abstract int |
getAlignmentValueConstant() |
protected abstract Address |
getAvailableEndConstant() |
protected abstract Address |
getAvailableStartConstant() |
protected abstract Address |
getHeapEndConstant() |
protected abstract Address |
getHeapStartConstant() |
protected abstract byte |
getLogBytesInAddressConstant() |
protected abstract byte |
getLogBytesInPageConstant() |
protected abstract byte |
getLogBytesInWordConstant() |
protected abstract byte |
getLogMinAlignmentConstant() |
protected abstract byte |
getMaxAlignmentShiftConstant() |
protected abstract int |
getMaxBytesPaddingConstant() |
abstract ImmortalSpace |
getVMSpace()
Return the space associated with/reserved for the VM.
|
abstract void |
globalPrepareVMSpace()
Global preparation for a collection.
|
abstract void |
globalReleaseVMSpace()
Global post-collection work.
|
(package private) static Address |
heapEndTrapdoor(Memory m) |
(package private) static Address |
heapStartTrapdoor(Memory m) |
abstract void |
isync()
Wait for all preceeding instructions to complete and discard any
prefetched instructions on this processor.
|
(package private) static byte |
logBytesInAddressTrapdoor(Memory m) |
(package private) static byte |
logBytesInPageTrapdoor(Memory m) |
(package private) static byte |
logBytesInWordTrapdoor(Memory m) |
(package private) static byte |
logMinAlignmentTrapdoor(Memory m) |
(package private) static byte |
maxAlignmentShiftTrapdoor(Memory m) |
(package private) static int |
maxBytesPaddingTrapdoor(Memory m) |
abstract boolean |
mprotect(Address start,
int size)
Protects access to an area of virtual memory.
|
abstract boolean |
munprotect(Address start,
int size)
Allows access to an area of virtual memory.
|
abstract void |
setHeapRange(int id,
Address start,
Address end)
Sets the range of addresses associated with a heap.
|
abstract void |
sync()
Wait for preceeding cache flush/invalidate instructions to complete
on all processors.
|
abstract void |
zero(boolean useNT,
Address start,
Extent len)
Zero a region of memory.
|
public Memory()
public abstract ImmortalSpace getVMSpace()
public abstract void globalPrepareVMSpace()
public abstract void collectorPrepareVMSpace()
public abstract void collectorReleaseVMSpace()
public abstract void globalReleaseVMSpace()
public abstract void setHeapRange(int id, Address start, Address end)
id
- the heap identifierstart
- the address of the start of the heapend
- the address of the end of the heappublic abstract int dzmmap(Address start, int size)
start
- the address of the start of the area to be mappedsize
- the size, in bytes, of the area to be mappedpublic abstract boolean mprotect(Address start, int size)
start
- the address of the start of the area to be mappedsize
- the size, in bytes, of the area to be mappedtrue
if successful, otherwise
false
public abstract boolean munprotect(Address start, int size)
start
- the address of the start of the area to be mappedsize
- the size, in bytes, of the area to be mappedtrue
if successful, otherwise
false
public abstract void zero(boolean useNT, Address start, Extent len)
useNT
- Use non temporal instructions (if available)start
- Start of address range (inclusive)len
- Length in bytes of range to zeropublic abstract void dumpMemory(Address start, int beforeBytes, int afterBytes)
start
- the address of the memory to be dumpedbeforeBytes
- the number of bytes before the address to be
includedafterBytes
- the number of bytes after the address to be
includedpublic abstract void sync()
public abstract void isync()
protected abstract Address getHeapStartConstant()
protected abstract Address getHeapEndConstant()
protected abstract Address getAvailableStartConstant()
protected abstract Address getAvailableEndConstant()
protected abstract byte getLogBytesInAddressConstant()
protected abstract byte getLogBytesInWordConstant()
protected abstract byte getLogBytesInPageConstant()
protected abstract byte getLogMinAlignmentConstant()
protected abstract byte getMaxAlignmentShiftConstant()
protected abstract int getMaxBytesPaddingConstant()
protected abstract int getAlignmentValueConstant()
static Address heapStartTrapdoor(Memory m)
static Address heapEndTrapdoor(Memory m)
static Address availableStartTrapdoor(Memory m)
static Address availableEndTrapdoor(Memory m)
static byte logBytesInAddressTrapdoor(Memory m)
static byte logBytesInWordTrapdoor(Memory m)
static byte logBytesInPageTrapdoor(Memory m)
static byte logMinAlignmentTrapdoor(Memory m)
static byte maxAlignmentShiftTrapdoor(Memory m)
static int maxBytesPaddingTrapdoor(Memory m)
static int alignmentValueTrapdoor(Memory m)