Struct comet::allocator::overflow::OverflowAllocator [−][src]
pub struct OverflowAllocator { /* fields omitted */ }Expand description
The OverflowAllocator is used to allocate medium sized objects
(objects of at least MEDIUM_OBJECT bytes size) within the immix space to
limit fragmentation in the NormalAllocator.
Implementations
pub fn new(
block_allocator: *mut BlockAllocator,
bitmap: *const SpaceBitmap<LINE_SIZE>
) -> OverflowAllocator
pub fn new(
block_allocator: *mut BlockAllocator,
bitmap: *const SpaceBitmap<LINE_SIZE>
) -> OverflowAllocator
Create a new OverflowAllocator backed by the given BlockAllocator.
Trait Implementations
Get all block managed by the allocator, draining any local collections. Read more
Get the current block to allocate from.
Set the current block to allocate from.
Get a new block from a block resource.
Callback if no hole of size bytes was found in the current block.
Callback if the given block has no holes left.
Allocate an object of size bytes or return None. Read more
Scan a block tuple for a hole of size bytes and return a matching
hole. Read more
fn allocate_from_block(
&self,
size: usize,
block_tuple: BlockTuple
) -> (BlockTuple, *mut HeapObjectHeader)
fn allocate_from_block(
&self,
size: usize,
block_tuple: BlockTuple
) -> (BlockTuple, *mut HeapObjectHeader)
Allocate an uninitialized object of size bytes from the block tuple. Read more