microsoft/snmalloc 0.7.2
microsoft/snmalloc
Captured source
source ↗0.7.2
Repository: microsoft/snmalloc
Tag: 0.7.2
Published: 2025-08-05T10:30:38Z
Prerelease: no
Release notes:
What's Changed
Secondary Allocator
Thanks to @SchrodingerZhu for allowing snmalloc to support a secondary allocator, such as GWP-Asan. This feature allows snmalloc to pass some allocation and their corresponding deallocation to another allocator. This can be used for a GWP-Asan integration, and will be used to enable detours on Windows to override the default allocator.
- Enable a secondary allocator support (e.g. GWP-Asan) by @SchrodingerZhu in https://github.com/microsoft/snmalloc/pull/737
- Fix test when using GWP-Asan by @mjp41 in https://github.com/microsoft/snmalloc/pull/758
- Make Secondary Allocator a template parameter by @mjp41 in https://github.com/microsoft/snmalloc/pull/774
The next major release will build more on this feature.
Platforms
Windows support
Thanks to @NeilMonday for the Windows support improvements in particular the ability to unload snmalloc without leaking the memory associated with snmalloc.
- Windows: Remove exception handler for pagemap on unloading by @NeilMonday in https://github.com/microsoft/snmalloc/pull/746
- Release all reservations at the very end of the program or DLL by @NeilMonday in https://github.com/microsoft/snmalloc/pull/773
Rust
- [Rust] add support for optionally compiling libc functions by @wpbrown in https://github.com/microsoft/snmalloc/pull/763
Libc support
- Protection against fork by @mjp41 in https://github.com/microsoft/snmalloc/pull/735
- Update realloc(p,0) semantics. by @mjp41 in https://github.com/microsoft/snmalloc/pull/753
- Prevent internal errno setting escaping to the client. by @mjp41 in https://github.com/microsoft/snmalloc/pull/754
C++ support
- Add exception handling for new operator by @mjp41 in https://github.com/microsoft/snmalloc/pull/791
CI and build
- Mistaken commit of message_once by @mjp41 in https://github.com/microsoft/snmalloc/pull/741
- cmake: Fix HAS_EXCEPTION on Windows. by @mjp41 in https://github.com/microsoft/snmalloc/pull/743
- CI: Refresh Targets by @mjp41 in https://github.com/microsoft/snmalloc/pull/748
- build: Fix nothrow include. by @mjp41 in https://github.com/microsoft/snmalloc/pull/749
- CI: Cancel inflight checks on a new push. by @mjp41 in https://github.com/microsoft/snmalloc/pull/760
- Header-only build fix for WIN32_LEAN_AND_MEAN redefinition by @sooknarine in https://github.com/microsoft/snmalloc/pull/764
- Remove 20.04 from CI by @mjp41 in https://github.com/microsoft/snmalloc/pull/768
- Drop Win2019 from CI by @mjp41 in https://github.com/microsoft/snmalloc/pull/778
- Update minimum CMake version https://github.com/microsoft/snmalloc/pull/793
Bazel
Thanks to @jayakasadev for adding Bazel support to snmallocs build.
- feat: add support for bazel by @jayakasadev in https://github.com/microsoft/snmalloc/pull/759
- Add build platform and type to Bazel cache key by @mjp41 in https://github.com/microsoft/snmalloc/pull/779
Refactor and minor bugs fixes
- Refactor: Remove unused features and functions, and move most allocator operations to a global namespace. by @mjp41 in https://github.com/microsoft/snmalloc/pull/750
- Bug fixes by @mjp41 in https://github.com/microsoft/snmalloc/pull/752
- Fixed pagemap reservations for a fixed-region use-case using the default PAL by @Trithek in https://github.com/microsoft/snmalloc/pull/757
- Refactor check_bounds by @mjp41 in https://github.com/microsoft/snmalloc/pull/756
- Refactor representation of thread local state. by @mjp41 in https://github.com/microsoft/snmalloc/pull/751
- Fix bug in pool sort by @mjp41 in https://github.com/microsoft/snmalloc/pull/765
- Reentrancy init by @mjp41 in https://github.com/microsoft/snmalloc/pull/767
- Fix CI by @mjp41 in https://github.com/microsoft/snmalloc/pull/776
- Remove tests for experimental jemalloc ABIs by @markjdb in https://github.com/microsoft/snmalloc/pull/770
- Adjust func-memory test to be shorter. by @mjp41 in https://github.com/microsoft/snmalloc/pull/780
- Improve sizeclass calculation by @mjp41 in https://github.com/microsoft/snmalloc/pull/777
- Pass continuations for success and failure cases by @mjp41 in https://github.com/microsoft/snmalloc/pull/788
- Fallible notify using by @mjp41 in https://github.com/microsoft/snmalloc/pull/790
- Code Quality - inlining and reduce PreventFork usage by @mjp41 in https://github.com/microsoft/snmalloc/pull/792
New Contributors
- @Trithek made their first contribution in https://github.com/microsoft/snmalloc/pull/757
- @sooknarine made their first contribution in https://github.com/microsoft/snmalloc/pull/764
- @wpbrown made their first contribution in https://github.com/microsoft/snmalloc/pull/763
- @jayakasadev made their first contribution in https://github.com/microsoft/snmalloc/pull/759
- @markjdb made their first contribution in https://github.com/microsoft/snmalloc/pull/770
Full Changelog: https://github.com/microsoft/snmalloc/compare/0.7.1...0.7.2