Commit graph

254 commits

Author SHA1 Message Date
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
daan
55ccc94707 wip: fix zero init for sbrk; add lock around sbrk 2021-12-15 19:28:34 -08:00
Daan
8612d1228a wip: initial fix for race condition on sbrk/wasm_memory_grow; issue #497 2021-12-15 18:04:02 -08:00
daan
0be71a2cac fix prefix 2021-11-24 12:54:54 -08:00
daan
09c658dd40 try to allocate within our hint space (partially addresses issue #360) 2021-11-15 10:10:47 -08:00
daan
4b0cda2012 take overcommit into account for eager commit delay 2021-11-14 11:23:11 -08: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
f72e5688f5 remove assign in while condition 2021-11-10 11:58:04 -08:00
Daan
fd61997cef improve aligned support on BSD and MAP_ALIGN systems 2021-11-10 11:26:36 -08:00
Daan
89abbe75d8 improve aligned support on BSD and MAP_ALIGN systems 2021-11-10 11:23:11 -08:00
Daan
8c9ccea2f5 fix huge page madvise in case mmap failed 2021-11-10 10:46:06 -08:00
Daan
e96614961f fix printf format type mismatches (issue #486) 2021-11-06 14:19:14 -07:00
Daan
5fd77aa198 refactor os_overcommit detection 2021-10-27 17:39:11 -07:00
Daan
0335d32766 Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2021-10-27 17:25:09 -07:00
Daan
13b30bf2dd
Merge branch 'dev' into overcommit_if_the_system_approves 2021-10-27 17:12:18 -07:00
Daan
6ccf7e87c0 minor edits 2021-10-27 17:08:00 -07:00
David Carlier
00edd9201b proposal to not overcommit page unconditionally on Linux and FreeBSD,
respecting userland settings.
2021-10-24 20:57:58 +01:00