882 Commits

Author SHA1 Message Date
Daan
35658681e9 purge segments on forced collect (issue #878) 2024-04-19 12:29:49 -07:00
Daan
32e065bb32 rename segment_thread_collect to segment_collect 2024-04-19 12:11:58 -07:00
Daan
da1d64f05a Merge branch 'dev' into dev-slice 2024-04-19 10:08:57 -07:00
Daan
e21801fa02 Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2024-04-19 10:08:02 -07:00
Daan
c13c17f1d0
Merge pull request #864 from rHermes/fix-passing-heap
Avoid compilation error when passing in heap_t to C++ allocators
2024-04-19 10:07:55 -07:00
Daan
78418b3d24 fix overflow of slice count, PR #877 2024-04-19 10:03:14 -07:00
Daan
5050b63038 define MI_MAX_ALLOC_SIZE as PTRDIFF_MAX (related to #877) 2024-04-19 09:53:21 -07:00
Teodor Spæren
10721ddbfd Remove unneeded include 2024-03-31 23:18:52 +02:00
Daan Leijen
c1d7d7f563 merge from dev 2024-03-25 15:32:56 -07:00
Daan Leijen
0022802177 commend and make at least 8 tries for reclaim 2024-03-25 15:25:04 -07:00
Daan Leijen
cc8d89a085 update comments 2024-03-25 07:35:49 -07:00
Daan Leijen
7c17c3d33e optimize page struct layout 2024-03-24 22:41:33 -07:00
Daan Leijen
3c85983a35 merge from dev with new page fields (block_size and is_huge) 2024-03-24 22:12:33 -07:00
daanx
006ae2d055 add is_huge page flag to ensure the right page queue is returned (see #868) 2024-03-24 17:07:28 -07:00
Daan Leijen
a8a53e3e85 fix double counting of free-ing for non-thread-local free calls 2024-03-24 14:50:15 -07:00
Daan Leijen
b5665f0eec add full block_size and page_start to page info 2024-03-24 14:17:17 -07:00
Daan Leijen
6688b45fbd rename MI_ALIGNMENT_MAX to MI_BLOCK_ALIGNMENT_MAX for clarity 2024-03-24 10:57:02 -07:00
Daan Leijen
e363f477a7 Merge branch 'dev' into dev-slice 2024-03-24 10:39:39 -07:00
Daan Leijen
07ae64bd81 faster check for NULL in mi_free by combining with masking 2024-03-24 10:39:22 -07:00
Daan Leijen
6399dbdc30 merge from dev (new free.c) 2024-03-24 09:56:26 -07:00
Daan Leijen
ea6137a501 use MI_MAX_ALIGN_SIZE to adjust block_offset_adj 2024-03-24 09:01:58 -07:00
Daan Leijen
60c4a0fe56 fix compilation warnings for new uint16_t size for used field 2024-03-24 08:10:35 -07:00
Daan
9085596eab update comment 2024-03-23 08:57:29 -07:00
Daan
cc809b0cd4 take 16 bits from used field to create a fast unalign path 2024-03-18 01:40:03 -07: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
Daan
db52999d85 update used block comment (issue #861) 2024-03-08 09:01:26 -08: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
Daan
bcb8ce94f1 merge from dev-abandon 2024-03-03 14:17:07 -08:00
Daan
56d1a859ca Merge branch 'dev' into dev-abandon 2024-03-03 09:37:53 -08:00
Daan
027b22aaf2 add arena stats 2024-03-03 09:37:46 -08:00
daanx
ccd2ac644d merge from dev-slice 2024-03-02 17:36:23 -08:00
daanx
70e3ce07d1 Merge branch 'dev' into dev-abandon 2024-03-02 17:34:58 -08:00
Daan
7ff4607f6c merge from dev 2024-03-02 17:26:38 -08:00
Daan
683332c950 Define reallocarr as weak to avoid symbol collision on gnu/Linux. #751 by @Romain-Geissler-1A 2024-03-02 17:12:58 -08:00
Daan
e1f6516fda Fix undefined symbol errors when building for wasi #758, by @anuraaga 2024-03-02 17:05:29 -08:00
Daan
5d22157dc8 support tls_slot for PPC
#781, by @barracuda156
2024-03-02 16:41:49 -08:00
Daan
5634527fae add terminating quote 2024-03-02 15:26:42 -08:00
Daan
dfb5cadf33 don't use the new __builtin_thread_pointer on macOS 2024-03-02 14:06:34 -08:00
Daan Leijen
3966953b7f prefer using __builtin_thread_pointer over assembly primitives. Fixes #851 and #852 as well. 2024-03-02 11:50:57 -08:00
daanx
2c433a2b23 merge from dev-abandon 2024-03-01 18:54:29 -08:00
daanx
500d2ad1fd ensure non-arena segments are force purged on abandonment; make non-arena reclaim atomic 2024-03-01 18:47:59 -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
f6320bd3be merge from dev-abandon 2024-03-01 15:15:24 -08:00
daanx
f5f61a65f5 bump version to 1.8.4 2024-03-01 15:14:39 -08:00
daanx
c4f1f2e079 make reclaim tries a percentage of the abandoned count 2024-03-01 14:57:46 -08:00
daanx
e5d1cb3092 merge from dev-abandon 2024-03-01 10:56:43 -08:00
daanx
cf8f73098e start abandoned search randomized 2024-03-01 10:51:18 -08:00