rename: stack -> list
This commit is contained in:
parent
765d519010
commit
476fd1f2c2
1 changed files with 12 additions and 12 deletions
24
src/jalloc.c
24
src/jalloc.c
|
|
@ -22,7 +22,7 @@ struct Footer {
|
|||
};
|
||||
|
||||
static uint8_t heap[HEAP_SIZE];
|
||||
static struct Header *free_stack;
|
||||
static struct Header *free_list;
|
||||
static bool initialized = false;
|
||||
|
||||
struct Footer *footer(struct Header *hdr) {
|
||||
|
|
@ -30,17 +30,17 @@ struct Footer *footer(struct Header *hdr) {
|
|||
}
|
||||
|
||||
struct Header *pop_first_fit(size_t size) {
|
||||
if (free_stack == NULL) return NULL;
|
||||
struct Header *head = free_stack;
|
||||
if (free_list == NULL) return NULL;
|
||||
struct Header *head = free_list;
|
||||
if (head->size >= size) {
|
||||
free_stack = head->next_free; // remove from free stack
|
||||
free_list = head->next_free; // remove from free list
|
||||
return head;
|
||||
}
|
||||
while (head != NULL) {
|
||||
struct Header *next = head->next_free;
|
||||
if (next == NULL) return NULL;
|
||||
if (next->size >= size) {
|
||||
head->next_free = next->next_free; // remove from free stack
|
||||
head->next_free = next->next_free; // remove from free list
|
||||
return next;
|
||||
}
|
||||
head = next;
|
||||
|
|
@ -49,10 +49,10 @@ struct Header *pop_first_fit(size_t size) {
|
|||
}
|
||||
|
||||
struct Header *pop(struct Header *ptr) {
|
||||
if (free_stack == NULL) return NULL;
|
||||
struct Header *head = free_stack;
|
||||
if (free_list == NULL) return NULL;
|
||||
struct Header *head = free_list;
|
||||
if (head == ptr) {
|
||||
free_stack = head->next_free;
|
||||
free_list = head->next_free;
|
||||
return head;
|
||||
}
|
||||
while (head != NULL) {
|
||||
|
|
@ -68,8 +68,8 @@ struct Header *pop(struct Header *ptr) {
|
|||
}
|
||||
|
||||
void push_header(struct Header *hdr) {
|
||||
hdr->next_free = free_stack;
|
||||
free_stack = hdr;
|
||||
hdr->next_free = free_list;
|
||||
free_list = hdr;
|
||||
}
|
||||
|
||||
void initialize() {
|
||||
|
|
@ -92,7 +92,7 @@ struct Header *shrink(struct Header *hdr, size_t size) {
|
|||
// given a size, shrink a block down to the appropriate alignment.
|
||||
// if align(size) + ALIGNMENT*3 is equal to current size, just return initial ptr with noop
|
||||
// otherwise, shrink it down so that we have two blocks.
|
||||
// Push the right block to the free stack
|
||||
// Push the right block to the free list
|
||||
// Return left block
|
||||
|
||||
if (size + HEADER_SIZE + FOOTER_SIZE > hdr->size) return hdr;
|
||||
|
|
@ -113,7 +113,7 @@ struct Header *shrink(struct Header *hdr, size_t size) {
|
|||
struct Footer *next_ftr = footer(next_hdr);
|
||||
next_ftr->header = next_hdr;
|
||||
|
||||
// push new block to stack
|
||||
// push new block to list
|
||||
push_header(next_hdr);
|
||||
}
|
||||
return hdr;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue