Expand description
Allocators Various allocators implementation.
Re-exportsยง
pub use self::immix_allocator::ImmixAllocator;
pub use free_list_allocator::FreeListAllocator;
Modulesยง
- allocator ๐The allocator trait and allocation-related functions.
- allocators ๐A list of all the allocators, embedded in Mutator
- bumpallocator ๐Bump pointer allocator
- embedded_
meta_ ๐data Embedded metadata pages - Free list allocator based on Mimalloc
- Immix allocator
- malloc_
allocator ๐An alloactor backed by malloc - Mark compact allocator (actually a bump pointer allocator with an extra heade word)
Structsยง
- A bump pointer allocator. It keeps a thread local allocation buffer, and bumps a cursor to allocate from the buffer.
- A common fast-path bump-pointer allocator shared across different allocator implementations that use bump-pointer allocation. A
BumpPointer
is always initialized with cursor = 0, limit = 0, so the first allocation always fails the check ofcursor + size < limit
and goes to the slowpath. A binding can also take advantage of this design to zero-initialize the a bump pointer. - An allocator that only allocates at page granularity. This is intended for large objects.
- The allocator that internally uses malloc for all the allocation requests. This allocator is only intended for experimental uses.
- A thin wrapper(specific implementation) of bump allocator reserve extra bytes when allocating
Enumsยง
- A list of errors that MMTk can encounter during allocation.
- This type describes allocator information. It is used to generate fast paths for the GC. All offset fields are relative to
Mutator
. - This type describe an allocator in the
crate::Mutator
. For some VM bindings, they may need to access this type from native code. This type is equivalent to the following native types: #[repr(C)] struct AllocatorSelector { tag: AllocatorSelectorTag, payload: u8, } #[repr(u8)] enum AllocatorSelectorTag { BumpPointer, LargeObject, โฆ }
Traitsยง
- A trait which implements allocation routines. Every allocator needs to implements this trait.
Functionsยง
- Fill the specified region with the alignment value.