Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/bsd/jemalloc/include/jemalloc Add header files (gen...
details: https://anonhg.NetBSD.org/src/rev/a5f10377e097
branches: trunk
changeset: 449357:a5f10377e097
user: christos <christos%NetBSD.org@localhost>
date: Mon Mar 04 17:25:09 2019 +0000
description:
Add header files (generated and not)
diffstat:
external/bsd/jemalloc/include/jemalloc/internal/arena_externs.h | 94 +
external/bsd/jemalloc/include/jemalloc/internal/arena_inlines_a.h | 57 +
external/bsd/jemalloc/include/jemalloc/internal/arena_inlines_b.h | 354 ++
external/bsd/jemalloc/include/jemalloc/internal/arena_stats.h | 237 +
external/bsd/jemalloc/include/jemalloc/internal/arena_structs_a.h | 11 +
external/bsd/jemalloc/include/jemalloc/internal/arena_structs_b.h | 229 +
external/bsd/jemalloc/include/jemalloc/internal/arena_types.h | 43 +
external/bsd/jemalloc/include/jemalloc/internal/assert.h | 56 +
external/bsd/jemalloc/include/jemalloc/internal/atomic.h | 77 +
external/bsd/jemalloc/include/jemalloc/internal/atomic_c11.h | 97 +
external/bsd/jemalloc/include/jemalloc/internal/atomic_gcc_atomic.h | 127 +
external/bsd/jemalloc/include/jemalloc/internal/atomic_gcc_sync.h | 191 +
external/bsd/jemalloc/include/jemalloc/internal/atomic_msvc.h | 158 +
external/bsd/jemalloc/include/jemalloc/internal/background_thread_externs.h | 33 +
external/bsd/jemalloc/include/jemalloc/internal/background_thread_inlines.h | 57 +
external/bsd/jemalloc/include/jemalloc/internal/background_thread_structs.h | 53 +
external/bsd/jemalloc/include/jemalloc/internal/base_externs.h | 22 +
external/bsd/jemalloc/include/jemalloc/internal/base_inlines.h | 13 +
external/bsd/jemalloc/include/jemalloc/internal/base_structs.h | 59 +
external/bsd/jemalloc/include/jemalloc/internal/base_types.h | 33 +
external/bsd/jemalloc/include/jemalloc/internal/bin.h | 106 +
external/bsd/jemalloc/include/jemalloc/internal/bin_stats.h | 51 +
external/bsd/jemalloc/include/jemalloc/internal/bit_util.h | 164 +
external/bsd/jemalloc/include/jemalloc/internal/bitmap.h | 369 ++
external/bsd/jemalloc/include/jemalloc/internal/cache_bin.h | 114 +
external/bsd/jemalloc/include/jemalloc/internal/ckh.h | 101 +
external/bsd/jemalloc/include/jemalloc/internal/ctl.h | 131 +
external/bsd/jemalloc/include/jemalloc/internal/div.h | 41 +
external/bsd/jemalloc/include/jemalloc/internal/emitter.h | 435 +++
external/bsd/jemalloc/include/jemalloc/internal/extent_dss.h | 26 +
external/bsd/jemalloc/include/jemalloc/internal/extent_externs.h | 73 +
external/bsd/jemalloc/include/jemalloc/internal/extent_inlines.h | 433 +++
external/bsd/jemalloc/include/jemalloc/internal/extent_mmap.h | 10 +
external/bsd/jemalloc/include/jemalloc/internal/extent_structs.h | 219 +
external/bsd/jemalloc/include/jemalloc/internal/extent_types.h | 17 +
external/bsd/jemalloc/include/jemalloc/internal/hash.h | 318 ++
external/bsd/jemalloc/include/jemalloc/internal/hooks.h | 19 +
external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_decls.h | 91 +
external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h | 375 ++
external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_externs.h | 53 +
external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_includes.h | 94 +
external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_inlines_a.h | 172 +
external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_inlines_b.h | 86 +
external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_inlines_c.h | 218 +
external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h | 43 +
external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_types.h | 185 +
external/bsd/jemalloc/include/jemalloc/internal/jemalloc_preamble.h | 194 +
external/bsd/jemalloc/include/jemalloc/internal/large_externs.h | 26 +
external/bsd/jemalloc/include/jemalloc/internal/log.h | 115 +
external/bsd/jemalloc/include/jemalloc/internal/malloc_io.h | 102 +
external/bsd/jemalloc/include/jemalloc/internal/mutex.h | 246 +
external/bsd/jemalloc/include/jemalloc/internal/mutex_pool.h | 94 +
external/bsd/jemalloc/include/jemalloc/internal/mutex_prof.h | 111 +
external/bsd/jemalloc/include/jemalloc/internal/nstime.h | 34 +
external/bsd/jemalloc/include/jemalloc/internal/pages.h | 88 +
external/bsd/jemalloc/include/jemalloc/internal/ph.h | 391 ++
external/bsd/jemalloc/include/jemalloc/internal/private_namespace.gen.h | 378 ++
external/bsd/jemalloc/include/jemalloc/internal/private_namespace.h | 378 ++
external/bsd/jemalloc/include/jemalloc/internal/prng.h | 185 +
external/bsd/jemalloc/include/jemalloc/internal/prof_externs.h | 92 +
external/bsd/jemalloc/include/jemalloc/internal/prof_inlines_a.h | 83 +
external/bsd/jemalloc/include/jemalloc/internal/prof_inlines_b.h | 206 +
external/bsd/jemalloc/include/jemalloc/internal/prof_structs.h | 201 +
external/bsd/jemalloc/include/jemalloc/internal/prof_types.h | 56 +
external/bsd/jemalloc/include/jemalloc/internal/public_namespace.h | 21 +
external/bsd/jemalloc/include/jemalloc/internal/public_unnamespace.h | 21 +
external/bsd/jemalloc/include/jemalloc/internal/ql.h | 88 +
external/bsd/jemalloc/include/jemalloc/internal/qr.h | 72 +
external/bsd/jemalloc/include/jemalloc/internal/rb.h | 1006 +++++++
external/bsd/jemalloc/include/jemalloc/internal/rtree.h | 492 +++
external/bsd/jemalloc/include/jemalloc/internal/rtree_tsd.h | 50 +
external/bsd/jemalloc/include/jemalloc/internal/size_classes.h | 1428 ++++++++++
external/bsd/jemalloc/include/jemalloc/internal/smoothstep.h | 232 +
external/bsd/jemalloc/include/jemalloc/internal/spin.h | 40 +
external/bsd/jemalloc/include/jemalloc/internal/stats.h | 30 +
external/bsd/jemalloc/include/jemalloc/internal/sz.h | 317 ++
external/bsd/jemalloc/include/jemalloc/internal/tcache_externs.h | 55 +
external/bsd/jemalloc/include/jemalloc/internal/tcache_inlines.h | 223 +
external/bsd/jemalloc/include/jemalloc/internal/tcache_structs.h | 61 +
external/bsd/jemalloc/include/jemalloc/internal/tcache_types.h | 56 +
external/bsd/jemalloc/include/jemalloc/internal/ticker.h | 78 +
external/bsd/jemalloc/include/jemalloc/internal/tsd.h | 326 ++
external/bsd/jemalloc/include/jemalloc/internal/tsd_generic.h | 157 +
external/bsd/jemalloc/include/jemalloc/internal/tsd_malloc_thread_cleanup.h | 60 +
external/bsd/jemalloc/include/jemalloc/internal/tsd_tls.h | 59 +
external/bsd/jemalloc/include/jemalloc/internal/tsd_types.h | 10 +
external/bsd/jemalloc/include/jemalloc/internal/tsd_win.h | 139 +
external/bsd/jemalloc/include/jemalloc/internal/util.h | 67 +
external/bsd/jemalloc/include/jemalloc/internal/witness.h | 352 ++
external/bsd/jemalloc/include/jemalloc/jemalloc.h | 422 ++
external/bsd/jemalloc/include/jemalloc/jemalloc_defs.h | 50 +
external/bsd/jemalloc/include/jemalloc/jemalloc_macros.h | 122 +
external/bsd/jemalloc/include/jemalloc/jemalloc_mangle.h | 64 +
external/bsd/jemalloc/include/jemalloc/jemalloc_mangle_jet.h | 64 +
external/bsd/jemalloc/include/jemalloc/jemalloc_protos.h | 66 +
external/bsd/jemalloc/include/jemalloc/jemalloc_protos_jet.h | 66 +
external/bsd/jemalloc/include/jemalloc/jemalloc_rename.h | 28 +
external/bsd/jemalloc/include/jemalloc/jemalloc_typedefs.h | 77 +
98 files changed, 15324 insertions(+), 0 deletions(-)
diffs (truncated from 15716 to 300 lines):
diff -r cb1108de88d7 -r a5f10377e097 external/bsd/jemalloc/include/jemalloc/internal/arena_externs.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/external/bsd/jemalloc/include/jemalloc/internal/arena_externs.h Mon Mar 04 17:25:09 2019 +0000
@@ -0,0 +1,94 @@
+#ifndef JEMALLOC_INTERNAL_ARENA_EXTERNS_H
+#define JEMALLOC_INTERNAL_ARENA_EXTERNS_H
+
+#include "jemalloc/internal/bin.h"
+#include "jemalloc/internal/extent_dss.h"
+#include "jemalloc/internal/pages.h"
+#include "jemalloc/internal/size_classes.h"
+#include "jemalloc/internal/stats.h"
+
+extern ssize_t opt_dirty_decay_ms;
+extern ssize_t opt_muzzy_decay_ms;
+
+extern percpu_arena_mode_t opt_percpu_arena;
+extern const char *percpu_arena_mode_names[];
+
+extern const uint64_t h_steps[SMOOTHSTEP_NSTEPS];
+extern malloc_mutex_t arenas_lock;
+
+void arena_basic_stats_merge(tsdn_t *tsdn, arena_t *arena,
+ unsigned *nthreads, const char **dss, ssize_t *dirty_decay_ms,
+ ssize_t *muzzy_decay_ms, size_t *nactive, size_t *ndirty, size_t *nmuzzy);
+void arena_stats_merge(tsdn_t *tsdn, arena_t *arena, unsigned *nthreads,
+ const char **dss, ssize_t *dirty_decay_ms, ssize_t *muzzy_decay_ms,
+ size_t *nactive, size_t *ndirty, size_t *nmuzzy, arena_stats_t *astats,
+ bin_stats_t *bstats, arena_stats_large_t *lstats);
+void arena_extents_dirty_dalloc(tsdn_t *tsdn, arena_t *arena,
+ extent_hooks_t **r_extent_hooks, extent_t *extent);
+#ifdef JEMALLOC_JET
+size_t arena_slab_regind(extent_t *slab, szind_t binind, const void *ptr);
+#endif
+extent_t *arena_extent_alloc_large(tsdn_t *tsdn, arena_t *arena,
+ size_t usize, size_t alignment, bool *zero);
+void arena_extent_dalloc_large_prep(tsdn_t *tsdn, arena_t *arena,
+ extent_t *extent);
+void arena_extent_ralloc_large_shrink(tsdn_t *tsdn, arena_t *arena,
+ extent_t *extent, size_t oldsize);
+void arena_extent_ralloc_large_expand(tsdn_t *tsdn, arena_t *arena,
+ extent_t *extent, size_t oldsize);
+ssize_t arena_dirty_decay_ms_get(arena_t *arena);
+bool arena_dirty_decay_ms_set(tsdn_t *tsdn, arena_t *arena, ssize_t decay_ms);
+ssize_t arena_muzzy_decay_ms_get(arena_t *arena);
+bool arena_muzzy_decay_ms_set(tsdn_t *tsdn, arena_t *arena, ssize_t decay_ms);
+void arena_decay(tsdn_t *tsdn, arena_t *arena, bool is_background_thread,
+ bool all);
+void arena_reset(tsd_t *tsd, arena_t *arena);
+void arena_destroy(tsd_t *tsd, arena_t *arena);
+void arena_tcache_fill_small(tsdn_t *tsdn, arena_t *arena, tcache_t *tcache,
+ cache_bin_t *tbin, szind_t binind, uint64_t prof_accumbytes);
+void arena_alloc_junk_small(void *ptr, const bin_info_t *bin_info,
+ bool zero);
+
+typedef void (arena_dalloc_junk_small_t)(void *, const bin_info_t *);
+extern arena_dalloc_junk_small_t *JET_MUTABLE arena_dalloc_junk_small;
+
+void *arena_malloc_hard(tsdn_t *tsdn, arena_t *arena, size_t size,
+ szind_t ind, bool zero);
+void *arena_palloc(tsdn_t *tsdn, arena_t *arena, size_t usize,
+ size_t alignment, bool zero, tcache_t *tcache);
+void arena_prof_promote(tsdn_t *tsdn, const void *ptr, size_t usize);
+void arena_dalloc_promoted(tsdn_t *tsdn, void *ptr, tcache_t *tcache,
+ bool slow_path);
+void arena_dalloc_bin_junked_locked(tsdn_t *tsdn, arena_t *arena,
+ extent_t *extent, void *ptr);
+void arena_dalloc_small(tsdn_t *tsdn, void *ptr);
+bool arena_ralloc_no_move(tsdn_t *tsdn, void *ptr, size_t oldsize, size_t size,
+ size_t extra, bool zero);
+void *arena_ralloc(tsdn_t *tsdn, arena_t *arena, void *ptr, size_t oldsize,
+ size_t size, size_t alignment, bool zero, tcache_t *tcache);
+dss_prec_t arena_dss_prec_get(arena_t *arena);
+bool arena_dss_prec_set(arena_t *arena, dss_prec_t dss_prec);
+ssize_t arena_dirty_decay_ms_default_get(void);
+bool arena_dirty_decay_ms_default_set(ssize_t decay_ms);
+ssize_t arena_muzzy_decay_ms_default_get(void);
+bool arena_muzzy_decay_ms_default_set(ssize_t decay_ms);
+bool arena_retain_grow_limit_get_set(tsd_t *tsd, arena_t *arena,
+ size_t *old_limit, size_t *new_limit);
+unsigned arena_nthreads_get(arena_t *arena, bool internal);
+void arena_nthreads_inc(arena_t *arena, bool internal);
+void arena_nthreads_dec(arena_t *arena, bool internal);
+size_t arena_extent_sn_next(arena_t *arena);
+arena_t *arena_new(tsdn_t *tsdn, unsigned ind, extent_hooks_t *extent_hooks);
+void arena_boot(void);
+void arena_prefork0(tsdn_t *tsdn, arena_t *arena);
+void arena_prefork1(tsdn_t *tsdn, arena_t *arena);
+void arena_prefork2(tsdn_t *tsdn, arena_t *arena);
+void arena_prefork3(tsdn_t *tsdn, arena_t *arena);
+void arena_prefork4(tsdn_t *tsdn, arena_t *arena);
+void arena_prefork5(tsdn_t *tsdn, arena_t *arena);
+void arena_prefork6(tsdn_t *tsdn, arena_t *arena);
+void arena_prefork7(tsdn_t *tsdn, arena_t *arena);
+void arena_postfork_parent(tsdn_t *tsdn, arena_t *arena);
+void arena_postfork_child(tsdn_t *tsdn, arena_t *arena);
+
+#endif /* JEMALLOC_INTERNAL_ARENA_EXTERNS_H */
diff -r cb1108de88d7 -r a5f10377e097 external/bsd/jemalloc/include/jemalloc/internal/arena_inlines_a.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/external/bsd/jemalloc/include/jemalloc/internal/arena_inlines_a.h Mon Mar 04 17:25:09 2019 +0000
@@ -0,0 +1,57 @@
+#ifndef JEMALLOC_INTERNAL_ARENA_INLINES_A_H
+#define JEMALLOC_INTERNAL_ARENA_INLINES_A_H
+
+static inline unsigned
+arena_ind_get(const arena_t *arena) {
+ return base_ind_get(arena->base);
+}
+
+static inline void
+arena_internal_add(arena_t *arena, size_t size) {
+ atomic_fetch_add_zu(&arena->stats.internal, size, ATOMIC_RELAXED);
+}
+
+static inline void
+arena_internal_sub(arena_t *arena, size_t size) {
+ atomic_fetch_sub_zu(&arena->stats.internal, size, ATOMIC_RELAXED);
+}
+
+static inline size_t
+arena_internal_get(arena_t *arena) {
+ return atomic_load_zu(&arena->stats.internal, ATOMIC_RELAXED);
+}
+
+static inline bool
+arena_prof_accum(tsdn_t *tsdn, arena_t *arena, uint64_t accumbytes) {
+ cassert(config_prof);
+
+ if (likely(prof_interval == 0 || !prof_active_get_unlocked())) {
+ return false;
+ }
+
+ return prof_accum_add(tsdn, &arena->prof_accum, accumbytes);
+}
+
+static inline void
+percpu_arena_update(tsd_t *tsd, unsigned cpu) {
+ assert(have_percpu_arena);
+ arena_t *oldarena = tsd_arena_get(tsd);
+ assert(oldarena != NULL);
+ unsigned oldind = arena_ind_get(oldarena);
+
+ if (oldind != cpu) {
+ unsigned newind = cpu;
+ arena_t *newarena = arena_get(tsd_tsdn(tsd), newind, true);
+ assert(newarena != NULL);
+
+ /* Set new arena/tcache associations. */
+ arena_migrate(tsd, oldind, newind);
+ tcache_t *tcache = tcache_get(tsd);
+ if (tcache != NULL) {
+ tcache_arena_reassociate(tsd_tsdn(tsd), tcache,
+ newarena);
+ }
+ }
+}
+
+#endif /* JEMALLOC_INTERNAL_ARENA_INLINES_A_H */
diff -r cb1108de88d7 -r a5f10377e097 external/bsd/jemalloc/include/jemalloc/internal/arena_inlines_b.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/external/bsd/jemalloc/include/jemalloc/internal/arena_inlines_b.h Mon Mar 04 17:25:09 2019 +0000
@@ -0,0 +1,354 @@
+#ifndef JEMALLOC_INTERNAL_ARENA_INLINES_B_H
+#define JEMALLOC_INTERNAL_ARENA_INLINES_B_H
+
+#include "jemalloc/internal/jemalloc_internal_types.h"
+#include "jemalloc/internal/mutex.h"
+#include "jemalloc/internal/rtree.h"
+#include "jemalloc/internal/size_classes.h"
+#include "jemalloc/internal/sz.h"
+#include "jemalloc/internal/ticker.h"
+
+JEMALLOC_ALWAYS_INLINE prof_tctx_t *
+arena_prof_tctx_get(tsdn_t *tsdn, const void *ptr, alloc_ctx_t *alloc_ctx) {
+ cassert(config_prof);
+ assert(ptr != NULL);
+
+ /* Static check. */
+ if (alloc_ctx == NULL) {
+ const extent_t *extent = iealloc(tsdn, ptr);
+ if (unlikely(!extent_slab_get(extent))) {
+ return large_prof_tctx_get(tsdn, extent);
+ }
+ } else {
+ if (unlikely(!alloc_ctx->slab)) {
+ return large_prof_tctx_get(tsdn, iealloc(tsdn, ptr));
+ }
+ }
+ return (prof_tctx_t *)(uintptr_t)1U;
+}
+
+JEMALLOC_ALWAYS_INLINE void
+arena_prof_tctx_set(tsdn_t *tsdn, const void *ptr, UNUSED size_t usize,
+ alloc_ctx_t *alloc_ctx, prof_tctx_t *tctx) {
+ cassert(config_prof);
+ assert(ptr != NULL);
+
+ /* Static check. */
+ if (alloc_ctx == NULL) {
+ extent_t *extent = iealloc(tsdn, ptr);
+ if (unlikely(!extent_slab_get(extent))) {
+ large_prof_tctx_set(tsdn, extent, tctx);
+ }
+ } else {
+ if (unlikely(!alloc_ctx->slab)) {
+ large_prof_tctx_set(tsdn, iealloc(tsdn, ptr), tctx);
+ }
+ }
+}
+
+static inline void
+arena_prof_tctx_reset(tsdn_t *tsdn, const void *ptr, UNUSED prof_tctx_t *tctx) {
+ cassert(config_prof);
+ assert(ptr != NULL);
+
+ extent_t *extent = iealloc(tsdn, ptr);
+ assert(!extent_slab_get(extent));
+
+ large_prof_tctx_reset(tsdn, extent);
+}
+
+JEMALLOC_ALWAYS_INLINE void
+arena_decay_ticks(tsdn_t *tsdn, arena_t *arena, unsigned nticks) {
+ tsd_t *tsd;
+ ticker_t *decay_ticker;
+
+ if (unlikely(tsdn_null(tsdn))) {
+ return;
+ }
+ tsd = tsdn_tsd(tsdn);
+ decay_ticker = decay_ticker_get(tsd, arena_ind_get(arena));
+ if (unlikely(decay_ticker == NULL)) {
+ return;
+ }
+ if (unlikely(ticker_ticks(decay_ticker, nticks))) {
+ arena_decay(tsdn, arena, false, false);
+ }
+}
+
+JEMALLOC_ALWAYS_INLINE void
+arena_decay_tick(tsdn_t *tsdn, arena_t *arena) {
+ malloc_mutex_assert_not_owner(tsdn, &arena->decay_dirty.mtx);
+ malloc_mutex_assert_not_owner(tsdn, &arena->decay_muzzy.mtx);
+
+ arena_decay_ticks(tsdn, arena, 1);
+}
+
+JEMALLOC_ALWAYS_INLINE void *
+arena_malloc(tsdn_t *tsdn, arena_t *arena, size_t size, szind_t ind, bool zero,
+ tcache_t *tcache, bool slow_path) {
+ assert(!tsdn_null(tsdn) || tcache == NULL);
+ assert(size != 0);
+
+ if (likely(tcache != NULL)) {
+ if (likely(size <= SMALL_MAXCLASS)) {
+ return tcache_alloc_small(tsdn_tsd(tsdn), arena,
+ tcache, size, ind, zero, slow_path);
+ }
+ if (likely(size <= tcache_maxclass)) {
+ return tcache_alloc_large(tsdn_tsd(tsdn), arena,
+ tcache, size, ind, zero, slow_path);
+ }
+ /* (size > tcache_maxclass) case falls through. */
+ assert(size > tcache_maxclass);
+ }
+
+ return arena_malloc_hard(tsdn, arena, size, ind, zero);
+}
+
+JEMALLOC_ALWAYS_INLINE arena_t *
+arena_aalloc(tsdn_t *tsdn, const void *ptr) {
+ return extent_arena_get(iealloc(tsdn, ptr));
+}
+
+JEMALLOC_ALWAYS_INLINE size_t
+arena_salloc(tsdn_t *tsdn, const void *ptr) {
+ assert(ptr != NULL);
+
+ rtree_ctx_t rtree_ctx_fallback;
+ rtree_ctx_t *rtree_ctx = tsdn_rtree_ctx(tsdn, &rtree_ctx_fallback);
+
+ szind_t szind = rtree_szind_read(tsdn, &extents_rtree, rtree_ctx,
+ (uintptr_t)ptr, true);
+ assert(szind != NSIZES);
+
+ return sz_index2size(szind);
+}
+
+JEMALLOC_ALWAYS_INLINE size_t
+arena_vsalloc(tsdn_t *tsdn, const void *ptr) {
+ /*
+ * Return 0 if ptr is not within an extent managed by jemalloc. This
+ * function has two extra costs relative to isalloc():
+ * - The rtree calls cannot claim to be dependent lookups, which induces
+ * rtree lookup load dependencies.
+ * - The lookup may fail, so there is an extra branch to check for
+ * failure.
+ */
+
Home |
Main Index |
Thread Index |
Old Index