Daan
79aa5bbb7a
Merge branch 'dev' into dev-slice
2024-04-20 19:59:19 -07:00
Daan
ce783df58f
fix spelling errors (pr #710 )
2024-04-20 17:18:09 -07:00
Daan
88aa84727d
fix spelling errors (pr #710 )
2024-04-20 17:12:09 -07:00
Daan
204348e468
only define WIN32_LEAN_AND_MEAN if needed
2024-04-20 16:58:58 -07:00
Daan
70782c3670
merge from dev
2024-04-20 16:47:48 -07:00
Daan
7247b9e326
allow configuring page and segment sizes (pr #753 and pr #862 )
2024-04-20 16:45:49 -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
e46c1145a5
add separate MI_LIBC_MUSL option (issue #644 )
2024-04-20 16:19:59 -07:00
Daan
336f83fbd1
use __builtin_thread_pointer on arm64 with older gcc compilers (issue #851 )
2024-04-20 16:09:45 -07:00
Daan
19626c5381
Merge branch 'dev' into dev-slice
2024-04-19 13:44:40 -07:00
Daan
f7df734c6f
add further C++ delete signatures to override from C (issue #863 )
2024-04-19 13:44:29 -07:00
Daan
25002c03df
Merge branch 'dev' into dev-slice
2024-04-19 13:31:56 -07:00
Daan
9830c0db42
redefine mi_nothrow_t to be a pointer to (probably) fix issue #840 to match WASI signatures
2024-04-19 13:31:31 -07:00
Daan
83af243bca
merge from dev
2024-04-19 12:50:32 -07:00
Daan
09e91ec911
add assert for segment purges
2024-04-19 12:44:23 -07:00
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
35658681e9
purge segments on forced collect (issue #878 )
2024-04-19 12:29:49 -07:00
Daan
32e065bb32
rename segment_thread_collect to segment_collect
2024-04-19 12:11:58 -07:00
Daan
833121dbc0
Merge branch 'dev' into dev-slice
2024-04-19 12:07:06 -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
e688d5cbc8
merge from dev
2024-04-19 12:03:33 -07:00
Daan
70eb7fb390
collect arenas even if not on the main thread (issue #878 )
2024-04-19 12:01:26 -07:00
Daan
01ba98b183
Merge branch 'dev' into dev-slice
2024-04-19 10:54:47 -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
a7c033caed
avoid unused warning
2024-04-19 10:14:27 -07:00
Daan
da1d64f05a
Merge branch 'dev' into dev-slice
2024-04-19 10:08:57 -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
78418b3d24
fix overflow of slice count, PR #877
2024-04-19 10:03:14 -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
f199b888b4
Merge branch 'dev' into dev-slice
2024-03-29 11:17:36 -07:00
Daan
8f7d1e9a41
fix free in realpath when using ASAN
2024-03-29 11:17:21 -07:00
Daan
bcf975c028
merge from dev
2024-03-25 17:00:06 -07:00
Daan
6b4f3f6223
further ASAN fix
2024-03-25 16:37:46 -07:00
Daan
c6077376d4
merge from dev
2024-03-25 16:33:04 -07:00
Daan
a522899236
fix compilation with ASAN
2024-03-25 16:32:19 -07:00
Daan
415127ba31
Merge branch 'dev' into dev-slice
2024-03-25 16:28:30 -07:00
Daan
1d8997236c
add comment on concurrent access in ptr_unalign
2024-03-25 16:28:15 -07:00
daanx
630521e8db
merge from dev
2024-03-25 16:05:39 -07:00
Daan Leijen
460278f110
comments
2024-03-25 16:02:20 -07:00
Daan Leijen
c1d7d7f563
merge from dev
2024-03-25 15:32:56 -07:00
Daan Leijen
0022802177
commend and make at least 8 tries for reclaim
2024-03-25 15:25:04 -07:00
Daan Leijen
cc8d89a085
update comments
2024-03-25 07:35:49 -07:00
Daan Leijen
7c17c3d33e
optimize page struct layout
2024-03-24 22:41:33 -07:00
Daan Leijen
af3f2f9168
fix assertions and warnings on gcc
2024-03-24 22:32:32 -07:00
Daan Leijen
3c85983a35
merge from dev with new page fields (block_size and is_huge)
2024-03-24 22:12:33 -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
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
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
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