+ }
+ }
+ i++;
+ }
+
+ if(current_block == heaplimit)
+ XBT_DEBUG("Number of blocks/fragments not found in heap2 : %d", nb_diff2);
+
+ xbt_dynar_free(&previous);
+ real_addr_frag1 = NULL, real_addr_block1 = NULL, real_addr_block2 = NULL, real_addr_frag2 = NULL;
+
+ return ((nb_diff1 > 0) || (nb_diff2 > 0));
+}
+
+void reset_heap_information(){
+
+ size_t i = 0, j;
+
+ while(i<=heaplimit){
+ if(heapinfo1[i].type == 0){
+ xbt_free(heapinfo1[i].busy_block.equal_to);
+ heapinfo1[i].busy_block.equal_to = NULL;
+ }
+ if(heapinfo1[i].type > 0){
+ for(j=0; j < (size_t) (BLOCKSIZE >> heapinfo1[i].type); j++){
+ xbt_free(heapinfo1[i].busy_frag.equal_to[j]);
+ heapinfo1[i].busy_frag.equal_to[j] = NULL;
+ }
+ }
+ i++;
+ }
+
+ i = 0;
+
+ while(i<=heaplimit){
+ if(heapinfo2[i].type == 0){
+ xbt_free(heapinfo2[i].busy_block.equal_to);
+ heapinfo2[i].busy_block.equal_to = NULL;
+ }
+ if(heapinfo2[i].type > 0){
+ for(j=0; j < (size_t) (BLOCKSIZE >> heapinfo2[i].type); j++){