daanx
a655c28b66
cleanup
2023-04-16 12:29:21 -07:00
daanx
d48b988c40
clean up os api
2023-04-16 11:21:45 -07:00
daanx
0fc4de1440
use rich memid's to simplify the internal API's and invariants
2023-04-15 21:31:17 -07:00
daanx
0174d19af3
increase thread data cache to 16
2023-04-15 19:49:14 -07:00
daanx
48d0d0da9b
fix thread data cache to use pure os alloc
2023-04-13 15:27:20 -07:00
daanx
0ba79d01f6
allow static allocation in arenas for internal metadata
2023-04-13 13:19:39 -07:00
daanx
c90a2bbd0a
make memid's abstract for safety
2023-04-13 12:17:52 -07:00
daanx
eb62caeda0
allow per page purging instead of reset
2023-04-08 17:37:58 -07:00
daanx
6bd591d675
fix tsan errors
2023-04-05 11:57:32 -07:00
daanx
cdefd5b69c
fix stats for purging
2023-04-05 11:11:03 -07:00
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