Commit graph

212 commits

Author SHA1 Message Date
daanx
c478ddaab4 fix MI_GUARDED build 2024-12-10 19:44:54 -08:00
Daan
8f5449d271 various fixes for test pipeline 2024-12-09 15:39:15 -08:00
daanx
8f2a5864b8 pass all debug tests 2024-11-30 22:54:57 -08:00
daanx
441d4fed9f wip: further progress on removing segments 2024-11-29 10:40:18 -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
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
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
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
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
0c322c5566 add reference to page_malloc_zero in C++ build 2024-06-03 21:10:05 -07:00
Daan Leijen
0b3cd51249 add initial primitive api for locks 2024-06-01 16:45:20 -07:00
Daan
13e519202a fix comments; nicer strdup/strndup 2024-05-13 09:02:40 -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
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
8f7d1e9a41 fix free in realpath when using ASAN 2024-03-29 11:17:21 -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
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
70e3ce07d1 Merge branch 'dev' into dev-abandon 2024-03-02 17:34:58 -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
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
64edbc92dd allow abandoned segment reclaim on a free 2024-02-29 14:58:59 -08:00
daanx
e90ad987cc add zero initialization on zero sized reallocation (issue #725) 2023-04-22 10:18:18 -07:00
daanx
b549c88e6c review realloc 2023-04-18 19:48:40 -07:00
daanx
173382ef60 is_zero review; fix asan check 2023-04-18 17:52:16 -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
6bd591d675 fix tsan errors 2023-04-05 11:57:32 -07:00
Daan Leijen
cc4ed36c7e prepare for new release 2023-04-03 12:30:18 -07:00
Daan Leijen
8e6a475386 add ubsan and tsan to pipeline 2023-03-29 12:13:59 -07:00
Daan Leijen
f58357548c restructure header files 2023-03-20 10:37:39 -07:00
Daan Leijen
9b110090b2 move threadid and mi_get_default_heap to primitives 2023-03-14 20:35:00 -07:00
Daan Leijen
3579d3b861 move mi_thread_id to primitives 2023-03-14 19:38:45 -07:00
Daan
056c2ce45b match track free size to tracked malloc size 2023-03-05 11:01:51 -08:00
Daan
3c906bde8b better track_free_size 2023-03-04 15:17:13 -08:00
Daan
6dcebdc303 fix sizes in memory tracking and padding for huge alignments 2023-03-04 14:49:02 -08:00
Daan
0d9e7ab61e remove extern inline from alloc_new functions to avoid link warnings 2023-03-04 09:27:04 -08:00