1 #ifndef JEMALLOC_INTERNAL_MACROS_H
2 #define JEMALLOC_INTERNAL_MACROS_H
5 # define JEMALLOC_ALWAYS_INLINE static inline
7 # define JEMALLOC_ALWAYS_INLINE JEMALLOC_ATTR(always_inline) static inline
10 # define inline _inline
13 #define UNUSED JEMALLOC_ATTR(unused)
15 #define ZU(z) ((size_t)z)
16 #define ZD(z) ((ssize_t)z)
17 #define QU(q) ((uint64_t)q)
18 #define QD(q) ((int64_t)q)
20 #define KZU(z) ZU(z##ULL)
21 #define KZD(z) ZD(z##LL)
22 #define KQU(q) QU(q##ULL)
23 #define KQD(q) QI(q##LL)
26 # define __DECONST(type, var) ((type)(uintptr_t)(const void *)(var))
29 #if !defined(JEMALLOC_HAS_RESTRICT) || defined(__cplusplus)
33 /* Various function pointers are statick and immutable except during testing. */
37 # define JET_MUTABLE const
40 #define JEMALLOC_VA_ARGS_HEAD(head, ...) head
41 #define JEMALLOC_VA_ARGS_TAIL(head, ...) __VA_ARGS__
43 #endif /* JEMALLOC_INTERNAL_MACROS_H */