|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.mmtk.policy.Space org.mmtk.policy.BaseLargeObjectSpace
public abstract class BaseLargeObjectSpace
Each instance of this class corresponds to one treadmill space.
Each of the instance methods of this class may be called by any thread (i.e. synchronization must be explicit in any instance or class method).
This stands in contrast to TreadmillLocal, which is instantiated and called on a per-thread basis, where each instance of TreadmillLocal corresponds to one thread operating over one space.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.mmtk.policy.Space |
---|
Space.SpaceVisitor |
Field Summary | |
---|---|
protected static Word |
PAGE_MASK
|
Fields inherited from class org.mmtk.policy.Space |
---|
AVAILABLE_BYTES, AVAILABLE_END, AVAILABLE_PAGES, AVAILABLE_START, BYTES_IN_CHUNK, contiguous, descriptor, extent, headDiscontiguousRegion, HEAP_END, HEAP_START, immortal, LOG_ADDRESS_SPACE, LOG_BYTES_IN_CHUNK, MAX_CHUNKS, MAX_SPACES, movable, PAGES_IN_CHUNK, pr, start, zeroed |
Constructor Summary | |
---|---|
BaseLargeObjectSpace(String name,
boolean zeroed,
VMRequest vmRequest)
The caller specifies the region of virtual memory to be used for this space. |
Method Summary | |
---|---|
protected abstract int |
cellHeaderSize()
Return the size of the per-cell header for cells of a given class size. |
void |
free(Address cell)
Free a cell. |
int |
getHeaderSize()
Calculate the header size required for the large object. |
Extent |
getSize(Address first)
Return the size of the super page |
static Address |
getSuperPage(Address cell)
Return the superpage for a given cell. |
protected abstract int |
superPageHeaderSize()
Return the size of the per-superpage header required by this system. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final Word PAGE_MASK
Constructor Detail |
---|
public BaseLargeObjectSpace(String name, boolean zeroed, VMRequest vmRequest)
name
- The name of this space (used when printing error messages etc)zeroed
- if true, allocations return zeroed memory.vmRequest
- An object describing the virtual memory requested.Method Detail |
---|
public final int getHeaderSize()
public final void free(Address cell)
cell
- The address of the first byte of the cell to be freedprotected abstract int superPageHeaderSize()
protected abstract int cellHeaderSize()
public static Address getSuperPage(Address cell)
cell
- The address of the first word of the cell (exclusive
of any sub-class specific metadata).
cell
.public Extent getSize(Address first)
first
- the Address of the first word in the superpage
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |