/* * By default application code must explicitly refer to mangled symbol names, * so that it is possible to use jemalloc in conjunction with another allocator * in the same application. Define JEMALLOC_MANGLE in order to cause automatic * name mangling that matches the API prefixing that happened as a result of * --with-mangling and/or --with-jemalloc-prefix configuration settings. */ #ifdef JEMALLOC_MANGLE #ifndef JEMALLOC_NO_DEMANGLE #define JEMALLOC_NO_DEMANGLE #endif #define malloc_conf je_malloc_conf #define malloc_message je_malloc_message #define malloc je_malloc #define calloc je_calloc #define posix_memalign je_posix_memalign #define aligned_alloc je_aligned_alloc #define realloc je_realloc #define free je_free #define malloc_usable_size je_malloc_usable_size #define malloc_stats_print je_malloc_stats_print #define mallctl je_mallctl #define mallctlnametomib je_mallctlnametomib #define mallctlbymib je_mallctlbymib #define memalign je_memalign #define valloc je_valloc #ifdef JEMALLOC_EXPERIMENTAL #define allocm je_allocm #define rallocm je_rallocm #define sallocm je_sallocm #define dallocm je_dallocm #define nallocm je_nallocm #endif #endif /* * The je_* macros can be used as stable alternative names for the public * jemalloc API if JEMALLOC_NO_DEMANGLE is defined. This is primarily meant * for use in jemalloc itself, but it can be used by application code to * provide isolation from the name mangling specified via --with-mangling * and/or --with-jemalloc-prefix. */ #ifndef JEMALLOC_NO_DEMANGLE #undef je_malloc_conf #undef je_malloc_message #undef je_malloc #undef je_calloc #undef je_posix_memalign #undef je_aligned_alloc #undef je_realloc #undef je_free #undef je_malloc_usable_size #undef je_malloc_stats_print #undef je_mallctl #undef je_mallctlnametomib #undef je_mallctlbymib #undef je_memalign #undef je_valloc #ifdef JEMALLOC_EXPERIMENTAL #undef je_allocm #undef je_rallocm #undef je_sallocm #undef je_dallocm #undef je_nallocm #endif #endif