Commit Graph

881 Commits

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