Files
ladybird/AK
Andreas Kling b23aa38546 AK: Adopt mimalloc v2 as main allocator
Use mimalloc for Ladybird-owned allocations without overriding malloc().
Route kmalloc(), kcalloc(), krealloc(), and kfree() through mimalloc,
and put the embedded Rust crates on the same allocator via a shared
shim in AK/kmalloc.cpp.

This also lets us drop kfree_sized(), since it no longer used its size
argument. StringData, Utf16StringData, JS object storage, Rust error
strings, and the CoreAudio playback helpers can all free their AK-backed
storage with plain kfree().

Sanitizer builds still use the system allocator. LeakSanitizer does not
reliably trace references stored in mimalloc-managed AK containers, so
static caches and other long-lived roots can look leaked. Pass the old
size into the Rust realloc shim so aligned fallback reallocations can
move posix_memalign-backed blocks safely.

Static builds still need a little linker help. macOS app binaries need
the Rust allocator entry points forced in from liblagom-ak.a, while
static ELF links can pull in identical allocator shim definitions from
multiple Rust staticlibs. Keep the Apple -u flags and allow those
duplicate shim symbols for LibJS and LibRegex links on Linux and BSD.
2026-04-08 09:57:53 +02:00
..
2025-11-20 15:44:25 +01:00
2024-12-04 16:45:58 +00:00
2026-03-20 12:03:36 +01:00
2026-02-17 12:38:51 +00:00
2026-01-29 10:10:12 +01:00
2026-02-17 12:38:51 +00:00
2024-11-19 22:07:01 -07:00
2024-11-10 14:48:20 -07:00
2026-03-20 12:03:36 +01:00
2024-12-28 05:39:32 -08:00
2025-08-23 16:04:36 -06:00
2026-03-20 12:03:36 +01:00
2026-02-18 08:02:45 -05:00
2024-02-11 18:53:00 +01:00
2026-03-20 12:03:36 +01:00
2026-02-17 10:48:09 -05:00