summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Remove a residual comment.Jason Evans2016-11-171-1/+0
| | |
| * | Avoid gcc tautological-compare warnings.Jason Evans2016-11-172-12/+26
| | |
| * | Avoid gcc type-limits warnings.Jason Evans2016-11-171-14/+32
| | |
| * | Document how to use --cache configure option.Jason Evans2016-11-161-0/+15
| | | | | | | | | | | | This resolves #494.
| * | Revert "Add JE_RUNNABLE() and use it for os_unfair_lock_*() test."Jason Evans2016-11-161-16/+1
| | | | | | | | | | | | | | | | | | This reverts commit 45f83a2ac6a9cd3b21675766127ee85910e54156. JE_RUNNABLE() causes general cross-compilation issues.
| * | Fix an MSVC compiler warning.Jason Evans2016-11-161-1/+1
| | |
| * | Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *).Jason Evans2016-11-1527-362/+397
| | | | | | | | | | | | | | | This avoids warnings in some cases, and is otherwise generally good hygiene.
| * | Explicitly cast negative constants meant for use as unsigned.Jason Evans2016-11-151-3/+5
| | |
| * | Add cast to silence (harmless) conversion warning.Jason Evans2016-11-151-1/+1
| | |
| * | Avoid negation of unsigned numbers.Jason Evans2016-11-151-2/+2
| | | | | | | | | | | | | | | | | | Rather than relying on two's complement negation for alignment mask generation, use bitwise not and addition. This dodges warnings from MSVC, and should be strength-reduced by compiler optimization anyway.
| * | Consistently use size_t rather than uint64_t for extent serial numbers.Jason Evans2016-11-152-3/+3
| | |
| * | Add packing test, which verifies stable layout policy.Jason Evans2016-11-152-0/+207
| | |
| * | Add extent serial numbers.Jason Evans2016-11-1510-163/+298
| | | | | | | | | | | | | | | | | | | | | | | | Add extent serial numbers and use them where appropriate as a sort key that is higher priority than address, so that the allocation policy prefers older extents. This resolves #147.
| * | Add JE_RUNNABLE() and use it for os_unfair_lock_*() test.Jason Evans2016-11-121-1/+16
| | | | | | | | | | | | This resolves #494.
| * | Reduce memory usage for sdallocx() test_alignment_and_size.Jason Evans2016-11-121-2/+2
| | |
| * | Simplify extent_quantize().Jason Evans2016-11-121-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | 2cdf07aba971d1e21edc203e7d4073b6ce8e72b9 (Fix extent_quantize() to handle greater-than-huge-size extents.) solved a non-problem; the expression passed in to index2size() was never too large. However the expression could in principle underflow, so fix the actual (latent) bug and remove unnecessary complexity.
| * | Remove overly restrictive stats_cactive_{add,sub}() assertions.Jason Evans2016-11-121-6/+2
| | | | | | | | | | | | | | | | | | This fixes a regression caused by 40ee9aa9577ea5eb6616c10b9e6b0fa7e6796821 (Fix stats.cactive accounting regression.) and first released in 4.1.0.
| * | Fix/simplify chunk_recycle() allocation size computations.Jason Evans2016-11-121-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove outer CHUNK_CEILING(s2u(...)) from alloc_size computation, since s2u() may overflow (and return 0), and CHUNK_CEILING() is only needed around the alignment portion of the computation. This fixes a regression caused by 5707d6f952c71baa2f19102479859012982ac821 (Quantize szad trees by size class.) and first released in 4.0.0. This resolves #497.
| * | Fix extent_quantize() to handle greater-than-huge-size extents.Jason Evans2016-11-121-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allocation requests can't directly create extents that exceed HUGE_MAXCLASS, but extent merging can create them. This fixes a regression caused by 8a03cf039cd06f9fa6972711195055d865673966 (Implement cache index randomization for large allocations.) and first released in 4.0.0. This resolves #497.
| * | Add configure support for *-*-linux-android.Jason Evans2016-11-101-0/+12
| | | | | | | | | | | | | | | | | | | | | This is tailored to Android, i.e. more specific than the *-*-linux* configuration. This resolves #471.
| * | Support Debian GNU/kFreeBSD.Samuel Moritz2016-11-101-1/+1
| | | | | | | | | | | | Treat it exactly like Linux since they both use GNU libc.
| * | Update config.{guess,sub} from upstream.Jason Evans2016-11-102-90/+160
|/ /
* | Merge branch 'rc-4.3.1'4.3.1Jason Evans2016-11-0810-46/+390
|\ \
| * | Update ChangeLog for 4.3.1.Jason Evans2016-11-081-0/+8
| | |
| * | Revert "Define 64-bits atomics unconditionally"Jason Evans2016-11-071-8/+10
| | | | | | | | | | | | | | | | | | This reverts commit af33e9a59735a2ee72132d3dd6e23fae6d296e34. This resolves #495.
| * | Refactor prng to not use 64-bit atomics on 32-bit platforms.Jason Evans2016-11-077-32/+364
| | | | | | | | | | | | This resolves #495.
| * | Fix run leak.Jason Evans2016-11-072-6/+8
|/ / | | | | | | | | | | | | | | | | | | | | Fix arena_run_first_best_fit() to search all potentially non-empty runs_avail heaps, rather than ignoring the heap that contains runs larger than large_maxclass, but less than chunksize. This fixes a regression caused by f193fd80cf1f99bce2bc9f5f4a8b149219965da2 (Refactor runs_avail.). This resolves #493.
* | Merge branch 'rel-4.3.0'4.3.0Jason Evans2016-11-054-5/+23
|\ \
| * | Update ChangeLog for 4.3.0.Jason Evans2016-11-041-0/+2
| | |
| * | Fix arena data structure size calculation.Jason Evans2016-11-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix paren placement so that QUANTUM_CEILING() applies to the correct portion of the expression that computes how much memory to base_alloc(). In practice this bug had no impact. This was caused by 5d8db15db91c85d47b343cfc07fc6ea736f0de48 (Simplify run quantization.), which in turn fixed an over-allocation regression caused by 3c4d92e82a31f652a7c77ca937a02d0185085b06 (Add per size class huge allocation statistics.).
| * | Fixes to Visual Studio Project filesMatthew Parkinson2016-11-042-3/+19
| | |
* | | Merge branch 'rel-4.3.0'Jason Evans2016-11-0563-1374/+2663
|\ \ \ | |/ /
| * | Use -std=gnu11 if available.Jason Evans2016-11-041-2/+8
| | | | | | | | | | | | This supersedes -std=gnu99, and enables C11 atomics.
| * | Update ChangeLog for 4.3.0.Jason Evans2016-11-041-3/+9
| | |
| * | Fix large allocation to search optimal size class heap.Jason Evans2016-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix arena_run_alloc_large_helper() to not convert size to usize when searching for the first best fit via arena_run_first_best_fit(). This allows the search to consider the optimal quantized size class, so that e.g. allocating and deallocating 40 KiB in a tight loop can reuse the same memory. This regression was nominally caused by 5707d6f952c71baa2f19102479859012982ac821 (Quantize szad trees by size class.), but it did not commonly cause problems until 8a03cf039cd06f9fa6972711195055d865673966 (Implement cache index randomization for large allocations.). These regressions were first released in 4.0.0. This resolves #487.
| * | Fix chunk_alloc_cache() to support decommitted allocation.Jason Evans2016-11-043-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | Fix chunk_alloc_cache() to support decommitted allocation, and use this ability in arena_chunk_alloc_internal() and arena_stash_dirty(), so that chunks don't get permanently stuck in a hybrid state. This resolves #487.
| * | Update symbol mangling.Jason Evans2016-11-031-0/+3
| | |
| * | Update ChangeLog for 4.3.0.Jason Evans2016-11-031-0/+37
| | |
| * | Update project URL.Jason Evans2016-11-033-3/+3
| | |
| * | Check for existance of CPU_COUNT macro before using it.Dave Watson2016-11-031-1/+7
| | | | | | | | | | | | This resolves #485.
| * | Fix sycall(2) configure test for Linux.Jason Evans2016-11-031-2/+1
| | |
| * | Do not use syscall(2) on OS X 10.12 (deprecated).Jason Evans2016-11-034-4/+24
| | |
| * | Add os_unfair_lock support.Jason Evans2016-11-037-0/+42
| | | | | | | | | | | | | | | OS X 10.12 deprecated OSSpinLock; os_unfair_lock is the recommended replacement.
| * | Fix/refactor zone allocator integration code.Jason Evans2016-11-032-86/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix zone_force_unlock() to reinitialize, rather than unlocking mutexes, since OS X 10.12 cannot tolerate a child unlocking mutexes that were locked by its parent. Refactor; this was a side effect of experimenting with zone {de,re}registration during fork(2).
| * | Call _exit(2) rather than exit(3) in forked child.Jason Evans2016-11-031-1/+1
| | | | | | | | | | | | _exit(2) is async-signal-safe, whereas exit(3) is not.
| * | Force no lazy-lock on Windows.Jason Evans2016-11-021-5/+11
| | | | | | | | | | | | | | | | | | | | | Monitoring thread creation is unimplemented for Windows, which means lazy-lock cannot function correctly. This resolves #310.
| * | Use <quote>...</quote> rather than &ldquo;...&rdquo; or "..." in XML.Jason Evans2016-11-012-20/+21
| | |
| * | Add "J" (JSON) support to malloc_stats_print().Jason Evans2016-11-012-398/+876
| | | | | | | | | | | | This resolves #474.
| * | Refactor witness_unlock() to fix undefined test behavior.Jason Evans2016-10-312-11/+29
| | | | | | | | | | | | This resolves #396.
| * | Use CLOCK_MONOTONIC_COARSE rather than COARSE_MONOTONIC_RAW.Jason Evans2016-10-303-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | The raw clock variant is slow (even relative to plain CLOCK_MONOTONIC), whereas the coarse clock variant is faster than CLOCK_MONOTONIC, but still has resolution (~1ms) that is adequate for our purposes. This resolves #479.