Daan Leijen
ad40895866
merge from master
2022-01-10 16:15:31 -08:00
Daan
139d09934c
Merge pull request #516 from urschanselmann/master
...
Fix build error caused by undefined macro in Emscripten/WASI build
2022-01-10 16:13:22 -08:00
Daan
55b4d5e2b1
Merge pull request #517 from tiran/debug-uninit
...
Allow overrides of MI_DEBUG memory constants
2022-01-10 16:12:10 -08:00
Daan Leijen
f45935cf34
add mimalloc injection utility for windows
2022-01-10 16:09:42 -08:00
Daan Leijen
dd4518f510
treat exe as binary
2022-01-10 16:09:20 -08:00
Daan Leijen
320f95f6cd
further fixes to allow statically linking mimalloc in DLL modules (issue #508 )
2022-01-10 16:07:22 -08:00
Daan Leijen
5bc9a1c95f
update redirection dll's for windows 11 (issue #498 )
2022-01-10 16:06:34 -08:00
Daan Leijen
807a7ff08d
improve commit/decommit on Linux
2022-01-10 15:39:49 -08:00
daan
8c50aa65ee
fix warnings on Solaris, issue #520
2022-01-10 15:26:22 -08:00
Daan
af5e0dff9e
Merge pull request #515 from res2k/msvc-late-cleanup
...
MSVC late cleanup
2022-01-10 14:59:03 -08:00
Daan
397f44c957
nicefy
2022-01-10 12:04:24 -08:00
Daan
4fc63358a6
update copyright year
2022-01-10 12:01:26 -08:00
Daan
1c9d853f39
nicefy
2022-01-10 12:00:24 -08:00
Daan
deda8bd22b
fix g++ compilation on macos
2022-01-10 11:40:57 -08:00
Daan
4b63c76861
avoid conditional load on macos
2022-01-10 11:40:36 -08:00
Christian Heimes
0353fc38dd
Allow overrides of MI_DEBUG memory constants
...
CPython and Windows CRT debug builds use different values for uninit,
freed, and padding bytes. Make ``MI_DEBUG_*`` constants conditional to
allow embedders to override the constants.
Windows dbgheap:
```
_bNoMansLandFill = 0xFD
_bDeadLandFill = 0xDD
_bCleanLandFill = 0xCD
```
Python memory debug
```
PYMEM_CLEANBYTE 0xCD
PYMEM_DEADBYTE 0xDD
PYMEM_FORBIDDENBYTE 0xFD
```
Signed-off-by: Christian Heimes <christian@python.org>
2022-01-05 13:22:47 +01:00
urschanselmann
498a365351
fix unused macro name for emscripten build
...
fix unused macro name for emscripten build
2022-01-05 12:13:17 +01:00
Urs Hanselmann
d66ba0b95a
fix unused macro name for emscripten build
2022-01-05 12:05:32 +01:00
Frank Richter
17762a7eb1
Remove a redundant FlsSetValue()
2022-01-02 13:44:41 +01:00
Frank Richter
2b19908057
Expand comment on 'FLS early cleanup avoidance' in mi_process_init()
2022-01-02 13:44:41 +01:00
Frank Richter
f456bc75ea
Perform thread cleanup for main threads as late as possible for Windows static builds
2022-01-02 13:44:41 +01:00
Frank Richter
d24262f477
Prefer MSVC 'data section magic' over C++ static initialization
2022-01-02 13:44:41 +01:00
daan
43e5cd2671
revise assembly test for the _mi_threadid(); fix issue #495 with musl libc on arm; test specifically for bionic libc on Android
2022-01-01 15:54:06 -08:00
akarin
3d91c0e737
cmake: export mimalloc-static as well
...
Otherwise a static only build would not be usable as cmake package
(as mimalloc.cmake wouldn't be generated).
Signed-off-by: akarin <i@akarin.info>
2021-12-26 18:17:53 +09:00
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