int raw_mem_set;
}s_mc_global_t, *mc_global_t;
-void MC_take_snapshot(mc_snapshot_t);
-mc_snapshot_t MC_take_snapshot_liveness(void);
+//void MC_take_snapshot(mc_snapshot_t);
+mc_snapshot_t MC_take_snapshot(void);
void MC_restore_snapshot(mc_snapshot_t);
void MC_free_snapshot(mc_snapshot_t);
void snapshot_stack_free_voidp(void *s);
smx_simcall_t MC_state_get_executed_request(mc_state_t state, int *value);
smx_simcall_t MC_state_get_internal_request(mc_state_t state);
smx_simcall_t MC_state_get_request(mc_state_t state, int *value);
+void MC_state_remove_interleave_process(mc_state_t state, smx_process_t process);
/****************************** Statistics ************************************/
typedef struct mc_stats {
extern void *start_data_libsimgrid;
extern void *end_raw_heap;
+extern void *start_data_binary;
+extern void *start_bss_binary;
+extern char *libsimgrid_path;
+extern void *start_text_libsimgrid;
+extern void *start_bss_libsimgrid;
+extern void *start_plt_libsimgrid;
+extern void *end_plt_libsimgrid;
+extern void *start_plt_binary;
+extern void *end_plt_binary;
+
/********************************** DPOR for safety **************************************/
typedef enum {
} e_mc_reduce_t;
extern e_mc_reduce_t mc_reduce_kind;
+extern mc_global_t initial_state_safety;
void MC_dpor_init(void);
void MC_dpor(void);
void MC_dpor_exit(void);
-void MC_init_safety(void);
+void MC_init(void);
/********************************** Double-DFS for liveness property**************************************/
extern mc_global_t initial_state_liveness;
extern xbt_automaton_t _mc_property_automaton;
extern int compare;
-extern void *start_plt_libsimgrid;
-extern void *end_plt_libsimgrid;
-extern void *start_plt_binary;
-extern void *end_plt_binary;
extern xbt_dynar_t mc_stack_comparison_ignore;
extern xbt_dynar_t mc_data_bss_comparison_ignore;
-extern void *start_bss_libsimgrid;
+
typedef struct s_mc_pair{
mc_snapshot_t system_state;