3477991440
Move je_* definitions from jemalloc_macros.h.in to jemalloc_defs.h.in, because only the latter is an autoconf header (#undef substitution occurs). Fix unit tests to use automatic mangling, so that e.g. mallocx is macro-substituted to becom jet_mallocx.
62 lines
2.0 KiB
C
62 lines
2.0 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@"
|
|
|
|
# define MALLOCX_LG_ALIGN(la) (la)
|
|
# if LG_SIZEOF_PTR == 2
|
|
# define MALLOCX_ALIGN(a) (ffs(a)-1)
|
|
# else
|
|
# define MALLOCX_ALIGN(a) \
|
|
((a < (size_t)INT_MAX) ? ffs(a)-1 : ffs(a>>32)+31)
|
|
# endif
|
|
# define MALLOCX_ZERO ((int)0x40)
|
|
/* Bias arena index bits so that 0 encodes "MALLOCX_ARENA() unspecified". */
|
|
# define MALLOCX_ARENA(a) ((int)(((a)+1) << 8))
|
|
|
|
#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
|
|
|
|
#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
|