1446 Commits

Author SHA1 Message Date
Frank Richter
164b3a9667 Pass build config to CMake invocation in Windows pipeline jobs 2021-12-21 16:20:59 +01:00
Frank Richter
691eb0d8ed Add tests to check "freed memory fill" behaviour in debug mode 2021-12-21 16:20:59 +01:00
Frank Richter
1cf7ca021d Add tests for debug mode "uninit fill" behaviour 2021-12-21 16:20:59 +01:00
Frank Richter
969f3a6998 Add tests for zero-initialization functions 2021-12-21 16:20:56 +01:00
Frank Richter
51271ba8ea Replace redundant CMake code for tests with a loop 2021-12-21 12:54:15 +01:00
Frank Richter
d7105c20a9 Move test macros/helpers to a separate header 2021-12-21 12:48:51 +01:00
Daan
6ead2840ec
Merge pull request #504 from res2k/tweak-stats-doc
Tweak documentation for mi_heap_area_t::used.
2021-12-20 17:44:52 -08:00
Daan Leijen
d508c3d618 ensure in debug mode that all allocated block are initialized with MI_DEBUG_UNINIT (issue #501) 2021-12-20 12:33:54 -08:00
Daan
7d06234724 comments 2021-12-19 15:29:58 -08:00
Daan
5a7685de0e for safety do not print illegal environment values 2021-12-19 10:37:10 -08:00
Daan
4808ef762b small rewrite of PR #505 2021-12-19 10:35:12 -08:00
Daan
babe57aa99 fix too early tlv access on macOS in the recursion check 2021-12-19 10:22:48 -08:00
Daan
1ca48210fb small rewrite of pr #506 2021-12-19 10:01:53 -08:00
Daan
6424cfab41 Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2021-12-19 09:52:20 -08:00
Daan
625c3f3eaa
Merge pull request #505 from res2k/fix-mi_strlcat
Replace mi_strlcpy() and mi_strlcat() with versions written from scratch
2021-12-19 09:52:09 -08:00
Daan
03424a7f22 Merge branch 'master' into dev 2021-12-19 09:51:17 -08:00
Daan
03ba2620e3
Merge pull request #506 from res2k/mi_option-verbose-fixes
"verbose" option fixes
2021-12-19 09:48:14 -08:00
Frank Richter
f7c821fe79 options: Always print a warning if the 'verbose' option value is bogus 2021-12-19 15:56:26 +01:00
Frank Richter
5d92b5f6d3 Avoid a possible infinite recursion in options parsing.
See microsoft/mimalloc#502, second issue, for a scenario where this occurs.
2021-12-19 15:46:46 +01:00
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
Frank Richter
ff3bb5ce7b Tweak documentation for mi_heap_area_t::used.
For microsoft/mimalloc#503.
2021-12-19 14:51:15 +01:00
daan
424c8f8448 update docs 2021-12-18 16:38:03 -08:00
daan
9f01c66151 update documentation 2021-12-18 16:36:37 -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 Leijen
89090510bd update alignment tests 2021-12-18 11:11:44 -08:00
daan
30a99e2c51 default to portable C for the thread id on arm 32-bit, issue #495 2021-12-17 13:48:39 -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
82a0e56f35 fix warning on mi_reallocarr 2021-12-15 18:54:57 -08:00
daan
b8d69eb2a9 Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2021-12-15 18:52:57 -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
48996ff449
Merge pull request #390 from jserv/random-context-macos
Use secure random generator on macOS
2021-12-15 17:00:33 -08:00
Daan
2a4ad02d27
Merge branch 'dev' into random-context-macos 2021-12-15 16:57:25 -08:00
Daan
4a586808f7 merge 2021-12-15 16:52:36 -08:00
Daan
317093d78b fix Android overriding (issue #381 and PR #487) 2021-12-15 16:48:57 -08:00
Daan
17456f18d1
Merge pull request #489 from devnexen/remove_dfbsd_warning
removes dragonflybsd warning since the api and library overriding wor…
2021-12-15 16:37:56 -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
438595e693
Merge pull request #492 from devnexen/netbsd_reallocarr
introduces netbsd's reallocarr overriding.
2021-12-15 16:27:33 -08:00
Daan
1b09877bc4
Merge branch 'dev' into netbsd_reallocarr 2021-12-15 16:27:26 -08:00
Daan
523e6d5c9b fix thread slot on arm32 (issue #495) 2021-12-15 16:05:07 -08:00
daan
ee3ae2a425 add deprecated notice 2021-12-15 08:53:55 -08:00
daan
144b4a2d3e link with libatomic automatically if found 2021-12-15 08:42:58 -08:00
daan
b7d33c2c33 fix MI_ prefix for libraries 2021-12-15 08:41:52 -08:00
daan
2d9b8aa6b5 rename VER_DIR to VERSION_DIR 2021-12-15 08:33:14 -08:00
daan
6503ad7a76 check if using bcryptgenrandom fixes windows pipeline 2021-12-14 18:45:44 -08:00
daan
73ced777dd upgrade macos to latest 2021-12-14 18:42:10 -08:00
Daan
69b6b24688 further improvements to installation directories 2021-12-14 18:29:14 -08:00
Daan
1bbc184082
Merge pull request #493 from viy2/pull_request_on_dev
Pull request for issue #490:  set SOVERSION for mimalloc shared lib
2021-12-13 17:26:12 -08:00
Daan
d575aacfde use find_library for pthread (issue #496) 2021-12-13 13:10:33 -08:00
Daan
c858690dea Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2021-12-12 10:35:19 -08:00
Daan
3a212d1895 fix assembly for mi_tls_slot_set on x32 and x64. Issue #488 2021-12-12 10:35:13 -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
Igor Vlasenko
f82e13ac91 let the library VERSION = the project's one (issue #490)
This is a cross-platform usability improvement.
On Unix platforms it is customary for library to have VERSION
and SOVERSION, where SOVERSION changes on major API changes
and VERSION is the same as project's version, so library users
always know what vesion this library belongs to just by name.
With this patch we have a proper libmimalloc.so.VERSION on Unix.
2021-11-28 20:00:50 +02:00
Igor Vlasenko
acc64ee5cd added SOVERSION to mimalloc shared lib (issue #490)
This is a portability improvement.
A cross-platform library needs SOVERSION field for Unix platforms.
With SOVERSION field cmake itself will do proper management of
libmimalloc.so.SOVERSION -> libmimalloc.so.VERSION symlink on Unix,
so a piece of code that tried to emulate this behavior manually
is no more needed and is removed here too.
2021-11-28 19:59:09 +02:00
DC
20e37bf7c1 removes dragonflybsd warning since the api and library overriding works, also
for the os doc report purpose.
2021-11-28 08:14:21 +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
1c22650719 remove no-invalid-memory-model supression 2021-11-15 10:52:09 -08:00
daan
09c658dd40 try to allocate within our hint space (partially addresses issue #360) 2021-11-15 10:10:47 -08:00
daan
0560fc27c0 update readme v1.7.3 2021-11-14 16:47:50 -08:00
daan
85eccf324f Merge branch 'master' into dev 2021-11-14 16:44:54 -08:00
daan
6ca454a04a update readme 2021-11-14 16:41:24 -08:00
Daan
4a590b1447 bump version number to 1.7.3 2021-11-14 15:33:56 -08:00
Daan
07253fb44c emit error message if out-of-memory in C++ 2021-11-14 15:33:04 -08:00
Daan
d67ff1ca9f add include cstdef for std::size_t in C++ 2021-11-14 15:32:43 -08:00
Daan
4ce6821c09 update cmake install for MI_INSTALL_TOPLEVEL 2021-11-14 15:32:21 -08:00
Daan
1ebb74cb7a
Merge pull request #455 from paulip1792/reserve-hugepages-by-numa-node
add option to reserve huge os pages at a specific numa node.
2021-11-14 14:56:13 -08:00
Daan
5e55525e5e
Merge pull request #483 from joy4eg/install-dirs-dev
cmake: removed hardcoded names for top level configuration
2021-11-14 14:49:48 -08:00
Daan
c235c3cccb
Merge pull request #484 from sblondon/patch-1
Fix preload path in documentation example
2021-11-14 14:48:08 -08:00
Daan
9c9c3a0311
Merge pull request #485 from devnexen/builtin_overflow_sig_fix
fix spurious build warning with overflow builtins
2021-11-14 14:47:38 -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
c56be7ac5a show cflags in cmake; fix -fno-builtin-malloc flag 2021-11-13 13:30: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
751a2249c8 add mi_decl_externc, nice layout 2021-11-02 21:53:20 -07:00