- Mar 02, 2017
-
-
Jason Evans authored
-
Qi Wang authored
-
- Mar 01, 2017
-
-
charsyam authored
-
Jason Evans authored
This avoids signed/unsigned comparison warnings when specifying integer constants as inputs.
-
- Feb 28, 2017
-
-
Jason Evans authored
-
Jason Evans authored
This disables run_tests.sh configurations that use the combination of 32-bit clang and heap profiling.
-
Jason Evans authored
This regression was introduced by 194d6f9d (Restructure *CFLAGS/*CXXFLAGS configuration.).
-
- Feb 27, 2017
-
-
Jason Evans authored
This fixes a regression introduced by d433471f (Derive {allocated,nmalloc,ndalloc,nrequests}_large stats.).
-
Jason Evans authored
Remove obsolete unit test scaffolding for extent quantization. Remove redundant assertions. Add an assertion to extents_first_best_fit_locked() that should help prevent aligned allocation regressions.
-
- Feb 26, 2017
-
-
Jason Evans authored
-
- Feb 24, 2017
-
-
Qi Wang authored
We don't touch witness at all when config_debug == false. Let's only pay the memory cost in malloc_mutex_s when needed. Note that when !config_debug, we keep the field in a union so that we don't have to do #ifdefs in multiple places.
-
- Feb 23, 2017
-
-
Jason Evans authored
malloc_conf does not reliably work with MSVC, which complains of "inconsistent dll linkage", i.e. its inability to support the application overriding malloc_conf when dynamically linking/loading. Work around this limitation by adding test harness support for per test shell script sourcing, and converting all tests to use MALLOC_CONF instead of malloc_conf.
-
- Feb 22, 2017
-
-
Jason Evans authored
This complements 94c5d22a (Remove mb.h, which is unused).
-
- Feb 21, 2017
-
-
Jason Evans authored
This removes an unneeded library dependency when falling back to intrinsics-based backtracing (or failing to enable heap profiling at all).
-
Jason Evans authored
Remove a call to arena_maybe_purge() that was necessary for ratio-based purging, but is obsolete in the context of decay-based purging.
-
Jason Evans authored
-
- Feb 17, 2017
-
-
Jason Evans authored
Extent splitting and coalescing is a major component of large allocation overhead, and disabling coalescing of cached extents provides a simple and effective hysteresis mechanism. Once two-phase purging is implemented, it will probably make sense to leave coalescing disabled for the first phase, but coalesce during the second phase.
-
Jason Evans authored
Refactor extent_can_coalesce(), extent_coalesce(), and extent_record() to avoid needlessly repeating extent [de]activation operations.
-
Jason Evans authored
Mapped memory increases when extent_alloc_wrapper() succeeds, and decreases when extent_dalloc_wrapper() is called (during purging).
-
- Feb 16, 2017
-
-
Jason Evans authored
This removes the last use of arena->lock.
-
Jason Evans authored
This mildly reduces stats update overhead during normal operation.
-
Jason Evans authored
This replaces arena->lock synchronization.
-
Jason Evans authored
-
Jason Evans authored
-
Jason Evans authored
-
- Feb 13, 2017
-
-
Jason Evans authored
This avoids a gcc diagnostic note: note: The ABI for passing parameters with 64-byte alignment has changed in GCC 4.6 This note related to the cacheline alignment of rtree_ctx_t, which was introduced by 4a346f55 (Replace rtree path cache with LRU cache.).
-
- Feb 10, 2017
-
-
Jason Evans authored
Fix extent_alloc_dss() to account for bytes that are not a multiple of the page size. This regression was introduced by 577d4572 (Make dss operations lockless.), which was first released in 4.3.0.
-
Jason Evans authored
Fix rtree_subkey() to use uintptr_t rather than unsigned for key bitmasking. This regression was introduced by 4a346f55 (Replace rtree path cache with LRU cache.).
-
Jason Evans authored
This fixes interactions with witness_assert_depth[_to_rank](), which was added in d0e93ada (Add witness_assert_depth[_to_rank]().).
-
- Feb 09, 2017
-
-
Jason Evans authored
-
Jason Evans authored
This avoids worst case behavior if e.g. another thread is preempted while owning the resource the spinning thread is waiting for.
-
Jason Evans authored
-
Jason Evans authored
NULL can never actually be inserted in practice, and removing support allows a branch to be removed from the fast path.
-
Jason Evans authored
Rather than dynamically building a table to aid per level computations, define a constant table at compile time. Omit both high and low insignificant bits. Use one to three tree levels, depending on the number of significant bits.
-
Jason Evans authored
A subsequent change instead ignores insignificant high bits.
-
Jason Evans authored
-
Jason Evans authored
Anything but a hit in the first element of the lookup cache is expensive enough to negate the benefits of inlining.
-
Jason Evans authored
Rework rtree_ctx_t to encapsulate an rtree leaf LRU lookup cache rather than a single-path element lookup cache. The replacement is logically much simpler, as well as slightly faster in the fast path case and less prone to degraded performance during non-trivial sequences of lookups.
-
Jason Evans authored
-
- Feb 07, 2017
-
-
Jason Evans authored
-