Struct Ase::FastMemory::Arena
ClassList > Ase > FastMemory > Arena
Memory area (over-)aligned to cache size and utilizing huge pages.
#include <memory.hh>
Inherited by the following classes: Ase::FastMemory::EmptyArena, Ase::FastMemory::FastMemoryArena
Public Functions
Type | Name |
---|---|
Arena (uint32 mem_size, uint32 alignment=cache_line_size) Create isolated memory area. |
|
size_t | alignment () const Alignment for block addresses and length. |
Block | allocate (uint32 length) const Create a memory block from cache-line aligned memory area, MT-Unsafe. |
Block | allocate (uint32 length, std::nothrow_t) const |
uint64 | location () const Address of memory area. |
void | release (Block allocatedblock) const Realease a previously allocated block, MT-Unsafe. |
uint64 | reserved () const Reserved memory area in bytes. |
Protected Attributes
Type | Name |
---|---|
AllocatorP | fma Identifier for the associated memory allocator. |
Protected Functions
Type | Name |
---|---|
Arena (AllocatorP xfma) |
Public Functions Documentation
function Arena [1/2]
explicit Ase::FastMemory::Arena::Arena (
uint32 mem_size,
uint32 alignment=cache_line_size
)
function alignment
size_t Ase::FastMemory::Arena::alignment () const
function allocate [1/2]
Block Ase::FastMemory::Arena::allocate (
uint32 length
) const
function allocate [2/2]
Block Ase::FastMemory::Arena::allocate (
uint32 length,
std::nothrow_t
) const
function location
uint64 Ase::FastMemory::Arena::location () const
function release
void Ase::FastMemory::Arena::release (
Block allocatedblock
) const
function reserved
uint64 Ase::FastMemory::Arena::reserved () const
Protected Attributes Documentation
variable fma
AllocatorP Ase::FastMemory::Arena::fma;
Protected Functions Documentation
function Arena [2/2]
explicit Ase::FastMemory::Arena::Arena (
AllocatorP xfma
)
The documentation for this class was generated from the following file /__w/anklang/anklang/ase/memory.hh