Commit Graph

100 Commits

Author SHA1 Message Date
Daan Leijen
fab7397e6b merge from dev 2025-01-07 19:34:24 -08:00
Daan Leijen
7fa3b41fc9 limit object size in pages to 1/8th 2025-01-07 19:30:52 -08:00
Daan Leijen
7ebdfac18b merge from dev 2024-12-31 14:20:00 -08:00
Daan
f33aa58d88 Merge branch 'dev' into dev 2024-12-30 12:27:46 -08:00
daanx
a1cfe9667c Merge branch 'dev' into dev-slice 2024-12-25 13:31:08 -08:00
daanx
cfe73e9d48 wip: merging from upstream 2024-12-25 10:56:43 -08:00
daanx
6a930f542d Merge branch 'dev' into dev-slice 2024-12-17 17:54:00 -08:00
daanx
617190880d add ajust stats to compensate for double counting 2024-12-17 17:53:34 -08:00
Daan Leijen
806bf8ea7e merge from dev 2024-12-16 23:44:56 -08:00
daanx
c8607a8d01 remove os_tld and stats parameters to os interface 2024-12-08 17:56:13 -08:00
daanx
25f84f5fd1 merge from dev-steal 2024-11-25 19:17:25 -08:00
daanx
7673aa2517 ensure forced abandoned pages can be accessed after free 2024-11-25 18:41:57 -08:00
daanx
0fa99d41fc merge from dev-slice 2024-11-18 11:13:29 -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
daanx
723869014f add ability to abandon segments after a threshold 2024-10-09 21:24:20 -07:00
Daan
ad02086d3b remove default MI_DEBUG_GUARDED 2024-08-21 17:07:01 -07:00
Daan Leijen
9731941c7b merge from dev-guarded 2024-08-20 13:11:54 -07:00
Daan Leijen
1ab67d44c8 merge from dev-guarded 2024-08-20 12:57:20 -07:00
daanx
8899a11c70 clean up guarded pages code 2024-08-20 11:09:17 -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
QuarticCat
632421da3a fix typos 2024-06-19 10:49:03 +08: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
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