Frank Richter
dd642ea2a8
Replace mi_strlcpy() and mi_strlcat() with versions written from scratch
...
They used strncpy() and strncat(), which behave almost, but not
quite like the ...l... functions.
Since these functions are not standard, and not all OSes have
comparable functions available, just add a implementations.
Addresses first issue raised in microsoft/mimalloc#502 .
2021-12-19 15:10:36 +01: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 Leijen
89090510bd
update alignment tests
2021-12-18 11:11:44 -08:00
daan
f5ea6c70bd
NetBSD mi_reallocarr should update errno (based on PR #499 by @devexen)
2021-12-17 13:40:39 -08:00
daan
faf2a7020c
add extra alignment tests
2021-12-17 13:25:38 -08:00
daan
89f583a69b
improve aligned allocation performance
2021-12-17 13:18:05 -08:00
daan
684c2c82a7
restrict max aligment boundary to prevent bug with segment determination (found by Matthew Parkinson).
2021-12-17 11:40:46 -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
0e851de2ba
shorten comments for pr #390
2021-12-15 17:06:09 -08:00
Daan
2a4ad02d27
Merge branch 'dev' into random-context-macos
2021-12-15 16:57:25 -08:00
Daan
a8b5106ce2
fix address dereference in mi_reallocarr override
2021-12-15 16:33:49 -08:00
Daan
9fbf83c433
fix reallocarr indirection (see #492 )
2021-12-15 16:32:26 -08:00
Daan
1b09877bc4
Merge branch 'dev' into netbsd_reallocarr
2021-12-15 16:27:26 -08:00
daan
6503ad7a76
check if using bcryptgenrandom fixes windows pipeline
2021-12-14 18:45:44 -08:00
Daan Leijen
36edfbc70a
use rtlgenrandom by default on windows
2021-12-09 16:18:17 -08:00
David Carlier
d6a56dd99d
introduces netbsd's reallocarr overriding.
...
and couple of tests.
2021-12-01 22:43:13 +00:00
daan
0be71a2cac
fix prefix
2021-11-24 12:54:54 -08:00
daan
9183b1eec0
remove experiment with unsafe_free_with_threadid
2021-11-23 19:04:41 -08:00
daan
3548d8d716
add noinline to avoid warnings
2021-11-23 18:39:03 -08:00
daan
8b60a5ab70
add mi_unsafe_free_with_threadid and mi_get_current_threadid()
2021-11-23 17:59:27 -08:00
daan
09c658dd40
try to allocate within our hint space (partially addresses issue #360 )
2021-11-15 10:10:47 -08:00
daan
85eccf324f
Merge branch 'master' into dev
2021-11-14 16:44:54 -08:00
Daan
07253fb44c
emit error message if out-of-memory in C++
2021-11-14 15:33:04 -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
959845540d
use W4 for msvc compilation
2021-11-13 14:13:03 -08:00
daan
d52b559b57
use eager delay after 2 threads
2021-11-12 19:59:59 -08:00
daan
f9ac60a90f
suppres eager commit delay for the first 4 threads
2021-11-12 19:03:20 -08:00
daan
d2de66b8fa
do not delay eager commit for the main thread
2021-11-12 18:44:33 -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
f2e3cca213
fix build for missing malloc_good_size
2021-11-04 19:10:15 -07:00
Daan
c47de7eb90
improve macOS overriding
2021-11-04 18:55:12 -07:00
Daan
e853f530a0
add noexcept attributes to improve mi_free codegen
2021-11-04 18:54:57 -07:00
Daan
32ee13f41e
improve macOS M1 performance; use interpose in combination with zone's; add -fno-builtin-malloc flag in building with MI_OVERRIDE
2021-11-02 21:54:44 -07:00
Daan
5360639748
add mi_malloc_good_size
2021-11-02 21:52:00 -07:00
Daan
74efd6ddac
use load relaxed in mi_free for better code on M1
2021-11-02 21:50:54 -07:00
Daan
dbf8bafc3a
avoid accessing the thread_id after process initialized is set
2021-11-02 21:50:15 -07:00
Daan
d0d47e6489
avoid accessing the thread_id after process initialized is set
2021-11-02 21:49:05 -07:00
Daan Leijen
1b1c9186a4
suppress warning on discard attribute on forwards
2021-10-27 19:06:27 -07:00
Daan
5fd77aa198
refactor os_overcommit detection
2021-10-27 17:39:11 -07:00