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 |
|
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 |
|