daanx
8ddf6f96a8
fix purge bug in arenas
2023-04-04 19:03:18 -07:00
daanx
83aa635485
implement arena destroy on program exit
2023-04-04 18:44:08 -07:00
daanx
4c4f2f4084
clean up arena function names
2023-04-04 18:13:35 -07:00
daanx
cb0369452d
use exponetially sized arenas
2023-04-04 17:54:33 -07:00
daanx
d01017ffda
extend primitive api with is_zero parameters
2023-04-04 16:32:39 -07:00
daanx
a2e1d2b893
add segment map to track valid pointers
2023-04-04 16:00:17 -07:00
daanx
4fc597d4f4
more tight purge delay
2023-04-04 15:05:29 -07:00
daanx
77766e20a6
use only arena's instead of regions
2023-04-04 14:58:06 -07:00
daanx
449aad0635
wip: purgeable arenas; update option names and improve arena reservation
2023-04-04 12:15:57 -07:00
daanx
a5b47fe17b
Merge branch 'dev' into dev-reset
2023-04-03 12:46:00 -07:00
Daan Leijen
cc4ed36c7e
prepare for new release
2023-04-03 12:30:18 -07:00
Daan Leijen
595add5e3d
wip: initial work on purgable arenas
2023-03-31 20:51:35 -07:00
Daan Leijen
7cf60deb12
wip: initial delayed purging of arenas
2023-03-31 14:07:59 -07:00
Daan Leijen
bd66d54765
Merge branch 'dev' into dev-reset
2023-03-31 10:34:27 -07:00
Daan Leijen
3208dff17a
remove extraneous forward declarations
2023-03-31 10:33:36 -07:00
Daan Leijen
6eee9e4be2
add option eager_reserve
2023-03-30 16:20:11 -07:00
Daan Leijen
176b6e6aa0
add mi_arena_is_os_allocated
2023-03-28 09:59:41 -07:00
Daan Leijen
560e32b2e1
update comments
2023-03-28 09:14:17 -07:00
Daan Leijen
f58357548c
restructure header files
2023-03-20 10:37:39 -07:00
Johannes Schindelin
745a34f475
Fix whitespace
...
This mostly deletes trailing spaces.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 00:24:20 +01:00
daan
711aad7a75
refactor arena allocation
2022-11-07 11:13:29 -08:00
daan
6a80fa3ac1
initial progress on removing alignment limit
2022-11-05 14:46:52 -07:00
daan
ad1da7cfc8
fix warnings
2022-11-01 16:29:10 -07:00
daan
e6bd41ba3f
update arena_id api
2022-11-01 16:26:17 -07:00
daan
0a691ca68e
fix off by one in arena id
2022-11-01 14:05:04 -07:00
daan
fe2d5aa8ff
initial work on heaps restricted to specific arena's
2022-11-01 14:00:20 -07:00
daan
09e59e0610
use size_t instead of uintptr_t where appropiate
2021-11-13 15:13:16 -08:00
daan
28896e5b19
prefix UNUSED,KiB,MiB,GiB; add mi_threadid_t type; add mi_ssize_t
2021-11-13 14:46:03 -08:00
Daan
e02f88a11c
Fix warnings with g++-11 compilation
2021-10-20 09:55:03 -07:00
daan
505ea78cae
Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev
2021-10-19 15:07:19 -07:00
Daan
ae5aae7e10
allow decommit in arena separate from initial commit
2021-10-19 14:00:40 -07:00
Daan Leijen
22c2fd82cc
ensure managed os memory is at least one arena block in size
2021-10-18 20:44:19 -07:00
Daan Leijen
bcce4d52bf
fix bug in determination of block size in pre-reserved arena memory
2021-10-18 20:39:39 -07:00
Daan Leijen
4ba32c3160
Revert "make all includes relative"
...
This reverts commit 1feb6123d9
.
2021-06-07 16:47:57 -07:00
Daan Leijen
1feb6123d9
make all includes relative
2021-06-06 20:31:36 -07:00
Jim Huang
0f57425f80
Distinguish SI and Binary Prefixes
...
SI prefixes [the decimal prefixes] refer strictly to powers of 10. They
should not be used to indicate powers of 2. e.g., one kilobit
represents 1000 bits instead of 1024 bits. IEC 60027‐2 symbols are
formed adding a "i" to the SI symbol (e.g. G + i = Gi).
2021-05-30 20:13:28 +08:00
Jim Huang
5940d3bcce
Bump copyright date
...
Each source file has been changed according to relevant Git activities.
2021-04-24 16:35:11 +00:00
Daan Leijen
3228bb685f
set errno ENOMEM for limited arena allocation (issue #295 )
2021-02-22 14:17:25 -08:00
daan
69f935944f
add test to avoid searching arenas when possible
2020-10-15 19:46:19 -07:00
daan
364674185e
add option to limit OS allocation and only allow allocation from arenas
2020-09-08 16:56:51 -07:00
daan
14b8d27386
track pinned memory separately from large os pages
2020-09-08 16:46:03 -07:00
daan
c86459afef
split bitmap code into separate header and source file
2020-09-08 10:14:13 -07:00
daan
c7272afa9a
add mi_reserve_os_memory/mi_manage_os_memory; allow arena allocations to cross multiple bitmap fields
2020-09-07 21:34:34 -07:00
daan
ef8e5d18a6
replace atomics with C11/C++ atomics with explicit memory order; passes tsan. Issue #130
2020-07-26 18:01:33 -07:00
daan
09ade02429
bring inline with C11 atomics; no volatile and cas order of expected/desired
2020-07-25 22:52:27 -07:00
daan
7123efb397
pass full commit flag to free, possible fix for issue #218
2020-04-23 20:19:48 -07:00
daan
8422ab125d
improve messages; fix reset size calculation on large pages
2020-01-31 17:28:26 -08:00
daan
7785139201
fix warning on gcc on attribute ignore in templates
2020-01-25 13:28:24 -08:00
daan
072ceb2efe
Merge branch 'dev' into dev-exp-abandon
2020-01-24 20:20:55 -08:00
daan
ecece57284
fix bug in committed check in arena allocation
2020-01-24 20:20:43 -08:00