Struct Ase::Loft::BumpAllocator
ClassList > Ase > Loft > BumpAllocator
Public Functions
Type | Name |
---|---|
void * | bump_alloc (size_t size) |
size_t | free_block () const |
size_t | grow_spans (size_t needed, bool preallocating) |
void | list_arenas (ArenaList & arenas) |
size_t | totalmem () const |
Detailed Description
BumpAllocator - satisfy allocations by bumping an offset into mmap based spans. This allocator satisfies allocation requests from pre-allocated mmap regions. The regions support transparent huge pages and are setup to allow upwards growth instead of accumulating a long list of individual mappings. As long as enough pre-allocated memory is available, allocation requests are served via a single lock-free offset increment. Atm, no memory is released back to the OS ever.
Public Functions Documentation
function bump_alloc
void * Ase::Loft::BumpAllocator::bump_alloc (
size_t size
)
function free_block
size_t Ase::Loft::BumpAllocator::free_block () const
function grow_spans
size_t Ase::Loft::BumpAllocator::grow_spans (
size_t needed,
bool preallocating
)
function list_arenas
void Ase::Loft::BumpAllocator::list_arenas (
ArenaList & arenas
)
function totalmem
inline size_t Ase::Loft::BumpAllocator::totalmem () const
The documentation for this class was generated from the following file /__w/anklang/anklang/ase/loft.cc