Commit graph

2417 commits

Author SHA1 Message Date
Daan
aa881733d7 reorganize primitives for process initialization; use special data segment on Windows for thread termination by default on Windows now (issue #869) 2024-10-21 22:56:59 -07:00
Daan
34e66778ec fix MI_EXTRA_CPPDEFS setting 2024-10-21 05:10:09 -07:00
Daan
50d3525a8c add test for issue #944 2024-10-21 05:04:27 -07:00
Daan
638ea539de allow certain options to have defaults set via the pre-processor at build time -- see issue #945 2024-10-21 05:04:01 -07:00
Daan
394e8c27d8 add cmake option to add C pre processor definitions more easily 2024-10-21 05:02:24 -07:00
ArtSin
bf251b27b1 Fix int and long handling and the use of (u)intptr_t in _mi_vsnprintf
'va_arg' with type 'long' was used for both 'int' and 'long' arguments, but x86_64 Linux has 64-bit 'long', so passing an 'int' argument to '_mi_vsnprintf` results in undefined behaviour.

'intptr_t' was used as the largest integer type, but on 32-bit systems it is 32-bit wide, while 'long long' is 64-bit. 'intmax_t' can be used instead.
2024-10-15 13:39:28 +04:00
Daan Leijen
a7e7cbac89 use enqueue_from_full, and keep inserting at the end 2024-10-09 15:15:57 -07:00
daanx
0316cb1d88 reduce page search to 8 2024-10-09 15:05:35 -07:00
daanx
cbc0e19809 revert back to unfull at the end of queues as it slows down some benchmarks (like alloc-test1) 2024-10-09 14:41:12 -07:00
daanx
96877159c2 insert full pages that became unfull, at the start of the page queue to increase potential reuse 2024-10-09 14:35:33 -07:00
daanx
a05b5ab0a1 search N pages for a best fit 2024-10-09 14:21:50 -07:00
daanx
ffa8bce581 prefer pages that do not expand 2024-10-09 11:27:57 -07:00
Philip Brown
f38816d4ed
Musl needs __libc* functions too 2024-10-06 15:42:46 -05:00
Zhihua Lai
95f8fda113 Fix typo 2024-08-30 19:58:57 +01:00
Ikko Eltociear Ashimine
cd0c4ab67c
docs: update readme.md
speficic -> specific
2024-08-23 00:31:14 +09:00
Daan
db3d8485d2 increase TSAN test to 400 iterations 2024-08-21 17:13:51 -07:00
Daan
d8e0cb1a37 increase test timeout for azure pipeline 2024-08-21 17:01:05 -07:00
Daan
bb3976760f add guarded build to test pipeline 2024-08-21 15:34:22 -07:00
Daan
51025f1ac2 set lower parameters for guarded test 2024-08-21 15:29:32 -07:00
Daan Leijen
4234a9bd9d Merge branch 'dev-guarded' into dev 2024-08-21 11:30:33 -07:00
Daan Leijen
58e743b83f fix use_guarded signature 2024-08-21 11:30:00 -07:00
Daan Leijen
cc4dc1bb53 add comments 2024-08-21 11:26:12 -07:00
Daan Leijen
96f7cc4ef2 clean up guarded allocation 2024-08-21 11:21:25 -07:00
Daan Leijen
631ff581af set compile as C++ in VS IDE 2024-08-21 10:47:38 -07:00
Daan Leijen
b9b529de28 shuffle for 128 bit 2024-08-21 10:45:19 -07:00
daanx
b5c6495f69 don't consider memory as large OS pages if only madvise'd 2024-08-20 15:58:36 -07:00
Daan Leijen
f130808b5c fix warnings 2024-08-20 12:58:49 -07:00
daanx
8899a11c70 clean up guarded pages code 2024-08-20 11:09:17 -07:00
daanx
635cf7af6a fix multi-threaded free to unprotect guarded blocks 2024-08-20 09:55:57 -07:00
daanx
0c19eb60cf initial working guarded pages 2024-08-19 21:21:40 -07:00
Daan
5eb8c752f7 fix UINT32_MAX constant (see issue #913) 2024-08-13 16:36:53 -07:00
Michael Neumann
9c9efc417d Fix build on FreeBSD-derivate DragonFly 2024-07-26 12:11:21 +02:00
Rui Ueyama
566b2c51fc Add a missing #include
This change fixes the "implicit declaration of function 'getenv'" warning.
Since stdlib.h is completely portable, as it is defined by the C standard,
we can safely include it unconditionally.
2024-07-22 09:43:43 +09:00
Daan
7b5df14bea initial work on guarded objects 2024-07-16 09:15:59 -07:00
QuarticCat
632421da3a
fix typos 2024-06-19 10:49:03 +08:00
daanx
265767766b fix alignment test 2024-06-17 16:22:07 -07:00
daanx
b7dd5d6564 add extra assertions to check that blocks are always aligned to MI_MAX_ALIGN_SIZE 2024-06-17 16:17:03 -07:00
Danny Lin
e8b5e51b00
Change macOS mmap tag to fix conflict with IOAccelerator
Tag 100 is assigned to "IOAccelerator" (the GPU driver stack on Apple silicon), which makes for confusing output when debugging.

To avoid conflicts, use a tag in the reserved application-specific range from 240–255 (inclusive).

All assigned tags: 94d3b45284/osfmk/mach/vm_statistics.h (L773-L775)
2024-06-10 15:06:39 -07:00
Daan
03020fbf81 fix count/size order in mi_heap_alloc_new_n, issue #906 2024-06-04 17:28:04 -07:00
Daan
d68a7fc3e6 update docs 2024-06-04 17:04:33 -07:00
Daan
8f481d34dd update docs 2024-06-04 16:54:22 -07:00
Daan
98058eed14 add heap tag to area descriptor 2024-06-04 16:54:06 -07:00
Daan
8b7b3e3754 add docs svg's 2024-06-04 14:59:42 -07:00
Daan
ab1cdbbde3 add search js files for docs 2024-06-04 14:58:58 -07:00
Daan
dee7faa6d8 add js for docs 2024-06-04 14:56:49 -07:00
Daan
272d3368a0 update aligned documentation 2024-06-04 14:50:55 -07:00
daanx
20424dbfa2 update doxyfile 2024-06-04 14:38:23 -07:00
daanx
e64684c9f9 update documentation 2024-06-04 14:37:16 -07:00
Daan
08fa864605 rename arena-abandoned to arena-abandon 2024-06-03 21:30:02 -07:00
Daan
e0baf882bb reduce UBSAN parameters to stay within pipeline limits 2024-06-03 21:26:38 -07:00