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;
}
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)
return false;
@@ -76,18 +88,6 @@ bool heap_free_page(heap_t *heap, page_t *page)
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)
{
page_t *ptr = heap->beg;

View File

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

View File

@@ -675,7 +675,7 @@ err_t vm_mdelete(vm_t *vm)
if (err)
return err;
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)
return ERR_INVALID_PAGE_ADDRESS;
return ERR_OK;