Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : init ignore information for each block/fragment only in mmalloc
authorMarion Guthmuller <marion.guthmuller@loria.fr>
Mon, 11 Feb 2013 08:19:22 +0000 (09:19 +0100)
committerMarion Guthmuller <marion.guthmuller@loria.fr>
Sat, 16 Mar 2013 17:30:54 +0000 (18:30 +0100)
src/xbt/mmalloc/mfree.c
src/xbt/mmalloc/mmalloc.c

index f3d9baa..a6735e0 100644 (file)
@@ -88,8 +88,6 @@ void mfree(struct mdesc *mdp, void *ptr)
           abort();
         }
         mdp->heapinfo[block+it].type = -1;
-        mdp->heapinfo[block+it].busy_block.ignore = 0;
-    
       }
 
       block = i;
@@ -170,7 +168,6 @@ void mfree(struct mdesc *mdp, void *ptr)
 
     /* Set size used in the fragment to -1 */
     mdp->heapinfo[block].busy_frag.frag_size[frag_nb] = -1;
-    mdp->heapinfo[block].busy_frag.ignore[frag_nb] = 0;
     
 //    fprintf(stderr,"nfree:%zu capa:%d\n", mdp->heapinfo[block].busy_frag.nfree,(BLOCKSIZE >> type));
     if (mdp->heapinfo[block].busy_frag.nfree ==
@@ -182,7 +179,6 @@ void mfree(struct mdesc *mdp, void *ptr)
       mdp->heapinfo[block].type = 0;
       mdp->heapinfo[block].busy_block.size = 1;
       mdp->heapinfo[block].busy_block.busy_size = 0;
-      mdp->heapinfo[block].busy_block.ignore = 0;
             
       /* Keep the statistics accurate.  */
       mdp -> heapstats.chunks_used++;
index 726842f..f0ddc2d 100644 (file)
@@ -277,11 +277,12 @@ void *mmalloc_no_memset(xbt_mheap_t mdp, size_t size)
         block = BLOCK(result);
         for (it=0;it<blocks;it++){
           mdp->heapinfo[block+it].type = 0;
+          mdp->heapinfo[block+it].busy_block.busy_size = 0;
+          mdp->heapinfo[block+it].busy_block.ignore = 0;
         }
         mdp->heapinfo[block].busy_block.size = blocks;
         mdp->heapinfo[block].busy_block.busy_size = requested_size;
         //mdp->heapinfo[block].busy_block.bt_size=xbt_backtrace_no_malloc(mdp->heapinfo[block].busy_block.bt,XBT_BACKTRACE_SIZE);
-        mdp->heapinfo[block].busy_block.ignore = 0;
         mdp -> heapstats.chunks_used++;
         mdp -> heapstats.bytes_used += blocks * BLOCKSIZE;
 
@@ -316,10 +317,11 @@ void *mmalloc_no_memset(xbt_mheap_t mdp, size_t size)
 
     for (it=0;it<blocks;it++){
       mdp->heapinfo[block+it].type = 0;
+      mdp->heapinfo[block+it].busy_block.busy_size = 0;
+      mdp->heapinfo[block+it].busy_block.ignore = 0;
     }
     mdp->heapinfo[block].busy_block.size = blocks;
-    mdp->heapinfo[block].busy_block.busy_size = requested_size;
-    mdp->heapinfo[block].busy_block.ignore = 0;
+    mdp->heapinfo[block].busy_block.busy_size = requested_size; 
     //mdp->heapinfo[block].busy_block.bt_size = 0;
     //mdp->heapinfo[block].busy_block.bt_size = xbt_backtrace_no_malloc(mdp->heapinfo[block].busy_block.bt,XBT_BACKTRACE_SIZE);