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