Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
mc: kill model-check/ksm option. Was not activated because not very useful
[simgrid.git] / src / mc / sosp / mc_checkpoint.cpp
index e918993..b222445 100644 (file)
@@ -57,7 +57,7 @@ namespace mc {
  *
  *  @param region     Target region
  */
-static void restore(mc_mem_region_t region)
+static void restore(RegionSnapshot* region)
 {
   switch (region->storage_type()) {
     case simgrid::mc::StorageType::Flat:
@@ -92,12 +92,12 @@ RegionSnapshot privatized_region(RegionType region_type, void* start_addr, void*
   mc_model_checker->process().read_bytes(&privatization_regions, sizeof(privatization_regions),
                                          remote(remote_smpi_privatization_regions));
 
-  std::vector<simgrid::mc::RegionSnapshot> data;
+  std::vector<RegionSnapshot> data;
   data.reserve(process_count);
   for (size_t i = 0; i < process_count; i++)
-    data.push_back(simgrid::mc::region(region_type, start_addr, privatization_regions[i].address, size));
+    data.push_back(region(region_type, start_addr, privatization_regions[i].address, size));
 
-  simgrid::mc::RegionSnapshot region = simgrid::mc::RegionSnapshot(region_type, start_addr, permanent_addr, size);
+  RegionSnapshot region = RegionSnapshot(region_type, start_addr, permanent_addr, size);
   region.privatized_data(std::move(data));
   return region;
 }
@@ -131,9 +131,11 @@ static void get_memory_regions(simgrid::mc::RemoteClient* process, simgrid::mc::
   const size_t n = process->object_infos.size();
   snapshot->snapshot_regions.resize(n + 1);
   int i = 0;
-  for (auto const& object_info : process->object_infos)
-    add_region(i++, snapshot, simgrid::mc::RegionType::Data, object_info.get(), object_info->start_rw,
+  for (auto const& object_info : process->object_infos) {
+    add_region(i, snapshot, simgrid::mc::RegionType::Data, object_info.get(), object_info->start_rw,
                object_info->start_rw, object_info->end_rw - object_info->start_rw);
+    ++i;
+  }
 
   xbt_mheap_t heap = process->get_heap();
   void* start_heap = heap->base;
@@ -443,7 +445,7 @@ std::shared_ptr<simgrid::mc::Snapshot> take_snapshot(int num_state)
 
 static inline void restore_snapshot_regions(simgrid::mc::Snapshot* snapshot)
 {
-  for (std::unique_ptr<s_mc_mem_region_t> const& region : snapshot->snapshot_regions) {
+  for (std::unique_ptr<simgrid::mc::RegionSnapshot> const& region : snapshot->snapshot_regions) {
     // For privatized, variables we decided it was not necessary to take the snapshot:
     if (region)
       restore(region.get());