@@ -73,7 +73,9 @@ int mm_init(void)
73
73
}
74
74
75
75
CLASS_SIZE [NUM_CLASSES ] = (void * )NULL ; //entry for MISC - bigger than biggest class
76
-
76
+ printf ("top:%d\n" ,mem_heap_hi () );
77
+ printf ("bottom:%d\n" ,mem_heap_lo () );
78
+ printf ("init%d\n" ,mm_check ());
77
79
return 0 ;
78
80
}
79
81
@@ -103,6 +105,7 @@ int mm_init(void)
103
105
void * mm_malloc (size_t size )/*{{{*/
104
106
{
105
107
108
+ printf ("mallocs%d\n" ,mm_check ());
106
109
int wasFound = 0 ; //will be 1 if block is found, 0 if not found
107
110
int newsize = ALIGN (size ) + OVERHEAD ; //size to be malloc'ed out
108
111
int oldsize ; //size of free/sbrk'd block being used
@@ -152,7 +155,7 @@ void *mm_malloc(size_t size)/*{{{*/
152
155
returnPointer = ((char * )(returnPointer ) + 7 );// now points to start of usable data
153
156
* ((char * )(returnPointer ) + size ) = 1 ; //mark as used at back
154
157
}
155
- printf ("%d\n" ,mm_check ());
158
+ printf ("malloce %d\n" ,mm_check ());
156
159
return (void * )(returnPointer );
157
160
158
161
/* original naive code
@@ -180,6 +183,7 @@ void *mm_malloc(size_t size)/*{{{*/
180
183
*/
181
184
void mm_free (void * argptr )/*{{{*/
182
185
{
186
+ printf ("free%d\n" ,mm_check ());
183
187
int size , csize ;
184
188
char * ptr = argptr ;
185
189
@@ -188,7 +192,7 @@ void mm_free(void *argptr)/*{{{*/
188
192
189
193
/*
190
194
* Begin Coalescing
191
- */
195
+ *
192
196
if(*(ptr - 6) == 0) { //the block BEFORE is a free block
193
197
ptr = (char*)ptr - 6;
194
198
csize = *((int*)ptr - 1); //size of the previous block
@@ -205,7 +209,9 @@ void mm_free(void *argptr)/*{{{*/
205
209
size = size + csize + 16;
206
210
}
207
211
}
212
+ */
208
213
214
+ printf ("%d" ,mm_check ());
209
215
mm_insert ((void * )((char * )argptr - 8 ), size );
210
216
}/*}}}*/
211
217
@@ -214,6 +220,7 @@ void mm_free(void *argptr)/*{{{*/
214
220
*/
215
221
void * mm_realloc (void * ptr , size_t size )/*{{{*/
216
222
{
223
+ printf ("%d" ,mm_check ());
217
224
void * oldptr = ptr ;
218
225
void * newptr ;
219
226
size_t copySize ;
@@ -226,6 +233,7 @@ void *mm_realloc(void *ptr, size_t size)/*{{{*/
226
233
copySize = size ;
227
234
memcpy (newptr , oldptr , copySize );
228
235
mm_free (oldptr );
236
+ printf ("%d\n" ,mm_check ());
229
237
return newptr ;
230
238
}/*}}}*/
231
239
@@ -252,7 +260,6 @@ int mm_check(void)/*{{{*/
252
260
int i ;
253
261
int size ;
254
262
size_t * top_heap = mem_heap_hi ();
255
- printf ("top of heap: %d\n bottom of heap: %d\n" , top_heap , mem_heap_lo ());
256
263
257
264
for (i = 0 ; i < NUM_CLASSES ; i ++ ){//traverse free lists for integrity/*{{{*/
258
265
next_ptr = CLASSES [i ];
@@ -339,6 +346,7 @@ int mm_check(void)/*{{{*/
339
346
340
347
int mm_insert (void * location , int size ) {/*{{{*/
341
348
349
+ printf ("insert%d\n" ,mm_check ());
342
350
int i = 0 ;
343
351
int flag = 1 ;
344
352
size_t * last_ptr = NULL ;
@@ -394,6 +402,7 @@ int mm_insert(void* location, int size) {/*{{{*/
394
402
* (char * )location = 0 ; //mark free at back
395
403
* ((int * )location - 1 ) = usableSize ; //mark size at back
396
404
405
+ printf ("inserte%d\n" ,mm_check ());
397
406
return 0 ;
398
407
}
399
408
}/*}}}*/
0 commit comments