Commit graph

1217 commits

Author SHA1 Message Date
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