Commit graph

71 commits

Author SHA1 Message Date
Daan
b1ec1d5e5a refactor aligned allocation 2024-05-11 07:22:56 -07:00
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
c70c1df16a better fast path for aligned allocation; check max alloc size correctly in the aligned fallback 2024-05-10 20:19:17 -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
6688b45fbd rename MI_ALIGNMENT_MAX to MI_BLOCK_ALIGNMENT_MAX for clarity 2024-03-24 10:57:02 -07:00
daanx
2a6352fef2 add further zero initialization checks 2023-04-22 10:18:57 -07:00
daanx
09e42aea4e clarify is_zero meaing 2023-04-18 17:41:18 -07:00
daanx
a8b9f2878a better alignment test 2023-04-16 17:01:59 -07:00
daanx
4a52b7e4c4 use memzero_aligned 2023-04-16 12:32:43 -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
82c85d1a13 fix valgrind mem for large alignment 2023-03-05 18:03:04 -08:00
Daan
056c2ce45b match track free size to tracked malloc size 2023-03-05 11:01:51 -08:00
Daan
3c906bde8b better track_free_size 2023-03-04 15:17:13 -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
10981ab122 add initial support for using mimalloc with address sanitizer support; use -DMI_ASAN=ON 2022-11-28 10:55:19 -08:00
Daan Leijen
604d4b259b fix assertion failure (issue #650) 2022-11-25 14:27:48 -08:00
Daan Leijen
969d8bc5fe make huge pages part of the regular page queues again 2022-11-22 20:56:35 -08:00
daan
2479d168ad decommit unused prefix of large aligned blocks 2022-11-07 16:41:40 -08:00
daan
2daec6c72f add more comments 2022-11-07 11:23:04 -08:00
daan
1f12c3dd12 remove MI_ALIGNMENT_MAX and add comments 2022-11-07 11:13:42 -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
74117d329d fix realloc memory tracking in valgrind 2022-10-30 19:00:54 -07:00
daan
84c706508c fix false positives from valgrind in rptest 2022-10-30 10:45:51 -07:00
daan
eee7c40da5 updates to run valgrind on test-api 2022-10-29 11:43:09 -07:00
Daan Leijen
f76a678c04 fix mi_likely macro in debug build 2022-04-19 19:59:45 -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
9d69e3ed06 fix further annotation warnings for vs2022 2022-04-19 17:36:04 -07:00
Daan Leijen
89090510bd update alignment tests 2021-12-18 11:11:44 -08:00
daan
faf2a7020c add extra alignment tests 2021-12-17 13:25:38 -08:00
daan
89f583a69b improve aligned allocation performance 2021-12-17 13:18:05 -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 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
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
Haneef Mubarak
429025634e
resolve #201 with a platform-selective REP MOVSB implementation 2020-05-26 16:04:28 -07:00
daan
74986c1dd1 weaken aligmenment assertion (issue #245) 2020-05-19 09:56:37 -07:00
Daan Leijen
c9ffe30513 weaken alignment requirement to not need to be a multiple of sizeof(void*); see #246 2020-05-18 10:17:58 -07:00
daan
f2ac272baa strengthen alignment check for memalign and aligned_alloc 2020-02-17 09:59:11 -08:00
daan
16ebb70e4c strengthen aligment guarantee (issue #206) (reverse commit 4531367) 2020-02-17 09:15:48 -08:00
daan
f42b8526d0 fix wrong __declspec(restrict) and __attribute__((malloc)) attributes on reallocation functions 2020-02-13 10:36:39 -08:00
daan
feb0699bcb fix aligment check when padding is enabled 2020-02-02 22:01:04 -08:00
daan
f0dc6e7e42 add extra alignment test 2020-02-02 16:21:06 -08:00
daan
68112a2751 better padding implementation, more precise statistics 2020-01-31 20:34:24 -08:00
daan
4531367de2 fix padding check for aligned allocation; improve perf for small aligned allocations 2020-01-31 13:20:02 -08:00