- May 04, 2016
-
-
Jason Evans authored
-
- May 03, 2016
-
-
Jason Evans authored
Depending on virtual memory resource limits, it is necessary to attempt allocating three maximally sized objects to trigger OOM rather than just two, since the maximum supported size is slightly less than half the total virtual memory address space. This fixes a test failure that was introduced by 0c516a00 (Make *allocx() size class overflow behavior defined.). This resolves #379.
-
- Apr 26, 2016
-
-
Jason Evans authored
Fix witness to clear its list of owned mutexes in the child if platform-specific malloc_mutex code re-initializes mutexes rather than unlocking them.
-
Jason Evans authored
-
Jason Evans authored
This assures that side effects of internal allocation don't impact tests.
-
- Apr 25, 2016
-
-
Jason Evans authored
Reset large curruns to 0 during arena reset. Do not increase huge ndalloc stats during arena reset.
-
Jason Evans authored
-
- Apr 23, 2016
-
-
Jason Evans authored
This regression was caused by 66cd9535 (Do not allocate metadata via non-auto arenas, nor tcaches.).
-
Jason Evans authored
This resolves #375.
-
Jason Evans authored
This makes it possible to discard all of an arena's allocations in a single operation. This resolves #146.
-
Jason Evans authored
This assures that all internally allocated metadata come from the first opt_narenas arenas, i.e. the automatically multiplexed arenas.
-
- Apr 22, 2016
-
-
Jason Evans authored
-
- Apr 19, 2016
-
-
hitstergtd authored
-
Jason Evans authored
-
Jason Evans authored
Change test-related mangling to simplify symbol filtering. The following commands can be used to detect missing/obsolete symbol mangling, with the caveat that the full set of symbols is based on the union of symbols generated by all configurations, some of which are platform-specific: ./autogen.sh --enable-debug --enable-prof --enable-lazy-lock make all tests nm -a lib/libjemalloc.a src/*.jet.o \ |grep " [TDBCR] " \ |awk '{print $3}' \ |sed -e 's/^\(je_\|jet_\(n_\)\?\)\([a-zA-Z0-9_]*\)/\3/g' \ |LC_COLLATE=C sort -u \ |grep -v \ -e '^\(malloc\|calloc\|posix_memalign\|aligned_alloc\|realloc\|free\)$' \ -e '^\(m\|r\|x\|s\|d\|sd\|n\)allocx$' \ -e '^mallctl\(\|nametomib\|bymib\)$' \ -e '^malloc_\(stats_print\|usable_size\|message\)$' \ -e '^\(memalign\|valloc\)$' \ -e '^__\(malloc\|memalign\|realloc\|free\)_hook$' \ -e '^pthread_create$' \ > /tmp/private_symbols.txt
-
- Apr 18, 2016
-
-
Rajat Goel authored
Add 4 missing symbols
-
- Apr 17, 2016
-
-
Jason Evans authored
-
Jason Evans authored
Also remove tautological cassert(config_debug) calls.
-
Jason Evans authored
-
- Apr 14, 2016
-
-
Jason Evans authored
This fixes a compilation error caused by b2c0d632 (Add witness, a simple online locking validator.). This resolves #375.
-
Jason Evans authored
Fix a compilation error that occurs if Valgrind is not enabled. This regression was caused by b2c0d632 (Add witness, a simple online locking validator.).
-
Jason Evans authored
This resolves #358.
-
- Apr 13, 2016
-
-
Jason Evans authored
-
- Apr 12, 2016
-
-
Jason Evans authored
-
rustyx authored
-
rustyx authored
-
Jason Evans authored
This regression was caused by 8f683b94 (Make opt_narenas unsigned rather than size_t.).
-
- Apr 11, 2016
-
-
Jason Evans authored
Use 1U rather than ZU(1) in macro definitions, so that the preprocessor can evaluate the resulting expressions.
-
Jason Evans authored
During over-allocation in preparation for creating aligned mappings, allocate one more page than necessary if PAGE is the actual page size, so that trimming still succeeds even if the system returns a mapping that has less than PAGE alignment. This allows compiling with e.g. 64 KiB "pages" on systems that actually use 4 KiB pages. Note that for e.g. --with-lg-page=21, it is also necessary to increase the chunk size (e.g. --with-malloc-conf=lg_chunk:22) so that there are at least two "pages" per chunk. In practice this isn't a particularly compelling configuration because so much (unusable) virtual memory is dedicated to chunk headers.
-
Jason Evans authored
Consistently use uint8_t rather than char for junk filling code.
-
Jason Evans authored
Refactor ph to support configurable comparison functions. Use a cpp macro code generation form equivalent to the rb macros so that pairing heaps can be used for both run heaps and chunk heaps. Remove per node parent pointers, and instead use leftmost siblings' prev pointers to track parents. Fix multi-pass sibling merging to iterate over intermediate results using a FIFO, rather than a LIFO. Use this fixed sibling merging implementation for both merge phases of the auxiliary twopass algorithm (first merging the aux list, then replacing the root with its merged children). This fixes both degenerate merge behavior and the potential for deep recursion. This regression was introduced by 6bafa667 (Pairing heap). This resolves #371.
-
- Apr 06, 2016
-
-
Jason Evans authored
-
Jason Evans authored
Fix bitmap_sfu() to shift by LG_BITMAP_GROUP_NBITS rather than hard-coded 6 when using linear (non-USE_TREE) bitmap search. In practice this affects only 64-bit systems for which sizeof(long) is not 8 (i.e. Windows), since USE_TREE is defined for 32-bit systems. This regression was caused by b8823ab0 (Use linear scan for small bitmaps). This resolves #368.
-
Jason Evans authored
-
- Mar 31, 2016
-
-
Jason Evans authored
Document that the maximum size class is limited by PTRDIFF_MAX, rather than the full address space. This reflects changes that were part of 0c516a00 (Make *allocx() size class overflow behavior defined.).
-
Chris Peterson authored
Replace hardcoded 0xa5 and 0x5a junk values with JEMALLOC_ALLOC_JUNK and JEMALLOC_FREE_JUNK macros, respectively.
-
Jason Evans authored
-
Jason Evans authored
Move chunk_dalloc_arena()'s implementation into chunk_dalloc_wrapper(), so that if the dalloc hook fails, proper decommit/purge/retain cascading occurs. This fixes three potential chunk leaks on OOM paths, one during dss-based chunk allocation, one during chunk header commit (currently relevant only on Windows), and one during rtree write (e.g. if rtree node allocation fails). Merge chunk_purge_arena() into chunk_purge_default() (refactor, no change to functionality).
-
- Mar 27, 2016
-
-
Chris Peterson authored
Variables s and slen are declared inside a switch statement, but outside a case scope. clang reports these variable definitions as "unreachable", though this is not really meaningful in this case. This is the only -Wunreachable-code warning in jemalloc. src/util.c:501:5 [-Wunreachable-code] code will never be executed This resolves #364.
-
- Mar 26, 2016
-
-
Chris Peterson authored
The arenas_extend() function was renamed to arenas_init() in commit 8bb3198f, but its function declaration was not removed from jemalloc_internal.h.in.
-