X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a0fcde6efb589d65005c77e7d64b8634cbe277fc..b5858ae65676a0304a843e25d13d11df789106b6:/src/xbt/mmalloc/mfree.c diff --git a/src/xbt/mmalloc/mfree.c b/src/xbt/mmalloc/mfree.c index 5586cf5400..66ec157be2 100644 --- a/src/xbt/mmalloc/mfree.c +++ b/src/xbt/mmalloc/mfree.c @@ -1,7 +1,6 @@ /* Free a block of memory allocated by `mmalloc'. */ -/* Copyright (c) 2010-2014. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2010-2017. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -23,7 +22,7 @@ void mfree(struct mdesc *mdp, void *ptr) { int type; size_t block, frag_nb; - register size_t i; + size_t i; int it; mmalloc_paranoia(mdp); @@ -51,7 +50,7 @@ void mfree(struct mdesc *mdp, void *ptr) UNLOCK(mdp); THROWF(system_error, 0, "Asked to free a fragment in a block that is already free. I'm puzzled.\n"); break; - + case MMALLOC_TYPE_UNFRAGMENTED: /* Get as many statistics as early as we can. */ mdp -> heapstats.chunks_used--; @@ -147,8 +146,8 @@ void mfree(struct mdesc *mdp, void *ptr) mdp -> heapstats.bytes_free -= bytes; } */ - /* Set the next search to begin at this block. - This is probably important to the trick where realloc returns the block to + /* Set the next search to begin at this block. + This is probably important to the trick where realloc returns the block to the system before reasking for the same block with a bigger size. */ mdp->heapindex = block; break; @@ -191,13 +190,13 @@ void mfree(struct mdesc *mdp, void *ptr) mdp->heapinfo[block].type = MMALLOC_TYPE_UNFRAGMENTED; mdp->heapinfo[block].busy_block.size = 1; mdp->heapinfo[block].busy_block.busy_size = 0; - + /* Keep the statistics accurate. */ mdp -> heapstats.chunks_used++; mdp -> heapstats.bytes_used += BLOCKSIZE; mdp -> heapstats.chunks_free -= BLOCKSIZE >> type; mdp -> heapstats.bytes_free -= BLOCKSIZE; - + mfree((void *) mdp, (void *) ADDRESS(block)); } else if (mdp->heapinfo[block].busy_frag.nfree != 0) { /* If some fragments of this block are free, you know what? I'm already happy. */ @@ -215,4 +214,3 @@ void mfree(struct mdesc *mdp, void *ptr) break; } } -