Daan
54c5af5862
Merge branch 'dev' into dev-slice
2024-11-17 23:37:32 -08:00
daanx
9cae0d31cd
Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev
2024-11-17 23:30:19 -08:00
daanx
54ee4e7632
merge from dev
2024-11-17 23:29:21 -08:00
daanx
d57cb0765d
add guarded objects that are sampled (and fit a size range). guarded sample rate etc can be set per heap as well as defaulted with options
2024-11-17 22:45:09 -08:00
daanx
8ba1879073
add sampling for guarded objects
2024-11-17 00:06:16 -08:00
daanx
8b6017d976
rename mi_debug_guarded_ to mi_guarded_
2024-11-16 22:42:32 -08:00
daanx
498c92e348
update guarded implementation to use block tags
2024-11-16 21:15:50 -08:00
Daan Leijen
c57e9b855c
fix std malloc compile of the stress test
2024-11-16 19:43:13 -08:00
Daan
e58e41c8da
merge from dev
2024-10-21 05:07:12 -07:00
Daan
db3d8485d2
increase TSAN test to 400 iterations
2024-08-21 17:13:51 -07:00
Daan
532141fda2
Merge branch 'dev' into dev-slice
2024-08-21 15:39:31 -07:00
Daan
51025f1ac2
set lower parameters for guarded test
2024-08-21 15:29:32 -07:00
Daan
64f3afdda4
merge from dev
2024-06-03 21:31:36 -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
daanx
f79ea2461a
merge from dev
2024-06-03 21:01:23 -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
Daan Leijen
7c67114fd4
merge from dev
2024-06-03 18:14:44 -07:00
daanx
f02a0b3541
more aggressive reclaim from free for OS blocks
2024-06-03 14:05:57 -07:00
daanx
043df00a97
Merge branch 'dev' into dev-slice
2024-06-03 11:43:49 -07:00
daanx
1a9cf7bce2
switch between OS and arena allocation in stress test
2024-06-03 11:43:35 -07:00
Daan
f77adf4a18
merge from dev (visit abandoned, upstream of python/cpython#114133 )
2024-06-02 17:03:13 -07:00
Daan
768872e4e0
typo in stress test
2024-06-02 16:24:13 -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
Daan Leijen
0b3cd51249
add initial primitive api for locks
2024-06-01 16:45:20 -07:00
daanx
abb8eab9b2
merge from dev
2024-03-03 17:43:52 -08:00
daanx
5fe83bf327
limit reclaim from free to half the segments to prevent a pure freeing thread to reclaim too many segments
2024-03-03 17:38:50 -08:00
daanx
2845f0cab3
merge from dev-abandon
2024-03-01 16:26:46 -08:00
daanx
16c0948ee5
improve display of arenas and contained blocks
2024-03-01 16:24:28 -08:00
daanx
f57c9e16bd
merge from dev-abandon
2024-02-29 18:34:50 -08:00
daanx
931d523dcc
update mstress to let the main thread participate
2024-02-29 18:17:58 -08:00
daanx
eff7940f30
merge from dev
2023-04-18 17:54:07 -07:00
daanx
173382ef60
is_zero review; fix asan check
2023-04-18 17:52:16 -07:00
daanx
fb07276d48
merge from dev
2023-04-18 17:33:01 -07:00
daanx
4d976270eb
review is_zero flag
2023-04-18 17:18:39 -07:00
daanx
2f878354f4
add arena contains check for valid pointers
2023-04-18 14:13:55 -07:00
daanx
a200f013bf
Merge branch 'dev' into dev-slice
2023-04-17 12:14:38 -07:00
Daan Leijen
72f3ba95a8
reduce iterations under tsan
2023-04-17 12:08:22 -07:00
daanx
940e890dd0
Merge branch 'dev-reset' into dev-slice-reset
2023-04-04 19:18:58 -07:00
daanx
b6a395b5ec
reset stats more early for mstress
2023-04-04 19:18:47 -07:00
Daan Leijen
c4220e43b6
merge from dev
2023-03-29 16:24:55 -07:00
Daan Leijen
dd7b99d477
apply some spelling fixes from PR #710
2023-03-29 16:10:01 -07:00
Daan Leijen
7ec798e197
make test-stress match the one in dev
2023-03-05 22:54:10 -08:00
Daan
e4b9ea918f
merge from dev
2023-03-04 14:52:30 -08:00
Daan
cb4fc2c792
reset stats for stress test when using mimalloc
2023-03-04 09:17:35 -08:00
Daan Leijen
92ffc25d79
merge from dev
2022-12-19 17:08:45 -08:00
Johannes Schindelin
745a34f475
Fix whitespace
...
This mostly deletes trailing spaces.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-12-03 00:24:20 +01:00
Daan Leijen
9e56567d23
fix decommit for huge objects
2022-11-23 09:50:29 -08:00
Daan Leijen
487b401b26
Merge branch 'dev' into dev-slice
2022-04-19 18:43:32 -07:00
Daan Leijen
d69d4c861f
add zero parameter to primitive allocation to improve codegen for calloc etc
2022-04-19 18:32:35 -07:00
Daan
bd2ac3c92e
collect segment cache on mi_collect
2022-02-02 16:17:21 -08:00
daan
09e59e0610
use size_t instead of uintptr_t where appropiate
2021-11-13 15:13:16 -08:00
daan
49c75a3157
wip: increase commit mask resolution
2021-11-09 20:19:31 -08:00
Daan Leijen
5869c85749
merge from dev
2021-06-17 19:18:57 -07:00
Daan Leijen
a83bca72b3
fixes for M1; disable interpose use zones; fix pedantic warnings
2021-06-17 19:15:09 -07:00
Daan Leijen
73c339235c
collect in debug mode in stress test
2021-04-28 16:12:32 -07:00
Daan Leijen
10ce8839fa
merge from dev
2021-04-28 13:23:46 -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
Daan Leijen
e314699ee0
add debug view of arenas
2021-01-28 17:32:42 -08:00
Daan Leijen
3c70317393
merge from dev
2020-12-15 16:07:23 -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
Daan Leijen
b803095b83
merge from dev
2020-12-10 13:17:56 -08:00
David Carlier
e6c2fd44fc
DragonFly support fix (for 5.8.x and forward).
...
The pthread slot approach is somewhat buggy (pretty visible
with the stress unit test which segfault more or less randomly,
but the stats never show up).
Using the default approach instead, the test passes eventough
it s relatively slow (e.g 1.5 sec on FreeBSD vs 4.5 on DragonFly with same
machine).
2020-10-22 11:15:37 +01:00
daan
7e96634da4
merge from dev
2020-10-11 13:38:12 -07:00
daan
7114d5424a
fix statistics to include padding correctly (issue #301 )
2020-10-11 13:14:43 -07:00
daan
fbaa70e1eb
increase default test load to 25% to increase azure pipeline test load
2020-09-14 11:01:17 -07:00
daan
fa01875eb2
merge from dev (with is_pinned/is_large separation)
2020-09-08 17:54:58 -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
371532ff02
merge from dev
2020-09-07 21:43:05 -07:00
daan
c7272afa9a
add mi_reserve_os_memory/mi_manage_os_memory; allow arena allocations to cross multiple bitmap fields
2020-09-07 21:34:34 -07:00
daan
36da7e91c5
Merge branch 'dev' into dev-slice
2020-09-05 18:17:22 -07:00
daan
f09549c98f
use main stats for thread count
2020-09-05 18:00:36 -07:00
daan
0d0b5e3fad
restore stress workload for windows pipeline
2020-09-05 11:19:35 -07:00
daan
78f1f9bd5e
reduce stress workload for windows pipeline
2020-09-05 11:16:40 -07:00
daan
03071dec0f
merge from dev-atomic with new atomic interface
2020-09-03 12:13:09 -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
daan
a468430772
strengthen memory order of bit operations; insert memory fences
2020-07-26 14:19:30 -07:00
daan
1f396e64a0
merge from dev
2020-03-16 16:41:21 -07:00
daan
b241be7075
reenable mimalloc in the stress test
2020-02-02 22:08:33 -08:00
daan
f3c47c7c91
improved malloc zone handling on macOSX (not working yet)
2020-02-02 21:03:09 -08:00
daan
0989562c2d
add initial fast tls for macOSX
2020-02-01 16:57:00 -08:00
daan
a169cf0e3f
merge dev-exp; add pthread TLS support for macOSX
2020-02-01 14:10:10 -08:00
daan
03b363a1c2
first working tls on macOS using interpose; still slow
2020-01-29 22:46:44 -08:00
daan
b50bec463d
merge from dev-exp; better abandoned reclamation
2020-01-27 22:12:23 -08:00
daan
19a0d9dfa0
clean up stress test
2020-01-25 12:51:56 -08:00
daan
5e32d00aab
add visit count to abandoned to limit list length
2020-01-25 12:26:08 -08:00
daan
b31bc52618
add cache alignment directives for contended variables
2020-01-24 19:02:13 -08:00
daan
e070eba112
fix tagged null encoding, search segment cache before reclaim
2020-01-24 16:31:18 -08:00
daan
8cf4882a85
fix linux build
2020-01-24 10:38:25 -08:00
daan
8b1520f5c1
make stress test deterministic
2020-01-23 21:53:28 -08:00
daan
58fdcbb0cd
fix bug in collect where has_page was not set on free pages
2020-01-23 21:37:14 -08:00
daan
f8ab4bd7dc
add leak test
2020-01-23 19:49:32 -08:00
daan
66818bf632
use atomic yield on delayed-freeing; clarify code
2020-01-23 09:57:55 -08:00
daan
394a7a92ab
merge from dev
2020-01-20 19:06:08 -08:00
daan
9d7ac76d93
fix compilation under Intel C compiler (icc)
2020-01-19 18:35:45 -08:00