Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] C++ style SimixProcessInformation
authorGabriel Corona <gabriel.corona@loria.fr>
Thu, 3 Mar 2016 16:20:21 +0000 (17:20 +0100)
committerGabriel Corona <gabriel.corona@loria.fr>
Thu, 3 Mar 2016 17:36:56 +0000 (18:36 +0100)
src/mc/Process.hpp
src/mc/mc_forward.hpp
src/mc/mc_smx.h

index 8de8435..7c4c983 100644 (file)
@@ -49,19 +49,22 @@ typedef int mc_process_cache_flags_t;
 #define MC_PROCESS_CACHE_FLAG_MALLOC_INFO 2
 #define MC_PROCESS_CACHE_FLAG_SIMIX_PROCESSES 4
 
 #define MC_PROCESS_CACHE_FLAG_MALLOC_INFO 2
 #define MC_PROCESS_CACHE_FLAG_SIMIX_PROCESSES 4
 
-struct s_mc_smx_process_info {
+namespace simgrid {
+namespace mc {
+
+class SimixProcessInformation {
+public:
   /** MCed address of the process */
   /** MCed address of the process */
-  void* address;
-  /** (Flat) Copy of the process data structure */
-  struct s_smx_process copy;
+  void* address = nullptr;
+  union {
+    /** (Flat) Copy of the process data structure */
+    struct s_smx_process copy;
+  };
   /** Hostname (owned by `mc_modelchecker->hostnames`) */
   /** Hostname (owned by `mc_modelchecker->hostnames`) */
-  const char* hostname;
-  char* name;
+  const char* hostname = nullptr;
+  char* name = nullptr;
 };
 
 };
 
-namespace simgrid {
-namespace mc {
-
 struct IgnoredRegion {
   std::uint64_t addr;
   std::size_t size;
 struct IgnoredRegion {
   std::uint64_t addr;
   std::size_t size;
index 1be20a4..9474e9b 100644 (file)
@@ -26,11 +26,13 @@ class Member;
 class Type;
 class Variable;
 class Frame;
 class Type;
 class Variable;
 class Frame;
+class SimixProcessInformation;
 
 }
 }
 
 
 }
 }
 
-struct s_mc_smx_process_info;
+// TODO, remove
+typedef simgrid::mc::SimixProcessInformation s_mc_smx_process_info;
 
 // TODO, try to get rid of the global ModelChecker variable
 extern simgrid::mc::ModelChecker* mc_model_checker;
 
 // TODO, try to get rid of the global ModelChecker variable
 extern simgrid::mc::ModelChecker* mc_model_checker;
index 6db9ae4..7c9fc47 100644 (file)
@@ -43,7 +43,7 @@
 
 SG_BEGIN_DECL()
 
 
 SG_BEGIN_DECL()
 
-typedef struct s_mc_smx_process_info s_mc_smx_process_info_t, *mc_smx_process_info_t;
+typedef s_mc_smx_process_info s_mc_smx_process_info_t, *mc_smx_process_info_t;
 
 XBT_PRIVATE xbt_dynar_t MC_smx_process_info_list_new(void);
 
 
 XBT_PRIVATE xbt_dynar_t MC_smx_process_info_list_new(void);