Skip to content
Sven Bieg edited this page Aug 12, 2023 · 34 revisions

My memory-manager uses Clusters to map gaps by size and by offset.
When allocating the smallest free block top most of the heap is returned.


The difficulty was to make the map re-enterable. Adding a free block to the map can cause an allocation, the opposite when removing. I've made it by caching releases in free blocks, and by making allocations passive without moving anything in the map.

Clone this wiki locally