Cthulhu  0.2.10
Cthulhu compiler collection
memory.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: LGPL-3.0-only
2 
3 #pragma once
4 
5 #include <ctu_memory_api.h>
6 
7 #include "core/analyze.h"
8 
10 
11 typedef struct arena_t arena_t;
12 
19 
23 CT_MEMORY_API arena_t *get_global_arena(void);
24 
29 CT_MEMORY_API void init_global_arena(arena_t *arena);
30 
34 CT_MEMORY_API void init_gmp_arena(IN_NOTNULL arena_t *arena);
35 
37 
#define IN_NOTNULL
annotate a parameter as not being null
#define CT_BEGIN_API
Definition: compiler.h:129
#define CT_END_API
Definition: compiler.h:130
CT_MEMORY_API void init_gmp_arena(arena_t *arena)
initialize gmp with a custom allocator
Definition: memory.c:52
CT_MEMORY_API void init_global_arena(arena_t *arena)
initialize the global memory arena
Definition: memory.c:21
CT_MEMORY_API arena_t * get_global_arena(void)
get the global memory arena
Definition: memory.c:16
an allocator object
Definition: arena.h:86