File memory.cc
#include "memory.hh"
#include "ase/internal.hh"
#include <ase/testing.hh>
#include <sys/mman.h>
#include <unistd.h>
#include <algorithm>
#include <shared_mutex>
#include <atomic>
#include "randomhash.hh"
Namespaces
Type | Name |
---|---|
namespace | Ase The Anklang C++ API namespace. |
namespace | FastMemory Utilities for allocating cache line aligned memory from huge pages. |
Classes
Type | Name |
---|---|
class | CStringTable Map std::string <-> uint IDs, thread safe. |
struct | Allocator |
struct | ArenaBlock |
struct | EmptyArena |
struct | Extent32 |
struct | FastMemoryArena |
struct | LinuxHugePage |
struct | MemoryMetaInfo |
struct | SequentialFitAllocator |
Public Attributes
Type | Name |
---|---|
constexpr size_t | MINIMUM_ARENA_SIZE = = 4 * 1024 * 1024 |
constexpr size_t | MINIMUM_HUGEPAGE = = 2 * 1024 * 1024 |
Macros
Type | Name |
---|---|
define | CHECK_FREE_OVERLAPS 1 |
define | MEM_ALIGN (addr, alignment) (alignment * size_t ((size_t (addr) + alignment - 1) / alignment)) |
Public Attributes Documentation
variable MINIMUM_ARENA_SIZE
constexpr size_t MINIMUM_ARENA_SIZE;
variable MINIMUM_HUGEPAGE
constexpr size_t MINIMUM_HUGEPAGE;
Macro Definition Documentation
define CHECK_FREE_OVERLAPS
#define CHECK_FREE_OVERLAPS 1
define MEM_ALIGN
#define MEM_ALIGN (
addr,
alignment
) (alignment * size_t ((size_t (addr) + alignment - 1) / alignment))
The documentation for this class was generated from the following file /__w/anklang/anklang/ase/memory.cc