Commit graph

1684 commits

Author SHA1 Message Date
daanx
34d03f3981 atomically clear purge bits when visiting 2024-12-17 12:32:18 -08:00
daanx
6e2a64b81e merge from dev3 2024-12-17 11:58:02 -08:00
daanx
c585753dce fix purging with ranges 2024-12-17 11:54:26 -08:00
daanx
68a90ceb9a add ranges for purging 2024-12-17 11:44:14 -08:00
daanx
adfeb1f6f2 fix bug in bitmap_forall_ranges 2024-12-17 10:43:31 -08:00
daanx
fdad1a0d4f fix infoslices needed calculation 2024-12-17 09:49:09 -08:00
daanx
d9397be178 comments 2024-12-16 10:00:32 -08:00
daanx
037cb167f8 comments 2024-12-16 09:51:54 -08:00
daanx
d2f670e6e5 add delay to purg'ing; call collect_retired every N generic allocs 2024-12-15 19:54:01 -08:00
daanx
3330d4353a remove maxaccessed from general bitmaps 2024-12-15 19:15:00 -08:00
daanx
e24217e69c more bbin size classes, bug fixes 2024-12-15 18:35:12 -08:00
daanx
df9009a060 wip: binned bitmap for the free slices 2024-12-15 17:15:56 -08:00
daanx
3153e5a4c5 small fixes 2024-12-15 13:47:33 -08:00
daanx
13ee94cef6 fix concurrent mi_tld access bug 2024-12-15 13:22:00 -08:00
daanx
4aeb2e1005 flexible clearN_ that can start at any index 2024-12-15 13:21:13 -08:00
daanx
b5dfd233e9 fix avx2 bug with atomics 2024-12-13 19:59:08 -08:00
daanx
216c04f8d9 clean up bitmap api 2024-12-13 18:39:03 -08:00
daanx
4c81c3cf90 enable purging of free committed slices from arenas 2024-12-13 13:17:00 -08:00
daanx
42af184ce9 wip: start on purge 2024-12-13 09:04:23 -08:00
daanx
ba39e4d65b wip: start on purge 2024-12-13 09:03:17 -08:00
Daan
3010d5890f fix assertion 2024-12-12 20:27:46 -08:00
daanx
e43eb1f191 nicer debug output 2024-12-12 20:22:24 -08:00
daanx
b53ac835f1 comment 2024-12-12 20:01:37 -08:00
daanx
623eaedf33 add debug output for page map; free tld on thread exit 2024-12-12 19:59:54 -08:00
daanx
637de624b3 fix free bug for meta data 2024-12-12 19:55:45 -08:00
daanx
d5c4a16e58 lower full page retain more aggressively in a threadpool 2024-12-12 17:57:36 -08:00
daanx
df956c4a17 use thread spacing for reclaim as well 2024-12-12 17:22:41 -08:00
daanx
98879ac8bc use thread spacing for reclaim as well 2024-12-12 17:22:00 -08:00
daanx
118bd8c97f space out threads when searching for free pages 2024-12-12 16:37:31 -08:00
daanx
94ce342ea9 maintain pages set for arenas; improve arena load/unload 2024-12-11 22:06:25 -08:00
daanx
aed76f2910 wip: allow arena (re)loading 2024-12-11 20:34:23 -08:00
daanx
ccf5e36e6b use frac 8 for reclaim_on_free and reabandon; halve full_page_retain if running in a threadpool 2024-12-11 16:26:39 -08:00
daanx
565656919e fix comments in types; fix guarded alignment bug 2024-12-11 13:04:37 -08:00
daanx
64eea823e4 use always abandon on heap delete 2024-12-11 09:24:38 -08:00
daanx
91215a5512 ensure incompatible heaps are not absorbed 2024-12-11 09:20:34 -08:00
daanx
24d3c1bc14 heap meta data always uses mi_meta_zalloc 2024-12-11 09:16:28 -08:00
daanx
64c4181ffa better block alignment 2024-12-10 20:32:48 -08:00
daanx
c478ddaab4 fix MI_GUARDED build 2024-12-10 19:44:54 -08:00
daanx
2a1c346281 Merge branch 'dev3' of https://github.com/microsoft/mimalloc into dev3 2024-12-10 15:12:13 -08:00
Daan
13be5d6740 use non-null tld in heap_init 2024-12-10 15:11:46 -08:00
daanx
7cd8f31f30 improve popcount 2024-12-10 14:50:55 -08:00
Daan
f37aff6ee2 fix for macOS 14 and earlier 2024-12-09 22:27:40 -08:00
Daan
2556a2022d fix missing void 2024-12-09 20:50:00 -08:00
daanx
c5a2d11193 add extra checks for valid pointers in the pagemap, add max_vabits and debug_commit_full_pagemap options 2024-12-09 20:40:26 -08:00
daanx
3a92c35270 improve generic ctz/clz 2024-12-09 20:25:22 -08:00
daanx
56a1bd7f9e fix 32 bit multiply in generic ctz/clz 2024-12-09 19:43:00 -08:00
daanx
f28d5c7029 add cast to avoid errors on clang 7 2024-12-09 19:12:03 -08:00
Daan
3f732a981f fix debug build of MI_GUARDED 2024-12-09 15:49:20 -08:00
Daan
8f5449d271 various fixes for test pipeline 2024-12-09 15:39:15 -08:00
Daan
351cb0c740 small fixes for macOS 2024-12-09 15:16:36 -08:00