Commit graph

341 commits

Author SHA1 Message Date
daanx
5de5550c63 merge from dev3 2024-12-21 15:52:15 -08:00
daanx
1a6fbdf0b2 merge from dev 2024-12-21 15:48:49 -08:00
daanx
e3ebebb990 update lock primitive; fix arena exclusive allocation 2024-12-21 14:39:17 -08:00
daanx
89b0d5a357 allocate heaps associated with an arena in that arena 2024-12-21 11:53:29 -08:00
daanx
4ad7fedd25 track os abandoned pages in a list 2024-12-21 11:35:30 -08:00
daanx
95aeda4cdd merge subproc stats on delete 2024-12-21 10:53:34 -08:00
daanx
dece8a587b make stats part of a subproc 2024-12-21 10:43:08 -08:00
daanx
daac75af36 fix lock recursion 2024-12-20 22:13:58 -08:00
daanx
a5b7d7f264 subprocesses own arena's 2024-12-20 21:38:31 -08:00
daanx
3746bf79ed small fixes; max object size 1/8th of a pages 2024-12-19 21:30:03 -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
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
216c04f8d9 clean up bitmap api 2024-12-13 18:39:03 -08:00
daanx
623eaedf33 add debug output for page map; free tld on thread exit 2024-12-12 19:59:54 -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
24d3c1bc14 heap meta data always uses mi_meta_zalloc 2024-12-11 09:16:28 -08:00
daanx
c478ddaab4 fix MI_GUARDED build 2024-12-10 19:44:54 -08:00
Daan
f37aff6ee2 fix for macOS 14 and earlier 2024-12-09 22:27:40 -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
2a4af6f169 comments 2024-12-08 17:21:17 -08:00
daanx
2084df3dde add dedicated meta data allocation for threads and tld 2024-12-08 12:20:54 -08:00
daanx
c33de86da3 check for running in a threadpool to disable page reclaim 2024-12-07 17:11:11 -08:00
daanx
659a9dd51d fix page info size and order; atomic page flags 2024-12-06 22:37:59 -08:00
daanx
61436a92b9 working simplified version without pairmaps and bitmap epoch 2024-12-06 15:26:01 -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
bc7fe399b1 large bitmaps working; lock on arena_reserve 2024-12-03 23:35:33 -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
d96c134566 wip: initial version with eager abandonment 2024-12-02 16:01:45 -08:00
daanx
1d7a9f62a5 bug fixes 2024-12-01 12:54:16 -08:00
daanx
55b70f1588 wip 2024-11-30 14:00:07 -08:00
daanx
f8d04dc2bc compile with clang and gcc 2024-11-30 12:41:11 -08:00
daanx
9d904e8643 wip: bug fixes 2024-11-30 10:39:30 -08:00
daanx
0f635413d6 wip: can run initial test 2024-11-29 17:50:37 -08:00
daanx
68f5fb2f4b wip: further progress on segment removal; arena allocation 2024-11-29 15:08:06 -08:00
daanx
71cfa45e76 wip: initial work on mimalloc3 without segments 2024-11-28 19:31:04 -08:00
Daan
cd61eb7cf1
Merge pull request #961 from devnexen/windows_tighten_criterias
_mi_memcpy/_mi_memzero: tighten criteria for intrinsics for windows.
2024-11-25 19:25: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
David Carlier
9f0a7ac0be
_mi_memcpy/_mi_memzero: tighten criteria for intrinsics for windows.
FSRM is better used for buffer <= 128 bytes and ERMS, if supported for larger
chunks.
2024-11-16 10:05:14 +00:00
Daan
d951b4dd23 add missing mi_thread_done definition 2024-10-23 00:53:17 -07:00
Daan
aa881733d7 reorganize primitives for process initialization; use special data segment on Windows for thread termination by default on Windows now (issue #869) 2024-10-21 22:56:59 -07:00
daanx
b1188ea336 fix potential race on subproc field in the segment 2024-06-03 20:57:00 -07:00
daanx
96b69d7ef6 fix leak where OS abandoned blocks were not always reclaimed 2024-06-03 17:28:14 -07:00