2009 Commits

Author SHA1 Message Date
Daan
bf5932c3c6 use better purging for segments_collect 2024-04-19 12:43:05 -07:00
Daan
2b7530e183 add segment_collect for forced heap_collect 2024-04-19 12:33:17 -07:00
Daan
32e065bb32 rename segment_thread_collect to segment_collect 2024-04-19 12:11:58 -07:00
Daan
0ea2e04902 dont purge arenas on collect unless it is an explicit force (issue #878) 2024-04-19 12:06:27 -07:00
Daan
70eb7fb390 collect arenas even if not on the main thread (issue #878) 2024-04-19 12:01:26 -07:00
Daan
bb1fafa1bb forward strdup/strndup to avoid leaks on macOS -- addresses PR #769 2024-04-19 10:34:04 -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
e15498c4fa
Merge pull request #860 from jmroot/strndup-interpose
Only interpose strndup if it exists
2024-04-19 10:16:19 -07:00
Daan
e21801fa02 Merge branch 'dev' of https://github.com/microsoft/mimalloc into dev 2024-04-19 10:08:02 -07:00
Daan
c13c17f1d0
Merge pull request #864 from rHermes/fix-passing-heap
Avoid compilation error when passing in heap_t to C++ allocators
2024-04-19 10:07:55 -07:00
Daan
5050b63038 define MI_MAX_ALLOC_SIZE as PTRDIFF_MAX (related to #877) 2024-04-19 09:53:21 -07:00
Daan
06b510c42d fix build pipeline for ASAN 2024-04-19 09:41:24 -07:00
Daan
764aa44598 remove macOS preprocessor macros that do not exist (anymore). issue #879 2024-04-19 09:38:40 -07:00
Teodor Spæren
10721ddbfd Remove unneeded include 2024-03-31 23:18:52 +02:00
Daan
8f7d1e9a41 fix free in realpath when using ASAN 2024-03-29 11:17:21 -07:00
Daan
6b4f3f6223 further ASAN fix 2024-03-25 16:37:46 -07:00
Daan
a522899236 fix compilation with ASAN 2024-03-25 16:32:19 -07:00
Daan
1d8997236c add comment on concurrent access in ptr_unalign 2024-03-25 16:28:15 -07:00
Daan Leijen
460278f110 comments 2024-03-25 16:02:20 -07:00
Daan Leijen
0022802177 commend and make at least 8 tries for reclaim 2024-03-25 15:25:04 -07:00
daanx
006ae2d055 add is_huge page flag to ensure the right page queue is returned (see #868) 2024-03-24 17:07:28 -07:00
Daan Leijen
9c96d05ee4 abandoned reclaim on free is on by default 2024-03-24 14:52:50 -07:00
Daan Leijen
a8a53e3e85 fix double counting of free-ing for non-thread-local free calls 2024-03-24 14:50:15 -07:00
Daan Leijen
b5665f0eec add full block_size and page_start to page info 2024-03-24 14:17:17 -07:00
Daan Leijen
6688b45fbd rename MI_ALIGNMENT_MAX to MI_BLOCK_ALIGNMENT_MAX for clarity 2024-03-24 10:57:02 -07:00
Daan Leijen
f141ca12a4 add extra runtime check to ensure we never insert large or huge pages in the segment free queue (issue #870) 2024-03-24 10:53: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
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
Teodor Spæren
3d89f6388e Fix std::shared_pointer calling free on provided heap pointers 2024-03-09 15:14:32 +01:00
Teodor Spæren
068dc014ec Avoid compilation error when passing in heap to allocators
Before it would not work to create the mi_heap_stl_allocator types with
passing in a "mi_heap_t*", since sizeof is used and it gives a
compilation error. This change fixes that.
2024-03-09 14:13:33 +01:00
Daan
db52999d85 update used block comment (issue #861) 2024-03-08 09:01:26 -08:00
Joshua Root
f508ae5528
Only interpose strndup if it exists
Added in the macOS 10.7 SDK.
2024-03-05 01:28:10 +11: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
da52048025 rename local to avoid warning in static build 2024-03-03 18:08:17 -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
40517890d4 Merge branch 'dev' into dev-abandon 2024-03-03 14:15:21 -08:00
Daan
719496bac9 fix clang warning 2024-03-03 13:22:24 -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
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
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
43d40704b9 keep threadid 0 for abandoned_next to preserve invariants 2024-03-02 18:24:53 -08:00
daanx
70e3ce07d1 Merge branch 'dev' into dev-abandon 2024-03-02 17:34:58 -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
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
500d2ad1fd ensure non-arena segments are force purged on abandonment; make non-arena reclaim atomic 2024-03-01 18:47:59 -08:00
daanx
16c0948ee5 improve display of arenas and contained blocks 2024-03-01 16:24:28 -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
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
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
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
36ee5f9024 avoid warning on newer clang 2023-06-30 12:21:01 -07:00