daanx
5501f59f6c
only reclaim for exclusive heaps in their associated arena
2024-06-02 13:16:20 -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
daanx
d9aa19a763
add support for sub-processes (to supportpython/cpython#113717 )
2024-06-01 15:57:18 -07:00
Daan
87d088b7e0
bump version to v1.8.8 for further development
2024-05-21 12:31:57 -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
Daan
5eb29e971b
bump version to 1.8.7 for further development
2024-05-16 18:52:29 -07:00
Daan
9e721e564a
bump version to v1.8.6
2024-05-13 09:16:26 -07:00
Daan
77eb3a366b
bump version to 1.8.5 for further development
2024-04-22 11:25:26 -07:00
Daan
a527f75161
add disallow_arena_alloc option
2024-04-22 10:10:20 -07:00
Teodor Spæren
10721ddbfd
Remove unneeded include
2024-03-31 23:18:52 +02:00
Teodor Spæren
3d89f6388e
Fix std::shared_pointer calling free on provided heap pointers
2024-03-09 15:14:32 +01:00
Teodor Spæren
068dc014ec
Avoid compilation error when passing in heap to allocators
...
Before it would not work to create the mi_heap_stl_allocator types with
passing in a "mi_heap_t*", since sizeof is used and it gives a
compilation error. This change fixes that.
2024-03-09 14:13:33 +01:00
daanx
16c0948ee5
improve display of arenas and contained blocks
2024-03-01 16:24:28 -08:00
daanx
f5f61a65f5
bump version to 1.8.4
2024-03-01 15:14:39 -08:00
daanx
64edbc92dd
allow abandoned segment reclaim on a free
2024-02-29 14:58:59 -08:00
daanx
a59ae585c7
remove allow_purge option
2023-04-23 13:04:50 -07:00
daanx
eb62caeda0
allow per page purging instead of reset
2023-04-08 17:37:58 -07:00
daanx
96e9e6f570
clean up option naming
2023-04-05 10:11:54 -07:00
daanx
461df1e878
implement arena exclusive heap allocation for dev
2023-04-04 15:40:43 -07:00
daanx
449aad0635
wip: purgeable arenas; update option names and improve arena reservation
2023-04-04 12:15:57 -07:00
daanx
a5b47fe17b
Merge branch 'dev' into dev-reset
2023-04-03 12:46:00 -07:00
daanx
92556e0e62
bump version for further development
2023-04-03 12:45:04 -07:00
Daan Leijen
7cf60deb12
wip: initial delayed purging of arenas
2023-03-31 14:07:59 -07:00
Daan Leijen
6eee9e4be2
add option eager_reserve
2023-03-30 16:20:11 -07:00
Daan Leijen
f08d9d489c
bump version for further development
2023-03-30 09:19:35 -07:00
Daan Leijen
e24e1125ee
bump version to 1.8.0
2023-03-20 11:03:50 -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
2e6ab0f230
add documentation for tracking tools; rename with prefix MI_TRACK_tool
2023-03-06 09:02:38 -08:00
Daan Leijen
6a230f8329
fix compilation of heap specific STL allocators for vs2017
2023-02-07 11:07:52 -08:00
Daan Leijen
4cebb48062
bump version to v1.7.9
2022-12-23 13:29:06 -08:00
Daan Leijen
4d1e74aadd
add comment
2022-12-19 18:01:58 -08:00
Daan Leijen
8c89a77064
add default constructors to stl heap allocators
2022-12-19 17:25:49 -08:00
Daan
51e2be6647
Merge branch 'dev' into fix-const
2022-12-19 17:10:54 -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
76db72814c
fix unused parameter warning in clang
2022-11-28 10:54:45 -08:00
Daan Leijen
be2bc9e7ca
better attributes on new/delete overrides for Microsoft visual C++
2022-11-28 09:15:16 -08:00
Vadim Markovtsev
7da4a34dc1
Make "destroy" a compile-time constant + fix const allocator comparisons
2022-11-28 12:04:12 +01:00
Daan Leijen
c1299484de
refactor C++ STL allocator definitions (pr #651 )
2022-11-27 13:00:15 -08:00
Vadim Markovtsev
4cdfc18888
Refactor C++ allocators to be DRY and protected
2022-11-24 15:13:19 +01:00
Daan Leijen
78690fbec2
fix proteced status in stl allocator (pr #625 )#
2022-11-22 18:41:51 -08:00
Daan Leijen
9617f16df9
add STL allocators that use a specific heap and can destroy at the end; see original PR #625 by @vmarkovtsev
2022-11-22 16:58:32 -08:00
Daan Leijen
6e2b077b35
rename to heap_alloc_new and heap_alloc_new_n
2022-11-22 14:48:26 -08:00
Daan Leijen
34910664f1
add mi_heap_new_ and mi_heap_new_n
2022-11-22 14:46:23 -08: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
312ce6f916
bump version to v1.7.8 for further development
2022-11-07 11:36:44 -08:00
daan
1f12c3dd12
remove MI_ALIGNMENT_MAX and add comments
2022-11-07 11:13:42 -08:00
daan
4b91ff760d
initial working large alignment
2022-11-05 16:40:42 -07:00
daan
fe61be80bf
update to v1.7.7
2022-11-03 17:03:57 -07:00
daan
e6bd41ba3f
update arena_id api
2022-11-01 16:26:17 -07:00
daan
fe2d5aa8ff
initial work on heaps restricted to specific arena's
2022-11-01 14:00:20 -07:00
Daan Leijen
ca0bac743d
maintain backward compatible option order
2022-04-14 16:10:36 -07:00
Daan Leijen
f87cba9bd8
add max segment reclaim as an option
2022-04-14 16:05:49 -07:00
Daan Leijen
6c91c75b14
remove thread local segment cache
2022-04-09 14:33:20 -07:00
Daan Leijen
e18a8cd72e
add heap walk test
2022-04-08 16:58:32 -07:00
Daan
ec2265486e
bump version for further development
2022-02-14 16:47:57 -08:00
Daan
817569dfad
bump to version x.0.5
2022-02-14 16:34:18 -08:00
Daan
f515b80093
update documentation on options
2022-02-02 19:19:03 -08:00
Daan
4fc63358a6
update copyright year
2022-01-10 12:01:26 -08:00
Daan
6ead2840ec
Merge pull request #504 from res2k/tweak-stats-doc
...
Tweak documentation for mi_heap_area_t::used.
2021-12-20 17:44:52 -08:00
Frank Richter
ff3bb5ce7b
Tweak documentation for mi_heap_area_t::used.
...
For microsoft/mimalloc#503 .
2021-12-19 14:51:15 +01:00
Daan Leijen
89090510bd
update alignment tests
2021-12-18 11:11:44 -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
82a0e56f35
fix warning on mi_reallocarr
2021-12-15 18:54:57 -08:00
Daan
1b09877bc4
Merge branch 'dev' into netbsd_reallocarr
2021-12-15 16:27:26 -08:00
Daan
69b6b24688
further improvements to installation directories
2021-12-14 18:29:14 -08:00
David Carlier
d6a56dd99d
introduces netbsd's reallocarr overriding.
...
and couple of tests.
2021-12-01 22:43:13 +00:00
daan
9183b1eec0
remove experiment with unsafe_free_with_threadid
2021-11-23 19:04:41 -08:00
daan
8b60a5ab70
add mi_unsafe_free_with_threadid and mi_get_current_threadid()
2021-11-23 17:59:27 -08:00
daan
85eccf324f
Merge branch 'master' into dev
2021-11-14 16:44:54 -08:00
Daan
4a590b1447
bump version number to 1.7.3
2021-11-14 15:33:56 -08:00
Daan
d67ff1ca9f
add include cstdef for std::size_t in C++
2021-11-14 15:32:43 -08:00
Daan
5360639748
add mi_malloc_good_size
2021-11-02 21:52:00 -07:00
Daan
f38956568c
only set visibility attribute when compiling for a shared library
2021-10-27 17:01:12 -07:00
paulip1792
a2c3b0f8af
add option to reserve huge os pages at a specific numa node.
2021-08-10 16:30:44 +08:00
Jim Huang
4369fe4323
Eliminate preprocessor warnings due to undefined "__GNUC__" with ClangCL
...
When building some code against mimalloc with C inside Visual Studio
with ClangCL, the compiler complains about __GNUC__ being undefined.
Reported by Mojca Miklavec.
Close #422
2021-06-24 17:29:06 +08: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
985f313b35
bump version to 1.7.1
2021-04-06 10:56:26 -07:00
Daan Leijen
92ead2d880
bump version to 1.7.0
2021-01-31 13:51:19 -08:00
Anton Korobeynikov
9c45221243
Do not use the same counter for warnings and errors.
...
Warnings happen normally and could be safely ignored in the most cases,
however errors, if enabled, should not be ignored. Currently since warnings
and errors share the same counter we effectively stop showing errors after
16 warnings (which happen all the time).
Use different counters for errors and warnings.
2020-11-01 23:57:42 +03:00
daan
9d5098c705
bump version to 1.6.7 for further development
2020-09-24 10:16:40 -07:00
daan
6adb919085
bump version to 1.6.6
2020-09-24 10:14:10 -07:00
daan
f88b4b4c27
extend mi_process_info to include elapsed time
2020-09-24 10:13:25 -07:00
daan
d0d3634143
bump version for further development
2020-09-24 09:29:37 -07:00
daan
c05302f097
Merge branch 'dev' into dev-exp
2020-09-24 09:11:49 -07:00
daan
64a3d24dcd
bump version to 1.6.5
2020-09-23 20:00:23 -07:00
daan
8607ff617c
add environment option mi_reserve_os_memory
2020-09-08 17:16:31 -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
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
46ee8952eb
update mi_process_info to not use doubles
2020-09-06 13:53:02 -07:00
daan
ee286919d9
add mi_process_info api call
2020-09-06 13:21:19 -07:00
daan
f107acb3c8
fix __cplusplus test (pr #287 )
2020-09-04 10:40:05 -07:00
daan
900c97664a
merge from dev-atomic
2020-09-03 09:47:01 -07:00
daan
76a68cd7af
bump version to 1.6.6 with new atomics
2020-09-03 09:45:53 -07:00
daan
b4825372ab
small compilation warning fixes (extra semicolon etc)
2020-08-29 19:30:38 -07:00
daan
ac0c121c68
update documentation for 1.6.4 release
2020-07-27 08:55:26 -07:00
daan
cefc930f72
bump version to 1.6.4 for further development
2020-05-05 10:47:46 -07:00
daan
5cfdc39ff1
remove on-demand page commit option
2020-04-30 18:23:33 -07:00
daan
3484cda169
bump version to 1.6.3 for further development
2020-04-20 18:01:39 -07:00
daan
d102882bdf
bump version to 1.6.2
2020-04-20 17:59:13 -07:00
daan
0a3e5bb699
further fixes to compile on mingw without warnings (issue #217 )
2020-04-06 10:56:53 -07:00