server-skynet-source-3rd-je.../include/jemalloc/internal
Dave Watson b8823ab026 Use linear scan for small bitmaps
For small bitmaps, a linear scan of the bitmap is slightly faster than
a tree search - bitmap_t is more compact, and there are fewer writes
since we don't have to propogate state transitions up the tree.
On x86_64 with the current settings, I'm seeing ~.5%-1% CPU improvement
in production canaries with this change.

The old tree code is left since 32bit sizes are much larger (and ffsl
smaller), and maybe the run sizes will change in the future.

This resolves #339.
2016-02-26 14:21:10 -08:00
..
arena.h Silence miscellaneous 64-to-32-bit data loss warnings. 2016-02-25 20:51:00 -08:00
assert.h Tweak code to allow compilation of concatenated src/*.c sources. 2015-11-12 11:06:41 -08:00
atomic.h Refactor arenas array (fixes deadlock). 2016-02-24 23:58:10 -08:00
base.h Add the "stats.allocated" mallctl. 2015-03-23 17:26:53 -07:00
bitmap.h Use linear scan for small bitmaps 2016-02-26 14:21:10 -08:00
chunk_dss.h Implement chunk hook support for page run commit/decommit. 2015-08-07 00:50:58 -07:00
chunk_mmap.h Attempt mmap-based in-place huge reallocation. 2016-02-24 17:23:18 -08:00
chunk.h Arena chunk decommit cleanups and fixes. 2015-08-10 17:13:59 -07:00
ckh.h Fix a typo in the ckh_search() prototype. 2016-02-20 10:26:17 -08:00
ctl.h Implement decay-based unused dirty page purging. 2016-02-19 20:56:21 -08:00
extent.h Fix build failure. 2015-08-10 23:42:33 -07:00
hash.h Silence miscellaneous 64-to-32-bit data loss warnings. 2016-02-24 13:03:48 -08:00
huge.h Make *allocx() size class overflow behavior defined. 2016-02-25 15:29:49 -08:00
jemalloc_internal_decls.h Fix Windows build issues 2016-02-23 18:55:45 -08:00
jemalloc_internal_defs.h.in Refactor jemalloc_ffs*() into ffs_*(). 2016-02-24 13:03:48 -08:00
jemalloc_internal_macros.h Use KQU() rather than QU() where applicable. 2014-05-28 21:17:42 -07:00
jemalloc_internal.h.in Make *allocx() size class overflow behavior defined. 2016-02-25 15:29:49 -08:00
mb.h Simplify small size class infrastructure. 2012-02-28 16:50:47 -08:00
mutex.h Optimizations for Windows 2015-06-25 22:53:58 +02:00
nstime.h Refactor time_* into nstime_*. 2016-02-21 21:39:05 -08:00
pages.h Generalize chunk management hooks. 2015-08-03 21:49:02 -07:00
private_namespace.sh Refactor to support more varied testing. 2013-12-03 22:06:59 -08:00
private_symbols.txt Miscellaneous bitmap refactoring. 2016-02-26 14:21:10 -08:00
private_unnamespace.sh Refactor to support more varied testing. 2013-12-03 22:06:59 -08:00
prng.h Refactor jemalloc_ffs*() into ffs_*(). 2016-02-24 13:03:48 -08:00
prof.h Fast-path improvement: reduce # of branches and unnecessary operations. 2015-11-10 14:28:34 -08:00
public_namespace.sh Fix name mangling for stress tests. 2014-01-16 17:38:01 -08:00
public_unnamespace.sh Fix name mangling for stress tests. 2014-01-16 17:38:01 -08:00
ql.h Style and spelling fixes. 2014-12-08 16:34:04 -08:00
qr.h Style and spelling fixes. 2014-12-08 16:34:04 -08:00
quarantine.h Make quarantine_init() static. 2014-11-07 14:50:38 -08:00
rb.h Remove rbt_nil 2016-02-23 18:09:25 -08:00
rtree.h Avoid atomic operations for dependent rtree reads. 2015-05-15 17:02:30 -07:00
size_classes.sh Make *allocx() size class overflow behavior defined. 2016-02-25 15:29:49 -08:00
smoothstep.h Implement smoothstep table generation. 2016-02-19 20:56:15 -08:00
smoothstep.sh Implement smoothstep table generation. 2016-02-19 20:56:15 -08:00
stats.h Move centralized chunk management into arenas. 2015-02-12 00:15:56 -08:00
tcache.h Make *allocx() size class overflow behavior defined. 2016-02-25 15:29:49 -08:00
ticker.h Implement ticker. 2016-02-19 20:29:06 -08:00
tsd.h Refactor arenas_cache tsd. 2016-02-19 20:32:37 -08:00
util.h Fix ffs_zu() compilation error on MinGW. 2016-02-24 14:01:47 -08:00
valgrind.h mark some conditions as unlikely 2014-09-10 21:49:42 -04:00