Commit graph

242 commits

Author SHA1 Message Date
daanx
96b69d7ef6 fix leak where OS abandoned blocks were not always reclaimed 2024-06-03 17:28:14 -07:00
Daan
f17ddc3395 increase thread data cache to32 entries 2024-06-03 09:55:02 -07:00
daanx
855e3b2549 add support to visit _all_ abandoned segment blocks per sub-process, upstream for python/cpython#114133 2024-06-02 09:41:12 -07:00
daanx
8f874555d5 add initial support for visiting abandoned segments per subprocess, upstream for python/cpython#114133 2024-06-02 07:47:08 -07:00
Daan Leijen
f93fb900b7 move lock code to atomic.h 2024-06-01 17:25:45 -07:00
daanx
d9aa19a763 add support for sub-processes (to supportpython/cpython#113717) 2024-06-01 15:57:18 -07:00
Daan
0c4041fa53 add support for custom heap and page tags, upstream of python/cpython#113742 2024-05-19 08:06:32 -07:00
Daan
710d6138c7 refactor thread meta-data initilazation, upstream of python/cpython#113263 2024-05-18 17:42:47 -07:00
Daan
e7f2ffe26c fix build warning on alpine 32-bit 2024-05-16 18:53:50 -07:00
Daan Leijen
0022802177 commend and make at least 8 tries for reclaim 2024-03-25 15:25:04 -07:00
daanx
006ae2d055 add is_huge page flag to ensure the right page queue is returned (see #868) 2024-03-24 17:07:28 -07:00
Daan Leijen
b5665f0eec add full block_size and page_start to page info 2024-03-24 14:17:17 -07:00
Daan Leijen
60c4a0fe56 fix compilation warnings for new uint16_t size for used field 2024-03-24 08:10:35 -07:00
Daan
cc809b0cd4 take 16 bits from used field to create a fast unalign path 2024-03-18 01:40:03 -07: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
Daan
027b22aaf2 add arena stats 2024-03-03 09:37:46 -08:00
Daan
16c3f1292c Fix compile error on OpenBSD #773, by @sundb 2024-03-02 16:57:10 -08:00
daanx
d7a72c4912 fix thread data leak; issue #748 2023-05-19 09:12:46 -07:00
daanx
632edf9996 rename was_zero/committed to initially_zero/committed 2023-04-24 09:03:43 -07:00
daanx
b845be241a wip: use memid for OS allocation 2023-04-18 16:38:47 -07:00
daanx
f42c66ccce fix build on vs2017/2019 2023-04-17 10:13:36 -07:00
daanx
a655c28b66 cleanup 2023-04-16 12:29:21 -07:00
daanx
0174d19af3 increase thread data cache to 16 2023-04-15 19:49:14 -07:00
daanx
48d0d0da9b fix thread data cache to use pure os alloc 2023-04-13 15:27:20 -07:00
daanx
0ba79d01f6 allow static allocation in arenas for internal metadata 2023-04-13 13:19:39 -07:00
daanx
eb62caeda0 allow per page purging instead of reset 2023-04-08 17:37:58 -07:00
daanx
55df1f3a54 more detailed stats, including purges 2023-04-05 09:48:22 -07:00
daanx
83aa635485 implement arena destroy on program exit 2023-04-04 18:44:08 -07:00
daanx
d01017ffda extend primitive api with is_zero parameters 2023-04-04 16:32:39 -07:00
daanx
461df1e878 implement arena exclusive heap allocation for dev 2023-04-04 15:40:43 -07:00
daanx
77766e20a6 use only arena's instead of regions 2023-04-04 14:58:06 -07:00
Daan Leijen
595add5e3d wip: initial work on purgable arenas 2023-03-31 20:51:35 -07:00
Daan Leijen
dd7b99d477 apply some spelling fixes from PR #710 2023-03-29 16:10:01 -07:00
Daan Leijen
a21ddd03fe add verbose message if thread sanitizer is enabled 2023-03-23 11:21:45 -07:00
Daan
d976fbe08b remove spurious include 2023-03-22 09:56:40 -07:00
Daan
96b55bd0bb potential fix for macOS issue #697 2023-03-22 09:48:40 -07:00
Daan
06f0ba232e prevent reentrancy on thread_done (issue #699) 2023-03-20 14:23:52 -07:00
Daan Leijen
0b4c3da2e9 make process init race free (issue #701) 2023-03-20 13:55:39 -07:00
Daan Leijen
f58357548c restructure header files 2023-03-20 10:37:39 -07:00
Daan Leijen
1a99efc671 integrate ETW windows event tracing into mimalloc as another track tool 2023-03-16 20:08:43 -07:00
Xinglong He
072316bd33 add etw support 2023-03-16 17:47:20 -07:00
Daan
7d834864bb fix macOSX compilation 2023-03-16 11:35:11 -07:00
Daan Leijen
9a2dbf373e move thread init to primitives 2023-03-15 13:35:23 -07:00
Daan Leijen
9b110090b2 move threadid and mi_get_default_heap to primitives 2023-03-14 20:35:00 -07:00
Daan Leijen
3579d3b861 move mi_thread_id to primitives 2023-03-14 19:38:45 -07:00
Daan
6dcebdc303 fix sizes in memory tracking and padding for huge alignments 2023-03-04 14:49:02 -08:00
Daan Leijen
e68f2c1479 fix recursion issue on exit on windows, #672 2022-12-23 13:02:16 -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
10981ab122 add initial support for using mimalloc with address sanitizer support; use -DMI_ASAN=ON 2022-11-28 10:55:19 -08:00
Daan Leijen
e6ab602ca1 add comment 2022-11-21 10:24:02 -08:00