Files
ldb/memory/alloc_dispatch.c
2026-01-25 10:07:11 +00:00

30 lines
728 B
C

#include "mempool.h"
#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <jemalloc/jemalloc.h>
mp_pool_t global_mempool;
void *kvs_malloc(size_t size) {
#if MEMORY_SELECT_MALLOC == MEMORY_USE_DEFAULT
return malloc(size);
#elif MEMORY_SELECT_MALLOC == MEMORY_USE_MYMALLOC
return mp_alloc(size);
#elif MEMORY_SELECT_MALLOC == MEMORY_USE_JEMALLOC
return je_malloc(size);
#endif
}
void kvs_free(void *ptr) {
#if MEMORY_SELECT_MALLOC == MEMORY_USE_DEFAULT
free(ptr);
#elif MEMORY_SELECT_MALLOC == MEMORY_USE_MYMALLOC
int ret = mp_free(ptr);
if(ret == MEMPOOL_DOUBLE_FREE){
printf("double free %p\n", ptr);
}
#elif MEMORY_SELECT_MALLOC == MEMORY_USE_JEMALLOC
je_free(ptr);
#endif
}