X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b5bfcc5ac199bc0d2ed00a832d08fec1462b9e83..612f154fb83700bd9c58a2e72c2ce7d98db81824:/src/mc/sosp/mc_checkpoint.cpp diff --git a/src/mc/sosp/mc_checkpoint.cpp b/src/mc/sosp/mc_checkpoint.cpp index 99cd848898..1b1ff78eed 100644 --- a/src/mc/sosp/mc_checkpoint.cpp +++ b/src/mc/sosp/mc_checkpoint.cpp @@ -75,7 +75,7 @@ static void restore(RegionSnapshot* region) case simgrid::mc::StorageType::Privatized: for (auto& p : region->privatized_data()) - restore(&p); + restore(p.get()); break; default: // includes StorageType::NoData @@ -84,30 +84,6 @@ static void restore(RegionSnapshot* region) } } -#if HAVE_SMPI -RegionSnapshot privatized_region(RegionType region_type, void* start_addr, void* permanent_addr, std::size_t size) -{ - size_t process_count = MC_smpi_process_count(); - - // Read smpi_privatization_regions from MCed: - smpi_privatization_region_t remote_smpi_privatization_regions; - mc_model_checker->process().read_variable("smpi_privatization_regions", &remote_smpi_privatization_regions, - sizeof(remote_smpi_privatization_regions)); - s_smpi_privatization_region_t privatization_regions[process_count]; - mc_model_checker->process().read_bytes(&privatization_regions, sizeof(privatization_regions), - remote(remote_smpi_privatization_regions)); - - std::vector data; - data.reserve(process_count); - for (size_t i = 0; i < process_count; i++) - data.push_back(region(region_type, start_addr, privatization_regions[i].address, size)); - - RegionSnapshot region = RegionSnapshot(region_type, start_addr, permanent_addr, size); - region.privatized_data(std::move(data)); - return region; -} -#endif - static void get_memory_regions(simgrid::mc::RemoteClient* process, simgrid::mc::Snapshot* snapshot) { snapshot->snapshot_regions_.clear(); @@ -123,15 +99,14 @@ static void get_memory_regions(simgrid::mc::RemoteClient* process, simgrid::mc:: snapshot->add_region(simgrid::mc::RegionType::Heap, nullptr, start_heap, start_heap, (char*)end_heap - (char*)start_heap); snapshot->heap_bytes_used_ = mmalloc_get_bytes_used_remote(heap->heaplimit, process->get_malloc_info()); + snapshot->privatization_index_ = simgrid::mc::ProcessIndexMissing; #if HAVE_SMPI if (mc_model_checker->process().privatized() && MC_smpi_process_count()) // snapshot->privatization_index = smpi_loaded_page mc_model_checker->process().read_variable("smpi_loaded_page", &snapshot->privatization_index_, sizeof(snapshot->privatization_index_)); - else #endif - snapshot->privatization_index_ = simgrid::mc::ProcessIndexMissing; } /** @brief Fills the position of the segments (executable, read-only, read/write).