X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/edde8f7fbc1b74a81551bf9eb7bac1935b999296..eb284828d592ce39bd4b96f084d7cce1d074d4b1:/src/xbt/mmalloc/mfree.c diff --git a/src/xbt/mmalloc/mfree.c b/src/xbt/mmalloc/mfree.c index e9e7210d7f..53e83ce65b 100644 --- a/src/xbt/mmalloc/mfree.c +++ b/src/xbt/mmalloc/mfree.c @@ -36,9 +36,9 @@ void __mmalloc_free(struct mdesc *mdp, void *ptr) /* Get as many statistics as early as we can. */ mdp->heapstats.chunks_used--; mdp->heapstats.bytes_used -= - mdp->heapinfo[block].busy.info.size * BLOCKSIZE; + mdp->heapinfo[block].busy.info.block.size * BLOCKSIZE; mdp->heapstats.bytes_free += - mdp->heapinfo[block].busy.info.size * BLOCKSIZE; + mdp->heapinfo[block].busy.info.block.size * BLOCKSIZE; /* Find the free cluster previous to this one in the free list. Start searching at the last block referenced; this may benefit @@ -59,11 +59,11 @@ void __mmalloc_free(struct mdesc *mdp, void *ptr) /* Determine how to link this block into the free list. */ if (block == i + mdp->heapinfo[i].free.size) { /* Coalesce this block with its predecessor. */ - mdp->heapinfo[i].free.size += mdp->heapinfo[block].busy.info.size; + mdp->heapinfo[i].free.size += mdp->heapinfo[block].busy.info.block.size; block = i; } else { /* Really link this block back into the free list. */ - mdp->heapinfo[block].free.size = mdp->heapinfo[block].busy.info.size; + mdp->heapinfo[block].free.size = mdp->heapinfo[block].busy.info.block.size; mdp->heapinfo[block].free.next = mdp->heapinfo[i].free.next; mdp->heapinfo[block].free.prev = i; mdp->heapinfo[i].free.next = block; @@ -130,7 +130,8 @@ void __mmalloc_free(struct mdesc *mdp, void *ptr) next->prev = prev->prev; } mdp->heapinfo[block].busy.type = 0; - mdp->heapinfo[block].busy.info.size = 1; + mdp->heapinfo[block].busy.info.block.size = 1; + mdp->heapinfo[block].busy.info.block.busy_size = 0; /* Keep the statistics accurate. */ mdp->heapstats.chunks_used++;