shithub: sl

ref: 48299e12fec43f510d42016b22dadd3823b7462f
dir: /src/mem.h/

View raw version
#if !defined(HEAP_SIZE0)
#define HEAP_SIZE0 4*1024*1024
#endif

#if !defined(STACK_SIZE0)
#define STACK_SIZE0 64*1024
#endif

#if !defined(ALLOC_LIMIT_TRIGGER)
#define ALLOC_LIMIT_TRIGGER HEAP_SIZE0
#endif

#if defined(USE_DLMALLOC)
void *sl_malloc(usize);
void sl_free(void *);
void *sl_calloc(usize, usize);
void *sl_realloc(void *, usize);
char *sl_strdup(const char *s);
#define MEM_CALLOC(n, sz) sl_calloc((usize)(n), (usize)(sz))
#define MEM_ALLOC(n) sl_malloc((usize)(n))
#define MEM_REALLOC(p, n) sl_realloc((p), (usize)(n))
#define MEM_FREE(x) sl_free(x)
#define MEM_STRDUP(s) sl_strdup(s)
#define sl_segalloc(sz) MEM_ALLOC((usize)sz)
#define sl_segfree(s, sz) MEM_FREE(s)
#define sl_segused(s, sz, used) do{}while(0)
#else
#define MEM_CALLOC(n, sz) calloc((usize)(n), (usize)(sz))
#define MEM_ALLOC(n) malloc((usize)(n))
#define MEM_REALLOC(p, n) realloc((p), (usize)(n))
#define MEM_FREE(x) free(x)
#define MEM_STRDUP(s) strdup(s)
void *sl_segalloc(usize sz);
void sl_segfree(void *s, usize sz);
void sl_segused(void *s, usize sz, usize used);
#endif