Commit graph

78 commits

Author SHA1 Message Date
daanx
9a4c264e76 Merge branch 'dev3' into dev3-bin 2024-12-19 19:18:10 -08:00
daanx
de8001c107 add specialized is_set for 1 bit 2024-12-19 19:18:04 -08:00
daanx
587eabe72b Merge branch 'dev3' into dev3-bin 2024-12-17 18:10:37 -08:00
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
037cb167f8 comments 2024-12-16 09:51:54 -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
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
e43eb1f191 nicer debug output 2024-12-12 20:22:24 -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
d5ed0cc71e various improvements 2024-12-09 14:31:43 -08:00
daanx
bf2f2a8bf4 fix bug where only the first chunkmap field would be considered 2024-12-08 18:48:56 -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
d0c86f3f0e specialize bitmap operations for common page sizes 2024-12-07 16:26:07 -08:00
daanx
bf42759d97 check heaptag on abandonded page allocation 2024-12-07 15:13:17 -08:00
daanx
6b52b19e3b arch specific optimizations 2024-12-07 15:02:27 -08:00
daanx
9631b0d4d2 revise visiting arenas, better bitmap scanning 2024-12-07 14:03:51 -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
5a5943ad33 record max_clear bit 2024-12-06 21:03:33 -08:00
daanx
61436a92b9 working simplified version without pairmaps and bitmap epoch 2024-12-06 15:26:01 -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
bc67be4d79 small adjustments 2024-12-04 21:40:57 -08:00
daanx
afe9089152 more documentation; better pairmap find_and_set_to_busy, busy flag is now 0x10 2024-12-04 19:15:55 -08:00
daanx
bc7fe399b1 large bitmaps working; lock on arena_reserve 2024-12-03 23:35:33 -08:00
daanx
e5fdd6e110 wip: initial large bitmaps 2024-12-03 22:43:14 -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
bd5f7de3f4 can run basic test 2024-12-02 20:21:35 -08:00
daanx
fe5a314114 add base and size to OS memid 2024-12-02 19:31:36 -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
daanx
2f789aae9a wip: cannot compile 2024-12-01 16:26:59 -08:00
daanx
9ebe941ce0 first version that passes the make test 2024-11-30 20:21:32 -08:00