Anklang 0.3.0-460-gc4ef46ba
ASE — Anklang Sound Engine (C++)

« « « Anklang Documentation
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Functions | Variables
memory.cc File Reference
#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"

Go to the source code of this file.

Classes

struct  Ase::FastMemory::LinuxHugePage
 
struct  Ase::FastMemory::Extent32
 
struct  Ase::FastMemory::SequentialFitAllocator
 
struct  Ase::FastMemory::Allocator
 
struct  Ase::FastMemory::FastMemoryArena
 
struct  Ase::FastMemory::EmptyArena
 
struct  Ase::FastMemory::ArenaBlock
 
struct  Ase::FastMemory::MemoryMetaInfo
 
class  Ase::CStringTable
 Map std::string <-> uint IDs, thread safe. More...
 

Namespaces

namespace  Ase
 The Anklang C++ API namespace.
 
namespace  Ase::FastMemory
 Utilities for allocating cache line aligned memory from huge pages.
 

Macros

#define MEM_ALIGN(addr, alignment)
 
#define CHECK_FREE_OVERLAPS
 

Functions

void * Ase::fast_mem_alloc (size_t size)
 
void Ase::fast_mem_free (void *mem)
 

Variables

constexpr size_t MINIMUM_ARENA_SIZE
 
constexpr size_t MINIMUM_HUGEPAGE
 

Class Documentation

◆ Ase::FastMemory::MemoryMetaInfo

struct Ase::FastMemory::MemoryMetaInfo

Definition at line 474 of file memory.cc.

Class Members
vector< ArenaBlock > ablocks
mutex mutex

Macro Definition Documentation

◆ CHECK_FREE_OVERLAPS

#define CHECK_FREE_OVERLAPS

Definition at line 15 of file memory.cc.

◆ MEM_ALIGN

#define MEM_ALIGN (   addr,
  alignment 
)

Definition at line 11 of file memory.cc.

Variable Documentation

◆ MINIMUM_ARENA_SIZE

constexpr size_t MINIMUM_ARENA_SIZE
constexpr

Definition at line 18 of file memory.cc.

◆ MINIMUM_HUGEPAGE

constexpr size_t MINIMUM_HUGEPAGE
constexpr

Definition at line 19 of file memory.cc.