Commit Graph

1474 Commits

Author SHA1 Message Date
Daan Leijen
0c814775b6 fix extern C declaration for msvc (issue #523) 2022-01-12 16:59:50 -08:00
Daan Leijen
7a4104b3a9 avoid using atexit in a Windows dll; potential fix for #512 2022-01-11 15:42:27 -08:00
Daan Leijen
2cc400d600 update comment 2022-01-10 16:53:19 -08:00
Daan Leijen
05c2a51211 merge from master 2022-01-10 16:20:22 -08:00
Daan
38a03229c8
Merge pull request #511 from AkarinVS/patch/cmake-export-static
cmake: export mimalloc-static as well
2022-01-10 16:18:39 -08:00
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
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