static void free_pages(void *p, size_t len) { free_used_pages(len); sfree(p, len); LOGICALLY_FREEING_PAGES(len); ACTUALLY_FREEING_PAGES(len); }
static void free_pages(void *p, size_t len) { LOGICALLY_FREEING_PAGES(len); #if CACHE_SLOTS { int i; for (i = 0; i < CACHE_SLOTS; i++) { if (!cache[0][i].len) cache[0][i].len = len; if (cache[0][i].len == len) { *(void **)p = cache[0][i].page; cache[0][i].page = p; return; } } } #endif ACTUALLY_FREEING_PAGES(len); VirtualFree(p, 0, MEM_RELEASE); }
static void free_pages(void *p, size_t len) { LOGICALLY_FREEING_PAGES(len); free_actual_pages(p, len, 0); }