Commit graph

935 commits

Author SHA1 Message Date
daanx
617190880d add ajust stats to compensate for double counting 2024-12-17 17:53:34 -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
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
ba39e4d65b wip: start on purge 2024-12-13 09:03:17 -08:00
daanx
e43eb1f191 nicer debug output 2024-12-12 20:22:24 -08:00
daanx
623eaedf33 add debug output for page map; free tld on thread exit 2024-12-12 19:59:54 -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
1c8d15abac fix build error 2024-12-11 14:30:44 -08:00
daanx
ab53a73cbd small updates 2024-12-11 14:29:06 -08:00
daanx
565656919e fix comments in types; fix guarded alignment bug 2024-12-11 13:04:37 -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
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
daanx
ed31847112 fix generic ctz/clz 2024-12-09 20:45:22 -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
e44815ed6f add bsf/bsr for compilation with older compilers (clang 7) 2024-12-09 20:06:48 -08:00
daanx
56a1bd7f9e fix 32 bit multiply in generic ctz/clz 2024-12-09 19:43:00 -08:00
daanx
bbcbd3cd1f add cast to avoid errors on clang 7 2024-12-09 19:06:06 -08:00
Daan
351cb0c740 small fixes for macOS 2024-12-09 15:16:36 -08:00
daanx
d5ed0cc71e various improvements 2024-12-09 14:31:43 -08:00
daanx
88990cec2d merge from dev 2024-12-08 18:27:05 -08:00
daanx
c8607a8d01 remove os_tld and stats parameters to os interface 2024-12-08 17:56:13 -08:00
daanx
2084df3dde add dedicated meta data allocation for threads and tld 2024-12-08 12:20:54 -08:00
daanx
5a06d2aeba update bit primitives 2024-12-08 09:03:25 -08:00
daanx
c33de86da3 check for running in a threadpool to disable page reclaim 2024-12-07 17:11:11 -08:00
daanx
bf42759d97 check heaptag on abandonded page allocation 2024-12-07 15:13:17 -08:00
daanx
70115d8b8c small fixes 2024-12-06 23:25:53 -08:00
daanx
bf9a2ddb59 compile for 32-bit as well 2024-12-06 23:07:10 -08:00
daanx
659a9dd51d fix page info size and order; atomic page flags 2024-12-06 22:37:59 -08:00
daanx
ec9c61c066 initial no more pairmap 2024-12-06 14:53:24 -08:00
daanx
7443ee317e tune free-ing and abandoning 2024-12-05 17:00:23 -08:00
daanx
0616ee151e change to full_page_retain 2024-12-05 11:29:25 -08:00
daanx
bc67be4d79 small adjustments 2024-12-04 21:40:57 -08:00
daanx
45f7fb559a small fixes 2024-12-04 00:14:56 -08:00
daanx
bc7fe399b1 large bitmaps working; lock on arena_reserve 2024-12-03 23:35:33 -08:00
daanx
8d9c725482 increase MAX_OBJ_SLICES to a full chunk (32MiB) 2024-12-03 17:27:43 -08:00
daanx
3fc2c8e279 fix assertions 2024-12-03 11:06:07 -08:00
daanx
666c089fc8 revise free reclaim; ensure unown cannot race with a free 2024-12-03 10:51:13 -08:00
daanx
833b091ff9 can run the full test suite 2024-12-02 20:25:44 -08:00
daanx
fe5a314114 add base and size to OS memid 2024-12-02 19:31:36 -08:00
daanx
5e95ebc7a0 fix free stats 2024-12-02 17:46:41 -08:00
daanx
c9abfe8253 wip: can run mstress 2024-12-02 16:24:40 -08:00
daanx
d96c134566 wip: initial version with eager abandonment 2024-12-02 16:01:45 -08:00
daanx
69ac69abac wip: use epoch with 512bit chunks 2024-12-02 00:31:08 -08:00