434 Commits

Author SHA1 Message Date
Daan Leijen
3ad1461db0 Merge branch 'dev' into dev-slice 2025-01-02 17:21:41 -08:00
Daan Leijen
e8c27072a1 fix alignment for mi_manage_os_memory (issue #980) 2025-01-02 17:21:34 -08:00
daanx
a2cb1d5d19 Merge branch 'dev' into dev-slice 2024-12-25 13:36:02 -08:00
daanx
63f47569f2 fix debug_show_arenas parameters 2024-12-25 13:35:54 -08:00
daanx
a1cfe9667c Merge branch 'dev' into dev-slice 2024-12-25 13:31:08 -08:00
daanx
587e08ccd4 improve commit stats 2024-12-25 11:12:26 -08:00
Daan Leijen
3903f09b28 merge from dev 2024-12-20 13:57:24 -08:00
Daan Leijen
f3d83e5fa6 insert full pages at the end of the queue; only override page candidate if the page is not too full 2024-12-20 13:55:31 -08:00
Daan Leijen
b6019897c1 Merge branch 'dev' into dev-slice 2024-12-19 11:50:42 -08:00
Daan Leijen
0c6235e129 add _base test for redirection 2024-12-19 11:37:42 -08:00
Daan Leijen
a188fe1a5e Merge branch 'dev' into dev-slice 2024-12-19 11:31:01 -08:00
Daan Leijen
27d929f338 add support for arm64ec 2024-12-18 23:55:37 -08:00
Daan Leijen
c57873ede7 merge from dev 2024-12-17 00:09:33 -08:00
Daan Leijen
ac52b6967d update arm64 redirection 2024-12-17 00:06:03 -08:00
Daan Leijen
806bf8ea7e merge from dev 2024-12-16 23:44:56 -08:00
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
Daan
c58990d4eb fix syntax error (issue #963) 2024-11-22 13:55:10 -08:00
Daan
54c5af5862 Merge branch 'dev' into dev-slice 2024-11-17 23:37:32 -08:00
daanx
9cae0d31cd Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2024-11-17 23:30:19 -08:00
daanx
54ee4e7632 merge from dev 2024-11-17 23:29:21 -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
826425d5ab fix merge error, issue #955 2024-11-02 06:24:28 -07:00
Daan
5cd09cec76 merge from dev 2024-10-29 22:24:24 -07:00
Daan
e2f4fe647e update test file 2024-10-29 22:23:21 -07:00
Daan
c0e1132674 merge from dev 2024-10-27 22:17:23 -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
e58e41c8da merge from dev 2024-10-21 05:07:12 -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
532141fda2 Merge branch 'dev' into dev-slice 2024-08-21 15:39:31 -07:00
Daan
51025f1ac2 set lower parameters for guarded test 2024-08-21 15:29:32 -07:00
Daan Leijen
3ec3aaf858 merge from dev 2024-08-21 11:33:11 -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
Daan Leijen
1ab67d44c8 merge from dev-guarded 2024-08-20 12:57:20 -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
64f3afdda4 merge from dev 2024-06-03 21:31:36 -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
f79ea2461a merge from dev 2024-06-03 21:01:23 -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
Daan Leijen
7c67114fd4 merge from dev 2024-06-03 18:14:44 -07:00
daanx
f02a0b3541 more aggressive reclaim from free for OS blocks 2024-06-03 14:05:57 -07:00
daanx
043df00a97 Merge branch 'dev' into dev-slice 2024-06-03 11:43:49 -07:00
daanx
1a9cf7bce2 switch between OS and arena allocation in stress test 2024-06-03 11:43:35 -07:00
Daan
f77adf4a18 merge from dev (visit abandoned, upstream of python/cpython#114133) 2024-06-02 17:03:13 -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
e8206e9f6f merge from dev improved aligned allocation 2024-05-11 07:08:48 -07:00
Daan
e17b99de77 merge from dev 2024-05-10 20:27:09 -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
da1d64f05a Merge branch 'dev' into dev-slice 2024-04-19 10:08:57 -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
78418b3d24 fix overflow of slice count, PR #877 2024-04-19 10:03:14 -07:00
Daan
06b510c42d fix build pipeline for ASAN 2024-04-19 09:41:24 -07:00
daanx
630521e8db merge from dev 2024-03-25 16:05:39 -07:00
Daan Leijen
3c85983a35 merge from dev with new page fields (block_size and is_huge) 2024-03-24 22:12:33 -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
abb8eab9b2 merge from dev 2024-03-03 17:43:52 -08: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
ccd2ac644d merge from dev-slice 2024-03-02 17:36:23 -08:00
daanx
70e3ce07d1 Merge branch 'dev' into dev-abandon 2024-03-02 17:34:58 -08:00
Daan
7ff4607f6c merge from dev 2024-03-02 17:26:38 -08:00
Daan
c6750c51ab Fix new[] / delete mismatch. #745 2024-03-02 17:16:03 -08:00
daanx
2845f0cab3 merge from dev-abandon 2024-03-01 16:26:46 -08:00
daanx
16c0948ee5 improve display of arenas and contained blocks 2024-03-01 16:24:28 -08:00
daanx
f57c9e16bd merge from dev-abandon 2024-02-29 18:34:50 -08:00
daanx
931d523dcc update mstress to let the main thread participate 2024-02-29 18:17:58 -08:00
daanx
063f25ba11 merge from dev 2023-04-22 10:20:24 -07:00
daanx
2a6352fef2 add further zero initialization checks 2023-04-22 10:18:57 -07:00
daanx
eff7940f30 merge from dev 2023-04-18 17:54:07 -07:00
daanx
173382ef60 is_zero review; fix asan check 2023-04-18 17:52:16 -07:00
daanx
fb07276d48 merge from dev 2023-04-18 17:33:01 -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
daanx
a200f013bf Merge branch 'dev' into dev-slice 2023-04-17 12:14:38 -07:00
Daan Leijen
72f3ba95a8 reduce iterations under tsan 2023-04-17 12:08:22 -07:00
daanx
6f531a61ef Merge branch 'dev-reset' into dev-slice-reset 2023-04-15 17:59:26 -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
940e890dd0 Merge branch 'dev-reset' into dev-slice-reset 2023-04-04 19:18:58 -07:00
daanx
b6a395b5ec reset stats more early for mstress 2023-04-04 19:18:47 -07:00
Daan Leijen
c4220e43b6 merge from dev 2023-03-29 16:24:55 -07:00
Daan Leijen
dd7b99d477 apply some spelling fixes from PR #710 2023-03-29 16:10:01 -07:00