197 Commits

Author SHA1 Message Date
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