Commit Graph

32 Commits

Author SHA1 Message Date
daan
ed785253bf restructure the page flags to use explicit masks 2019-08-10 17:48:00 -07:00
daan
6f3bc87dcd merge from dev 2019-08-10 10:26:46 -07:00
daan
ccc78302bf fix double assignment (#125, by @ebudai) 2019-08-10 09:53:00 -07:00
daan
442bad9190 add good-fit for allowing larger blocks in smaller segments 2019-08-09 11:18:38 -07:00
daan
5e56b40fe6 improve page flags handling 2019-08-08 17:18:49 -07:00
daan
6596e970a5 move in_full and has_aligned into page threadid for a single test in mi_free 2019-08-08 15:23:18 -07:00
daan
55778d2fe4 improved stats 2019-08-08 11:36:13 -07:00
daan
56778fe7d2 split normal and secure extend in a separate routine 2019-08-06 18:57:53 -07:00
daan
a022049705 remove old comment 2019-07-23 15:00:13 -07:00
daan
189ad0f81d small optimizations, use bitwise aligne 2019-07-23 15:00:13 -07:00
Jim Huang
b5e26bedb1 Enforce strict include-what-you-use policy
The include-what-you-use (IWYU) policy is beneficial to faster
compilation and fewer recompilations. Many build tools, such as GNU make,
provide a mechanism for automatically figuring out what .h files a .cc
file depends on. These mechanisms typically look at #include lines. When
unnecessary #includes are listed, the build system is more likely to
recompile in cases where it is not necessary.

With the enforcement, header file <include/mimalloc.h> no longer
includes <stdlib.h>.

Reference:
https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/WhyIWYU.md
2019-07-23 14:59:57 -07:00
daan
8dc0b5345b Merge branch 'dev' into dev-exp 2019-07-14 16:50:38 -07:00
daan
49ceb4d018 refactor delayed_free code 2019-07-14 16:48:53 -07:00
daan
5ad2effb39 use standard compliant compilation of the thread_free atomic field 2019-07-14 16:20:27 -07:00
daan
2cf419c9bc Merge branch 'master' into dev 2019-07-14 14:50:39 -07:00
daan
adf65a100e be less aggressive in page reuse to reduce memory footprint 2019-07-14 14:13:47 -07:00
linkwk7
d4eabf33b6 Fix typo in comments 2019-07-12 22:05:07 +08:00
daan
9e9208eae8 Merge branch 'dev' into dev-win 2019-07-11 15:22:09 -07:00
daan
1fdb4b288f more eager handling of non-local frees 2019-07-11 15:21:57 -07:00
daan
1377b26b0a Merge branch 'dev' into dev-win 2019-07-11 13:31:02 -07:00
daan
72a39c0bb1 initial fix for delayed freeing of huge pages transferred between threads 2019-07-11 13:30:40 -07:00
daan
0314373d93 add reset_decommit, reset_discard options; maintain more statistics 2019-07-09 20:24:00 -07:00
daan
7e743dfb58 fix C++ compilation warnings with VisualStudio 2017 2019-07-07 18:52:12 -07:00
daan
c3528203b5 fix compilation with C++, fix overrides in C++ to adhere to the spec (issue #26) 2019-07-07 18:11:21 -07:00
daan
158705815e fix aligned_ensured bug, trie inc bug, stats in the OS module 2019-07-03 00:16:27 -07:00
daan
5c0ffe9865 merge back changes to OS module from 'dev-exp' 2019-07-02 17:17:03 -07:00
daan
aeff1db32b Fixing interpose on macOS 2019-07-02 12:49:28 -07:00
daan
d35fc6cdc4 PR#66 by kickunderscore to ensure consistent small block alignment 2019-07-02 08:46:50 -07:00
daan
d6901558cd enable large OS page support on Windows 2019-06-28 22:35:57 -07:00
daan
1e636c45da add check for overflowing size allocation 2019-06-27 13:33:28 -07:00
Jim Huang
b1d299b35b Clarify top-level license file
To be consistent with other Microsoft open source projects, each source
file points to the file "LICENSE" in top-level directory.
2019-06-23 19:53:34 +08:00
daan
26a874eb3f initial checkin 2019-06-19 16:26:12 -07:00