Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Move methods in Process class
[simgrid.git] / src / mc / mc_page_snapshot.cpp
index bfcbb31..7725f41 100644 (file)
@@ -7,13 +7,15 @@
 
 #include <unistd.h> // pread, pwrite
 
-#include "mc_page_store.h"
+#include "PageStore.hpp"
 #include "mc_mmu.h"
 #include "mc_private.h"
 #include "mc_snapshot.h"
 
 #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);
 
@@ -87,7 +90,7 @@ void mc_restore_page_snapshot_region(mc_process_t process,
     // Otherwise, copy the page:
     void* target_page = mc_page_from_number(start_addr, i);
     const void* source_page = mc_model_checker->page_store().get_page(pagenos[i]);
-    MC_process_write(process, source_page, target_page, xbt_pagesize);
+    process->write_bytes(source_page, xbt_pagesize, remote(target_page));
   }
 }