Daan
|
f971bd6d74
|
fix build on windows
|
2024-10-21 23:05:51 -07:00 |
|
Daan
|
4377abe017
|
add cmake option to fall back on the fiber api do detect thread termination on windows
|
2024-10-21 22:59:41 -07:00 |
|
Daan
|
aa881733d7
|
reorganize primitives for process initialization; use special data segment on Windows for thread termination by default on Windows now (issue #869)
|
2024-10-21 22:56:59 -07:00 |
|
Daan
|
34e66778ec
|
fix MI_EXTRA_CPPDEFS setting
|
2024-10-21 05:10:09 -07:00 |
|
Daan
|
50d3525a8c
|
add test for issue #944
|
2024-10-21 05:04:27 -07:00 |
|
Daan
|
638ea539de
|
allow certain options to have defaults set via the pre-processor at build time -- see issue #945
|
2024-10-21 05:04:01 -07:00 |
|
Daan
|
394e8c27d8
|
add cmake option to add C pre processor definitions more easily
|
2024-10-21 05:02:24 -07:00 |
|
Daan
|
db3d8485d2
|
increase TSAN test to 400 iterations
|
2024-08-21 17:13:51 -07:00 |
|
Daan
|
d8e0cb1a37
|
increase test timeout for azure pipeline
|
2024-08-21 17:01:05 -07:00 |
|
Daan
|
bb3976760f
|
add guarded build to test pipeline
|
2024-08-21 15:34:22 -07:00 |
|
Daan
|
51025f1ac2
|
set lower parameters for guarded test
|
2024-08-21 15:29:32 -07:00 |
|
Daan Leijen
|
4234a9bd9d
|
Merge branch 'dev-guarded' into dev
|
2024-08-21 11:30:33 -07:00 |
|
Daan Leijen
|
58e743b83f
|
fix use_guarded signature
|
2024-08-21 11:30:00 -07:00 |
|
Daan Leijen
|
cc4dc1bb53
|
add comments
|
2024-08-21 11:26:12 -07:00 |
|
Daan Leijen
|
96f7cc4ef2
|
clean up guarded allocation
|
2024-08-21 11:21:25 -07:00 |
|
Daan Leijen
|
631ff581af
|
set compile as C++ in VS IDE
|
2024-08-21 10:47:38 -07:00 |
|
Daan Leijen
|
b9b529de28
|
shuffle for 128 bit
|
2024-08-21 10:45:19 -07:00 |
|
daanx
|
b5c6495f69
|
don't consider memory as large OS pages if only madvise'd
|
2024-08-20 15:58:36 -07:00 |
|
Daan Leijen
|
f130808b5c
|
fix warnings
|
2024-08-20 12:58:49 -07:00 |
|
daanx
|
8899a11c70
|
clean up guarded pages code
|
2024-08-20 11:09:17 -07:00 |
|
daanx
|
635cf7af6a
|
fix multi-threaded free to unprotect guarded blocks
|
2024-08-20 09:55:57 -07:00 |
|
daanx
|
0c19eb60cf
|
initial working guarded pages
|
2024-08-19 21:21:40 -07:00 |
|
Daan
|
5eb8c752f7
|
fix UINT32_MAX constant (see issue #913)
|
2024-08-13 16:36:53 -07:00 |
|
Daan
|
7b5df14bea
|
initial work on guarded objects
|
2024-07-16 09:15:59 -07:00 |
|
daanx
|
265767766b
|
fix alignment test
|
2024-06-17 16:22:07 -07:00 |
|
daanx
|
b7dd5d6564
|
add extra assertions to check that blocks are always aligned to MI_MAX_ALIGN_SIZE
|
2024-06-17 16:17:03 -07:00 |
|
Daan
|
03020fbf81
|
fix count/size order in mi_heap_alloc_new_n, issue #906
|
2024-06-04 17:28:04 -07:00 |
|
Daan
|
d68a7fc3e6
|
update docs
|
2024-06-04 17:04:33 -07:00 |
|
Daan
|
8f481d34dd
|
update docs
|
2024-06-04 16:54:22 -07:00 |
|
Daan
|
98058eed14
|
add heap tag to area descriptor
|
2024-06-04 16:54:06 -07:00 |
|
Daan
|
8b7b3e3754
|
add docs svg's
|
2024-06-04 14:59:42 -07:00 |
|
Daan
|
ab1cdbbde3
|
add search js files for docs
|
2024-06-04 14:58:58 -07:00 |
|
Daan
|
dee7faa6d8
|
add js for docs
|
2024-06-04 14:56:49 -07:00 |
|
Daan
|
272d3368a0
|
update aligned documentation
|
2024-06-04 14:50:55 -07:00 |
|
daanx
|
20424dbfa2
|
update doxyfile
|
2024-06-04 14:38:23 -07:00 |
|
daanx
|
e64684c9f9
|
update documentation
|
2024-06-04 14:37:16 -07:00 |
|
Daan
|
08fa864605
|
rename arena-abandoned to arena-abandon
|
2024-06-03 21:30:02 -07:00 |
|
Daan
|
e0baf882bb
|
reduce UBSAN parameters to stay within pipeline limits
|
2024-06-03 21:26:38 -07:00 |
|
Daan
|
b123bbe6c0
|
increase iterations for tsan test
|
2024-06-03 21:13:34 -07:00 |
|
Daan
|
0c322c5566
|
add reference to page_malloc_zero in C++ build
|
2024-06-03 21:10:05 -07:00 |
|
Daan
|
cf10af7824
|
re-enable tsan test in azure pipelines
|
2024-06-03 21:07:48 -07:00 |
|
daanx
|
b1188ea336
|
fix potential race on subproc field in the segment
|
2024-06-03 20:57:00 -07:00 |
|
daanx
|
76b0873ce2
|
fix asan tracking by explicitly setting memory to undefined before a free
|
2024-06-03 20:28:47 -07:00 |
|
daanx
|
3f69119936
|
don't reset a segment thread id when iterating
|
2024-06-03 18:25:22 -07:00 |
|
daanx
|
065f46cefb
|
don't reset a segment thread id when iterating
|
2024-06-03 18:19:45 -07:00 |
|
daanx
|
537c51e227
|
fix vs 2022 ide
|
2024-06-03 18:06:53 -07:00 |
|
daanx
|
f7ba9d9da0
|
refactor arena-abandoned to be an include for backward compat with existing build scripts
|
2024-06-03 18:04:59 -07:00 |
|
daanx
|
800034cb99
|
refactor arena abandonment in a separate file
|
2024-06-03 17:58:34 -07:00 |
|
daanx
|
96b69d7ef6
|
fix leak where OS abandoned blocks were not always reclaimed
|
2024-06-03 17:28:14 -07:00 |
|
daanx
|
00dacba91f
|
maintain count of the abandoned os list
|
2024-06-03 15:44:25 -07:00 |
|
daanx
|
3333f776f9
|
push os abandoned blocks at the tail end
|
2024-06-03 15:37:05 -07:00 |
|
daanx
|
a04905c88b
|
revisit atomic reclaim for abandoned segments
|
2024-06-03 15:20:35 -07:00 |
|
daanx
|
f02a0b3541
|
more aggressive reclaim from free for OS blocks
|
2024-06-03 14:05:57 -07:00 |
|
daanx
|
1a9cf7bce2
|
switch between OS and arena allocation in stress test
|
2024-06-03 11:43:35 -07:00 |
|
Daan
|
7e23576efa
|
remove old mi_abandoned_await_readers
|
2024-06-03 09:57:03 -07:00 |
|
Daan
|
2ed97f3ebb
|
whitespace
|
2024-06-03 09:55:11 -07:00 |
|
Daan
|
f17ddc3395
|
increase thread data cache to32 entries
|
2024-06-03 09:55:02 -07:00 |
|
Daan
|
84334e480a
|
decrease meta allocation zone to 4k (to reduce .bss)
|
2024-06-03 09:54:41 -07:00 |
|
Daan
|
58fbb67963
|
fix c++ compilation
|
2024-06-03 09:25:53 -07:00 |
|
Daan
|
6b15342709
|
fix pthread initalization of mutexes
|
2024-06-02 16:41:07 -07:00 |
|
Daan
|
768872e4e0
|
typo in stress test
|
2024-06-02 16:24:13 -07:00 |
|
daanx
|
e4c8f42bb6
|
always include sys/prctl.h on linux to disable THP if large_os_pages are not enabled
|
2024-06-02 16:10:08 -07:00 |
|
daanx
|
f9076a5cf8
|
use EFAULT if a target heap tag cannot be found on reclaim
|
2024-06-02 15:54:49 -07:00 |
|
daanx
|
f87ec74bb3
|
reduce delayed output from redirection to 16KiB to reduce the .bss size
|
2024-06-02 15:10:17 -07:00 |
|
daanx
|
e8f4bdd1ea
|
fix cast; make segment map static
|
2024-06-02 14:59:37 -07:00 |
|
daanx
|
a964322a21
|
revise the segment map to only apply to OS allocated segments and reduce the .BSS footprint
|
2024-06-02 14:46:59 -07:00 |
|
daanx
|
5501f59f6c
|
only reclaim for exclusive heaps in their associated arena
|
2024-06-02 13:16:20 -07:00 |
|
daanx
|
635d626c82
|
fix leak in abandoned block visiting
|
2024-06-02 10:43:41 -07:00 |
|
daanx
|
f7fe5bf20e
|
optimize heap walks, by Sam Gross, upstream of python/cpython#114133
|
2024-06-02 10:28:30 -07:00 |
|
daanx
|
855e3b2549
|
add support to visit _all_ abandoned segment blocks per sub-process, upstream for python/cpython#114133
|
2024-06-02 09:41:12 -07:00 |
|
daanx
|
8f874555d5
|
add initial support for visiting abandoned segments per subprocess, upstream for python/cpython#114133
|
2024-06-02 07:47:08 -07:00 |
|
Daan Leijen
|
f93fb900b7
|
move lock code to atomic.h
|
2024-06-01 17:25:45 -07:00 |
|
Daan Leijen
|
0b3cd51249
|
add initial primitive api for locks
|
2024-06-01 16:45:20 -07:00 |
|
daanx
|
d9aa19a763
|
add support for sub-processes (to supportpython/cpython#113717)
|
2024-06-01 15:57:18 -07:00 |
|
daanx
|
f87a4c15b2
|
increase max arenas
|
2024-06-01 13:41:13 -07:00 |
|
daanx
|
aeee7907a0
|
fix spelling
|
2024-06-01 13:20:28 -07:00 |
|
daanx
|
616db104a9
|
prevent UB in arena reservation
|
2024-06-01 12:29:48 -07:00 |
|
Daan
|
87d088b7e0
|
bump version to v1.8.8 for further development
|
2024-05-21 12:31:57 -07:00 |
|
Daan
|
1f3ecec2e5
|
update readme
v1.8.7
|
2024-05-21 12:25:13 -07:00 |
|
Daan
|
4aa97336f7
|
remove the need for cmake patch in vcpkg port
|
2024-05-21 12:06:52 -07:00 |
|
Daan
|
bd04cec1c4
|
roll back export ignore on the bin directory as it needed by vcpkg (et al) to build on Windows
|
2024-05-21 11:57:52 -07:00 |
|
Daan
|
836ee0a94c
|
add alpine docker files
|
2024-05-19 21:32:22 -07:00 |
|
daanx
|
d5ac4f7b95
|
add example docker file for testing on manylinux-x64
|
2024-05-19 20:42:58 -07:00 |
|
daanx
|
b9b321d328
|
use _builtin_thread_pointer also on gcc 11-x64 and clang-14-x64
|
2024-05-19 20:42:28 -07:00 |
|
Daan
|
d6ad058e44
|
Merge pull request #897 from madsmtm/patch-1
macOS: Fix linking statically
|
2024-05-19 15:49:50 -07:00 |
|
Daan
|
9cd7e4cc68
|
rename library check to find_link_library
|
2024-05-19 15:43:15 -07:00 |
|
Daan
|
f739e4f2c3
|
check all link libraries (pthread, rt, and atomic) via check_linker_flag first before using find_library (see also issue #898
|
2024-05-19 15:38:26 -07:00 |
|
Daan
|
03224e17a0
|
bump cmake required version to 3.18 and detect libatomic more reliably, see pr #898
|
2024-05-19 13:25:31 -07:00 |
|
Daan
|
7ea7296d3e
|
add malloc_good_size override maacro, see issue #900 and pr #901
|
2024-05-19 12:03:55 -07:00 |
|
Daan
|
0c4041fa53
|
add support for custom heap and page tags, upstream of python/cpython#113742
|
2024-05-19 08:06:32 -07:00 |
|
Daan
|
710d6138c7
|
refactor thread meta-data initilazation, upstream of python/cpython#113263
|
2024-05-18 17:42:47 -07:00 |
|
Daan
|
66052f135f
|
allow custom thread id, upstream of python/cpython#115488)
|
2024-05-18 17:05:13 -07:00 |
|
daanx
|
381da05d8a
|
make mimalloc includes relative to the current file, upstream of python/cpython#113141
|
2024-05-18 16:48:58 -07:00 |
|
daanx
|
92a8268fa4
|
make warning an trace message if we cannot allocate at a hinted address, upstream of python/cpython#113372
|
2024-05-18 16:45:23 -07:00 |
|
daanx
|
c48a21215b
|
fix arm64 windows compilation, upstream of python/cpython#111527
|
2024-05-18 16:41:39 -07:00 |
|
daanx
|
999b31fea6
|
allow syscall include on FreeBSD as well
|
2024-05-18 16:39:04 -07:00 |
|
daanx
|
87c4012f13
|
make syscall test in primitives positive and avoid unused function warnings. upstream python/cpython#111907, python/cpython#111593, python/cpython#117548
|
2024-05-18 16:37:40 -07:00 |
|
daanx
|
937fd19338
|
comment
|
2024-05-18 16:32:10 -07:00 |
|
daanx
|
d9441ffce2
|
fix compilation on AIX, upstream of python/cpython#111593
|
2024-05-18 16:16:36 -07:00 |
|
daanx
|
1b21415dfa
|
make retry on oom an option; revise size options to not overflow the long
|
2024-05-18 09:56:02 -07:00 |
|