diff options
author | Yoav Steinberg <yoav@monfort.co.il> | 2021-10-10 18:26:48 +0300 |
---|---|---|
committer | Yoav Steinberg <yoav@monfort.co.il> | 2021-10-10 18:26:48 +0300 |
commit | 4d5911b4e47e1ac45fa53c1e80a735127bf8860e (patch) | |
tree | 459fc082ecfd0ff2bfeb4bbf843cf6f93fed9459 /deps/jemalloc/include/jemalloc/internal/jemalloc_internal_externs.h | |
parent | 4a884343f5935f7d470ab0ce013a421f119cfb3a (diff) | |
parent | 220a0f0880419450c9409202aac1fab4b8be0719 (diff) | |
download | redis-4d5911b4e47e1ac45fa53c1e80a735127bf8860e.tar.gz |
Merge commit '220a0f0880419450c9409202aac1fab4b8be0719' as 'deps/jemalloc'
Diffstat (limited to 'deps/jemalloc/include/jemalloc/internal/jemalloc_internal_externs.h')
-rw-r--r-- | deps/jemalloc/include/jemalloc/internal/jemalloc_internal_externs.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/deps/jemalloc/include/jemalloc/internal/jemalloc_internal_externs.h b/deps/jemalloc/include/jemalloc/internal/jemalloc_internal_externs.h new file mode 100644 index 000000000..d291170be --- /dev/null +++ b/deps/jemalloc/include/jemalloc/internal/jemalloc_internal_externs.h @@ -0,0 +1,57 @@ +#ifndef JEMALLOC_INTERNAL_EXTERNS_H +#define JEMALLOC_INTERNAL_EXTERNS_H + +#include "jemalloc/internal/atomic.h" +#include "jemalloc/internal/tsd_types.h" + +/* TSD checks this to set thread local slow state accordingly. */ +extern bool malloc_slow; + +/* Run-time options. */ +extern bool opt_abort; +extern bool opt_abort_conf; +extern bool opt_confirm_conf; +extern const char *opt_junk; +extern bool opt_junk_alloc; +extern bool opt_junk_free; +extern bool opt_utrace; +extern bool opt_xmalloc; +extern bool opt_zero; +extern unsigned opt_narenas; + +/* Number of CPUs. */ +extern unsigned ncpus; + +/* Number of arenas used for automatic multiplexing of threads and arenas. */ +extern unsigned narenas_auto; + +/* Base index for manual arenas. */ +extern unsigned manual_arena_base; + +/* + * Arenas that are used to service external requests. Not all elements of the + * arenas array are necessarily used; arenas are created lazily as needed. + */ +extern atomic_p_t arenas[]; + +void *a0malloc(size_t size); +void a0dalloc(void *ptr); +void *bootstrap_malloc(size_t size); +void *bootstrap_calloc(size_t num, size_t size); +void bootstrap_free(void *ptr); +void arena_set(unsigned ind, arena_t *arena); +unsigned narenas_total_get(void); +arena_t *arena_init(tsdn_t *tsdn, unsigned ind, extent_hooks_t *extent_hooks); +arena_tdata_t *arena_tdata_get_hard(tsd_t *tsd, unsigned ind); +arena_t *arena_choose_hard(tsd_t *tsd, bool internal); +void arena_migrate(tsd_t *tsd, unsigned oldind, unsigned newind); +void iarena_cleanup(tsd_t *tsd); +void arena_cleanup(tsd_t *tsd); +void arenas_tdata_cleanup(tsd_t *tsd); +void jemalloc_prefork(void); +void jemalloc_postfork_parent(void); +void jemalloc_postfork_child(void); +bool malloc_initialized(void); +void je_sdallocx_noflags(void *ptr, size_t size); + +#endif /* JEMALLOC_INTERNAL_EXTERNS_H */ |