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
Daan
b123bbe6c0
increase iterations for tsan test
2024-06-03 21:13:34 -07:00
Daan
0c322c5566
add reference to page_malloc_zero in C++ build
2024-06-03 21:10:05 -07:00
Daan
cf10af7824
re-enable tsan test in azure pipelines
2024-06-03 21:07:48 -07:00
daanx
b1188ea336
fix potential race on subproc field in the segment
2024-06-03 20:57:00 -07:00
daanx
76b0873ce2
fix asan tracking by explicitly setting memory to undefined before a free
2024-06-03 20:28:47 -07:00