1*8e33eff8Schristos #ifndef JEMALLOC_INTERNAL_MACROS_H 2*8e33eff8Schristos #define JEMALLOC_INTERNAL_MACROS_H 3*8e33eff8Schristos 4*8e33eff8Schristos #ifdef JEMALLOC_DEBUG 5*8e33eff8Schristos # define JEMALLOC_ALWAYS_INLINE static inline 6*8e33eff8Schristos #else 7*8e33eff8Schristos # define JEMALLOC_ALWAYS_INLINE JEMALLOC_ATTR(always_inline) static inline 8*8e33eff8Schristos #endif 9*8e33eff8Schristos #ifdef _MSC_VER 10*8e33eff8Schristos # define inline _inline 11*8e33eff8Schristos #endif 12*8e33eff8Schristos 13*8e33eff8Schristos #define UNUSED JEMALLOC_ATTR(unused) 14*8e33eff8Schristos 15*8e33eff8Schristos #define ZU(z) ((size_t)z) 16*8e33eff8Schristos #define ZD(z) ((ssize_t)z) 17*8e33eff8Schristos #define QU(q) ((uint64_t)q) 18*8e33eff8Schristos #define QD(q) ((int64_t)q) 19*8e33eff8Schristos 20*8e33eff8Schristos #define KZU(z) ZU(z##ULL) 21*8e33eff8Schristos #define KZD(z) ZD(z##LL) 22*8e33eff8Schristos #define KQU(q) QU(q##ULL) 23*8e33eff8Schristos #define KQD(q) QI(q##LL) 24*8e33eff8Schristos 25*8e33eff8Schristos #ifndef __DECONST 26*8e33eff8Schristos # define __DECONST(type, var) ((type)(uintptr_t)(const void *)(var)) 27*8e33eff8Schristos #endif 28*8e33eff8Schristos 29*8e33eff8Schristos #if !defined(JEMALLOC_HAS_RESTRICT) || defined(__cplusplus) 30*8e33eff8Schristos # define restrict 31*8e33eff8Schristos #endif 32*8e33eff8Schristos 33*8e33eff8Schristos /* Various function pointers are statick and immutable except during testing. */ 34*8e33eff8Schristos #ifdef JEMALLOC_JET 35*8e33eff8Schristos # define JET_MUTABLE 36*8e33eff8Schristos #else 37*8e33eff8Schristos # define JET_MUTABLE const 38*8e33eff8Schristos #endif 39*8e33eff8Schristos 40*8e33eff8Schristos #define JEMALLOC_VA_ARGS_HEAD(head, ...) head 41*8e33eff8Schristos #define JEMALLOC_VA_ARGS_TAIL(head, ...) __VA_ARGS__ 42*8e33eff8Schristos 43*8e33eff8Schristos #endif /* JEMALLOC_INTERNAL_MACROS_H */ 44