Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Separate boolean from others, as gcc > 6 complains on some operations.
[simgrid.git] / src / mc / mc_snapshot.h
index 2711b69..e224509 100644 (file)
@@ -128,23 +128,12 @@ typedef struct XBT_PRIVATE s_mc_snapshot_stack {
   int process_index;
 } s_mc_snapshot_stack_t, *mc_snapshot_stack_t;
 
-typedef struct s_mc_global_t {
-  simgrid::mc::Snapshot* snapshot;
-  int prev_pair;
-  char *prev_req;
-  int initial_communications_pattern_done;
-  int recv_deterministic;
-  int send_deterministic;
-  char *send_diff;
-  char *recv_diff;
-}s_mc_global_t, *mc_global_t;
-
 namespace simgrid {
 namespace mc {
 
 class XBT_PRIVATE Snapshot final : public AddressSpace {
 public:
-  Snapshot(Process* process);
+  Snapshot(Process* process, int num_state);
   ~Snapshot();
   const void* read_bytes(void* buffer, std::size_t size,
     RemotePtr<void> address, int process_index = ProcessIndexAny,
@@ -186,8 +175,8 @@ static const void* mc_snapshot_get_heap_end(simgrid::mc::Snapshot* snapshot);
 namespace simgrid {
 namespace mc {
 
-XBT_PRIVATE simgrid::mc::Snapshot* take_snapshot(int num_state);
-XBT_PRIVATE void restore_snapshot(simgrid::mc::Snapshot*);
+XBT_PRIVATE std::shared_ptr<simgrid::mc::Snapshot> take_snapshot(int num_state);
+XBT_PRIVATE void restore_snapshot(std::shared_ptr<simgrid::mc::Snapshot> snapshot);
 
 }
 }
@@ -213,8 +202,8 @@ XBT_PRIVATE int MC_snapshot_memcmp(
 static inline __attribute__ ((always_inline))
 const void* mc_snapshot_get_heap_end(simgrid::mc::Snapshot* snapshot)
 {
-  if(snapshot==NULL)
-      xbt_die("snapshot is NULL");
+  if(snapshot==nullptr)
+      xbt_die("snapshot is nullptr");
   return mc_model_checker->process().get_heap()->breakval;
 }