Commit graph

126 commits

Author SHA1 Message Date
Daan
d389819cc9 add initial support for _mi_prim_reuse and MADV_FREE_REUSABLE on macOS (issue #1097) 2025-06-06 17:59:46 -07:00
Daan
15c917ef15 fix syntax error 2025-05-13 17:45:10 -07:00
daanx
41cc1bfe51 add guarded TLS test for Windows fixed TLS 2025-05-13 17:38:16 -07:00
Daan
0ae310327f fix debug assertion for windows TLS 2025-05-13 16:22:08 -07:00
daanx
341149391f fix include of prctl.h on alpine linux x86 2025-05-13 15:33:29 -07:00
daanx
c84d996e88 fix TLS initialization for MI_WIN_USE_FIXED_TLS with redirection 2025-05-05 10:23:52 -07:00
daanx
303b196d40 fix MI_WIN_USE_FIXED_TLS conditions 2025-05-04 22:09:56 -07:00
daanx
52b75693c4 use TlsAlloc with a dynamic offset for MI_WIN_USE_FIXED_TLS by default (issue #1078) 2025-05-04 22:03:10 -07:00
daanx
417e8176bd add unix large page size constant and adjust aligment to the large page size for large allocations 2025-05-02 16:27:00 -07:00
daanx
f3e92b1edd Use second user TLS slot to avoid using reserved fields in the TEB (issue #1078) 2025-05-02 16:12:20 -07:00
daanx
6bfb1c656c allow size==0 for mi_prim_free (issue #1041) 2025-05-02 08:40:21 -07:00
Daan
951538d469 fix prctl.h includes for alpine linux/musl (hopefully fixes #1065, #1066, #1067) 2025-04-08 13:56:31 -07:00
Daan
77b622511a fix alpine compilation with prctl.h (issue #1059) 2025-03-31 14:44:46 -07:00
Daan
6ed451c555 fix linux compile by including linux/prctl.h 2025-03-21 16:48:50 -07:00
Daan
01ee3568c1 name anonymous mmap address ranges for debugging on Linux (based on PR #1032 by @zhuker) 2025-03-21 16:19:54 -07:00
Daan
783c3ba486 improve QNX support 2025-03-06 20:40:52 -08:00
Timothy Kielan
c8880e1ba0
support building for QNX 2025-02-21 15:16:22 +01:00
Daan
566ab5038b do not use syscall on android (issue #1015) 2025-02-18 16:02:52 -08:00
daanx
ece1defe5b parameter of clz/ctz is size_t 2025-02-11 14:35:21 -08:00
daanx
d3897635ad fix compilation warning 2025-02-11 09:22:31 -08:00
daanx
0c8069adab use physical memory in kib to avoid overflow of size_t (issue #1010) 2025-02-11 09:18:23 -08:00
daanx
ec4aa62b65 use physical memory in kib to avoid overflow of size_t (issue #1010) 2025-02-11 09:12:29 -08:00
Daan Leijen
5f9b42685e remove declspec(dllexport) from DllMain on Windows (issue #1008) 2025-02-08 12:51:06 -08:00
Daan
90b7a694eb syntax error fix (#992) 2025-01-22 12:29:41 -08:00
Daan
5e71dfc336 check dynamically for getPhysicallyInstalledSystemMemory on windows (issue #992) 2025-01-22 12:03:58 -08:00
daanx
4fcf56af2e use consistent naming on Windows vs other platforms. Use mimalloc.dll.lib for the dll import library to avoid a clash with the static mimalloc.lib library 2025-01-09 20:57:08 -08:00
Daan Leijen
5764845c4d fix build on msvc in C compilation; fix build with clang-cl on Windows 2025-01-06 10:27:46 -08:00
Daan Leijen
2451b5685c fix large OS page behaviour on Linux; default is now 2 which only uses large OS pages (not huge) through madvise 2025-01-03 20:00:40 -08:00
Daan
b5ef802313
Merge pull request #909 from kdrag0n/patch-1
Change macOS mmap tag to fix conflict with IOAccelerator
2024-12-30 12:30:21 -08:00
Daan
f33aa58d88
Merge branch 'dev' into dev 2024-12-30 12:27:46 -08:00
Daan
e05aae944f
Merge pull request #917 from rui314/missing-include
Add a missing #include
2024-12-30 12:20:08 -08:00
daanx
47b5f48b29 renamed vcxproj 2024-12-26 10:08:19 -08:00
daanx
0e76fe3798 add address hint to primitive allocation API 2024-11-16 16:57:37 -08:00
daanx
b27d154ffd add virtual address bits and physical memory to the mem config 2024-11-16 15:37:08 -08:00
Daan
f126b50382 update comments, set constructor priority to 101 on macOS 2024-10-27 21:10:46 -07:00
Daan
925efaeac9 improve windows static library initialization to account for thread local destructors (issue #944) 2024-10-23 01:10:00 -07:00
Daan
dfdb9cb877 cleanup process init/done 2024-10-22 06:52:34 -07:00
Daan
46e9e7fdd0 fix win32 compilation 2024-10-22 06:06:15 -07:00
Daan
e55ae0aeb7 fix duplicate definition on windows 2024-10-21 23:09:14 -07:00
Daan
f971bd6d74 fix build on windows 2024-10-21 23:05:51 -07:00
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
daanx
b5c6495f69 don't consider memory as large OS pages if only madvise'd 2024-08-20 15:58:36 -07: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
QuarticCat
632421da3a
fix typos 2024-06-19 10:49:03 +08: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
daanx
e4c8f42bb6 always include sys/prctl.h on linux to disable THP if large_os_pages are not enabled 2024-06-02 16:10:08 -07:00
Daan Leijen
f93fb900b7 move lock code to atomic.h 2024-06-01 17:25:45 -07:00
Daan Leijen
0b3cd51249 add initial primitive api for locks 2024-06-01 16:45:20 -07:00
Daan
d6ad058e44
Merge pull request #897 from madsmtm/patch-1
macOS: Fix linking statically
2024-05-19 15:49:50 -07:00
daanx
92a8268fa4 make warning an trace message if we cannot allocate at a hinted address, upstream of python/cpython#113372 2024-05-18 16:45:23 -07:00