Commit graph

169 commits

Author SHA1 Message Date
Daan
7128db7bba simplified aligned allocation; improved codegen; fix mi_good_size with padding included; add MI_MAX_ALIGN_GUARANTEE 2024-05-11 06:43:52 -07:00
Daan
88aa84727d fix spelling errors (pr #710) 2024-04-20 17:12:09 -07:00
Daan
5050b63038 define MI_MAX_ALLOC_SIZE as PTRDIFF_MAX (related to #877) 2024-04-19 09:53:21 -07:00
Daan
6b4f3f6223 further ASAN fix 2024-03-25 16:37:46 -07:00
Daan Leijen
0022802177 commend and make at least 8 tries for reclaim 2024-03-25 15:25:04 -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
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
ea6137a501 use MI_MAX_ALIGN_SIZE to adjust block_offset_adj 2024-03-24 09:01:58 -07:00
Daan Leijen
4f809aadb7 use free field for expiration instead of used 2024-03-24 08:29:56 -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
cc809b0cd4 take 16 bits from used field to create a fast unalign path 2024-03-18 01:40:03 -07:00
daanx
2a6352fef2 add further zero initialization checks 2023-04-22 10:18:57 -07:00
daanx
173382ef60 is_zero review; fix asan check 2023-04-18 17:52:16 -07:00
daanx
09e42aea4e clarify is_zero meaing 2023-04-18 17:41:18 -07:00
daanx
4d976270eb review is_zero flag 2023-04-18 17:18:39 -07:00
daanx
89e092d795 increase retire cycles to 16 2023-04-16 16:43:11 -07:00
daanx
eb62caeda0 allow per page purging instead of reset 2023-04-08 17:37:58 -07:00
Daan Leijen
cc4ed36c7e prepare for new release 2023-04-03 12:30:18 -07:00
Daan Leijen
8e6a475386 add ubsan and tsan to pipeline 2023-03-29 12:13:59 -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
64fb009695 fix warning with zero padding 2023-03-05 22:27:45 -08:00
Daan Leijen
e912697d90 fix warning with zero padding 2023-03-05 22:26:05 -08:00
Daan
6dcebdc303 fix sizes in memory tracking and padding for huge alignments 2023-03-04 14:49:02 -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
e7dac7c405 prevent retiring pages in the huge queue (which may have a small size but huge alignment) 2022-11-22 21:02:05 -08:00
Daan Leijen
969d8bc5fe make huge pages part of the regular page queues again 2022-11-22 20:56:35 -08:00
daan
2daec6c72f add more comments 2022-11-07 11:23:04 -08:00
Daan
d1ae630dec Merge branch 'dev-align' of https://github.com/microsoft/mimalloc into dev-align 2022-11-06 14:51:37 -08:00
Daan
3eb616f2bf fix bug in secure mode where adjustment would make the page size less than the blocksize on the first page of a segment 2022-11-06 14:51:06 -08:00
daan
f788e3c9a3 add comment 2022-11-06 14:18:52 -08:00
Daan
f54e64365f fix assertions with incorrect block size for large alignments 2022-11-06 09:44:12 -08:00
daan
a200291ae5 further progress on removing aligned limit 2022-11-06 08:26:17 -08:00
daan
4b91ff760d initial working large alignment 2022-11-05 16:40:42 -07:00
daan
6a80fa3ac1 initial progress on removing alignment limit 2022-11-05 14:46:52 -07:00
daan
698bb2cae7 split out _mi_page_try_use_delayed_free for contention reduction (issue #630) 2022-10-31 11:01:01 -07:00
daan
7bef5f5f5b reduce contention on the delayed_free lock; see issue #630 2022-10-31 10:34:55 -07:00
daan
b48040e20a set pages to noaccess explicitly for valgrind precision 2022-10-30 12:23:11 -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
d69d4c861f add zero parameter to primitive allocation to improve codegen for calloc etc 2022-04-19 18:32:35 -07:00
Daan Leijen
5613ffb508 use heap_stat_increase macros when possible 2022-04-04 17:38:28 -07:00
Daan
a4303c6931 fix link error to _mi_bin with C++; issue #533 2022-01-22 10:08:16 -08:00
Daan
de11349820 remove spurious check and add further assertions (issue #526) 2022-01-16 12:20:32 -08:00
Daan Leijen
d508c3d618 ensure in debug mode that all allocated block are initialized with MI_DEBUG_UNINIT (issue #501) 2021-12-20 12:33:54 -08: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
Daan
e853f530a0 add noexcept attributes to improve mi_free codegen 2021-11-04 18:54:57 -07:00
Daan
ca9785d40e fix compilation with MI_DEBUG>3, issue #480 2021-10-27 10:06:34 -07:00
hank
1c1571742d fix typo 2021-06-21 22:36:47 +08:00