Commit Graph

74 Commits

Author SHA1 Message Date
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
Daan Leijen
7c67114fd4 merge from dev 2024-06-03 18:14:44 -07:00
daanx
96b69d7ef6 fix leak where OS abandoned blocks were not always reclaimed 2024-06-03 17:28:14 -07:00
daanx
3333f776f9 push os abandoned blocks at the tail end 2024-06-03 15:37:05 -07:00
Daan
f77adf4a18 merge from dev (visit abandoned, upstream of python/cpython#114133) 2024-06-02 17:03:13 -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
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
65a0c82ac9 merge from dev (support for heap tag, upstream of python/cpython#113742 2024-05-19 08:10:35 -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
d4a7c0ffcc merge from dev 2024-05-18 16:57:35 -07:00
daanx
381da05d8a make mimalloc includes relative to the current file, upstream of python/cpython#113141 2024-05-18 16:48:58 -07:00
Daan
b1ec1d5e5a refactor aligned allocation 2024-05-11 07:22:56 -07:00
Daan
e8206e9f6f merge from dev improved aligned allocation 2024-05-11 07:08:48 -07:00
Daan
7128db7bba simplified aligned allocation; improved codegen; fix mi_good_size with padding included; add MI_MAX_ALIGN_GUARANTEE 2024-05-11 06:43:52 -07:00
Daan
6c5d6e1f72 fix max allocation size on 32-bit systems (issue #882) 2024-05-10 17:24:52 -07:00
Daan
70782c3670 merge from dev 2024-04-20 16:47:48 -07:00
Daan
7247b9e326 allow configuring page and segment sizes (pr #753 and pr #862) 2024-04-20 16:45:49 -07:00
Daan
78418b3d24 fix overflow of slice count, PR #877 2024-04-19 10:03:14 -07:00
Daan
5050b63038 define MI_MAX_ALLOC_SIZE as PTRDIFF_MAX (related to #877) 2024-04-19 09:53:21 -07:00
Daan Leijen
c1d7d7f563 merge from dev 2024-03-25 15:32:56 -07:00
Daan Leijen
0022802177 commend and make at least 8 tries for reclaim 2024-03-25 15:25:04 -07:00
Daan Leijen
cc8d89a085 update comments 2024-03-25 07:35:49 -07:00
Daan Leijen
7c17c3d33e optimize page struct layout 2024-03-24 22:41:33 -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
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
6688b45fbd rename MI_ALIGNMENT_MAX to MI_BLOCK_ALIGNMENT_MAX for clarity 2024-03-24 10:57:02 -07:00
Daan Leijen
6399dbdc30 merge from dev (new free.c) 2024-03-24 09:56:26 -07:00
Daan Leijen
ea6137a501 use MI_MAX_ALIGN_SIZE to adjust block_offset_adj 2024-03-24 09:01:58 -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
9085596eab update comment 2024-03-23 08:57:29 -07:00
Daan
cc809b0cd4 take 16 bits from used field to create a fast unalign path 2024-03-18 01:40:03 -07:00
Daan
db52999d85 update used block comment (issue #861) 2024-03-08 09:01:26 -08: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
Daan
bcb8ce94f1 merge from dev-abandon 2024-03-03 14:17:07 -08:00
Daan
56d1a859ca Merge branch 'dev' into dev-abandon 2024-03-03 09:37:53 -08:00
Daan
027b22aaf2 add arena stats 2024-03-03 09:37:46 -08:00
daanx
8fb51aae4d merge from dev-abandon 2024-02-29 15:51:37 -08:00
daanx
bdda13b880 track abandoned segments in an arena bitmap instead of with a list 2024-02-29 14:27:28 -08:00
daanx
56c0a8025a merge from dev 2023-04-24 09:06:56 -07:00
daanx
632edf9996 rename was_zero/committed to initially_zero/committed 2023-04-24 09:03:43 -07:00
daanx
672e3dde8f Merge branch 'dev' into dev-slice 2023-04-18 19:19:51 -07:00
daanx
e6f3647556 track os alignment and base 2023-04-18 19:00:50 -07:00
daanx
eff7940f30 merge from dev 2023-04-18 17:54:07 -07:00
daanx
09e42aea4e clarify is_zero meaing 2023-04-18 17:41:18 -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