From 96e9a8e891b426a1bcd3214322f34bb40ba2b33e Mon Sep 17 00:00:00 2001 From: Gabriel Corona Date: Thu, 3 Mar 2016 17:20:21 +0100 Subject: [PATCH] [mc] C++ style SimixProcessInformation --- src/mc/Process.hpp | 21 ++++++++++++--------- src/mc/mc_forward.hpp | 4 +++- src/mc/mc_smx.h | 2 +- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/mc/Process.hpp b/src/mc/Process.hpp index 8de84355e3..7c4c983d00 100644 --- a/src/mc/Process.hpp +++ b/src/mc/Process.hpp @@ -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 -struct s_mc_smx_process_info { +namespace simgrid { +namespace mc { + +class SimixProcessInformation { +public: /** 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`) */ - 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; diff --git a/src/mc/mc_forward.hpp b/src/mc/mc_forward.hpp index 1be20a4124..9474e9beca 100644 --- a/src/mc/mc_forward.hpp +++ b/src/mc/mc_forward.hpp @@ -26,11 +26,13 @@ class Member; 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; diff --git a/src/mc/mc_smx.h b/src/mc/mc_smx.h index 6db9ae4a82..7c9fc47943 100644 --- a/src/mc/mc_smx.h +++ b/src/mc/mc_smx.h @@ -43,7 +43,7 @@ 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); -- 2.20.1