Skip to content

Struct Ase::Loft::BumpAllocator

ClassList > Ase > Loft > BumpAllocator

More...

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