Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Make Snapshot::to_ignore a std::vector
[simgrid.git] / src / mc / mc_compare.cpp
index d9af408..d43907a 100644 (file)
@@ -208,8 +208,8 @@ static int compare_areas_with_type(struct mc_compare_state& state,
       }
 
       // The pointers are both in the current object R/W segment:
-      else if (mc_region_contain(region1, addr_pointed1)) {
-        if (!mc_region_contain(region2, addr_pointed2))
+      else if (region1->contain(simgrid::mc::remote(addr_pointed1))) {
+        if (!region2->contain(simgrid::mc::remote(addr_pointed2)))
           return 1;
         if (type->dw_type_id == NULL)
           return (addr_pointed1 != addr_pointed2);
@@ -268,9 +268,9 @@ static int compare_global_variables(mc_object_info_t object_info,
   xbt_assert(r1 && r2, "Missing region.");
 
 #ifdef HAVE_SMPI
-  if (r1->storage_type() == MC_REGION_STORAGE_TYPE_PRIVATIZED) {
+  if (r1->storage_type() == simgrid::mc::StorageType::Privatized) {
     xbt_assert(process_index >= 0);
-    if (r2->storage_type() != MC_REGION_STORAGE_TYPE_PRIVATIZED) {
+    if (r2->storage_type() != simgrid::mc::StorageType::Privatized) {
       return 1;
     }
 
@@ -289,9 +289,9 @@ static int compare_global_variables(mc_object_info_t object_info,
     return 0;
   }
 #else
-  xbt_assert(r1->storage_type() != MC_REGION_STORAGE_TYPE_PRIVATIZED);
+  xbt_assert(r1->storage_type() != simgrid::mc::StorageType::Privatized);
 #endif
-  xbt_assert(r2->storage_type() != MC_REGION_STORAGE_TYPE_PRIVATIZED);
+  xbt_assert(r2->storage_type() != simgrid::mc::StorageType::Privatized);
 
   struct mc_compare_state state;
 
@@ -440,14 +440,10 @@ int snapshot_compare(void *state1, void *state2)
   }
 
   /* Compare enabled processes */
-  unsigned int cursor;
-  int pid;
-  xbt_dynar_foreach(s1->enabled_processes, cursor, pid){
-    if(!xbt_dynar_member(s2->enabled_processes, &pid)) {
+  if (s1->enabled_processes != s2->enabled_processes) {
       //XBT_TRACE3(mc, state_diff, num1, num2, "Different enabled processes");
       XBT_VERB("(%d - %d) Different enabled processes", num1, num2);
       // return 1; ??
-    }
   }
 
   unsigned long i = 0;
@@ -503,7 +499,7 @@ int snapshot_compare(void *state1, void *state2)
     alloca(sizeof(struct mdesc)), sizeof(struct mdesc),
     remote(process->heap_address),
     simgrid::mc::ProcessIndexMissing, simgrid::mc::AddressSpace::Lazy);
-  res_init = init_heap_information(heap1, heap2, s1->to_ignore, s2->to_ignore);
+  res_init = init_heap_information(heap1, heap2, &s1->to_ignore, &s2->to_ignore);
   if (res_init == -1) {
 #ifdef MC_DEBUG
     XBT_DEBUG("(%d - %d) Different heap information", num1, num2);
@@ -526,7 +522,7 @@ int snapshot_compare(void *state1, void *state2)
 #endif
 
   /* Stacks comparison */
-  cursor = 0;
+  unsigned cursor = 0;
   int diff_local = 0;
 #ifdef MC_DEBUG
   is_diff = 0;
@@ -589,7 +585,7 @@ int snapshot_compare(void *state1, void *state2)
     mc_mem_region_t region2 = s2->snapshot_regions[k];
 
     // Preconditions:
-    if (region1->region_type() != MC_REGION_TYPE_DATA)
+    if (region1->region_type() != simgrid::mc::RegionType::Data)
       continue;
 
     xbt_assert(region1->region_type() == region2->region_type());