Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Add remote_ptr for marking pointers-to/addresses-in the remote process
[simgrid.git] / src / mc / mc_page_snapshot.cpp
index 72d71c1..5c02208 100644 (file)
@@ -14,6 +14,8 @@
 
 #include <xbt/mmalloc.h>
 
+using simgrid::mc::remote;
+
 extern "C" {
 
 // ***** Region management:
@@ -29,7 +31,7 @@ size_t* mc_take_page_snapshot_region(mc_process_t process,
 {
   size_t* pagenos = (size_t*) malloc(page_count * sizeof(size_t));
 
-  const bool is_self = MC_process_is_self(process);
+  const bool is_self = process->is_self();
 
   void* temp = NULL;
   if (!is_self)
@@ -53,8 +55,9 @@ size_t* mc_take_page_snapshot_region(mc_process_t process,
             - move the segments in shared memory (this will break `fork` however).
         */
         page_data = temp;
-        MC_process_read(process, MC_ADDRESS_SPACE_READ_FLAGS_NONE,
-          temp, page, xbt_pagesize, MC_PROCESS_INDEX_DISABLED);
+        process->read_bytes(
+          temp, xbt_pagesize, remote(page),
+          simgrid::mc::ProcessIndexDisabled);
       }
       pagenos[i] = mc_model_checker->page_store().store_page(page_data);