Commit graph

285 commits

Author SHA1 Message Date
daanx
a964322a21 revise the segment map to only apply to OS allocated segments and reduce the .BSS footprint 2024-06-02 14:46:59 -07:00
Daan
a38c8dd0f9 rename must_free_whole -> has_partial_free 2024-05-16 14:41:10 -07:00
Daan Leijen
6688b45fbd rename MI_ALIGNMENT_MAX to MI_BLOCK_ALIGNMENT_MAX for clarity 2024-03-24 10:57:02 -07:00
Daan
fa10914f73 track os stats in the main stats directly 2024-03-03 13:19:27 -08:00
Daan
e1f6516fda Fix undefined symbol errors when building for wasi #758, by @anuraaga 2024-03-02 17:05:29 -08:00
daanx
4b2f6448cb fix asan memory tracking for zero initialized memory 2023-04-23 19:45:29 -07:00
daanx
7f93bf02c9 be explicit about memory tracking in os.c 2023-04-23 16:40:01 -07:00
daanx
c9dd6f6dc9 fix mem tracking for asan 2023-04-23 16:06:58 -07:00
daanx
a59ae585c7 remove allow_purge option 2023-04-23 13:04:50 -07:00
daanx
012f716485 add is_zero flag to prim_commit 2023-04-21 10:37:22 -07:00
daanx
e6f3647556 track os alignment and base 2023-04-18 19:00:50 -07:00
daanx
b845be241a wip: use memid for OS allocation 2023-04-18 16:38:47 -07:00
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
8027fcfecd Merge branch 'dev' into dev-reset 2023-04-15 17:59:01 -07:00
Daan
f30b302895 address concern #721 2023-04-14 09:51:28 -07:00
daanx
cdefd5b69c fix stats for purging 2023-04-05 11:11:03 -07:00
daanx
96e9e6f570 clean up option naming 2023-04-05 10:11:54 -07:00
daanx
55df1f3a54 more detailed stats, including purges 2023-04-05 09:48:22 -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
1d231be758 clarify needs_recommit 2023-04-04 13:05:48 -07:00
daanx
5c39fe7246 decommit returns whether re-commit is needed 2023-04-04 12:57:18 -07:00
daanx
449aad0635 wip: purgeable arenas; update option names and improve arena reservation 2023-04-04 12:15:57 -07:00
Daan Leijen
cc4ed36c7e prepare for new release 2023-04-03 12:30:18 -07:00
Daan Leijen
1cb0193ff1 fix hex formatting of errors 2023-03-29 13:00:35 -07:00
Daan Leijen
8e6a475386 add ubsan and tsan to pipeline 2023-03-29 12:13:59 -07:00
Daan Leijen
c9dcca6a64 update comments 2023-03-22 10:31:04 -07:00
Daan Leijen
70fefec837 fix huge OS page count when a timeout happens (issue #711) 2023-03-21 19:42:25 -07:00
Daan Leijen
f58357548c restructure header files 2023-03-20 10:37:39 -07:00
Daan Leijen
6ae6c42700 simplify primitives API 2023-03-20 10:23:00 -07:00
Daan Leijen
479ef4bf4c fix precise free size in aligned allocation 2023-03-15 19:07:35 -07:00
Daan Leijen
9b110090b2 move threadid and mi_get_default_heap to primitives 2023-03-14 20:35:00 -07:00
Daan Leijen
08a01d26dc initial commit of new primitive layer 2023-03-14 16:54:46 -07:00
Daan Leijen
4f2fdf76a0 add braces 2022-12-19 16:59:24 -08:00
Johannes Schindelin
2c40e0d02f Allow running in Windows Nano Server containers
The `GetNumaProcessorNode()` symbol is not defined in Nano Server's DLLs
(because that function is long deprecated). This causes problems with
any executable that uses mimalloc when trying to run on Nano Server.

Instead of importing this function statically, try to import it
dynamically, and fall back gracefully if it cannot be loaded.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 00:24:43 +01: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 Leijen
969d8bc5fe make huge pages part of the regular page queues again 2022-11-22 20:56:35 -08:00
daan
1f12c3dd12 remove MI_ALIGNMENT_MAX and add comments 2022-11-07 11:13:42 -08:00
daan
6a80fa3ac1 initial progress on removing alignment limit 2022-11-05 14:46:52 -07:00
daan
751e456767 possible fix for warning in issue #635 2022-10-31 08:34:20 -07:00
daan
eee7c40da5 updates to run valgrind on test-api 2022-10-29 11:43:09 -07:00
Daan Leijen
eb29d6b06f fix warning on windows 2022-05-21 10:21:38 -07:00
Daan Leijen
7bc602ebb4 redefine mi_likely/mi_unlikely to work with C++ 20 [[likely]] attributes 2022-04-19 19:50:06 -07:00
Daan Leijen
fed9b254a1 extra check in VirtualFree for Windows on mi_os_mem_free 2022-04-14 15:42:13 -07:00
Daan Leijen
2ab70f3c84 remove ifdefs around mi_os_aligned_hint 2022-04-10 12:55:36 -07:00
Daan Leijen
96bf3a8039 fix warning 2022-04-09 16:16:11 -07:00
Daan Leijen
c825851404 define MEM_EXTENDED_PARAMETER structure ourselves on Windows in order to compile with older SDK's 2022-04-09 15:59:05 -07:00
Daan
674ee63fa7
Merge pull request #548 from Biswa96/strict_prototypes
Fix strict function prototype warnings
2022-04-08 14:33:25 -07:00
Daan
b7677b6f84 fix atomic warnings on clang14 (issue #571) 2022-04-08 14:09:38 -07:00