Skip to content

File memory.cc

FileList > ase > 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