Daan Leijen
f8c6acdf77
Merge branch 'dev' into dev3
2025-01-03 20:10:15 -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 Leijen
9665d604d3
merge from dev
2024-12-31 14:28:09 -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
bec06cfb95
merge from dev
2024-12-26 10:15:08 -08:00
daanx
47b5f48b29
renamed vcxproj
2024-12-26 10:08:19 -08:00
daanx
773fe7ae5b
support full secure build
2024-12-22 17:25:58 -08:00
daanx
4c81c3cf90
enable purging of free committed slices from arenas
2024-12-13 13:17:00 -08:00
daanx
2084df3dde
add dedicated meta data allocation for threads and tld
2024-12-08 12:20:54 -08:00
daanx
c33de86da3
check for running in a threadpool to disable page reclaim
2024-12-07 17:11:11 -08:00
daanx
f8d04dc2bc
compile with clang and gcc
2024-11-30 12:41:11 -08:00
daanx
9d904e8643
wip: bug fixes
2024-11-30 10:39:30 -08:00
daanx
68f5fb2f4b
wip: further progress on segment removal; arena allocation
2024-11-29 15:08:06 -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
daanx
999b31fea6
allow syscall include on FreeBSD as well
2024-05-18 16:39:04 -07:00
daanx
87c4012f13
make syscall test in primitives positive and avoid unused function warnings. upstream python/cpython#111907 , python/cpython#111593 , python/cpython#117548
2024-05-18 16:37:40 -07:00
daanx
d9441ffce2
fix compilation on AIX, upstream of python/cpython#111593
2024-05-18 16:16:36 -07:00
daanx
1b21415dfa
make retry on oom an option; revise size options to not overflow the long
2024-05-18 09:56:02 -07:00
daanx
e58fa376d4
on windows, retry virtual alloc if out-of-memory, see issue #894
2024-05-17 13:19:37 -07:00
Daan
6e960f06e7
add note on using linker section instead of fiber api
2024-05-16 15:13:03 -07:00
Daan
a38c8dd0f9
rename must_free_whole -> has_partial_free
2024-05-16 14:41:10 -07:00
Mads Marquart
fefdce3ee4
macOS: Fix linking statically
...
`__attribute__((constructor))` does not mark the symbol as used, so the linker ends up dead-stripping the symbol when linked statically.
Adding the `used` attribute fixes that.
2024-05-15 21:12:54 +02:00
Daan
13e519202a
fix comments; nicer strdup/strndup
2024-05-13 09:02:40 -07:00
Daan
bb3802801c
clarify parameters for emmalloc_memalign
2024-05-11 07:53:12 -07:00
Alon Zakai
0d22807e91
Emscripten: Remove no-longer-needed minimum emmalloc alignment
2024-05-07 13:22:13 -07:00
Daan
79ab7c63d7
disable transparent huge pages for a process too if the allow_large_os_pages option is set to false
2024-04-20 16:37:09 -07:00
Daan
8ada517cf6
Merge pull request #859 from jmroot/pressure_relief
...
Fix min macOS for pressure_relief
2024-04-19 10:17:08 -07:00
Daan
764aa44598
remove macOS preprocessor macros that do not exist (anymore). issue #879
2024-04-19 09:38:40 -07:00
Joshua Root
2e96bc9ee4
Fix min macOS for pressure_relief
...
This field exists in the 10.7 and later SDKs.
2024-03-05 01:12:06 +11:00
Daan
2473676e18
further fixes to macOS version checks by ensuring MAC_OS_X_VERSION_10_7 is always defined (issue #829 )
2024-03-03 09:54:49 -08:00
Daan
cca3fc26b0
fix macOS version checks, issues #829
2024-03-03 08:41:25 -08:00