heap_free_page -> heap_free

This commit is contained in:
2024-04-28 14:54:01 +05:30
parent 3085dfeded
commit b775afee2c
3 changed files with 15 additions and 15 deletions

View File

@@ -36,7 +36,19 @@ void heap_create(heap_t *heap)
heap->pages = 0; heap->pages = 0;
} }
bool heap_free_page(heap_t *heap, page_t *page) page_t *heap_allocate(heap_t *heap, size_t requested)
{
page_t *cur = page_create(requested, NULL);
if (heap->end)
heap->end->next = cur;
else
heap->beg = cur;
heap->end = cur;
heap->pages++;
return cur;
}
bool heap_free(heap_t *heap, page_t *page)
{ {
if (!page || !heap) if (!page || !heap)
return false; return false;
@@ -76,18 +88,6 @@ bool heap_free_page(heap_t *heap, page_t *page)
return true; return true;
} }
page_t *heap_allocate(heap_t *heap, size_t requested)
{
page_t *cur = page_create(requested, NULL);
if (heap->end)
heap->end->next = cur;
else
heap->beg = cur;
heap->end = cur;
heap->pages++;
return cur;
}
void heap_stop(heap_t *heap) void heap_stop(heap_t *heap)
{ {
page_t *ptr = heap->beg; page_t *ptr = heap->beg;

View File

@@ -37,8 +37,8 @@ typedef struct
} heap_t; } heap_t;
void heap_create(heap_t *); void heap_create(heap_t *);
bool heap_free_page(heap_t *, page_t *);
page_t *heap_allocate(heap_t *, size_t); page_t *heap_allocate(heap_t *, size_t);
bool heap_free(heap_t *, page_t *);
void heap_stop(heap_t *); void heap_stop(heap_t *);
#endif #endif

View File

@@ -675,7 +675,7 @@ err_t vm_mdelete(vm_t *vm)
if (err) if (err)
return err; return err;
page_t *page = (page_t *)ptr.as_word; page_t *page = (page_t *)ptr.as_word;
bool done = heap_free_page(&vm->heap, page); bool done = heap_free(&vm->heap, page);
if (!done) if (!done)
return ERR_INVALID_PAGE_ADDRESS; return ERR_INVALID_PAGE_ADDRESS;
return ERR_OK; return ERR_OK;