Skip to content

Update mimalloc to 3.6.0 - #28068

Open
kleisauke wants to merge 10 commits into
emscripten-core:mainfrom
kleisauke:mimalloc-update-3.6.0
Open

kleisauke wants to merge 10 commits into
emscripten-core:mainfrom
kleisauke:mimalloc-update-3.6.0

Conversation

@kleisauke

Copy link
Copy Markdown
Collaborator

No description provided.

@kleisauke

kleisauke commented Oct 24, 2026 •

Copy link
Copy Markdown
Collaborator Author

This time we needed to do more than what was done previously in #28026 (comment), i.e.:

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_headers
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.141s

OK
Total core time: 4.017s. Wallclock time: 1.141s. Parallelization: 3.52x.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates mimalloc to version 3.6.0, introducing a major refactoring of the internal headers and source files into structured subdirectories. Key enhancements include a new pprof-compatible heap profiler, support for quiescent state-based reclamation (QSBR), better cache-line-aware allocations, improved fork support, and various bug fixes. Regarding the feedback, a potential false positive was identified in the mismatched delete operator check within free.c for small allocations with large alignments; adding a check to ensure the page does not have interior pointers would resolve this issue.

Comment thread system/lib/mimalloc/src/alloc/free.c

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant