From fecc4b169feb0e578bc23c967bc2023552d54243 Mon Sep 17 00:00:00 2001 From: anovoselcev Date: Mon, 2 Oct 2023 09:26:58 -0400 Subject: [PATCH] add jemalloc\tcmalloc allocators --- gecode/support/allocator.hpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gecode/support/allocator.hpp b/gecode/support/allocator.hpp index a76238fb87..2e8f437977 100644 --- a/gecode/support/allocator.hpp +++ b/gecode/support/allocator.hpp @@ -42,6 +42,14 @@ #include #endif +#ifdef GECODE_JEMALLOC_H +#include +#endif + +#ifdef GECODE_TCMALLOC_H +#include +#endif + #ifdef GECODE_ALLOCATOR namespace Gecode { namespace Support { @@ -77,15 +85,27 @@ namespace Gecode { namespace Support { } forceinline void* Allocator::alloc(size_t n) { + #ifdef GECODE_TCMALLOC_H + return tc_mallock(n); + #else return ::malloc(n); + #endif } forceinline void* Allocator::realloc(void* p, size_t n) { + #ifdef GECODE_TCMALLOC_H + return tc_realloc(p,n); + #else return ::realloc(p,n); + #endif } forceinline void Allocator::free(void* p) { + #ifdef GECODE_TCMALLOC_H + tc_free(p); + #else ::free(p); + #endif } forceinline void* Allocator::memcpy(void *d, const void *s, size_t n) {