25#define mp_malloc(p, name) _mp_malloc(p, sizeof(struct name##_))
26#define mp_calloc(p, name) _mp_calloc(p, sizeof(struct name##_))
27#define mp_free(p, name, a) _mp_free(p, sizeof(struct name##_), (a))
28#define mp_free2(p, sz, a) _mp_free(p, sz, (a))
29#define mp_calloc2(p, sz) _mp_calloc(p, sz)
30#define mp_malloc2(p, sz) _mp_calloc(p, sz)
__attribute__((hot, pure))
ANN void _mp_free(MemPool, const m_uint, void *)
void * mp_realloc(MemPool mp, void *ptr, const m_uint curr, const m_uint next)
ANEW ANN void * _mp_malloc(MemPool, const m_uint) __attribute__((hot))
MemPool mempool_ini(const size_t sz)
void mempool_end(MemPool mp)
ANN struct pool * mp_ini(MemPool p, const uint32_t elementSize)
ANN struct pool * new_pool(const uint32_t elementSize)
ANN void _mp_free2(struct pool *, void *)
ANEW ANN void * _mp_calloc(MemPool, const m_uint) __attribute__((hot))
ANEW ANN void * _mp_calloc2(struct pool *, const bool) __attribute__((hot))
ANN void mp_end(struct pool *)
struct MemPool_ * MemPool
struct pool * master_pool
volatile struct Recycle * next