SDEngine
Game Engine
Loading...
Searching...
No Matches
arena.cpp File Reference
#include "SD/arena.hpp"
#include <cinttypes>
#include <sys/mman.h>
#include "SD/core/types.hpp"
+ Include dependency graph for arena.cpp:

Macros

#define SLLStackPush_N(f, n, next)   ((n)->next = (f), (f) = (n))
 
#define SLLStackPop_N(f, next)   ((f) = (f)->next)
 
#define SLLStackPush(f, n)   SLLStackPush_N(f, n, next)
 
#define SLLStackPop(f)   SLLStackPop(f, next)
 
#define MemoryZero(s, z)   memset((s), 0, (z))
 
#define AsanPoisonMemoryRegion(addr, size)   ((void)(addr), (void)(size))
 
#define AsanUnpoisonMemoryRegion(addr, size)   ((void)(addr), (void)(size))
 

Functions

voidreserve_memory (U64 size)
 
voidreserve_memory_large (U64 size)
 
bool commit_memory (void *ptr, U64 size)
 
bool commit_memory_large (void *ptr, U64 size)
 
void release_memory (void *ptr, U64 size)
 
U64 get_large_page_size ()
 
U64 get_page_size ()
 
Arenaarena_alloc (const ArenaParams params)
 
void arena_release (Arena *arena)
 

Macro Definition Documentation

◆ AsanPoisonMemoryRegion

#define AsanPoisonMemoryRegion (   addr,
  size 
)    ((void)(addr), (void)(size))

◆ AsanUnpoisonMemoryRegion

#define AsanUnpoisonMemoryRegion (   addr,
  size 
)    ((void)(addr), (void)(size))

◆ MemoryZero

#define MemoryZero (   s,
  z 
)    memset((s), 0, (z))

◆ SLLStackPop

#define SLLStackPop (   f)    SLLStackPop(f, next)

◆ SLLStackPop_N

#define SLLStackPop_N (   f,
  next 
)    ((f) = (f)->next)

◆ SLLStackPush

#define SLLStackPush (   f,
  n 
)    SLLStackPush_N(f, n, next)

◆ SLLStackPush_N

#define SLLStackPush_N (   f,
  n,
  next 
)    ((n)->next = (f), (f) = (n))

Function Documentation

◆ arena_alloc()

Arena * arena_alloc ( const ArenaParams  params)

◆ arena_release()

void arena_release ( Arena arena)

◆ commit_memory()

bool commit_memory ( void ptr,
U64  size 
)

◆ commit_memory_large()

bool commit_memory_large ( void ptr,
U64  size 
)

◆ get_large_page_size()

U64 get_large_page_size ( )

◆ get_page_size()

U64 get_page_size ( )

◆ release_memory()

void release_memory ( void ptr,
U64  size 
)

◆ reserve_memory()

void * reserve_memory ( U64  size)

◆ reserve_memory_large()

void * reserve_memory_large ( U64  size)