Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : store equality detected in heap comparison if fragment or block numbe...
[simgrid.git] / src / xbt / mmalloc / mmprivate.h
index 4f61135..53d17c9 100644 (file)
@@ -107,6 +107,18 @@ struct mstats
   size_t bytes_free;    /* Byte total of chunks in the free list. */
 };
 
+typedef struct s_heap_area{
+  int block;
+  int fragment;
+}s_heap_area_t, *heap_area_t;
+
+typedef struct s_heap_area_pair{
+  int block1;
+  int fragment1;
+  int block2;
+  int fragment2;
+}s_heap_area_pair_t, *heap_area_pair_t;
+
 /* Data structure giving per-block information.
  *
  * There is one such structure in the mdp->heapinfo array per block used in that heap,
@@ -143,14 +155,14 @@ typedef struct {
       size_t first;           /* First free fragment of the block.  */
       unsigned short frag_size[MAX_FRAGMENT_PER_BLOCK];
       void *bt[MAX_FRAGMENT_PER_BLOCK][XBT_BACKTRACE_SIZE]; /* Where it was malloced (or realloced lastly) */
-      int equal_to[MAX_FRAGMENT_PER_BLOCK];
+      heap_area_t equal_to[MAX_FRAGMENT_PER_BLOCK];
     } busy_frag;
     struct {
       size_t size; /* Size (in blocks) of a large cluster.  */
       size_t busy_size; /* Actually used space, in bytes */
       void *bt[XBT_BACKTRACE_SIZE]; /* Where it was malloced (or realloced lastly) */
       int bt_size;
-      int equal_to;
+      heap_area_t equal_to;
     } busy_block;
     /* Heap information for a free block (that may be the first of a free cluster).  */
     struct {