|
Anklang-0.3.0.dev551+gad1415e2 anklang-0.3.0.dev551+gad1415e2
ASE — Anklang Sound Engine (C++)
« « « Anklang Documentation |
Lock-free, obstruction-free, non-coalescing, alloc-only bucket allocator. More...
Public Member Functions | |
| LoftBuckets (BumpAllocator &bumpallocator) | |
| LoftPtr< void > | do_alloc (size_t size, size_t align) |
| void | do_free (void *mem, size_t size) |
| size_t | count (unsigned bucket_index, const ArenaList &arenas) |
Public Attributes | |
| BumpAllocator & | bump_allocator |
Lock-free, obstruction-free, non-coalescing, alloc-only bucket allocator.
Loft is a simple lock-free bucket allocator that maintains free-lists without coalescing blocks or releasing memory back to the underlying bump allocator. The free-list buckets are 64 bytes apart and all allocations are 64 byte aligned to avoid false sharing of cache lines. Allocation requests are satisfied with O(1) complexity using lock-free code paths. Because memory is not released back, no block coalescing (or splitting) is implemented.
|
explicit |
| void Ase::Loft::LoftBuckets::do_free | ( | void * | mem, |
| size_t | size | ||
| ) |
| BumpAllocator& Ase::Loft::LoftBuckets::bump_allocator |