79 lines
2.3 KiB
C
79 lines
2.3 KiB
C
#include <limits.h>
|
|
#include <strings.h>
|
|
|
|
#define JEMALLOC_VERSION "@jemalloc_version@"
|
|
#define JEMALLOC_VERSION_MAJOR @jemalloc_version_major@
|
|
#define JEMALLOC_VERSION_MINOR @jemalloc_version_minor@
|
|
#define JEMALLOC_VERSION_BUGFIX @jemalloc_version_bugfix@
|
|
#define JEMALLOC_VERSION_NREV @jemalloc_version_nrev@
|
|
#define JEMALLOC_VERSION_GID "@jemalloc_version_gid@"
|
|
|
|
#ifdef JEMALLOC_EXPERIMENTAL
|
|
#define ALLOCM_LG_ALIGN(la) (la)
|
|
#if LG_SIZEOF_PTR == 2
|
|
#define ALLOCM_ALIGN(a) (ffs(a)-1)
|
|
#else
|
|
#define ALLOCM_ALIGN(a) ((a < (size_t)INT_MAX) ? ffs(a)-1 : ffs(a>>32)+31)
|
|
#endif
|
|
#define ALLOCM_ZERO ((int)0x40)
|
|
#define ALLOCM_NO_MOVE ((int)0x80)
|
|
/* Bias arena index bits so that 0 encodes "ALLOCM_ARENA() unspecified". */
|
|
#define ALLOCM_ARENA(a) ((int)(((a)+1) << 8))
|
|
|
|
#define ALLOCM_SUCCESS 0
|
|
#define ALLOCM_ERR_OOM 1
|
|
#define ALLOCM_ERR_NOT_MOVED 2
|
|
#endif
|
|
|
|
/*
|
|
* Name mangling for public symbols is controlled by --with-mangling and
|
|
* --with-jemalloc-prefix. With default settings the je_ prefix is stripped by
|
|
* these macro definitions.
|
|
*/
|
|
#ifndef JEMALLOC_NO_RENAME
|
|
# 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
|
|
# undef je_allocm
|
|
# undef je_rallocm
|
|
# undef je_sallocm
|
|
# undef je_dallocm
|
|
# undef je_nallocm
|
|
#endif
|
|
|
|
#ifdef JEMALLOC_HAVE_ATTR
|
|
# define JEMALLOC_ATTR(s) __attribute__((s))
|
|
# define JEMALLOC_EXPORT JEMALLOC_ATTR(visibility("default"))
|
|
# define JEMALLOC_ALIGNED(s) JEMALLOC_ATTR(aligned(s))
|
|
# define JEMALLOC_SECTION(s) JEMALLOC_ATTR(section(s))
|
|
# define JEMALLOC_NOINLINE JEMALLOC_ATTR(noinline)
|
|
#elif _MSC_VER
|
|
# define JEMALLOC_ATTR(s)
|
|
# ifdef DLLEXPORT
|
|
# define JEMALLOC_EXPORT __declspec(dllexport)
|
|
# else
|
|
# define JEMALLOC_EXPORT __declspec(dllimport)
|
|
# endif
|
|
# define JEMALLOC_ALIGNED(s) __declspec(align(s))
|
|
# define JEMALLOC_SECTION(s) __declspec(allocate(s))
|
|
# define JEMALLOC_NOINLINE __declspec(noinline)
|
|
#else
|
|
# define JEMALLOC_ATTR(s)
|
|
# define JEMALLOC_EXPORT
|
|
# define JEMALLOC_ALIGNED(s)
|
|
# define JEMALLOC_SECTION(s)
|
|
# define JEMALLOC_NOINLINE
|
|
#endif
|