Daan Leijen
e363f477a7
Merge branch 'dev' into dev-slice
2024-03-24 10:39:39 -07:00
Daan Leijen
07ae64bd81
faster check for NULL in mi_free by combining with masking
2024-03-24 10:39:22 -07:00
Daan Leijen
6399dbdc30
merge from dev (new free.c)
2024-03-24 09:56:26 -07:00
Daan Leijen
86475a7b9b
use MI_MAX_ALIGN_SIZE to adjust block_offset_adj
2024-03-24 09:03:01 -07:00
Daan Leijen
ea6137a501
use MI_MAX_ALIGN_SIZE to adjust block_offset_adj
2024-03-24 09:01:58 -07:00
Daan Leijen
4f809aadb7
use free field for expiration instead of used
2024-03-24 08:29:56 -07:00
Daan Leijen
60c4a0fe56
fix compilation warnings for new uint16_t size for used field
2024-03-24 08:10:35 -07:00
Daan
9085596eab
update comment
2024-03-23 08:57:29 -07:00
Daan
34d37fa204
nicer organisation of free.c
2024-03-18 03:47:54 -07:00
Daan
d08b4219e9
improve used decrement code gen
2024-03-18 03:32:06 -07:00
Daan
cc809b0cd4
take 16 bits from used field to create a fast unalign path
2024-03-18 01:40:03 -07:00
Daan
355f44f373
split free routines in a separate file
2024-03-17 08:44:11 -07:00
Daan
18ebeb8a83
fix (benign) race condition on the page flags has_aligned flag and refactor free-ing code (issue 865)
2024-03-17 08:33:09 -07:00
Daan
a42707908f
fix typo, issue #866
2024-03-17 06:33:40 -07:00
Daan
db52999d85
update used block comment (issue #861 )
2024-03-08 09:01:26 -08:00
Daan
2cca58dfc8
Merge branch 'dev' into dev-slice
2024-03-03 18:08:27 -08:00
Daan
da52048025
rename local to avoid warning in static build
2024-03-03 18:08:17 -08:00
daanx
abb8eab9b2
merge from dev
2024-03-03 17:43:52 -08:00
daanx
5fe83bf327
limit reclaim from free to half the segments to prevent a pure freeing thread to reclaim too many segments
2024-03-03 17:38:50 -08:00
Daan
757f15fb7c
merge from dev-slice
2024-03-03 14:17:27 -08:00
Daan
bcb8ce94f1
merge from dev-abandon
2024-03-03 14:17:07 -08:00
Daan
40517890d4
Merge branch 'dev' into dev-abandon
2024-03-03 14:15:21 -08:00
Daan
ac5d261e08
Merge branch 'dev' into dev-slice
2024-03-03 13:22:33 -08:00
Daan
719496bac9
fix clang warning
2024-03-03 13:22:24 -08:00
Daan
c8f840741a
Merge branch 'dev' into dev-slice
2024-03-03 13:19:35 -08:00
Daan
fa10914f73
track os stats in the main stats directly
2024-03-03 13:19:27 -08:00
Daan
1314421b42
Merge pull request #857 from microsoft/users/GitHubPolicyService/7ce05ebc-d953-4b14-8ead-c6d84b9a70de
...
Adding Microsoft SECURITY.MD
2024-03-03 09:58:12 -08: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
7986e92e9f
merge from dev
2024-03-03 09:45:49 -08:00
Daan
56d1a859ca
Merge branch 'dev' into dev-abandon
2024-03-03 09:37:53 -08:00
Daan
027b22aaf2
add arena stats
2024-03-03 09:37:46 -08:00
Daan
e5283eda92
Merge branch 'dev-abandon' into dev-slice-abandon
2024-03-03 08:47:05 -08:00
Daan
61cc89a98d
Merge branch 'dev-slice' into dev-slice-abandon
2024-03-03 08:46:58 -08:00
Daan
0a5cf933fc
Merge branch 'dev' into dev-slice
2024-03-03 08:46:40 -08:00
Daan
d86c105409
Merge branch 'dev' into dev-abandon
2024-03-03 08:44:15 -08:00
microsoft-github-policy-service[bot]
018c0ce2f4
Microsoft mandatory file
2024-03-03 16:41:34 +00:00
Daan
cca3fc26b0
fix macOS version checks, issues #829
2024-03-03 08:41:25 -08:00
daanx
5a2ed6d977
fix assertion
2024-03-02 18:27:06 -08:00
daanx
8e1f8f4d5c
Merge branch 'dev-abandon' into dev-slice-abandon
2024-03-02 18:25:09 -08:00
daanx
43d40704b9
keep threadid 0 for abandoned_next to preserve invariants
2024-03-02 18:24:53 -08:00
daanx
656c81a096
Merge branch 'dev-abandon' into dev-slice-abandon
2024-03-02 17:36:26 -08:00
daanx
ccd2ac644d
merge from dev-slice
2024-03-02 17:36:23 -08:00
daanx
70e3ce07d1
Merge branch 'dev' into dev-abandon
2024-03-02 17:34:58 -08:00
Daan
7ff4607f6c
merge from dev
2024-03-02 17:26:38 -08:00
Daan
c6750c51ab
Fix new[] / delete mismatch. #745
2024-03-02 17:16:03 -08:00
Daan
5fa620ac2c
add bin/ to .gitattributes as export-ignore #746
2024-03-02 17:14:28 -08:00
Daan
683332c950
Define reallocarr as weak to avoid symbol collision on gnu/Linux. #751 by @Romain-Geissler-1A
2024-03-02 17:12:58 -08:00
Daan
7df348e2ea
fix typo, #756
2024-03-02 17:07:09 -08:00
Daan
e1f6516fda
Fix undefined symbol errors when building for wasi #758 , by @anuraaga
2024-03-02 17:05:29 -08:00
Daan
16c3f1292c
Fix compile error on OpenBSD #773 , by @sundb
2024-03-02 16:57:10 -08:00
Daan
128c7c1876
cleanup thp disable a bit
2024-03-02 16:55:13 -08:00
Daan
c0da600ed3
Merge pull request #783 from devnexen/dev_thp_disable
...
new Linux/Android option proposal.
2024-03-02 16:49:34 -08:00
Daan
182583d3dd
Merge branch 'dev' into dev_thp_disable
2024-03-02 16:49:27 -08:00
Daan
c541a9b32e
Revert setting hardcoded install paths on Haiku #788 , by @begasus
2024-03-02 16:44:06 -08:00
Daan
5d22157dc8
support tls_slot for PPC
...
#781 , by @barracuda156
2024-03-02 16:41:49 -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
944ec1ab8a
Fix error: cannot use 'throw' with exceptions disabled #815 , by @sergio-nsk
2024-03-02 15:47:07 -08:00
Daan
cc4500a024
ensure consistent types for template deduction, PR #834 by @dg0yt
2024-03-02 15:36:57 -08:00
Daan
b7d44378bb
avoid unused function warning on Solaris, PR #830 by @kulikjak
2024-03-02 15:32:35 -08:00
Daan
5634527fae
add terminating quote
2024-03-02 15:26:42 -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
Daan
1f2d799ed0
possible fix for #855
2024-03-02 14:14:59 -08:00
Daan
dfb5cadf33
don't use the new __builtin_thread_pointer on macOS
2024-03-02 14:06:34 -08:00
Daan Leijen
3966953b7f
prefer using __builtin_thread_pointer over assembly primitives. Fixes #851 and #852 as well.
2024-03-02 11:50:57 -08:00
daanx
8045d55179
fix type warning on clang
2024-03-01 19:04:34 -08:00
daanx
4482237a33
Merge branch 'dev-abandon' into dev-slice-abandon
2024-03-01 18:59:39 -08:00
daanx
3090f23c25
fix return value of get_reclaim_tries
2024-03-01 18:59:13 -08:00
daanx
5ce1a9bfef
fix cas call
2024-03-01 18:58:11 -08:00
daanx
2c433a2b23
merge from dev-abandon
2024-03-01 18:54:29 -08:00
daanx
500d2ad1fd
ensure non-arena segments are force purged on abandonment; make non-arena reclaim atomic
2024-03-01 18:47:59 -08:00
daanx
2845f0cab3
merge from dev-abandon
2024-03-01 16:26:46 -08:00
daanx
16c0948ee5
improve display of arenas and contained blocks
2024-03-01 16:24:28 -08:00
daanx
280123bd5c
purge on page free as well
2024-03-01 15:25:57 -08:00
daanx
f6320bd3be
merge from dev-abandon
2024-03-01 15:15:24 -08:00
daanx
f5f61a65f5
bump version to 1.8.4
2024-03-01 15:14:39 -08:00
daanx
c4f1f2e079
make reclaim tries a percentage of the abandoned count
2024-03-01 14:57:46 -08:00
daanx
e5d1cb3092
merge from dev-abandon
2024-03-01 10:56:43 -08:00
daanx
cf8f73098e
start abandoned search randomized
2024-03-01 10:51:18 -08:00
daanx
71bcf1c76b
maintain abandoned_count more robustly
2024-03-01 10:31:58 -08:00
daanx
1b3eb8ef28
quick exit from try_reclaim if no abandoned segments
2024-02-29 19:17:24 -08:00
daanx
f57c9e16bd
merge from dev-abandon
2024-02-29 18:34:50 -08:00
daanx
931d523dcc
update mstress to let the main thread participate
2024-02-29 18:17:58 -08:00
daanx
9f9305d44b
use non-primitive heap default
2024-02-29 17:43:52 -08:00
daanx
8fb51aae4d
merge from dev-abandon
2024-02-29 15:51:37 -08:00
daanx
d34d8f0f65
fix signed comparison
2024-02-29 15:39:47 -08:00
daanx
64edbc92dd
allow abandoned segment reclaim on a free
2024-02-29 14:58:59 -08:00
daanx
bdda13b880
track abandoned segments in an arena bitmap instead of with a list
2024-02-29 14:27:28 -08:00
daanx
8f353d8005
set initially_zero for arena_static_zalloc
2024-02-29 12:03:28 -08:00
daanx
7020ed5e52
do not purge if purge delay is negative
2024-02-29 11:26:03 -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
Daan Leijen
10efe291af
Merge branch 'dev' into dev-slice
2023-06-30 12:21:19 -07:00
Daan Leijen
36ee5f9024
avoid warning on newer clang
2023-06-30 12:21:01 -07:00
Daan Leijen
578d20f237
Merge branch 'dev' into dev-slice
2023-06-30 12:16:51 -07:00
Daan Leijen
1325ee640a
avoid warning on newer clang
2023-06-30 12:16:38 -07:00
daanx
24668b9daf
Merge branch 'dev' into dev-slice
2023-05-19 21:22:24 -07:00
daanx
cfacbacaba
fix zero initialization in mi_arena_meta_zalloc, issue #750
2023-05-19 21:18:40 -07:00