http://dcherukhin.i2p/blog/guest/p/140E654526/content/a8
При освобожении пямяти, чтобы не искать, в каком списке содержится страница, используется поиск страницы по чёрно-красному дереву, который выдаёт свободную область на ней. Поскольку в функцию free не передаётся размер выделенной памяти, то его приходится хранить перед самой памятью, так что для внутренних структур машины dpvm я сделал аналоги функций dpvm_malloc/free, в которых размер памяти известен при её освобождении, поэтому объекты могут упаковаваться максимально...