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
Daan
f35355b2de
Merge pull request #891 from kripken/no.min
...
Emscripten: Remove no-longer-needed minimum emmalloc alignment
2024-05-11 07:48:33 -07:00
Daan
6c7cda592c
make page_malloc_zero externals not inline to avoid link errors in C++ mode
2024-05-11 07:39:06 -07:00
Daan
b1ec1d5e5a
refactor aligned allocation
2024-05-11 07:22:56 -07:00
Daan
7128db7bba
simplified aligned allocation; improved codegen; fix mi_good_size with padding included; add MI_MAX_ALIGN_GUARANTEE
2024-05-11 06:43:52 -07:00
Daan
c70c1df16a
better fast path for aligned allocation; check max alloc size correctly in the aligned fallback
2024-05-10 20:19:17 -07:00
Daan
605c354bd4
increase segment map for asan builds (issue #881 )
2024-05-10 17:31:00 -07:00
Daan
e5267a31b0
only override strdup/strndup if those are not macros (issue #885 )
2024-05-10 17:03:42 -07:00
Alon Zakai
0d22807e91
Emscripten: Remove no-longer-needed minimum emmalloc alignment
2024-05-07 13:22:13 -07:00
Daan
a527f75161
add disallow_arena_alloc option
2024-04-22 10:10:20 -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
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
f7df734c6f
add further C++ delete signatures to override from C (issue #863 )
2024-04-19 13:44:29 -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
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
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
5050b63038
define MI_MAX_ALLOC_SIZE as PTRDIFF_MAX (related to #877 )
2024-04-19 09:53:21 -07:00
Daan
764aa44598
remove macOS preprocessor macros that do not exist (anymore). issue #879
2024-04-19 09:38:40 -07: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
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