Added new function add_free()
parent
85abbe732b
commit
27e75d248b
9
mm.c
9
mm.c
|
@ -130,6 +130,12 @@ static void* extend_heap(size_t words);
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
/////////////////////////////// HELPER FUNCTIONS ///////////////////////////////
|
/////////////////////////////// HELPER FUNCTIONS ///////////////////////////////
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
static void add_free(void* ptr, size_t size)
|
||||||
|
{
|
||||||
|
int szClass = getSzClass(size);
|
||||||
|
void* classPtr = seg_list[szClass];
|
||||||
|
}
|
||||||
|
|
||||||
static void place(void *bp, size_t asize)
|
static void place(void *bp, size_t asize)
|
||||||
{
|
{
|
||||||
size_t csize = GET_SIZE(HDRP(bp));
|
size_t csize = GET_SIZE(HDRP(bp));
|
||||||
|
@ -152,7 +158,7 @@ static int getSzClass(size_t asize) {
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return LISTSIZE;
|
return LISTSIZE-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void* best_fit(void* ptr, size_t asize) {
|
static void* best_fit(void* ptr, size_t asize) {
|
||||||
|
@ -313,6 +319,7 @@ void *mm_malloc(size_t size)
|
||||||
void mm_free(void *ptr)
|
void mm_free(void *ptr)
|
||||||
{
|
{
|
||||||
size_t size = GET_SIZE(HDRP(ptr));
|
size_t size = GET_SIZE(HDRP(ptr));
|
||||||
|
add_free(ptr, size);
|
||||||
PUT(HDRP(ptr), PACK(size, 0));
|
PUT(HDRP(ptr), PACK(size, 0));
|
||||||
PUT(FTRP(ptr), PACK(size, 0));
|
PUT(FTRP(ptr), PACK(size, 0));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue