Daan Leijen
6c91c75b14
remove thread local segment cache
2022-04-09 14:33:20 -07:00
Daan Leijen
a799b214a2
fix issue with log messages sometimes failing on Windows if the console cannot be locked; use direct console output now
2022-04-07 12:33:25 -07:00
Daan Leijen
d1db0ffb72
when MIMALLOC_VERBOSE is set, the all errors/warnings are shown
2022-04-02 11:26:56 -07:00
Daan Leijen
b2598e7ee4
allow setting MIMALLOC_MAX_ERRORS/WARNINGS to -1 to get unlimited error/warning messages
2022-04-02 09:46:25 -07:00
Daan Leijen
73012bf654
add thread id to trace, warning, and error messages
2022-04-02 09:29:09 -07: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
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
daan
85eccf324f
Merge branch 'master' into dev
2021-11-14 16:44:54 -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
f0f9aecfe4
add comment on #if ending
2021-10-19 09:52:20 -07:00
Daan
4841bc1721
Merge pull request #465 from thomcc/no-getenv
...
Add an option to disable environment access inside options.c
2021-10-19 09:49:34 -07:00
Christian Heimes
7c73e3996d
Fix strict function prototype warnings
...
Fix warning ``warning: function declaration isn’t a prototype`` when
building mimalloc with ``-Wstrict-prototypes`` flag. In C argumentless
functions should be declared as ``func(void)``.
Reproducer:
```shell
$ cmake ../.. -DCMAKE_C_FLAGS="-Wstrict-prototypes"
$ make VERBOSE=1
```
Co-authored-by: Sam Gross <colesbury@gmail.com>
Co-authored-by: Neil Schemenauer <nas@arctrix.com>
Signed-off-by: Christian Heimes <christian@python.org>
2021-10-19 10:48:26 +02:00
Thom Chiovoloni
3c058f07a9
Add an option to disable automatic use of getenv
inside options.c
2021-10-08 23:59:35 -07:00
paulip1792
a2c3b0f8af
add option to reserve huge os pages at a specific numa node.
2021-08-10 16:30:44 +08:00
Daan Leijen
4ba32c3160
Revert "make all includes relative"
...
This reverts commit 1feb6123d9
.
2021-06-07 16:47:57 -07:00
Daan Leijen
1feb6123d9
make all includes relative
2021-06-06 20:31:36 -07:00
Jim Huang
5940d3bcce
Bump copyright date
...
Each source file has been changed according to relevant Git activities.
2021-04-24 16:35:11 +00:00
Jim Huang
3402c6cc3f
Revise the use of macOS predefined macro
...
Quoted from "Porting UNIX/Linux Applications to OS X,"[1]
* macro __MACH__ is defined if Mach system calls are supported;
* macro __APPLE__ is defined in any Apple computer.
__MACH__ is not specific to macOS since GNU/Hurd runs on a Mach-based
microkernel (gnumach) [2]. __MACH__ is defined by the compiler,
leading to potential confusions. The solution is just changing the
checked identifier (i.e. __APPLE__), so it is really used only on
macOS.
[1] https://developer.apple.com/library/archive/documentation/Porting/Conceptual/PortingUnix/compiling/compiling.html
[2] https://www.gnu.org/software/hurd/microkernel/mach/gnumach.html
2021-04-21 15:24:02 +08:00
Daan Leijen
71ac98ab08
rename <Windows.h> include to <windows.h> for mingw compatibility (see pr #367 )
2021-02-22 13:04:11 -08:00
Daan
9b966c3492
Merge pull request #253 from haneefmubarak/memcpy-rep-movsb-windows-201
...
resolve #201 with a platform-selective REP MOVSB implementation
2021-01-29 16:00:00 -08:00
Daan Leijen
bb386025b5
update override on macOS with interpose of malloc_default_zone (issues #313 )
2020-12-15 16:03:54 -08:00
unknown
f37a3db37c
cleanup madv_resuable
2020-12-10 11:51:58 -08:00
unknown
cbc14a9287
count warnings and errors separately
2020-12-10 10:28:54 -08:00
Anton Korobeynikov
9c45221243
Do not use the same counter for warnings and errors.
...
Warnings happen normally and could be safely ignored in the most cases,
however errors, if enabled, should not be ignored. Currently since warnings
and errors share the same counter we effectively stop showing errors after
16 warnings (which happen all the time).
Use different counters for errors and warnings.
2020-11-01 23:57:42 +03:00
daan
8607ff617c
add environment option mi_reserve_os_memory
2020-09-08 17:16:31 -07:00
daan
364674185e
add option to limit OS allocation and only allow allocation from arenas
2020-09-08 16:56:51 -07:00
daan
50de0d2358
fix C++ compilation with new atomics
2020-09-05 09:17:42 -07:00
daan
032eb2a75a
use pragma warning only on msvc (issue #291 )
2020-09-04 13:06:18 -07:00
Daan
797c50e0c0
Merge pull request #296 from timblechmann/feature/iOS-compile-fix
...
iOS compile fix
2020-09-04 10:36:48 -07:00
daan
ff0d98883e
update comments
2020-09-03 10:00:01 -07:00
daan
900c97664a
merge from dev-atomic
2020-09-03 09:47:01 -07:00
daan
b4825372ab
small compilation warning fixes (extra semicolon etc)
2020-08-29 19:30:38 -07:00
Tim Blechmann
1190e0c053
iOS compile fix
...
`crt_externs.h` is available only available with iOS-13 sdk. we
therefore add a `__has_include` check to see if it is actually available
2020-08-26 11:47:24 +08:00
daan
ef8e5d18a6
replace atomics with C11/C++ atomics with explicit memory order; passes tsan. Issue #130
2020-07-26 18:01:33 -07:00
daan
09ade02429
bring inline with C11 atomics; no volatile and cas order of expected/desired
2020-07-25 22:52:27 -07:00
Haneef Mubarak
429025634e
resolve #201 with a platform-selective REP MOVSB implementation
2020-05-26 16:04:28 -07:00
daan
4f020e5da4
put a bound on the environment search
2020-05-05 20:19:20 -07:00
daan
45974efdb7
use environ on posix systems to read environment variables before the C runtime is initialized (issue #241 )
2020-05-05 19:37:50 -07:00
daan
9a33f23b5f
fix MI_SHOW_ERRORS on msvc
2020-04-28 11:11:23 -07:00
Daan
07e80aebb7
Merge branch 'dev' into xmalloc
2020-04-28 10:53:34 -07:00
Daan
9ba16f2df9
Merge pull request #232 from asl/cmake-err-warn-default
...
Add cmake option to specify whether warnings / errors are enabled by default
2020-04-28 10:51:30 -07:00