endif
ifeq ($(USE_TCMALLOC),yes)
- CCLINK+= -ltcmalloc
- CFLAGS+= -DUSE_TCMALLOC
+ ALLOC_LINK=-ltcmalloc
+ ALLOC_FLAGS=-DUSE_TCMALLOC
endif
+
+ifeq ($(USE_TCMALLOC_MINIMAL),yes)
+ ALLOC_LINK=-ltcmalloc_minimal
+ ALLOC_FLAGS=-DUSE_TCMALLOC
+endif
+
+ifeq ($(USE_JEMALLOC),yes)
+ ALLOC_LINK=-ljemalloc
+ ALLOC_FLAGS=-DUSE_JEMALLOC
+endif
+
+CCLINK+= $(ALLOC_LINK)
+CFLAGS+= $(ALLOC_FLAGS)
+
CCOPT= $(CFLAGS) $(CCLINK) $(ARCH) $(PROF)
PREFIX= /usr/local
#define HAVE_MALLOC_SIZE 1
#define redis_malloc_size(p) tc_malloc_size(p)
#endif
+#elif defined(USE_JEMALLOC)
+#define JEMALLOC_MANGLE
+#include <jemalloc/jemalloc.h>
+#if JEMALLOC_VERSION_MAJOR >= 2 && JEMALLOC_VERSION_MINOR >= 1
+#define HAVE_MALLOC_SIZE 1
+#define redis_malloc_size(p) JEMALLOC_P(malloc_usable_size)(p)
+#endif
#elif defined(__APPLE__)
#include <malloc/malloc.h>
#define HAVE_MALLOC_SIZE 1