Commit graph

139 commits

Author SHA1 Message Date
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
Daan
e1f6516fda Fix undefined symbol errors when building for wasi #758, by @anuraaga 2024-03-02 17:05:29 -08:00
Daan
128c7c1876 cleanup thp disable a bit 2024-03-02 16:55:13 -08:00
Daan
182583d3dd
Merge branch 'dev' into dev_thp_disable 2024-03-02 16:49:27 -08:00
Daan
3fe3d540b6 Fix incorrect MAP_HUGE_1GB check #793 2024-03-02 15:57:54 -08:00
Daan
7b398ad924 delete pthread key at shutdown, PR #810 by @jkriegshauser 2024-03-02 15:51:51 -08:00
Daan
b7d44378bb avoid unused function warning on Solaris, PR #830 by @kulikjak 2024-03-02 15:32:35 -08:00
Daan
98abfe042c avoid syscall on openBSD, issue #821 by @blackgnezdo 2024-03-02 15:08:22 -08:00
Daan
d21f60f712 add emscripten WASM support; this PR #822 written by Alon Zakai @kripken 2024-03-02 15:00:31 -08:00
Daan
bccf10e164 allow random fallback on older macOS versions, issue #829 2024-03-02 14:49:37 -08:00
Daan
89afa14045 fix build on illumos; by @dancrossnyc, issue #841 2024-03-02 14:25:16 -08:00
David Carlier
388d1aa9bd new Linux/Android option proposal.
Allowing to disable transparent huge pages on Linux/Android, so
we avoid affecting the whole system (such as /sys/kernel/mm/transparent_hugepage/enabled).
2023-07-14 21:55:30 +01:00
daanx
e10467f673 add libc primitives to reduce dependencies 2023-05-19 11:57:10 -07:00
daanx
0bb5cecbc2 use most performant reset on Linux (MADV_FREE) and Windows (MEM_RESET) as we use the precise decommit by default for purging anyways 2023-04-24 08:56:42 -07:00
daanx
88a8b13782 revise unix decommit 2023-04-23 20:53:27 -07:00
daanx
bfe2651ec9 revise decommit on linux in debug/secure mode 2023-04-23 20:32:22 -07:00
daanx
7f93bf02c9 be explicit about memory tracking in os.c 2023-04-23 16:40:01 -07:00
daanx
012f716485 add is_zero flag to prim_commit 2023-04-21 10:37:22 -07:00
daanx
3bc577004a clarify return codes of VirtualAlloc (issue #731) 2023-04-21 09:37:25 -07:00
daanx
4d976270eb review is_zero flag 2023-04-18 17:18:39 -07:00
daanx
a8c581059b Merge branch 'dev' into dev-reset 2023-04-17 09:48:58 -07:00