Repository navigation
Update mimalloc to 3.6.1 - #28121
Update mimalloc to 3.6.1#28121
Conversation
This reverts commit 724728a.
Generated with: ./test/runner other.test_mimalloc_options --rebaseline
Details: AssertionError: 257955 not less than 254000
Details: AssertionError: 200663 not less than 198000
|
A trivial patch update. All existing patches are reapplied as-is (see e.g. commit 724728a were these patches were removed and commit affa429 were they were reapplied). However, some of these changes have since been upstreamed (or backported):
I also had to revert the Note that upstream now always uses a 2-level page map (see commit microsoft/mimalloc@cbd6dce), which seems to work OK with our default Tested with: $ ./test/runner {core2,wasmfs,wasm64_4gb}.test_wrap_malloc_mimalloc other.test_malloc_size_mimalloc* other.test_malloc_multithreading_mimalloc* other.test_mimalloc_options
Running 8 tests
Using 8 parallel test processes
[8/8] test_malloc_size_mimalloc_O2 (test_other.other.test_malloc_size_mimalloc_O2) ... ok
----------------------------------------------------------------------
Ran 8 tests in 1.142s
OK
Total core time: 3.706s. Wallclock time: 1.142s. Parallelization: 3.25x. |
There was a problem hiding this comment.
Code Review
This pull request updates mimalloc to version 3.6.1, introducing several key architectural, security, and compatibility enhancements. Notably, it consolidates almost all static and global variables into a single, guarded mi_process_t structure (_mi_process) to protect allocator metadata. It also transitions to always using a 2-level page map for simplicity and security, adds support for C23 free_sized and free_aligned_sized overrides, and introduces experimental support for CHERI platforms. Additionally, it improves fork support (particularly on macOS), optimizes the STL allocator trait, and enhances WebAssembly/Emscripten/WASI compatibility. There are no review comments to address, and I have no further feedback to provide.
sbc100
left a comment
There was a problem hiding this comment.
Looks like system/lib/mimalloc/README.emscripten is missing from this change?
Otherwise lgtm
Ah, my bad. Forgot to update that file, fixed with commit 1b8015b. |
No description provided.