You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lokinet/llarp/mem_jemalloc.cpp

36 lines
654 B
C++

#include <llarp/mem.h>
#include <jemalloc/jemalloc.h>
namespace llarp
{
static void * jem_malloc(size_t sz)
{
return mallocx(sz, MALLOCX_ZERO);
}
static void jem_free(void * ptr)
{
if(ptr) free(ptr);
}
static void * jem_calloc(size_t n, size_t sz)
{
return mallocx(n * sz, MALLOCX_ZERO);
}
static void * jem_realloc(void * ptr, size_t sz)
{
return rallocx(ptr, sz, MALLOCX_ZERO);
}
}
extern "C" {
void llarp_mem_jemalloc()
{
llarp_g_mem.malloc = llarp::jem_malloc;
llarp_g_mem.free = llarp::jem_free;
llarp_g_mem.calloc = llarp::jem_calloc;
llarp_g_mem.realloc = llarp::jem_realloc;
}
}