server-skynet-source-3rd-je.../include/jemalloc/internal
Yinan Zhang b55419f9b9 Restructure profiling
Develop new data structure and code logic for holding profiling
related information stored in the extent that may be needed after the
extent is released, which in particular is the case for the
reallocation code path (e.g. in `rallocx()` and `xallocx()`).  The
data structure is a generalization of `prof_tctx_t`: we previously
only copy out the `prof_tctx` before the extent is released, but we
may be in need of additional fields. Currently the only additional
field is the allocation time field, but there may be more fields in
the future.

The restructuring also resolved a bug: `prof_realloc()` mistakenly
passed the new `ptr` to `prof_free_sampled_object()`, but passing in
the `old_ptr` would crash because it's already been released.  Now
the essential profiling information is collectively copied out early
and safely passed to `prof_free_sampled_object()` after the extent is
released.
2019-11-22 16:31:56 -08:00
..
arena_externs.h Reduce footprint of bin_t. 2019-11-21 11:08:36 -08:00
arena_inlines_a.h Pull prof_accumbytes into thread event handler 2019-11-04 15:21:16 -08:00
arena_inlines_b.h Restructure profiling 2019-11-22 16:31:56 -08:00
arena_stats.h Track the leaked VM space via the abandoned_vm counter. 2019-07-24 11:24:22 -07:00
arena_structs.h Avoid arena->offset_state when tsd not available for prng. 2019-11-11 10:35:37 -08:00
arena_types.h Rearrange slab data and constants 2019-09-23 23:06:27 -07:00
assert.h Disentangle assert and util 2017-03-06 15:08:43 -08:00
atomic_c11.h Introduce a backport of C11 atomics 2017-03-03 13:40:59 -08:00
atomic_gcc_atomic.h Workaround to address g++ unused variable warnings 2019-07-30 11:37:56 -07:00
atomic_gcc_sync.h Restrict lwsync to powerpc64 only 2018-10-24 11:18:55 -07:00
atomic_msvc.h Introduce a backport of C11 atomics 2017-03-03 13:40:59 -08:00
atomic.h Detect if 8-bit atomics are available. 2019-03-09 12:52:06 -08:00
background_thread_externs.h Fall back to the default pthread_create if RTLD_NEXT fails. 2018-06-28 13:18:21 -07:00
background_thread_inlines.h Fix background thread index issues with max_background_threads. 2018-05-15 12:25:23 -07:00
background_thread_structs.h Add max_per_bg_thd stats for per background thread mutexes. 2019-09-13 09:23:57 -07:00
base_externs.h Add stats for metadata_thp. 2017-08-30 16:47:32 -07:00
base_inlines.h Change opt.metadata_thp to [disabled,auto,always]. 2017-08-30 16:47:32 -07:00
base_structs.h Extents: Split out extent struct. 2019-09-23 23:06:27 -07:00
base_types.h metadata_thp: auto mode adjustment for a0. 2017-11-01 13:52:06 -07:00
bin_info.h Extents: Split out extent struct. 2019-09-23 23:06:27 -07:00
bin_stats.h Reduce footprint of bin_t. 2019-11-21 11:08:36 -08:00
bin_types.h Store the bin shard selection in TSD. 2018-12-03 17:17:03 -08:00
bin.h Reduce footprint of bin_t. 2019-11-21 11:08:36 -08:00
bit_util.h Add a fastpath for arena_slab_reg_alloc_batch 2018-11-14 07:09:11 -08:00
bitmap.h Rearrange slab data and constants 2019-09-23 23:06:27 -07:00
cache_bin.h Optimize cache_bin_alloc_easy for malloc fast path 2019-10-21 16:43:45 -07:00
ckh.h Header refactoring: tsd - cleanup and dependency breaking. 2017-05-01 10:49:56 -07:00
ctl.h Reduce footprint of bin_t. 2019-11-21 11:08:36 -08:00
div.h Add the div module, which allows fast division by dynamic values. 2017-12-21 14:25:43 -08:00
emitter.h Add compact json option for emitter 2019-08-09 09:53:41 -07:00
eset.h Eset: Remove temporary declaration. 2019-09-23 23:06:27 -07:00
extent_dss.h Header refactoring: unify and de-catchall extent_dss. 2017-05-31 13:08:45 -07:00
extent_externs.h Remove the undefined extent_size_quantize declarations. 2019-09-23 23:06:27 -07:00
extent_inlines.h Extents: Split out extent struct. 2019-09-23 23:06:27 -07:00
extent_mmap.h Header refactoring: unify and de-catchall extent_mmap module. 2017-05-31 13:08:45 -07:00
extent_structs.h Rename extents_t -> eset_t. 2019-09-23 23:06:27 -07:00
extent_types.h Rename extents_t -> eset_t. 2019-09-23 23:06:27 -07:00
extent.h Restructure profiling 2019-11-22 16:31:56 -08:00
hash.h Add -Wimplicit-fallthrough checks if supported 2019-11-08 13:03:03 -08:00
hook.h Hooks: Protect against reentrancy. 2018-05-18 11:43:03 -07:00
jemalloc_internal_decls.h Support C++17 over-aligned allocation 2019-11-22 10:14:16 -08:00
jemalloc_internal_defs.h.in Move extra size checks behind a config flag. 2019-04-15 16:48:12 -07:00
jemalloc_internal_externs.h Add stats counters for number of zero reallocs 2019-10-29 17:48:44 -07:00
jemalloc_internal_includes.h Extents: Split out extent struct. 2019-09-23 23:06:27 -07:00
jemalloc_internal_inlines_a.h Redesign the cache bin metadata for fast path. 2019-08-19 12:21:44 -07:00
jemalloc_internal_inlines_b.h Pull prof_accumbytes into thread event handler 2019-11-04 15:21:16 -08:00
jemalloc_internal_inlines_c.h drop bump_empty_alloc option. Size class lookup support used instead. 2018-10-17 08:50:58 -07:00
jemalloc_internal_macros.h Use __forceinline for JEMALLOC_ALWAYS_INLINE on msvc 2019-11-12 13:50:25 -08:00
jemalloc_internal_types.h Realloc: Make behavior of realloc(ptr, 0) configurable. 2019-10-29 17:48:44 -07:00
jemalloc_preamble.h.in Safety checks: Add a redzoning feature. 2019-04-15 16:48:12 -07:00
large_externs.h Restructure profiling 2019-11-22 16:31:56 -08:00
log.h Logging: capitalize log macro. 2017-10-02 20:44:43 -07:00
malloc_io.h Add buffered writer 2019-08-09 09:44:29 -07:00
mutex_pool.h Header refactoring: unify and de-catchall mutex_pool. 2017-05-31 13:08:45 -07:00
mutex_prof.h Add max_per_bg_thd stats for per background thread mutexes. 2019-09-13 09:23:57 -07:00
mutex.h Add max_per_bg_thd stats for per background thread mutexes. 2019-09-13 09:23:57 -07:00
nstime.h Add background thread related stats. 2017-05-23 12:26:20 -07:00
pages.h Add opt.thp which allows explicit hugepage usage. 2018-03-08 13:08:06 -08:00
ph.h Add any() and remove_any() to ph. 2017-03-07 10:25:33 -08:00
private_namespace.sh Automatically generate private symbol name mangling macros. 2017-05-11 23:06:54 -07:00
private_symbols.sh Automatically generate private symbol name mangling macros. 2017-05-11 23:06:54 -07:00
prng.h Header refactoring: prng module - remove from the catchall and unify. 2017-04-24 10:33:21 -07:00
prof_externs.h Restructure profiling 2019-11-22 16:31:56 -08:00
prof_inlines_a.h Pull prof_accumbytes into thread event handler 2019-11-04 15:21:16 -08:00
prof_inlines_b.h Restructure profiling 2019-11-22 16:31:56 -08:00
prof_structs.h Restructure profiling 2019-11-22 16:31:56 -08:00
prof_types.h Restructure profiling 2019-11-22 16:31:56 -08:00
public_namespace.sh Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
public_unnamespace.sh Fix name mangling for stress tests. 2014-01-16 17:38:01 -08:00
ql.h Header refactoring: break out qr.h dependencies 2017-04-11 11:52:30 -07:00
qr.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
quantum.h Move quantum detection into its own file. 2018-07-12 20:53:06 -07:00
rb.h Header refactoring: break out rb.h dependencies 2017-04-11 11:52:30 -07:00
rtree_tsd.h Clean compilation -Wextra 2018-07-09 21:40:42 -07:00
rtree.h rtree: add rtree_szind_slab_read_fast 2018-11-12 13:20:37 -08:00
safety_check.h Fix amd64 MSVC warning 2019-10-18 10:16:29 -07:00
sc.h Rearrange slab data and constants 2019-09-23 23:06:27 -07:00
seq.h Add the Seq module, a simple seqlock implementation. 2018-05-18 11:43:03 -07:00
slab_data.h Rearrange slab data and constants 2019-09-23 23:06:27 -07:00
smoothstep.h Cleanup smoothstep.sh / .h. 2017-05-25 16:52:10 -07:00
smoothstep.sh Cleanup smoothstep.sh / .h. 2017-05-25 16:52:10 -07:00
spin.h Power: disable the CPU_SPINWAIT macro. 2017-10-04 18:37:23 -07:00
stats.h Add extents information to mallocstats output 2018-08-02 10:16:06 -07:00
sz.h Move page quantization to sz module. 2019-09-23 23:06:27 -07:00
tcache_externs.h Redesign the cache bin metadata for fast path. 2019-08-19 12:21:44 -07:00
tcache_inlines.h Pull tcache GC events into thread event handler 2019-11-04 16:07:56 -08:00
tcache_structs.h Pull prof_accumbytes into thread event handler 2019-11-04 15:21:16 -08:00
tcache_types.h Pull tcache GC events into thread event handler 2019-11-04 16:07:56 -08:00
test_hooks.h Rename hooks module to test_hooks. 2018-05-18 11:43:03 -07:00
thread_event.h Define general purpose tsd_thread_event_init() 2019-11-04 16:07:56 -08:00
ticker.h ticker: add ticker_trytick 2018-10-18 08:32:19 -07:00
tsd_generic.h Clean compilation -Wextra 2018-07-09 21:40:42 -07:00
tsd_malloc_thread_cleanup.h Enforce TLS_MODEL attribute. 2019-04-16 11:07:15 -07:00
tsd_tls.h Enforce TLS_MODEL attribute. 2019-04-16 11:07:15 -07:00
tsd_types.h Header refactoring: tsd - cleanup and dependency breaking. 2017-05-01 10:49:56 -07:00
tsd_win.h Header refactoring: tsd - cleanup and dependency breaking. 2017-05-01 10:49:56 -07:00
tsd.h Rename tsd->offset_state to tsd->prng_state. 2019-11-11 10:35:37 -08:00
util.h Remove --disable-cc-silence. 2017-04-24 15:02:45 -07:00
witness.h Rename "prof_dump_seq_mtx" to "prof_dump_filename_mtx". 2019-09-12 22:26:03 -07:00