Commit graph

311 commits

Author SHA1 Message Date
daanx
54ee4e7632 merge from dev 2024-11-17 23:29:21 -08:00
daanx
b8dc09e3d2 fix asan with MI_GUARDED 2024-11-17 22:56:26 -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
Daan
c0e1132674 merge from dev 2024-10-27 22:17:23 -07:00
Daan
5f35933331 add 0 byte to canary to prevent spurious read overflow to read the canary (issue #951, pr #953) 2024-10-27 21:39:07 -07:00
Daan Leijen
6a21db1017 Merge branch 'dev-guarded' into dev-slice-guarded 2024-08-21 11:31:10 -07:00
Daan Leijen
58e743b83f fix use_guarded signature 2024-08-21 11:30:00 -07:00
Daan Leijen
cc4dc1bb53 add comments 2024-08-21 11:26:12 -07:00
Daan Leijen
96f7cc4ef2 clean up guarded allocation 2024-08-21 11:21:25 -07:00
Daan Leijen
f130808b5c fix warnings 2024-08-20 12:58:49 -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
3726cf94ba merge from dev 2024-06-17 16:18:03 -07:00
daanx
b7dd5d6564 add extra assertions to check that blocks are always aligned to MI_MAX_ALIGN_SIZE 2024-06-17 16:17:03 -07:00
Daan
03020fbf81 fix count/size order in mi_heap_alloc_new_n, issue #906 2024-06-04 17:28:04 -07:00
Daan
64f3afdda4 merge from dev 2024-06-03 21:31:36 -07:00
Daan
0c322c5566 add reference to page_malloc_zero in C++ build 2024-06-03 21:10:05 -07:00
Daan
f77adf4a18 merge from dev (visit abandoned, upstream of python/cpython#114133) 2024-06-02 17:03:13 -07:00
Daan Leijen
0b3cd51249 add initial primitive api for locks 2024-06-01 16:45:20 -07:00
Daan
f94f101d22 Merge branch 'dev' into dev-slice 2024-05-13 09:02:51 -07:00
Daan
13e519202a fix comments; nicer strdup/strndup 2024-05-13 09:02:40 -07:00
Daan
ee2167da55 Merge branch 'dev' into dev-slice 2024-05-11 07:39:18 -07:00
Daan
6c7cda592c make page_malloc_zero externals not inline to avoid link errors in C++ mode 2024-05-11 07:39:06 -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
f199b888b4 Merge branch 'dev' into dev-slice 2024-03-29 11:17:36 -07:00
Daan
8f7d1e9a41 fix free in realpath when using ASAN 2024-03-29 11:17:21 -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
6399dbdc30 merge from dev (new free.c) 2024-03-24 09:56:26 -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
355f44f373 split free routines in a separate file 2024-03-17 08:44:11 -07:00
Daan
18ebeb8a83 fix (benign) race condition on the page flags has_aligned flag and refactor free-ing code (issue 865) 2024-03-17 08:33:09 -07:00
daanx
ccd2ac644d merge from dev-slice 2024-03-02 17:36:23 -08:00
daanx
70e3ce07d1 Merge branch 'dev' into dev-abandon 2024-03-02 17:34:58 -08:00
Daan
7ff4607f6c merge from dev 2024-03-02 17:26:38 -08:00
Daan
944ec1ab8a Fix error: cannot use 'throw' with exceptions disabled #815, by @sergio-nsk 2024-03-02 15:47:07 -08:00
daanx
f57c9e16bd merge from dev-abandon 2024-02-29 18:34:50 -08:00
daanx
931d523dcc update mstress to let the main thread participate 2024-02-29 18:17:58 -08:00
daanx
9f9305d44b use non-primitive heap default 2024-02-29 17:43:52 -08:00
daanx
8fb51aae4d merge from dev-abandon 2024-02-29 15:51:37 -08:00
daanx
64edbc92dd allow abandoned segment reclaim on a free 2024-02-29 14:58:59 -08:00
daanx
063f25ba11 merge from dev 2023-04-22 10:20:24 -07:00
daanx
e90ad987cc add zero initialization on zero sized reallocation (issue #725) 2023-04-22 10:18:18 -07:00