Struct sc_allocator::FreeingBumpHeapAllocator [−][src]
pub struct FreeingBumpHeapAllocator { /* fields omitted */ }
Expand description
An implementation of freeing bump allocator.
Refer to the module-level documentation for further details.
Implementations
Creates a new allocation heap which follows a freeing-bump strategy.
Arguments
heap_base
- the offset from the beginning of the linear memory where the heap starts.
Gets requested number of bytes to allocate and returns a pointer. The maximum size which can be allocated at once is 32 MiB. There is no minimum size, but whatever size is passed into this function is rounded to the next power of two. If the requested size is below 8 bytes it will be rounded up to 8 bytes.
The identity or the type of the passed memory object does not matter. However, the size of memory cannot shrink compared to the memory passed in previous invocations.
NOTE: Once the allocator has returned an error all subsequent requests will return an error.
Arguments
mem
- a slice representing the linear memory on which this allocator operates.size
- size in bytes of the allocation request
Deallocates the space which was allocated for a pointer.
The identity or the type of the passed memory object does not matter. However, the size of memory cannot shrink compared to the memory passed in previous invocations.
NOTE: Once the allocator has returned an error all subsequent requests will return an error.
Arguments
mem
- a slice representing the linear memory on which this allocator operates.ptr
- pointer to the allocated chunk