2 * Override settings that were generated in jemalloc_defs.h as necessary.
5 #undef JEMALLOC_OVERRIDE_VALLOC
7 #ifndef MALLOC_PRODUCTION
12 * The following are architecture-dependent, so conditionally define them for
13 * each supported architecture.
16 #undef JEMALLOC_TLS_MODEL
17 #undef STATIC_PAGE_SHIFT
21 #undef LG_SIZEOF_INTMAX_T
24 # define LG_SIZEOF_PTR 2
25 # define CPU_SPINWAIT __asm__ volatile("pause")
26 # define JEMALLOC_TLS_MODEL __attribute__((tls_model("initial-exec")))
29 # define LG_SIZEOF_PTR 3
32 # define LG_SIZEOF_PTR 3
33 # define JEMALLOC_TLS_MODEL __attribute__((tls_model("initial-exec")))
36 # define LG_SIZEOF_PTR 3
37 # define CPU_SPINWAIT __asm__ volatile("pause")
38 # define JEMALLOC_TLS_MODEL __attribute__((tls_model("initial-exec")))
41 # define LG_SIZEOF_PTR 2
45 # define LG_SIZEOF_PTR 3
47 # define LG_SIZEOF_PTR 2
51 # define LG_SIZEOF_PTR 3
52 #elif defined(__powerpc__)
53 # define LG_SIZEOF_PTR 2
56 #ifndef JEMALLOC_TLS_MODEL
57 # define JEMALLOC_TLS_MODEL /* Default. */
60 # undef JEMALLOC_TLS_MODEL
61 # define JEMALLOC_TLS_MODEL /* clang does not support tls_model yet. */
64 #define STATIC_PAGE_SHIFT PAGE_SHIFT
65 #define LG_SIZEOF_INT 2
66 #define LG_SIZEOF_LONG LG_SIZEOF_PTR
67 #define LG_SIZEOF_INTMAX_T 3
69 /* Disable lazy-lock machinery, mangle isthreaded, and adjust its type. */
70 #undef JEMALLOC_LAZY_LOCK
71 extern int __isthreaded;
72 #define isthreaded ((bool)__isthreaded)
79 #define pthread_mutex_lock _pthread_mutex_lock
80 #define pthread_mutex_unlock _pthread_mutex_unlock