daanx
c9541ac6e8
use sysinfo call on linux to determine physical memory (as _SC_PHYSPAGES may cause allocation) (issue #1100 )
2025-06-10 11:28:03 -07:00
Daan
53f88dce76
add physical memory detection on macOS/freeBSD
2025-06-10 11:00:20 -07:00
daanx
99ed3ea754
enable building for xbox, based on pr #1084 by @maxbachmann
2025-06-08 16:41:04 -07:00
Daan Leijen
c1249a4b15
do not automatically call mi_process_done if mi_option_destroy_on_exit > 1
2025-06-07 10:12:53 -07:00
Daan
d7431402c5
fall back to MADV_DONTNEED if MADV_FREE_REUSABLE fails on macOS; disable use of MADV_FREE_REUSE on a reset (issue #1097 )
2025-06-06 20:15:16 -07:00
Daan
2696627aaf
add MI_UNUSED for unix _mi_prim_reuse
2025-06-06 20:07:37 -07:00
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