117 Commits

Author SHA1 Message Date
Daan
8b761008ce merge from dev 2025-06-06 15:26:44 -07:00
daanx
715acc0329 mark assert_fail as cold and noreturn; move assert to internal.h (see issue #1091, and python/cpython#134586) 2025-05-30 09:29:35 -07:00
Daan
d87bcd0027 Merge branch 'dev' into dev2 2025-05-13 16:07:04 -07:00
daanx
72f05e2f07 fix guarded sample rate of 1 (issue #1085) 2025-05-13 15:58:45 -07:00
Daan
ea2c7c6e56 merge from dev statistics update 2025-03-21 19:43:26 -07:00
Daan
a077311a5e improve tracking of malloc_requested count 2025-03-21 19:40:44 -07:00
Daan
e46877a5e1 merge from dev 2025-03-19 20:34:34 -07:00
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
2d81b6fee9 Merge branch 'dev' into dev2 2025-03-02 17:06:35 -08:00
Daan Leijen
58d13f6a4f collect every N generic calls 2025-03-02 17:06:25 -08:00
Daan Leijen
fcc2b561e9 merge new statistics from dev 2025-03-02 15:52:52 -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
7758bb1067 merge from dev 2025-03-01 16:58:57 -08:00
Daan Leijen
56aba086ea remove superfluous stat fields (count and freed) 2025-03-01 16:52:48 -08:00
Daan Leijen
2e52ef2f69 Merge branch 'dev' into dev2 2025-03-01 16:29:45 -08:00
Daan Leijen
bdaeb1d469 remove stat_adjust 2025-03-01 16:29:28 -08:00
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