Commit graph

271 commits

Author SHA1 Message Date
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
Daan Leijen
a799b214a2 fix issue with log messages sometimes failing on Windows if the console cannot be locked; use direct console output now 2022-04-07 12:33:25 -07:00
Daan Leijen
58af58d084 fix debug edit 2022-04-07 10:21:49 -07:00
Daan Leijen
049d37c349 fix formatting flags for warning messages 2022-04-07 10:19:26 -07:00
Daan Leijen
72ab945e28 improve fallback code for aligned allocation on Windows 2022-04-02 11:38:07 -07:00
Daan Leijen
3fa53244c2 add better warning messages if aligning or freeing OS memory fails 2022-04-02 10:11:36 -07:00
Biswapriyo Nath
cf89fc6338 Fix strict function prototype warnings
Fix warning: function declaration isn't a prototype [-Wstrict-prototypes]
In C int foo() and int foo(void) are different functions.
2022-02-18 12:06:08 +05:30
daan
8cf985ac8f fix warning on freebsd 2022-02-14 15:44:50 -08:00
Daan Leijen
807a7ff08d improve commit/decommit on Linux 2022-01-10 15:39:49 -08:00
daan
8c50aa65ee fix warnings on Solaris, issue #520 2022-01-10 15:26:22 -08:00
daan
f16435447c fix bug in freeing huge OS page allocation spanning multiple huge OS pages 2021-12-18 11:37:00 -08:00
daan
60790e9013 remove accidental define 2021-12-16 15:35:53 -08:00
daan
5bbb2ff416 reenable the use of sbrk on wasm as it seems more stable than direct memory_grow 2021-12-16 15:34:52 -08:00
daan
27e24e619b use wasm_memory_grow instead of sbrk on wasm 2021-12-16 15:11:47 -08:00
daan
b0a866685d improve sbrk/wasm_memory_grow implementation 2021-12-16 14:54:10 -08:00