#include "memory.hh"
Public Member Functions | |
size_t | alignment () const |
Block | allocate (uint32 length) const |
Block | allocate (uint32 length, std::nothrow_t) const |
Arena (uint32 mem_size, uint32 alignment=cache_line_size) | |
uint64 | location () const |
void | release (Block allocatedblock) const |
uint64 | reserved () const |
Protected Member Functions | |
Arena (AllocatorP) | |
Protected Attributes | |
AllocatorP | fma |
Memory area (over-)aligned to cache size and utilizing huge pages.
|
explicit |
Create isolated memory area.
|
explicitprotected |
size_t alignment | ( | ) | const |
Alignment for block addresses and length.
uint64 location | ( | ) | const |
Address of memory area.
uint64 reserved | ( | ) | const |
Reserved memory area in bytes.
Create a memory block from cache-line aligned memory area, MT-Unsafe.
void release | ( | Block | allocatedblock | ) | const |
Realease a previously allocated block, MT-Unsafe.
|
protected |
Identifier for the associated memory allocator.