|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.mmtk.utility.alloc.Allocator
org.mmtk.utility.alloc.ImmixAllocator
public class ImmixAllocator
| Field Summary | |
|---|---|
private boolean |
copy
|
private Address |
cursor
|
private boolean |
hot
|
private Address |
largeCursor
|
private Address |
largeLimit
|
private Address |
limit
|
private int |
line
|
private int |
lineUseCount
|
private Address |
markTable
|
private Address |
recyclableBlock
|
private boolean |
recyclableExhausted
|
private boolean |
requestForLarge
|
protected ImmixSpace |
space
Instance variables |
private boolean |
straddle
|
| Constructor Summary | |
|---|---|
ImmixAllocator(ImmixSpace space,
boolean hot,
boolean copy)
Constructor. |
|
| Method Summary | |
|---|---|
private boolean |
acquireRecyclableBlock()
|
private boolean |
acquireRecyclableBlockAddressOrder()
|
private boolean |
acquireRecyclableLines(int bytes,
int align,
int offset)
|
Address |
alloc(int bytes,
int align,
int offset)
Allocate space for a new object. |
private Address |
allocSlowHot(int bytes,
int align,
int offset)
Internal allocation slow path. |
protected Address |
allocSlowOnce(int bytes,
int align,
int offset)
External allocation slow path (called by superclass when slow path is actually taken. |
boolean |
getLastAllocLineStraddle()
|
Space |
getSpace()
Return the space this allocator is currently bound to. |
Address |
overflowAlloc(int bytes,
int align,
int offset)
Allocate space for a new object. |
void |
reset()
Reset the allocator. |
void |
show()
Print out the status of the allocator (for debugging) |
private void |
zeroBlock(Address block)
|
| Methods inherited from class org.mmtk.utility.alloc.Allocator |
|---|
alignAllocation, alignAllocation, alignAllocationNoFill, allocSlow, allocSlowInline, fillAlignmentGap, getMaximumAlignedSize, getMaximumAlignedSize |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected final ImmixSpace space
private final boolean hot
private final boolean copy
private Address cursor
private Address limit
private Address largeCursor
private Address largeLimit
private boolean requestForLarge
private boolean straddle
private int lineUseCount
private Address markTable
private Address recyclableBlock
private int line
private boolean recyclableExhausted
| Constructor Detail |
|---|
public ImmixAllocator(ImmixSpace space,
boolean hot,
boolean copy)
space - The space to bump point into.hot - TODOcopy - TODO| Method Detail |
|---|
public void reset()
public final Address alloc(int bytes,
int align,
int offset)
bytes - The number of bytes allocatedalign - The requested alignmentoffset - The offset from the alignment
public final Address overflowAlloc(int bytes,
int align,
int offset)
bytes - The number of bytes allocatedalign - The requested alignmentoffset - The offset from the alignment
public final boolean getLastAllocLineStraddle()
protected final Address allocSlowOnce(int bytes,
int align,
int offset)
allocSlowOnce in class Allocatorbytes - The number of bytes allocatedalign - The requested alignmentoffset - The offset from the alignment
private Address allocSlowHot(int bytes,
int align,
int offset)
bytes - The number of bytes allocatedalign - The requested alignmentoffset - The offset from the alignment
private boolean acquireRecyclableLines(int bytes,
int align,
int offset)
private boolean acquireRecyclableBlock()
private boolean acquireRecyclableBlockAddressOrder()
private void zeroBlock(Address block)
public final Space getSpace()
Allocator
getSpace in class Allocatorpublic final void show()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||