Commit graph

242 commits

Author SHA1 Message Date
daan
b052d3b731 enable double free and heap corruption detection in debug mode 2019-10-28 15:54:33 -07:00
daan
081e2d1eb6 fix statistics display 2019-10-28 13:43:42 -07:00
daan
25246070ae fix double free check in secure = 4 mode; inline _mi_ptr_cookie 2019-10-19 08:34:18 -07:00
daan
5de851a84d update page_flags to have more portable definition 2019-10-17 16:48:16 -07:00
daan
26c27fbf58 use uint8_t bit fields, and improve portability of page_flags type 2019-10-17 12:07:26 -07:00
daan
5744f90882 remove thread init/done verbose messages 2019-09-17 17:35:20 -07:00
daan
23155c5d71 add recursion guard to deferred callback 2019-09-09 08:02:41 -07:00
daan
3bbc047ba6 reserve huge pages returns actual number of pages reserved 2019-09-04 12:26:02 -07:00
daan
6c43ae2bde add later thread-done invokation; add mi_is_redirected call 2019-09-04 12:00:41 -07:00
daan
d1bd1644d5 support zero-initialized memory detection 2019-09-02 13:16:52 -07:00
daan
f35f643508 merge from dev 2019-08-29 09:52:22 -07:00
daan
a654732d99 merge from dev new atomics 2019-08-26 12:30:03 -07:00
daan
2c19388bcf initialize mimalloc options at process load 2019-08-26 11:44:41 -07:00
daan
baabc77503 use proper atomic initialization macros 2019-08-25 23:02:41 -07:00
daan
6c6fcad242 remove threadid from pages and keep page flags separate (cherry picked) 2019-08-23 21:42:24 -07:00
daan
acde83543f remove threadid from pages and keep page flags separate 2019-08-23 14:08:00 -07:00
daan
71121a7457 Merge branch 'dev-win' into dev-exp 2019-08-21 11:12:25 -07:00
daan
e7bd8c5d14 merge with dev-win 2019-08-21 11:11:40 -07:00
Daan Leijen
13ca6a088b Merge branch 'dev' into dev-win 2019-08-21 08:11:26 -07:00
Daan Leijen
311794b296 remove debug statement 2019-08-21 08:11:16 -07:00
Daan Leijen
12257e5bc1 fix thread-id reset on page abandonment 2019-08-21 08:09:28 -07:00
Daan Leijen
cc6d14c55b fix thread-id reset on page abandonment 2019-08-21 08:06:40 -07:00
daan
86d4ded831 Merge branch 'dev' into dev-exp 2019-08-20 08:27:46 -07:00
daan
7a2e0df5ea merge from dev 2019-08-20 07:37:46 -07:00
daan
05631ebfc4 Merge branch 'dev' into dev-win 2019-08-19 21:23:04 -07:00
daan
74299646bb fix heap cookie and random order on initialization (issue #131) 2019-08-19 19:22:13 -07:00
daan
0e639addb0 add environment option to reserve huge pages upfront 2019-08-19 14:14:50 -07:00
daan
5b2f4184b3 Merge branch 'dev' into dev-exp 2019-08-19 11:37:39 -07:00
Daan Leijen
069c26dbab fix small object size check in mi_segment_page_alloc 2019-08-16 18:40:30 -07:00
daan
f35c2c5201 improve message printing from redirection module 2019-08-11 16:38:58 -07:00
daan
0c912445c4 Merge branch 'dev' into dev-exp 2019-08-11 14:46:53 -07:00
daan
0fd898315c per thread region search index 2019-08-11 12:15:13 -07:00
daan
2e924150ae further layout improvement for msvc code generation 2019-08-11 11:30:24 -07:00
daan
7b105c4810 improve layout of page for x64 2019-08-11 10:31:00 -07:00
daan
2c1da9d194 fix scalar initialization of page flags 2019-08-11 09:03:52 -07:00
daan
d71e67b689 Merge branch 'dev' into dev-exp 2019-08-11 09:00:39 -07:00
daan
dbe010f2d4 add huge and giant stats; increase bins 2019-08-10 20:51:37 -07:00
daan
737b05cc25 remove unused fields from OS thread local data 2019-08-10 17:50:27 -07:00
daan
3d9d70bce0 add new redirection module; fix environment reading at preloading 2019-08-10 09:39:36 -07:00
daan
7b16aa9302 remove accidental commit of different size bins experiment 2019-08-09 11:22:38 -07:00
daan
442bad9190 add good-fit for allowing larger blocks in smaller segments 2019-08-09 11:18:38 -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
bbf97fa02d merge from 'dev-exp'; add support for MIMALLOC_OVERRIDE environment variable 2019-07-26 12:06:15 -07:00
daan
dd79b662f8 restore to old-style windows override; fix debug mode 2019-07-23 15:51:08 -07:00
daan
189ad0f81d small optimizations, use bitwise aligne 2019-07-23 15:00:13 -07:00
daan
66b8c37ab3 ensure C++ compilation on windows 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
f0530b6a83 small optimizations, use bitwise aligne 2019-07-22 20:51:12 -07:00
daan
7c26ce9280 ensure C++ compilation on windows 2019-07-22 10:27:14 -07:00