176 lines
3.0 KiB
C
176 lines
3.0 KiB
C
|
#ifndef JEMALLOC_PREAMBLE_H
|
||
|
#define JEMALLOC_PREAMBLE_H
|
||
|
|
||
|
#include "jemalloc_internal_defs.h"
|
||
|
#include "jemalloc/internal/jemalloc_internal_decls.h"
|
||
|
|
||
|
#ifdef JEMALLOC_UTRACE
|
||
|
#include <sys/ktrace.h>
|
||
|
#endif
|
||
|
|
||
|
#define JEMALLOC_NO_DEMANGLE
|
||
|
#ifdef JEMALLOC_JET
|
||
|
# define JEMALLOC_N(n) jet_##n
|
||
|
# include "jemalloc/internal/public_namespace.h"
|
||
|
# define JEMALLOC_NO_RENAME
|
||
|
# include "../jemalloc@install_suffix@.h"
|
||
|
# undef JEMALLOC_NO_RENAME
|
||
|
#else
|
||
|
# define JEMALLOC_N(n) @private_namespace@##n
|
||
|
# include "../jemalloc@install_suffix@.h"
|
||
|
#endif
|
||
|
|
||
|
#if (defined(JEMALLOC_OSATOMIC) || defined(JEMALLOC_OSSPIN))
|
||
|
#include <libkern/OSAtomic.h>
|
||
|
#endif
|
||
|
|
||
|
#ifdef JEMALLOC_ZONE
|
||
|
#include <mach/mach_error.h>
|
||
|
#include <mach/mach_init.h>
|
||
|
#include <mach/vm_map.h>
|
||
|
#endif
|
||
|
|
||
|
#include "jemalloc/internal/jemalloc_internal_macros.h"
|
||
|
|
||
|
/*
|
||
|
* Note that the ordering matters here; the hook itself is name-mangled. We
|
||
|
* want the inclusion of hooks to happen early, so that we hook as much as
|
||
|
* possible.
|
||
|
*/
|
||
|
#include "jemalloc/internal/private_namespace.h"
|
||
|
#include "jemalloc/internal/hooks.h"
|
||
|
|
||
|
static const bool config_debug =
|
||
|
#ifdef JEMALLOC_DEBUG
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool have_dss =
|
||
|
#ifdef JEMALLOC_DSS
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool config_fill =
|
||
|
#ifdef JEMALLOC_FILL
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool config_lazy_lock =
|
||
|
#ifdef JEMALLOC_LAZY_LOCK
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const char * const config_malloc_conf = JEMALLOC_CONFIG_MALLOC_CONF;
|
||
|
static const bool config_prof =
|
||
|
#ifdef JEMALLOC_PROF
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool config_prof_libgcc =
|
||
|
#ifdef JEMALLOC_PROF_LIBGCC
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool config_prof_libunwind =
|
||
|
#ifdef JEMALLOC_PROF_LIBUNWIND
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool maps_coalesce =
|
||
|
#ifdef JEMALLOC_MAPS_COALESCE
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool config_munmap =
|
||
|
#ifdef JEMALLOC_MUNMAP
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool config_stats =
|
||
|
#ifdef JEMALLOC_STATS
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool config_tcache =
|
||
|
#ifdef JEMALLOC_TCACHE
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool config_tls =
|
||
|
#ifdef JEMALLOC_TLS
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool config_utrace =
|
||
|
#ifdef JEMALLOC_UTRACE
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool config_xmalloc =
|
||
|
#ifdef JEMALLOC_XMALLOC
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool config_ivsalloc =
|
||
|
#ifdef JEMALLOC_IVSALLOC
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool config_cache_oblivious =
|
||
|
#ifdef JEMALLOC_CACHE_OBLIVIOUS
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
static const bool have_thp =
|
||
|
#ifdef JEMALLOC_THP
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
#ifdef JEMALLOC_HAVE_SCHED_GETCPU
|
||
|
/* Currently percpu_arena depends on sched_getcpu. */
|
||
|
#define JEMALLOC_PERCPU_ARENA
|
||
|
#endif
|
||
|
static const bool have_percpu_arena =
|
||
|
#ifdef JEMALLOC_PERCPU_ARENA
|
||
|
true
|
||
|
#else
|
||
|
false
|
||
|
#endif
|
||
|
;
|
||
|
|
||
|
#endif /* JEMALLOC_PREAMBLE_H */
|