daanx
5501f59f6c
only reclaim for exclusive heaps in their associated arena
2024-06-02 13:16:20 -07:00
daanx
f7fe5bf20e
optimize heap walks, by Sam Gross, upstream of python/cpython#114133
2024-06-02 10:28:30 -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
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
88aa84727d
fix spelling errors (pr #710 )
2024-04-20 17:12:09 -07:00
Daan
bf5932c3c6
use better purging for segments_collect
2024-04-19 12:43:05 -07:00
Daan
2b7530e183
add segment_collect for forced heap_collect
2024-04-19 12:33:17 -07:00
Daan
32e065bb32
rename segment_thread_collect to segment_collect
2024-04-19 12:11:58 -07:00
Daan
0ea2e04902
dont purge arenas on collect unless it is an explicit force (issue #878 )
2024-04-19 12:06:27 -07:00
Daan
70eb7fb390
collect arenas even if not on the main thread (issue #878 )
2024-04-19 12:01:26 -07:00
Daan Leijen
0022802177
commend and make at least 8 tries for reclaim
2024-03-25 15:25:04 -07:00
Daan Leijen
b5665f0eec
add full block_size and page_start to page info
2024-03-24 14:17:17 -07:00
daanx
0174d19af3
increase thread data cache to 16
2023-04-15 19:49:14 -07:00
daanx
c90a2bbd0a
make memid's abstract for safety
2023-04-13 12:17:52 -07:00
daanx
83aa635485
implement arena destroy on program exit
2023-04-04 18:44:08 -07:00
daanx
461df1e878
implement arena exclusive heap allocation for dev
2023-04-04 15:40:43 -07:00
daanx
77766e20a6
use only arena's instead of regions
2023-04-04 14:58:06 -07:00
Daan Leijen
595add5e3d
wip: initial work on purgable arenas
2023-03-31 20:51:35 -07:00
Daan Leijen
06b94fc5e6
remove redundant code (pr #674 by @rganesan)
2023-03-29 16:19:07 -07:00
Daan Leijen
54ad5e76fd
fix warnings for issues #709
2023-03-20 11:43:31 -07:00
Daan Leijen
f58357548c
restructure header files
2023-03-20 10:37:39 -07:00
Daan Leijen
9b110090b2
move threadid and mi_get_default_heap to primitives
2023-03-14 20:35:00 -07: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
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
35d332141d
experimental destroy_on_exit option for statically linked mimalloc in a dynamically unloaded DLL
2022-11-18 11:00:23 -08:00
daan
7bef5f5f5b
reduce contention on the delayed_free lock; see issue #630
2022-10-31 10:34:55 -07:00
Daan Leijen
7bc602ebb4
redefine mi_likely/mi_unlikely to work with C++ 20 [[likely]] attributes
2022-04-19 19:50:06 -07:00
Daan Leijen
5b172280b0
add nodiscard annotations to fix warnings in msvc
2022-04-19 10:10:10 -07:00
Daan Leijen
e1b27a0fc2
fix used size field when visiting heap blocks
2022-04-19 09:38:29 -07:00
Daan Leijen
e18a8cd72e
add heap walk test
2022-04-08 16:58:32 -07:00
Roman Gershman
1f8138a4dc
Fix wrong reporting of area used bytes
...
Fixes #552
2022-02-28 09:26:00 +02: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
bmalrat
30be78d97a
Fixed typo in headers
2021-08-04 17:31:48 -04: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
Daan Leijen
c426ab4ea2
add condition to avoid compilation error on vs2015 (#issue 353)
2021-02-01 15:41:41 -08:00
Daan Leijen
35c1fc2be9
limit memcpy as rep stosb to windows where the cpu supporst FSRM; add mi_memcpy_aligned for machine-word aligned copy. see issue #201 and pr #253
2021-01-30 14:33:46 -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
f68c1a74da
fix assertion comparison ( #353 )
2021-01-29 14:34:14 -08:00
Daan
b759bcf5c7
Merge pull request #329 from asl/mi_stat_agg
...
Unify statistics collection
2021-01-29 12:52:29 -08:00
Anton Korobeynikov
765fc9c0ca
Unify statistic collection:
...
- For MI_STAT == 0 no allocation stats are collected
- For MI_STAT == 1 only aggregated values (across normal, large and huge heaps) are collected
- For MI_STAT == 1 separate per-bin collection for normal heap is done as well
2020-11-11 11:41:39 +03:00
Anton Korobeynikov
00fb89f771
Rename the field
2020-11-11 11:41:33 +03:00
Anton Korobeynikov
39bcf8a6b0
Honour MI_STAT in couple more places.
2020-11-02 00:14:02 +03:00
daan
ead1f34930
add extra NULL checks for heap parameters in the heap API (issue #311 )
2020-10-11 10:50:09 -07:00
daan
9d82b15d87
fix warnings on vs2017
2020-09-05 12:04:25 -07:00
daan
2e311f341b
fix msvc compilation in C mode
2020-09-05 09:37:09 -07:00
daan
900c97664a
merge from dev-atomic
2020-09-03 09:47:01 -07:00