Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Move methods in Process class
[simgrid.git] / src / mc / mc_snapshot.h
index 7d5654b..135cf26 100644 (file)
@@ -120,7 +120,7 @@ void* mc_translate_address_region(uintptr_t addr, mc_mem_region_t region)
 }
 
 XBT_INTERNAL mc_mem_region_t mc_get_snapshot_region(
-  const void* addr, mc_snapshot_t snapshot, int process_index);
+  const void* addr, const s_mc_snapshot_t *snapshot, int process_index);
 
 /** \brief Translate a pointer from process address space to snapshot address space
  *
@@ -209,8 +209,8 @@ public:
   Snapshot();
   ~Snapshot();
   const void* read_bytes(void* buffer, std::size_t size,
-    std::uint64_t address, int process_index = ProcessIndexAny,
-    ReadMode mode = Normal) override;
+    remote_ptr<void> address, int process_index = ProcessIndexAny,
+    ReadMode mode = Normal) const override;
 public: // To be private
   mc_process_t process;
   int num_state;
@@ -300,7 +300,8 @@ const void* MC_snapshot_read(mc_snapshot_t snapshot,
   simgrid::mc::AddressSpace::ReadMode mode,
   void* target, const void* addr, size_t size, int process_index)
 {
-  return snapshot->read_bytes(target, size, (uint64_t)addr, process_index, mode);
+  return snapshot->read_bytes(target, size, simgrid::mc::remote(addr),
+    process_index, mode);
 }
 
 MC_SHOULD_BE_INTERNAL int MC_snapshot_region_memcmp(
@@ -323,7 +324,7 @@ const void* mc_snapshot_get_heap_end(mc_snapshot_t snapshot)
 {
   if(snapshot==NULL)
       xbt_die("snapshot is NULL");
-  return MC_process_get_heap(&mc_model_checker->process())->breakval;
+  return mc_model_checker->process().get_heap()->breakval;
 }
 
 /** @brief Read memory from a snapshot region