typedef struct XBT_PRIVATE s_mc_snapshot_stack {
std::vector<s_local_variable> local_variables;
- s_mc_unw_context_t context;
+ 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 struct s_mc_global_t {
- mc_snapshot_t snapshot;
- int prev_pair;
- char *prev_req;
- int initial_communications_pattern_done;
- int recv_deterministic;
- int send_deterministic;
- char *send_diff;
- char *recv_diff;
+ std::shared_ptr<simgrid::mc::Snapshot> snapshot;
+ int prev_pair = 0;
+ std::string prev_req;
+ int initial_communications_pattern_done = 0;
+ int recv_deterministic = 0;
+ int send_deterministic = 0;
+ char *send_diff = nullptr;
+ char *recv_diff = nullptr;
}s_mc_global_t, *mc_global_t;
namespace simgrid {
extern "C" {
static inline __attribute__ ((always_inline))
-mc_mem_region_t mc_get_region_hinted(void* addr, mc_snapshot_t snapshot, int process_index, mc_mem_region_t region)
+mc_mem_region_t mc_get_region_hinted(void* addr, simgrid::mc::Snapshot* snapshot, int process_index, mc_mem_region_t region)
{
if (region->contain(simgrid::mc::remote(addr)))
return region;
return mc_get_snapshot_region(addr, snapshot, process_index);
}
-static const void* mc_snapshot_get_heap_end(mc_snapshot_t snapshot);
+static const void* mc_snapshot_get_heap_end(simgrid::mc::Snapshot* snapshot);
}
namespace simgrid {
namespace mc {
-XBT_PRIVATE mc_snapshot_t take_snapshot(int num_state);
-XBT_PRIVATE void restore_snapshot(mc_snapshot_t);
+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);
}
}
const void* addr1, mc_mem_region_t region1,
const void* addr2, mc_mem_region_t region2, std::size_t size);
XBT_PRIVATE int MC_snapshot_memcmp(
- const void* addr1, mc_snapshot_t snapshot1,
- const void* addr2, mc_snapshot_t snapshot2, int process_index, std::size_t size);
+ const void* addr1, simgrid::mc::Snapshot* snapshot1,
+ const void* addr2, simgrid::mc::Snapshot* snapshot2, int process_index, std::size_t size);
static inline __attribute__ ((always_inline))
-const void* mc_snapshot_get_heap_end(mc_snapshot_t snapshot)
+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;
}
SG_END_DECL()
-XBT_PRIVATE int init_heap_information(xbt_mheap_t heap1, xbt_mheap_t heap2,
- std::vector<simgrid::mc::IgnoredHeapRegion>* i1,
- std::vector<simgrid::mc::IgnoredHeapRegion>* i2);
-
#endif