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
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for FreeingBumpHeapAllocator
impl Send for FreeingBumpHeapAllocator
impl Sync for FreeingBumpHeapAllocator
impl Unpin for FreeingBumpHeapAllocator
impl UnwindSafe for FreeingBumpHeapAllocator
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self
The counterpart to unchecked_from
.
pub fn vzip(self) -> V