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
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
e42a22c9ca
fix warnings
2022-11-28 09:59:48 -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 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 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
7dce31f743
reenable decommitting of a huge aligned prefix
2022-11-22 18:13:27 -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 Leijen
3ccf849c1a
more refined decommit extend delay
2022-11-21 15:02:41 -08:00
Daan Leijen
e6ab602ca1
add comment
2022-11-21 10:24:02 -08:00
Daan Leijen
163afcce75
merge from dev with the destroy_on_exit option
2022-11-21 10:03:52 -08:00
Daan Leijen
35d332141d
experimental destroy_on_exit option for statically linked mimalloc in a dynamically unloaded DLL
2022-11-18 11:00:23 -08:00
Daan Leijen
7ebd1c6daf
merge from dev
2022-11-18 10:22:45 -08:00
Daan Leijen
18cf94dff6
move keys field in the page struct to keep offsets in the fast path the same for different build variants
2022-11-18 10:14:37 -08:00
Daan Leijen
8834e128e8
improve mi_free codegen
2022-11-18 10:13:51 -08:00
Daan Leijen
82a765a255
experiment with 32KiB slices and increased MI_MIN_EXTEND
2022-11-18 09:38:01 -08:00
daan
ba8c0f8903
avoid warning for large aligned blocks on linux
2022-11-07 17:21:03 -08:00
daan
67439bb4e5
add NULL check in _mi_segment_of
2022-11-07 17:12:14 -08:00
daan
89ba6cc2fa
merge from dev
2022-11-07 16:48:00 -08:00
daan
2479d168ad
decommit unused prefix of large aligned blocks
2022-11-07 16:41:40 -08:00
daan
a27637acb3
merge from dev
2022-11-07 14:58:17 -08:00
daan
27fc2cf17e
fix random initializer
2022-11-07 14:57:07 -08:00
daan
29405c7d70
fix initializer
2022-11-07 14:53:27 -08:00
daan
c26c5da016
Merge branch 'dev' into dev-slice
2022-11-07 14:51:18 -08:00
daan
841172bd7d
fix link error on windows
2022-11-07 14:51:07 -08:00
daan
3e1d800e9b
potential fix for windows static linking with thread creation in dll's
2022-11-07 14:47:53 -08:00
daan
c55cc260ab
merge from dev-align
2022-11-07 11:29:03 -08:00
daan
2daec6c72f
add more comments
2022-11-07 11:23:04 -08:00
daan
1f12c3dd12
remove MI_ALIGNMENT_MAX and add comments
2022-11-07 11:13:42 -08:00
daan
711aad7a75
refactor arena allocation
2022-11-07 11:13:29 -08:00