Daan
|
660d749d77
|
do not default to MI_DEBUG=2 in release mode builds even when NDEBUG is not defined by defininig MI_BUILD_RELEASE (issue #1037)
|
2025-03-19 20:29:29 -07:00 |
|
Daan Leijen
|
58d13f6a4f
|
collect every N generic calls
|
2025-03-02 17:06:25 -08:00 |
|
Daan Leijen
|
09ad6d2819
|
initial statistics api
|
2025-03-02 15:34:37 -08:00 |
|
Daan Leijen
|
1b749ea7d8
|
clean up statistics
|
2025-03-01 20:51:44 -08:00 |
|
Daan Leijen
|
56aba086ea
|
remove superfluous stat fields (count and freed)
|
2025-03-01 16:52:48 -08:00 |
|
Daan Leijen
|
bdaeb1d469
|
remove stat_adjust
|
2025-03-01 16:29:28 -08:00 |
|
Daan Leijen
|
7fa3b41fc9
|
limit object size in pages to 1/8th
|
2025-01-07 19:30:52 -08:00 |
|
Daan
|
f33aa58d88
|
Merge branch 'dev' into dev
|
2024-12-30 12:27:46 -08:00 |
|
daanx
|
cfe73e9d48
|
wip: merging from upstream
|
2024-12-25 10:56:43 -08:00 |
|
daanx
|
617190880d
|
add ajust stats to compensate for double counting
|
2024-12-17 17:53:34 -08:00 |
|
daanx
|
c8607a8d01
|
remove os_tld and stats parameters to os interface
|
2024-12-08 17:56:13 -08:00 |
|
daanx
|
7673aa2517
|
ensure forced abandoned pages can be accessed after free
|
2024-11-25 18:41:57 -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
|
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
|
b1188ea336
|
fix potential race on subproc field in the segment
|
2024-06-03 20:57:00 -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 |
|
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
|
0c4041fa53
|
add support for custom heap and page tags, upstream of python/cpython#113742
|
2024-05-19 08:06:32 -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
|
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
|
7247b9e326
|
allow configuring page and segment sizes (pr #753 and pr #862)
|
2024-04-20 16:45:49 -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
|
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
|
6688b45fbd
|
rename MI_ALIGNMENT_MAX to MI_BLOCK_ALIGNMENT_MAX for clarity
|
2024-03-24 10:57:02 -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
|
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
|
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
|
bdda13b880
|
track abandoned segments in an arena bitmap instead of with a list
|
2024-02-29 14:27:28 -08:00 |
|
daanx
|
632edf9996
|
rename was_zero/committed to initially_zero/committed
|
2023-04-24 09:03:43 -07:00 |
|
daanx
|
e6f3647556
|
track os alignment and base
|
2023-04-18 19:00:50 -07:00 |
|
daanx
|
09e42aea4e
|
clarify is_zero meaing
|
2023-04-18 17:41:18 -07:00 |
|
daanx
|
4d976270eb
|
review is_zero flag
|
2023-04-18 17:18:39 -07:00 |
|
daanx
|
b845be241a
|
wip: use memid for OS allocation
|
2023-04-18 16:38:47 -07:00 |
|