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, getMaximumAlignedSize
protected final BaseLargeObjectSpace space
public LargeObjectAllocator(BaseLargeObjectSpace space)
space
- The space with which this large object allocator
will be associated.protected final BaseLargeObjectSpace getSpace()
Allocator
public 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 Allocator
bytes
- The required size of this space in bytes.offset
- The alignment offset.align
- The requested alignment.bytes
bytes in size.public void show()