Module: wine Branch: master Commit: 27665f35e4da13bac1e4dd8948a65f484c9dadfa URL: https://gitlab.winehq.org/wine/wine/-/commit/27665f35e4da13bac1e4dd8948a65f4...
Author: Rémi Bernon rbernon@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(-)