Commit graph

2315 commits

Author SHA1 Message Date
Johannes Schindelin
11cab6a0c0 Avoid %z format
This format is not supported by MSVC runtimes targeted by the mingw-64
toolchain.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 00:24:43 +01: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
6304bbec6e Merge branch 'dev' into dev-slice 2022-11-28 11:12:52 -08:00
Daan Leijen
ddc9841019 fix parameters for mi_track_free 2022-11-28 11:12:35 -08:00
Daan Leijen
911ea81630 Merge branch 'dev' into dev-slice 2022-11-28 10:55:35 -08:00
Daan Leijen
10981ab122 add initial support for using mimalloc with address sanitizer support; use -DMI_ASAN=ON 2022-11-28 10:55:19 -08:00
Daan Leijen
76db72814c fix unused parameter warning in clang 2022-11-28 10:54:45 -08:00
Daan Leijen
e42a22c9ca fix warnings 2022-11-28 09:59:48 -08:00
Daan Leijen
90c8f0516c Merge branch 'dev' into dev-slice 2022-11-28 09:18:04 -08:00
Daan Leijen
be2bc9e7ca better attributes on new/delete overrides for Microsoft visual C++ 2022-11-28 09:15:16 -08:00
Vadim Markovtsev
7da4a34dc1 Make "destroy" a compile-time constant + fix const allocator comparisons 2022-11-28 12:04:12 +01:00
Daan Leijen
447c2f18c5 Merge branch 'dev' into dev-slice 2022-11-27 13:00:30 -08:00
Daan Leijen
c1299484de refactor C++ STL allocator definitions (pr #651) 2022-11-27 13:00:15 -08:00
Daan
4295b9cc5f
Merge pull request #651 from vmarkovtsev/dry
Refactor C++ allocators to be DRY and protected
2022-11-27 12:12:11 -08:00
Daan Leijen
6988bbcca0 fix duplicate definition (issue #652 2022-11-27 12:03:16 -08:00
Daan
afb5468ded Merge branch 'dev' into dev-slice 2022-11-25 16:38:46 -08:00
Daan
8098040c23 add pointer validity check on malloc_size when overriding on macOSX; issue #638 2022-11-25 16:38:20 -08:00
Daan
2d79ae7ecf Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2022-11-25 15:44:31 -08:00
Daan
81b261e657 add test for #587 2022-11-25 15:44:24 -08:00
Daan Leijen
55dac20805 Merge branch 'dev' into dev-slice 2022-11-25 14:28:06 -08:00
Daan Leijen
604d4b259b fix assertion failure (issue #650) 2022-11-25 14:27:48 -08:00
Daan
78af17e3b3 add extra alignment test 2022-11-25 14:03:00 -08:00
Vadim Markovtsev
4cdfc18888 Refactor C++ allocators to be DRY and protected 2022-11-24 15:13:19 +01:00
Daan Leijen
58d12723d6 make mi_collect(true) actually free the segment caches 2022-11-23 10:34:19 -08:00
Daan Leijen
c613c1de94 merge from dev 2022-11-23 10:10:55 -08:00
Daan Leijen
4b56af178e remove ,not all freed, messag
e from reserved and committed stats (as that is expected at normal process exit)
2022-11-23 10:06:35 -08:00
Daan Leijen
a7bd9c08c8 fix decommit of huge pages 2022-11-23 09:58:45 -08:00
Daan Leijen
9e56567d23 fix decommit for huge objects 2022-11-23 09:50:29 -08:00
Daan Leijen
20880807ce remove comment 2022-11-22 22:05:18 -08:00
Daan Leijen
ed82aa90ea merge from dev where huge objects are now part of page queues again 2022-11-22 21:54:58 -08:00
Daan Leijen
e7dac7c405 prevent retiring pages in the huge queue (which may have a small size but huge alignment) 2022-11-22 21:02:05 -08:00
Daan Leijen
db0a69b482 remove comment 2022-11-22 20:57:31 -08:00
Daan Leijen
969d8bc5fe make huge pages part of the regular page queues again 2022-11-22 20:56:35 -08:00
Daan Leijen
85b5fa11bc merge segment_init refactoring from dev 2022-11-22 19:03:26 -08:00
Daan Leijen
fed883c81f refactor mi_segment_init fix 2022-11-22 18:44:27 -08:00
Daan Leijen
00a42bf379 refactor mi_segment_init 2022-11-22 18:42:05 -08:00
Daan Leijen
78690fbec2 fix proteced status in stl allocator (pr #625)# 2022-11-22 18:41:51 -08:00
Daan Leijen
7dce31f743 reenable decommitting of a huge aligned prefix 2022-11-22 18:13:27 -08:00
Daan Leijen
061bbe25b0 update readme 2022-11-22 17:17:14 -08:00
Daan Leijen
9617f16df9 add STL allocators that use a specific heap and can destroy at the end; see original PR #625 by @vmarkovtsev 2022-11-22 16:58:32 -08:00
Daan Leijen
6e2b077b35 rename to heap_alloc_new and heap_alloc_new_n 2022-11-22 14:48:26 -08:00
Daan Leijen
34910664f1 add mi_heap_new_ and mi_heap_new_n 2022-11-22 14:46:23 -08:00
Daan
d01ecc272b Merge branch 'dev' into dev-slice 2022-11-22 10:58:40 -08:00
Daan
fe300ca141 fix extern inline definition (issue #643) 2022-11-22 10:58:02 -08:00
Daan
631f22fbda change library linkage to PRIVATE (issue #646) 2022-11-22 10:54:40 -08:00
Daan Leijen
83c027c4bf fix medium page size to 512k 2022-11-21 18:56:56 -08:00
Daan Leijen
c007747169 back to 64k pages but 32MiB segments and a 1MiB minimal commit size 2022-11-21 15:03:15 -08:00
Daan Leijen
3ccf849c1a more refined decommit extend delay 2022-11-21 15:02:41 -08:00
Daan Leijen
961778f0a7 Merge branch 'dev' into dev-slice 2022-11-21 10:25:36 -08:00