Commit 65899822 authored by Caleb C. Sander's avatar Caleb C. Sander
Browse files

Fix heap clearing being timed

parent 953e3065
No related merge requests found
Showing with 10 additions and 7 deletions
+10 -7
......@@ -776,7 +776,7 @@ static int eval_mm_valid(trace_t *trace, range_t **ranges)
char *p;
/* Reset the heap and free any records in the range list */
mem_reset_brk();
mem_reset_brk(true);
reinit_trace(trace);
/* Call the mm package's init function */
......@@ -918,7 +918,7 @@ static double eval_mm_util(trace_t *trace, int tracenum)
reinit_trace(trace);
/* initialize the heap and the mm malloc package */
mem_reset_brk();
mem_reset_brk(false);
if (!mm_init()) {
app_error("trace %d: mm_init failed in eval_mm_util", tracenum);
}
......@@ -1004,7 +1004,7 @@ static void eval_mm_speed(void *ptr)
reinit_trace(trace);
/* Reset the heap and initialize the mm package */
mem_reset_brk();
mem_reset_brk(false);
if (!mm_init()) {
app_error("mm_init failed in eval_mm_speed");
}
......
#include <stdbool.h>
#include <stddef.h>
#include <sys/types.h>
void mem_init(void);
void mem_deinit(void);
void *mem_sbrk(ssize_t incr);
void mem_reset_brk(void);
void mem_reset_brk(bool clear);
void *mem_heap_lo(void);
void *mem_heap_hi(void);
size_t mem_heapsize(void);
......@@ -30,7 +30,7 @@ void mem_init() {
);
/* Heap is initially empty. */
mem_reset_brk();
mem_reset_brk(true);
}
/*
......@@ -43,11 +43,13 @@ void mem_deinit() {
/*
* mem_reset_brk - reset the simulated brk pointer to make an empty heap
*/
void mem_reset_brk() {
void mem_reset_brk(bool clear) {
mem_brk = heap;
/* Fill heap with garbage since it is uninitialized. */
memset(heap, 0xCC, MAX_HEAP);
if (clear) {
memset(heap, 0xCC, MAX_HEAP);
}
}
/*
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment