45 lines
1.5 KiB
C
45 lines
1.5 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_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
|