275 Commits

Author SHA1 Message Date
Daan Leijen
6ac636e2e2 update readme 2024-12-16 23:22:52 -08:00
Daan Leijen
d5e1a62a7c add windows arm64 target to vs2022 2024-12-16 22:51:30 -08:00
daanx
c8607a8d01 remove os_tld and stats parameters to os interface 2024-12-08 17:56:13 -08:00
daanx
d9a2f76ff7 fix write to empty heap in mi_guarded build 2024-12-08 17:23:09 -08:00
daanx
9cae0d31cd Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2024-11-17 23:30:19 -08:00
daanx
d57cb0765d add guarded objects that are sampled (and fit a size range). guarded sample rate etc can be set per heap as well as defaulted with options 2024-11-17 22:45:09 -08:00
daanx
8ba1879073 add sampling for guarded objects 2024-11-17 00:06:16 -08:00
daanx
8b6017d976 rename mi_debug_guarded_ to mi_guarded_ 2024-11-16 22:42:32 -08:00
daanx
498c92e348 update guarded implementation to use block tags 2024-11-16 21:15:50 -08:00
Daan Leijen
c57e9b855c fix std malloc compile of the stress test 2024-11-16 19:43:13 -08:00
Daan
e2f4fe647e update test file 2024-10-29 22:23:21 -07:00
Daan
5f35933331 add 0 byte to canary to prevent spurious read overflow to read the canary (issue #951, pr #953) 2024-10-27 21:39:07 -07:00
Daan
50d3525a8c add test for issue #944 2024-10-21 05:04:27 -07:00
Daan
db3d8485d2 increase TSAN test to 400 iterations 2024-08-21 17:13:51 -07:00
Daan
51025f1ac2 set lower parameters for guarded test 2024-08-21 15:29:32 -07:00
Daan Leijen
4234a9bd9d Merge branch 'dev-guarded' into dev 2024-08-21 11:30:33 -07:00
daanx
b5c6495f69 don't consider memory as large OS pages if only madvise'd 2024-08-20 15:58:36 -07:00
daanx
635cf7af6a fix multi-threaded free to unprotect guarded blocks 2024-08-20 09:55:57 -07:00
daanx
0c19eb60cf initial working guarded pages 2024-08-19 21:21:40 -07:00
Daan
e0baf882bb reduce UBSAN parameters to stay within pipeline limits 2024-06-03 21:26:38 -07:00
Daan
b123bbe6c0 increase iterations for tsan test 2024-06-03 21:13:34 -07:00
daanx
b1188ea336 fix potential race on subproc field in the segment 2024-06-03 20:57:00 -07:00
daanx
76b0873ce2 fix asan tracking by explicitly setting memory to undefined before a free 2024-06-03 20:28:47 -07:00
daanx
f02a0b3541 more aggressive reclaim from free for OS blocks 2024-06-03 14:05:57 -07:00
daanx
1a9cf7bce2 switch between OS and arena allocation in stress test 2024-06-03 11:43:35 -07:00
Daan
768872e4e0 typo in stress test 2024-06-02 16:24:13 -07:00
daanx
a964322a21 revise the segment map to only apply to OS allocated segments and reduce the .BSS footprint 2024-06-02 14:46:59 -07:00
daanx
5501f59f6c only reclaim for exclusive heaps in their associated arena 2024-06-02 13:16:20 -07:00
daanx
635d626c82 fix leak in abandoned block visiting 2024-06-02 10:43:41 -07:00
daanx
f7fe5bf20e optimize heap walks, by Sam Gross, upstream of python/cpython#114133 2024-06-02 10:28:30 -07:00
Daan Leijen
0b3cd51249 add initial primitive api for locks 2024-06-01 16:45:20 -07:00
Daan
0dcdc55bbd better aligned test 2024-05-11 07:09:30 -07:00
Daan
c70c1df16a better fast path for aligned allocation; check max alloc size correctly in the aligned fallback 2024-05-10 20:19:17 -07:00
Daan
c13c17f1d0
Merge pull request #864 from rHermes/fix-passing-heap
Avoid compilation error when passing in heap_t to C++ allocators
2024-04-19 10:07:55 -07:00
Daan
06b510c42d fix build pipeline for ASAN 2024-04-19 09:41:24 -07:00
Daan Leijen
6688b45fbd rename MI_ALIGNMENT_MAX to MI_BLOCK_ALIGNMENT_MAX for clarity 2024-03-24 10:57:02 -07:00
Teodor Spæren
3d89f6388e Fix std::shared_pointer calling free on provided heap pointers 2024-03-09 15:14:32 +01:00
daanx
5fe83bf327 limit reclaim from free to half the segments to prevent a pure freeing thread to reclaim too many segments 2024-03-03 17:38:50 -08:00
daanx
70e3ce07d1 Merge branch 'dev' into dev-abandon 2024-03-02 17:34:58 -08:00
Daan
c6750c51ab Fix new[] / delete mismatch. #745 2024-03-02 17:16:03 -08:00
daanx
16c0948ee5 improve display of arenas and contained blocks 2024-03-01 16:24:28 -08:00
daanx
931d523dcc update mstress to let the main thread participate 2024-02-29 18:17:58 -08:00
daanx
2a6352fef2 add further zero initialization checks 2023-04-22 10:18:57 -07:00
daanx
173382ef60 is_zero review; fix asan check 2023-04-18 17:52:16 -07:00
daanx
4d976270eb review is_zero flag 2023-04-18 17:18:39 -07:00
daanx
2f878354f4 add arena contains check for valid pointers 2023-04-18 14:13:55 -07:00
Daan Leijen
72f3ba95a8 reduce iterations under tsan 2023-04-17 12:08:22 -07:00
daanx
8027fcfecd Merge branch 'dev' into dev-reset 2023-04-15 17:59:01 -07:00
Daan
462080a92e add test for issue #602 2023-04-14 10:02:01 -07:00
Daan
9535726528 fix warnings on latest macOS 2023-04-14 09:42:04 -07:00
daanx
b6a395b5ec reset stats more early for mstress 2023-04-04 19:18:47 -07:00
Daan Leijen
dd7b99d477 apply some spelling fixes from PR #710 2023-03-29 16:10:01 -07:00
Daan
2141e414a7
Merge pull request #708 from devnexen/new_placement_tests
c++ override test new placement operator
2023-03-29 15:57:53 -07:00
Daan Leijen
0ca31d2db1 fix pipeline for tsan 2023-03-29 12:20:29 -07:00
Daan
b893311365 Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2023-03-20 14:23:00 -07:00
Daan
01b460fedb add std::string test for macos 2023-03-20 13:24:11 -07:00
Daan Leijen
f58357548c restructure header files 2023-03-20 10:37:39 -07:00
David Carlier
cbccbbe9a4 c++ override test new placement operator 2023-03-18 11:11:49 +00:00
Daan Leijen
134b23b921 fix asan/valgrind api fill test 2023-03-16 17:42:00 -07:00
Daan Leijen
2e6ab0f230 add documentation for tracking tools; rename with prefix MI_TRACK_tool 2023-03-06 09:02:38 -08:00
Daan Leijen
82c85d1a13 fix valgrind mem for large alignment 2023-03-05 18:03:04 -08:00
Daan
6dcebdc303 fix sizes in memory tracking and padding for huge alignments 2023-03-04 14:49:02 -08:00
Daan
cb4fc2c792 reset stats for stress test when using mimalloc 2023-03-04 09:17:35 -08:00
Daan Leijen
6a230f8329 fix compilation of heap specific STL allocators for vs2017 2023-02-07 11:07:52 -08:00
Daan Leijen
9adb032e9c test non-default heap 2022-12-23 13:04:53 -08:00
Daan Leijen
ef3f651f3f change implementation of mi_realpath to be more robust; see issue #660 2022-12-19 18:59:33 -08:00
Johannes Schindelin
745a34f475 Fix whitespace
This mostly deletes trailing spaces.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 00:24:20 +01:00
Daan Leijen
e42a22c9ca fix warnings 2022-11-28 09:59:48 -08:00
Daan Leijen
c1299484de refactor C++ STL allocator definitions (pr #651) 2022-11-27 13:00:15 -08:00
Daan
81b261e657 add test for #587 2022-11-25 15:44:24 -08:00
Daan
78af17e3b3 add extra alignment test 2022-11-25 14:03:00 -08:00
Daan Leijen
a7bd9c08c8 fix decommit of huge pages 2022-11-23 09:58:45 -08:00
Daan Leijen
969d8bc5fe make huge pages part of the regular page queues again 2022-11-22 20:56:35 -08:00
Daan Leijen
9617f16df9 add STL allocators that use a specific heap and can destroy at the end; see original PR #625 by @vmarkovtsev 2022-11-22 16:58:32 -08:00
Daan Leijen
35d332141d experimental destroy_on_exit option for statically linked mimalloc in a dynamically unloaded DLL 2022-11-18 11:00:23 -08:00
daan
2479d168ad decommit unused prefix of large aligned blocks 2022-11-07 16:41:40 -08:00
daan
1f12c3dd12 remove MI_ALIGNMENT_MAX and add comments 2022-11-07 11:13:42 -08:00
daan
a200291ae5 further progress on removing aligned limit 2022-11-06 08:26:17 -08:00
daan
6a80fa3ac1 initial progress on removing alignment limit 2022-11-05 14:46:52 -07:00
daan
2d3f0e5b7a fix align5 test 2022-11-01 16:34:17 -07:00
daan
640376a500 update readme 2022-10-30 14:52:26 -07:00
daan
05a75758dd fix tests 2022-10-30 14:07:41 -07:00
daan
84c706508c fix false positives from valgrind in rptest 2022-10-30 10:45:51 -07:00
daan
a1f5a5d962 fix various false positives in test-stress from valgrind 2022-10-29 14:37:55 -07:00
daan
eee7c40da5 updates to run valgrind on test-api 2022-10-29 11:43:09 -07:00
daan
093724bdef add test file for valgrind integration 2022-10-28 20:07:31 -07:00
daan
6eeb81ee05 initial progress on valgrind integration 2022-10-28 19:54:56 -07:00
Daan Leijen
d69d4c861f add zero parameter to primitive allocation to improve codegen for calloc etc 2022-04-19 18:32:35 -07:00
Daan Leijen
d6f3e74684 fix test macros 2022-04-19 10:49:39 -07:00
Daan Leijen
a158aef235 fix for realloc with size 0: returning NULL from realloc now always indicates an error (issue #574) 2022-04-19 10:31:55 -07:00
Daan Leijen
8713959498 update test macros; add realloc tests 2022-04-19 10:21:41 -07:00
Daan Leijen
5b172280b0 add nodiscard annotations to fix warnings in msvc 2022-04-19 10:10:10 -07:00
Daan Leijen
016b2ad535 nicer heap walk test 2022-04-09 14:08:27 -07:00
Daan Leijen
e18a8cd72e add heap walk test 2022-04-08 16:58:32 -07:00
daan
ccbc8ae0bb add huge allocation test (see #544 by @Tiran) 2022-02-10 11:46:28 -08:00
Daan Leijen
320f95f6cd further fixes to allow statically linking mimalloc in DLL modules (issue #508) 2022-01-10 16:07:22 -08:00
Frank Richter
691eb0d8ed Add tests to check "freed memory fill" behaviour in debug mode 2021-12-21 16:20:59 +01:00
Frank Richter
1cf7ca021d Add tests for debug mode "uninit fill" behaviour 2021-12-21 16:20:59 +01:00
Frank Richter
969f3a6998 Add tests for zero-initialization functions 2021-12-21 16:20:56 +01:00
Frank Richter
d7105c20a9 Move test macros/helpers to a separate header 2021-12-21 12:48:51 +01:00