Module: wine
Branch: master
Commit: 27665f35e4da13bac1e4dd8948a65f484c9dadfa
URL: https://gitlab.winehq.org/wine/wine/-/commit/27665f35e4da13bac1e4dd8948a65f…
Author: Rémi Bernon <rbernon(a)codeweavers.com>
Date: Sat Feb 11 09:43:30 2023 +0100
ntdll: Implement Low Fragmentation Heap frontend.
This implements the reduced fragmentation from the heap frontend, by
carving smaller blocks out of larger allocated blocks.
The super block and each sub-block are all flagged with BLOCK_FLAG_LFH.
The super-block (struct group) uses a standard struct block header, as
well as a list entry to be linked in free list, and a free bit map to
track free sub-blocks.
Sub-blocks reference their super block through the base_offset, instead
of the subheap, using the block size as radix.
---
dlls/kernel32/tests/heap.c | 20 ++--
dlls/ntdll/heap.c | 276 +++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 277 insertions(+), 19 deletions(-)