192 Commits

Author SHA1 Message Date
Daan Leijen
bd56782f26 bump version to 2.0.0 2021-01-31 14:02:06 -08:00
Daan Leijen
8bcc60edd9 Merge branch 'dev' into dev-slice 2021-01-31 13:57:35 -08:00
Daan Leijen
92ead2d880 bump version to 1.7.0 2021-01-31 13:51:19 -08:00
Daan Leijen
e314699ee0 add debug view of arenas 2021-01-28 17:32:42 -08:00
Daan Leijen
3c70317393 merge from dev 2020-12-15 16:07:23 -08:00
Daan Leijen
bb386025b5 update override on macOS with interpose of malloc_default_zone (issues #313) 2020-12-15 16:03:54 -08:00
Daan Leijen
b803095b83 merge from dev 2020-12-10 13:17:56 -08:00
David Carlier
e6c2fd44fc DragonFly support fix (for 5.8.x and forward).
The pthread slot approach is somewhat buggy (pretty visible
 with the stress unit test which segfault more or less randomly,
 but the stats never show up).
Using the default approach instead, the test passes eventough
 it s relatively slow (e.g 1.5 sec on FreeBSD vs 4.5 on DragonFly with same
 machine).
2020-10-22 11:15:37 +01:00
daan
7e96634da4 merge from dev 2020-10-11 13:38:12 -07:00
daan
7114d5424a fix statistics to include padding correctly (issue #301) 2020-10-11 13:14:43 -07:00
daan
b59abce8ea Merge branch 'dev' into dev-slice 2020-09-24 10:16:54 -07:00
daan
9d5098c705 bump version to 1.6.7 for further development 2020-09-24 10:16:40 -07:00
daan
f88b4b4c27 extend mi_process_info to include elapsed time 2020-09-24 10:13:25 -07:00
daan
fbaa70e1eb increase default test load to 25% to increase azure pipeline test load 2020-09-14 11:01:17 -07:00
daan
fa01875eb2 merge from dev (with is_pinned/is_large separation) 2020-09-08 17:54:58 -07:00
daan
364674185e add option to limit OS allocation and only allow allocation from arenas 2020-09-08 16:56:51 -07:00
daan
371532ff02 merge from dev 2020-09-07 21:43:05 -07:00
daan
c7272afa9a add mi_reserve_os_memory/mi_manage_os_memory; allow arena allocations to cross multiple bitmap fields 2020-09-07 21:34:34 -07:00
daan
b7046934e5 Merge branch 'dev' into dev-slice 2020-09-06 13:53:30 -07:00
daan
46ee8952eb update mi_process_info to not use doubles 2020-09-06 13:53:02 -07:00
daan
8c838a949f Merge branch 'dev' into dev-slice 2020-09-06 13:22:44 -07:00
daan
ee286919d9 add mi_process_info api call 2020-09-06 13:21:19 -07:00
daan
36da7e91c5 Merge branch 'dev' into dev-slice 2020-09-05 18:17:22 -07:00
daan
f09549c98f use main stats for thread count 2020-09-05 18:00:36 -07:00
daan
0d0b5e3fad restore stress workload for windows pipeline 2020-09-05 11:19:35 -07:00
daan
78f1f9bd5e reduce stress workload for windows pipeline 2020-09-05 11:16:40 -07:00
daan
4df01218e2 fix msvc compilation with new atomics 2020-09-05 10:03:37 -07:00
daan
97f56b1e08 merge from dev 2020-09-04 14:21:33 -07:00
daan
d73d6beb71 add aslr test (issue #289) 2020-09-04 10:41:10 -07:00
daan
03071dec0f merge from dev-atomic with new atomic interface 2020-09-03 12:13:09 -07:00
daan
900c97664a merge from dev-atomic 2020-09-03 09:47:01 -07:00
daan
b4825372ab small compilation warning fixes (extra semicolon etc) 2020-08-29 19:30:38 -07:00
daan
2cffc3b851 merge from dev 2020-08-27 22:43:57 -07:00
daan
a9686d6ecf avoid link error on non-windows 2020-08-06 13:37:11 -07:00
daan
a468430772 strengthen memory order of bit operations; insert memory fences 2020-07-26 14:19:30 -07:00
daan
8769082d63 add pointer validity check in debug mode for mi_usable_size/mi_realloc/mi_expand. Issue #269 2020-07-20 14:33:03 -07:00
daan
53aa46890a merge from dev 2020-05-05 10:54:59 -07:00
daan
7c24edfeb0 add thread-id check for thread local FLS callbacks on Windows with static linking; found by @jasongibson 2020-05-04 14:31:32 -07:00
daan
37b43e4cea improved arena cache 2020-05-02 10:37:33 -07:00
daan
1b0de9b4cf merge from dev 2020-04-28 16:22:38 -07:00
daan
69a0846478 add MI_PADDING flag to cmake to supress use of padding in debug mode 2020-04-07 10:01:18 -07:00
daan
afc4f79a69 fix for ensuring heap initialization with static linking on windows on huge allocations (issues #221) 2020-04-06 12:15:12 -07:00
daan
0a3e5bb699 further fixes to compile on mingw without warnings (issue #217) 2020-04-06 10:56:53 -07:00
daan
faa83a1c47 fix issue number: 212 to #221 2020-04-06 09:19:26 -07:00
daan
c7e9cfd3ed add test case for issue #212 2020-04-06 08:32:25 -07:00
Daan
1ece3ff6aa
Merge pull request #220 from cormacrelf/usable_size
Don't call mi_page_usable_size_of with an aligned pointer
2020-04-06 08:05:34 -07:00
Cormac Relf
414acd49ab Add test to exercise mi_usable_size on aligned allocations 2020-04-06 22:50:21 +10:00
daan
1f396e64a0 merge from dev 2020-03-16 16:41:21 -07:00
daan
ec61224db0 fix padding issue with zero sized allocation (issue #209) 2020-02-18 20:05:30 -08:00
daan
baf08e8d54 fix size check on overflow when padding is enabled in debug mode 2020-02-17 09:59:34 -08:00
daan
e981e9227e ensure thread delayed freeing is correct during heap_absorb; #204 2020-02-13 13:12:19 -08:00
daan
8a2a52843d delete all thread owned heaps when a thread is terminated (issue #202) 2020-02-13 12:15:23 -08:00
daan
946a71c4a9 fix issue #204 (and #205) by doing thread delayed free after absorbing the pages 2020-02-13 11:37:48 -08:00
daan
f42b8526d0 fix wrong __declspec(restrict) and __attribute__((malloc)) attributes on reallocation functions 2020-02-13 10:36:39 -08:00
daan
04f1c3b1e2 bump version to v1.6.0 2020-02-09 18:53:39 -08:00
daan
b241be7075 reenable mimalloc in the stress test 2020-02-02 22:08:33 -08:00
daan
d516c9f99c Merge branch 'dev-exp' into dev-exp-tls 2020-02-02 22:02:16 -08:00
daan
f3c47c7c91 improved malloc zone handling on macOSX (not working yet) 2020-02-02 21:03:09 -08:00
daan
f0dc6e7e42 add extra alignment test 2020-02-02 16:21:06 -08:00
daan
bb64634e4e Merge branch 'dev-exp' into dev-exp-tls 2020-02-01 17:48:57 -08:00
daan
3f17ac287c add 'nodiscard' attribute to mimalloc interface 2020-02-01 17:29:30 -08:00
daan
0989562c2d add initial fast tls for macOSX 2020-02-01 16:57:00 -08:00
daan
a169cf0e3f merge dev-exp; add pthread TLS support for macOSX 2020-02-01 14:10:10 -08:00
daan
40f1e1e07b byte-precise heap block overflow checking with encoded padding 2020-01-31 23:39:51 -08:00
daan
68112a2751 better padding implementation, more precise statistics 2020-01-31 20:34:24 -08:00
daan
03b363a1c2 first working tls on macOS using interpose; still slow 2020-01-29 22:46:44 -08:00
daan
5d212d688f add MI_PADDING build option to add padding to each block to detect heap block overflows 2020-01-29 17:10:57 -08:00
daan
b50bec463d merge from dev-exp; better abandoned reclamation 2020-01-27 22:12:23 -08:00
daan
19a0d9dfa0 clean up stress test 2020-01-25 12:51:56 -08:00
daan
5e32d00aab add visit count to abandoned to limit list length 2020-01-25 12:26:08 -08:00
daan
b31bc52618 add cache alignment directives for contended variables 2020-01-24 19:02:13 -08:00
daan
e070eba112 fix tagged null encoding, search segment cache before reclaim 2020-01-24 16:31:18 -08:00
daan
8cf4882a85 fix linux build 2020-01-24 10:38:25 -08:00
daan
8b1520f5c1 make stress test deterministic 2020-01-23 21:53:28 -08:00
daan
58fdcbb0cd fix bug in collect where has_page was not set on free pages 2020-01-23 21:37:14 -08:00
daan
f8ab4bd7dc add leak test 2020-01-23 19:49:32 -08:00
daan
66818bf632 use atomic yield on delayed-freeing; clarify code 2020-01-23 09:57:55 -08:00
daan
e226ebcc97 Merge branch 'dev' into dev-arena 2020-01-22 20:39:33 -08:00
daan
0f14f431c5 bump version to 1.5 for further development 2020-01-22 18:33:07 -08:00
daan
394a7a92ab merge from dev 2020-01-20 19:06:08 -08:00
daan
5bc1c52ae6 update documentation 2020-01-20 17:34:29 -08:00
daan
146899af8a add missing members to stl allocator (#193) 2020-01-20 15:27:05 -08:00
daan
9d7ac76d93 fix compilation under Intel C compiler (icc) 2020-01-19 18:35:45 -08:00
daan
e8d7c80c74 fix build warnings on linux 2020-01-19 17:33:36 -08:00
daan
41e717c2e0 fix assertion in mi_block_zero_init (issue #194) 2020-01-18 20:30:12 -08:00
daan
dc58388968 Add ability to register custom error function called on various error conditions; including ENOMEM 2020-01-17 19:59:55 -08:00
Daan
97bd204c42
Merge branch 'dev' into kile/stl 2020-01-16 15:33:13 -08:00
Kirsten Lee
526bee6843 merge stl and main header 2020-01-16 15:17:15 -08:00
daan
202246425b bump version to 1.4 for further development 2020-01-15 12:16:53 -08:00
daan
783e3377f7 add output argument to stat printing 2020-01-15 10:53:54 -08:00
daan
4a27ea1643 merge from dev 2020-01-13 18:01:34 -08:00
daan
940df53b0a fix iteration count display in stress test 2020-01-08 17:57:17 -08:00
daan
683d8998d4 fix potential A-B-A problem with segment abandonment; noticed by Manual Poeter and Sam Gross 2020-01-08 17:45:38 -08:00
daan
5d2f111f64 make the stress test do more iterations under a smaller load to stay under 1GiB committed and increase thread interaction 2020-01-08 16:33:45 -08:00
Kirsten Lee
0a2520490b only include vector header when compiling c++ 2020-01-06 16:44:55 -08:00
Kirsten Lee
743e891738 add stl mimalloc wrapper 2020-01-06 16:18:22 -08:00
daan
128cdd1dfb merge from dev 2019-11-24 18:51:09 -08:00
Daan Leijen
0d3c195f37 update stress test with more documentation 2019-11-22 11:28:55 -08:00
daan
f45ec667a3 Merge branch 'dev' into dev-arena 2019-11-22 09:29:00 -08:00
daan
24b768363e bump version to 1.3 for further development 2019-11-22 09:28:48 -08:00