Closed tpwls6630 closed 5 months ago
https://github.com/SNU-ARC/2024_spring_sysprog_Lab3/blob/d84e655fc35b6cef1406f3bf026cf8cad6108a52/src/memmgr.c#L413
else if(freelist_policy == fp_Explicit){ printf(" %p %8s %10s %10ld %8ld %-14p %-14p %s\n", p, ofs_str, size_str, size, size-2*TYPE_SIZE, status == ALLOC ? NULL : next, status == ALLOC ? NULL : prev, status == ALLOC ? "allocated" : "free");
explicit free list를 사용하게 되면 header, footer, next, prev가 한 블럭에 포함되게 되고, payload는 block size - 4word만큼이라고 생각합니다.
따라서 mm_check에서 explicit일 경우 블럭의 payload는 {size - 4 * TYPE_SIZE}가 되는 것이 맞다고 생각합니다.
착각했습니다. 문제가 없던 거였네요.
https://github.com/SNU-ARC/2024_spring_sysprog_Lab3/blob/d84e655fc35b6cef1406f3bf026cf8cad6108a52/src/memmgr.c#L413
explicit free list를 사용하게 되면 header, footer, next, prev가 한 블럭에 포함되게 되고, payload는 block size - 4word만큼이라고 생각합니다.
따라서 mm_check에서 explicit일 경우 블럭의 payload는 {size - 4 * TYPE_SIZE}가 되는 것이 맞다고 생각합니다.