Skip to content

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