* Some parts of the snapshot are ignored by zeroing them out: the real
* values is stored here.
* */
-typedef struct s_mc_snapshot_ignored_data {
+struct s_mc_snapshot_ignored_data_t {
void* start;
std::vector<char> data;
-} s_mc_snapshot_ignored_data_t;
+};
-typedef struct s_fd_infos {
+struct s_fd_infos_t {
std::string filename;
int number;
off_t current_position;
int flags;
-} s_fd_infos_t;
+};
/** Information about a given stack frame */
-typedef struct s_mc_stack_frame {
+struct s_mc_stack_frame_t {
/** Instruction pointer */
unw_word_t ip;
/** Stack pointer */
simgrid::mc::Frame* frame;
std::string frame_name;
unw_cursor_t unw_cursor;
-} s_mc_stack_frame_t;
+};
typedef s_mc_stack_frame_t* mc_stack_frame_t;
-typedef struct s_local_variable {
+struct s_local_variable_t {
simgrid::mc::Frame* subprogram;
unsigned long ip;
std::string name;
simgrid::mc::Type* type;
void* address;
int region;
-} s_local_variable_t;
+};
typedef s_local_variable_t* local_variable_t;
-typedef struct XBT_PRIVATE s_mc_snapshot_stack {
- std::vector<s_local_variable> local_variables;
+struct XBT_PRIVATE s_mc_snapshot_stack_t {
+ std::vector<s_local_variable_t> local_variables;
simgrid::mc::UnwindContext context;
std::vector<s_mc_stack_frame_t> stack_frames;
int process_index;
-} s_mc_snapshot_stack_t, *mc_snapshot_stack_t;
+};
+typedef s_mc_snapshot_stack_t* mc_snapshot_stack_t;
namespace simgrid {
namespace mc {
std::vector<s_mc_snapshot_stack_t> stacks;
std::vector<simgrid::mc::IgnoredHeapRegion> to_ignore;
std::uint64_t hash;
- std::vector<s_mc_snapshot_ignored_data> ignored_data;
+ std::vector<s_mc_snapshot_ignored_data_t> ignored_data;
std::vector<s_fd_infos_t> current_fds;
};
}