public abstract class LargeObjectAllocator extends Allocator
This is a first cut implementation, with plenty of room for improvement...
| Modifier and Type | Field and Description |
|---|---|
protected BaseLargeObjectSpace |
space |
| Constructor and Description |
|---|
LargeObjectAllocator(BaseLargeObjectSpace space)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
Address |
alloc(int bytes,
int align,
int offset)
Allocate space for an object
|
protected Address |
allocSlowOnce(int bytes,
int align,
int offset)
Allocate a large object.
|
protected BaseLargeObjectSpace |
getSpace()
Return the space this allocator is currently bound to.
|
void |
show()
Miscellaneous
|
alignAllocation, alignAllocation, alignAllocationNoFill, allocSlow, allocSlowInline, determineCollectionAttempts, fillAlignmentGap, getMaximumAlignedSize, getMaximumAlignedSizeprotected final BaseLargeObjectSpace space
public LargeObjectAllocator(BaseLargeObjectSpace space)
space - The space with which this large object allocator
will be associated.protected final BaseLargeObjectSpace getSpace()
Allocatorpublic final Address alloc(int bytes, int align, int offset)
bytes - The number of bytes allocatedalign - The requested alignment.offset - The alignment offset.protected final Address allocSlowOnce(int bytes, int align, int offset)
allocSlowOnce in class Allocatorbytes - The required size of this space in bytes.offset - The alignment offset.align - The requested alignment.bytes bytes in size.public void show()