Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of framagit.org:simgrid/simgrid
[simgrid.git] / src / mc / sosp / Snapshot.cpp
index fee842d..ee28945 100644 (file)
@@ -200,7 +200,7 @@ void Snapshot::ignore_restore() const
 }
 
 Snapshot::Snapshot(long num_state, PageStore& store, RemoteProcessMemory& memory)
-    : AddressSpace(memory), page_store_(store), num_state_(num_state)
+    : AddressSpace(&memory), page_store_(store), num_state_(num_state)
 {
   XBT_DEBUG("Taking snapshot %ld", num_state);
 
@@ -219,7 +219,7 @@ Snapshot::Snapshot(long num_state, PageStore& store, RemoteProcessMemory& memory
   ignore_restore();
 }
 
-void Snapshot::add_region(RegionType type, RemoteProcessMemory& memory, ObjectInformation* object_info,
+void Snapshot::add_region(RegionType type, const RemoteProcessMemory& memory, ObjectInformation* object_info,
                           void* start_addr, std::size_t size)
 {
   if (type == RegionType::Data)
@@ -227,9 +227,9 @@ void Snapshot::add_region(RegionType type, RemoteProcessMemory& memory, ObjectIn
   else if (type == RegionType::Heap)
     xbt_assert(not object_info, "Unexpected object info for heap region.");
 
-  auto* region = new Region(page_store_, memory, type, start_addr, size);
+  auto region = std::make_unique<Region>(page_store_, memory, type, start_addr, size);
   region->object_info(object_info);
-  snapshot_regions_.push_back(std::unique_ptr<Region>(region));
+  snapshot_regions_.push_back(std::move(region));
 }
 
 void* Snapshot::read_bytes(void* buffer, std::size_t size, RemotePtr<void> address, ReadOptions options) const