Daan Leijen
0ca31d2db1
fix pipeline for tsan
2023-03-29 12:20:29 -07:00
Daan Leijen
8e6a475386
add ubsan and tsan to pipeline
2023-03-29 12:13:59 -07:00
Daan Leijen
651ff2c68b
fix cmake for windows
2023-03-29 11:55:00 -07:00
Daan Leijen
e1e1e25d21
add ASAN to pipeline
2023-03-29 11:52:46 -07:00
Daan Leijen
2440e60d95
copy static.o to the cmake directory (issue #706 )
2023-03-29 11:48:01 -07:00
Daan Leijen
8ecbc29a02
prepare readme for release
2023-03-29 11:46:56 -07:00
Daan Leijen
79f31b0e8f
use syscalls for open/close etc when initializing to avoid recursion when these are intercepted (issue #713 )
2023-03-28 16:44:35 -07:00
Daan Leijen
176b6e6aa0
add mi_arena_is_os_allocated
2023-03-28 09:59:41 -07:00
Daan Leijen
9792b6364d
move more prototypes in internal.h for safety
2023-03-28 09:25:32 -07:00
Daan Leijen
560e32b2e1
update comments
2023-03-28 09:14:17 -07:00
Daan Leijen
a21ddd03fe
add verbose message if thread sanitizer is enabled
2023-03-23 11:21:45 -07:00
Daan Leijen
c9dcca6a64
update comments
2023-03-22 10:31:04 -07:00
Daan
d976fbe08b
remove spurious include
2023-03-22 09:56:40 -07:00
Daan
96b55bd0bb
potential fix for macOS issue #697
2023-03-22 09:48:40 -07:00
Daan Leijen
70fefec837
fix huge OS page count when a timeout happens (issue #711 )
2023-03-21 19:42:25 -07:00
Daan Leijen
1ded6e2dec
increase env limit to 10000 entries (issue #685 )
2023-03-20 14:30:38 -07:00
Daan
06f0ba232e
prevent reentrancy on thread_done (issue #699 )
2023-03-20 14:23:52 -07:00
Daan
b893311365
Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev
2023-03-20 14:23:00 -07:00
Daan Leijen
c92e9e7bf7
add comment that thread id's should not be zero, issue #698
2023-03-20 14:01:09 -07:00
Daan Leijen
0b4c3da2e9
make process init race free (issue #701 )
2023-03-20 13:55:39 -07:00
Daan
01b460fedb
add std::string test for macos
2023-03-20 13:24:11 -07:00
Daan Leijen
30df80b05a
proper prototype
2023-03-20 11:50:05 -07:00
Daan Leijen
54ad5e76fd
fix warnings for issues #709
2023-03-20 11:43:31 -07:00
Daan Leijen
65402836ae
comments
2023-03-20 11:30:52 -07:00
Daan Leijen
287010578d
update ide project files
2023-03-20 11:20:30 -07:00
Daan Leijen
2f9b2f51b9
update 2022 ide
2023-03-20 11:11:01 -07:00
Daan Leijen
e24e1125ee
bump version to 1.8.0
2023-03-20 11:03:50 -07:00
Daan Leijen
0509d11ac5
more comments
2023-03-20 11:02:16 -07:00
Daan Leijen
ec5f4904b0
more comments
2023-03-20 11:01:40 -07:00
Daan Leijen
c0c762611c
add prim/osx directory
2023-03-20 10:49:56 -07:00
Daan Leijen
f58357548c
restructure header files
2023-03-20 10:37:39 -07:00
Daan Leijen
6ae6c42700
simplify primitives API
2023-03-20 10:23:00 -07:00
Daan Leijen
85a2bb5c60
update process info primitive api
2023-03-20 10:22:45 -07:00
Daan Leijen
17a20f280b
dont track ETW by default
2023-03-16 20:16:31 -07:00
Daan Leijen
3ebcc0bac4
fix syntax in cmakelists
2023-03-16 20:13:21 -07:00
Daan Leijen
63f88cb43d
rename
2023-03-16 20:10:46 -07:00
Daan Leijen
1a99efc671
integrate ETW windows event tracing into mimalloc as another track tool
2023-03-16 20:08:43 -07:00
Xinglong He
072316bd33
add etw support
2023-03-16 17:47:20 -07:00
Daan Leijen
8a1f6c82b2
move prim files in subdirectories
2023-03-16 17:47:00 -07:00
Daan Leijen
2e85af5bb2
Merge branch 'dev' into dev-platform
2023-03-16 17:42:11 -07:00
Daan Leijen
134b23b921
fix asan/valgrind api fill test
2023-03-16 17:42:00 -07:00
Daan
7d834864bb
fix macOSX compilation
2023-03-16 11:35:11 -07:00
Daan Leijen
c4c96d2f8d
update older vs ide projects
2023-03-15 20:38:10 -07:00
Daan Leijen
e937070cf1
Merge branch 'dev' into dev-platform
2023-03-15 20:33:35 -07:00
Daan Leijen
824fd8a7b1
fix issue #707 ; rename a local template parameter (destroy) to work around two-phase template resolve in msvc 2019
2023-03-15 20:31:52 -07:00
Daan Leijen
9fb4f2a501
update vs2019 ide
2023-03-15 19:25:18 -07:00
Daan Leijen
cfe3d04299
cleanup
2023-03-15 19:15:53 -07:00
Daan Leijen
479ef4bf4c
fix precise free size in aligned allocation
2023-03-15 19:07:35 -07:00
Daan Leijen
84ef963a47
remove conioinclude
2023-03-15 14:43:35 -07:00
Daan Leijen
9a2dbf373e
move thread init to primitives
2023-03-15 13:35:23 -07:00
Daan Leijen
973268bf1e
move random initialization to primitives
2023-03-15 12:40:18 -07:00
Daan Leijen
9b110090b2
move threadid and mi_get_default_heap to primitives
2023-03-14 20:35:00 -07:00
Daan Leijen
3579d3b861
move mi_thread_id to primitives
2023-03-14 19:38:45 -07:00
Daan Leijen
4348a05d0f
small fixes
2023-03-14 18:24:38 -07:00
Daan Leijen
10f62eb5a1
add c primitives, move getenv into primitives
2023-03-14 18:10:00 -07:00
Daan Leijen
69cb30a874
move process info into primitives
2023-03-14 17:15:52 -07:00
Daan Leijen
08a01d26dc
initial commit of new primitive layer
2023-03-14 16:54:46 -07:00
Daan Leijen
2e6ab0f230
add documentation for tracking tools; rename with prefix MI_TRACK_tool
2023-03-06 09:02:38 -08:00
Daan Leijen
64fb009695
fix warning with zero padding
2023-03-05 22:27:45 -08:00
Daan Leijen
e912697d90
fix warning with zero padding
2023-03-05 22:26:05 -08:00
Daan Leijen
b3f3a0de3b
include psapi.h instead of defining PROCESS_MEMORY_COUNTERS on windows
2023-03-05 22:22:36 -08:00
Daan Leijen
465eb81d30
track free blocks in valgrind for heap_destroy as well
2023-03-05 18:18:41 -08:00
Daan Leijen
82c85d1a13
fix valgrind mem for large alignment
2023-03-05 18:03:04 -08:00
Daan
056c2ce45b
match track free size to tracked malloc size
2023-03-05 11:01:51 -08:00
Daan
20ae35a1d4
remove accidental -fsanitize
2023-03-04 16:03:14 -08:00
Daan
3c906bde8b
better track_free_size
2023-03-04 15:17:13 -08:00
Daan
6dcebdc303
fix sizes in memory tracking and padding for huge alignments
2023-03-04 14:49:02 -08:00
Daan
e24c7c9de6
fix asan compilation on macOSX
2023-03-04 09:58:17 -08:00
Daan
6cc0ad72fc
match declaration of mi_malloc_size_checked on macOS
2023-03-04 09:58:02 -08:00
Daan
0d9e7ab61e
remove extern inline from alloc_new functions to avoid link warnings
2023-03-04 09:27:04 -08:00
Daan
cb4fc2c792
reset stats for stress test when using mimalloc
2023-03-04 09:17:35 -08:00
Daan Leijen
6a230f8329
fix compilation of heap specific STL allocators for vs2017
2023-02-07 11:07:52 -08:00
Daan Leijen
507f75b56c
update vs2017 project files
2023-02-07 11:07:08 -08:00
Daan Leijen
389b004cd0
update mimalloc-redirect for win11; potential fix for issue #657 , attempt 3
2023-02-01 11:28:01 -08:00
Daan Leijen
23868f0801
update mimalloc-redirect for win11; potential fix for issue #657 , attempt 2
2023-02-01 11:23:20 -08:00
Daan Leijen
fca492aacc
update mimalloc-redirect for win11; potential fix for issue #657
2023-01-31 21:08:43 -08:00
Daan Leijen
4cebb48062
bump version to v1.7.9
v1.7.9
2022-12-23 13:29:06 -08:00
Daan Leijen
9adb032e9c
test non-default heap
2022-12-23 13:04:53 -08:00
Daan Leijen
e68f2c1479
fix recursion issue on exit on windows, #672
2022-12-23 13:02:16 -08:00
Daan Leijen
37d5ce9498
comment out include
2022-12-21 12:09:52 -08:00
Daan Leijen
aa2d00fde8
make heap_new inline again
2022-12-21 10:28:58 -08:00
Daan Leijen
ef3f651f3f
change implementation of mi_realpath to be more robust; see issue #660
2022-12-19 18:59:33 -08:00
Daan Leijen
94b8cb870e
quote path in post-build event (issue #666
2022-12-19 18:40:12 -08:00
Daan Leijen
b701d4cbfa
bump cmake minimal version to 3.13 to support CMAKE_INTERPROCEDURAL_OPTIMIZATION -- see PR 656.
2022-12-19 18:39:52 -08:00
Daan Leijen
ab99eb5830
quote path in post-build event (issue #666
2022-12-19 18:12:27 -08:00
Daan Leijen
4d1e74aadd
add comment
2022-12-19 18:01:58 -08:00
Daan Leijen
95b61b8c3d
forward libc interface used by wasi-libc; originally by @anuraaga in PR #667 but rebased to the dev branch
2022-12-19 17:45:15 -08:00
Daan Leijen
2b0421a25c
fix -Wunused-function for mi_strn-cmp; originally by @rui314 in PR #662 but rebased to dev branch
2022-12-19 17:38:39 -08:00
Daan Leijen
8c89a77064
add default constructors to stl heap allocators
2022-12-19 17:25:49 -08:00
Daan
95e88a699e
Merge pull request #653 from vmarkovtsev/fix-const
...
Make "destroy" a compile-time constant + fix const allocator comparisons
2022-12-19 17:11:16 -08:00
Daan
51e2be6647
Merge branch 'dev' into fix-const
2022-12-19 17:10:54 -08:00
Daan Leijen
4f2fdf76a0
add braces
2022-12-19 16:59:24 -08:00
Daan Leijen
dfc95f34c4
first try WriteFile for a redirected stderr
2022-12-19 16:57:50 -08:00
Daan Leijen
505a14bbd8
cleanup on-demand loading of psapi and bcrypt on windows
2022-12-19 16:50:13 -08:00
Daan
59ea84cadc
Merge pull request #654 from dscho/git-for-windows-assorted-fixes
...
Assorted fixes from the Git for Windows project
2022-12-19 16:40:48 -08:00
Johannes Schindelin
089e85b113
Make MIMALLOC_SHOW_STATS work with redirected stderr
...
Setting `MIMALLOC_SHOW_STATS` to ask mimalloc to print out something
after the process is done is the easiest way to verify that a
mimalloc-enabled Git is running.
So it better work and not try to write to a Win32 Console when it got a
regular file handle instead or, as is the case in Git for Windows'
regular Git Bash window, an emulated pseudo terminal.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 01:13:00 +01:00
Johannes Schindelin
edb181c377
Lazy-link to bcrypt
...
Let's not make `bcrypt.dl` a link-time bound library. Instead, load the
`BCryptGenRandom()` function dynamically. When needed. If needed.
This helps reduce the start-up cost of any mimalloc user because the
time spent on loading dynamic libraries is non-negligible.
Note: In contrast to how `os.c` loads libraries and obtains function
addresses, we cannot call `FreeLibrary(hDll)` here because that would
unload the `bcrypt` library before we want to use it.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 01:13:00 +01:00
Johannes Schindelin
948a0c44df
Lazy-load psapi.dll
...
Let's load the `GetProcessMemoryInfo()` function dynamically. When
needed. If needed.
This is necessary because the start-up cost spent on loading dynamic
libraries is non-negligible.
Note: In contrast to how `os.c` loads libraries and obtains function
addresses, we cannot call `FreeLibrary(hDll)` here because that would
unload the `bcrypt` library before we want to use it.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 01:12:59 +01:00
Johannes Schindelin
11cab6a0c0
Avoid %z
format
...
This format is not supported by MSVC runtimes targeted by the mingw-64
toolchain.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 00:24:43 +01:00
Johannes Schindelin
2c40e0d02f
Allow running in Windows Nano Server containers
...
The `GetNumaProcessorNode()` symbol is not defined in Nano Server's DLLs
(because that function is long deprecated). This causes problems with
any executable that uses mimalloc when trying to run on Nano Server.
Instead of importing this function statically, try to import it
dynamically, and fall back gracefully if it cannot be loaded.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 00:24:43 +01:00