ntdll: Implement Low Fragmentation Heap frontend.
commit27665f35e4da13bac1e4dd8948a65f484c9dadfa
authorRémi Bernon <rbernon@codeweavers.com>
Sat, 11 Feb 2023 08:43:30 +0000 (11 09:43 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 22 Feb 2023 17:03:53 +0000 (22 18:03 +0100)
treeb47e106af0894bc146f2b3df15dfbbba690f7f04
parentb4e5aa8dfc7261504f734ce34b092eec32673362
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
dlls/ntdll/heap.c