X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7b6d9a992f6c0c59eff98ba72868b5b9b93afa38..30e424f828536f2e59c0175b482e6e5480fe7fdd:/src/mc/mc_liveness.h diff --git a/src/mc/mc_liveness.h b/src/mc/mc_liveness.h index ececec48af..0b5b2daa08 100644 --- a/src/mc/mc_liveness.h +++ b/src/mc/mc_liveness.h @@ -45,20 +45,20 @@ struct XBT_PRIVATE Pair { }; struct XBT_PRIVATE VisitedPair { - int num; - int other_num; /* Dot output for */ - int acceptance_pair; - mc_state_t graph_state; /* System state included */ - xbt_automaton_state_t automaton_state; - xbt_dynar_t atomic_propositions; - size_t heap_bytes_used; - int nb_processes; - int acceptance_removed; - int visited_removed; -}; + int num = 0; + int other_num = 0; /* Dot output for */ + int acceptance_pair = 0; + mc_state_t graph_state = nullptr; /* System state included */ + xbt_automaton_state_t automaton_state = nullptr; + simgrid::xbt::unique_ptr atomic_propositions; + size_t heap_bytes_used = 0; + int nb_processes = 0; + int acceptance_removed = 0; + int visited_removed = 0; -XBT_PRIVATE simgrid::mc::VisitedPair* visited_pair_new(int pair_num, xbt_automaton_state_t automaton_state, xbt_dynar_t atomic_propositions, mc_state_t graph_state); -XBT_PRIVATE void visited_pair_delete(simgrid::mc::VisitedPair* p); + VisitedPair(int pair_num, xbt_automaton_state_t automaton_state, xbt_dynar_t atomic_propositions, mc_state_t graph_state); + ~VisitedPair(); +}; int modelcheck_liveness(void); XBT_PRIVATE void show_stack_liveness(xbt_fifo_t stack); @@ -67,6 +67,8 @@ XBT_PRIVATE void dump_stack_liveness(xbt_fifo_t stack); XBT_PRIVATE extern xbt_dynar_t visited_pairs; XBT_PRIVATE int is_visited_pair(simgrid::mc::VisitedPair* visited_pair, simgrid::mc::Pair* pair); +XBT_PRIVATE int snapshot_compare(simgrid::mc::VisitedPair* state1, simgrid::mc::VisitedPair* state2); + } }