From cadc6f2a1e9eea38f5b9cd5f148e1bc282c26981 Mon Sep 17 00:00:00 2001 From: Gabriel Corona Date: Wed, 13 Apr 2016 13:00:27 +0200 Subject: [PATCH 1/1] [mc] Move liveness stats out of mc_stats into LivenessChecker --- src/mc/LivenessChecker.cpp | 12 ++++++------ src/mc/LivenessChecker.hpp | 5 ++++- src/mc/mc_private.h | 2 -- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/mc/LivenessChecker.cpp b/src/mc/LivenessChecker.cpp index 15a0a731e3..e5613cd6bf 100644 --- a/src/mc/LivenessChecker.cpp +++ b/src/mc/LivenessChecker.cpp @@ -94,7 +94,7 @@ static bool evaluate_label( } } -Pair::Pair() : num(++mc_stats->expanded_pairs) +Pair::Pair(unsigned long expanded_pairs) : num(expanded_pairs) {} Pair::~Pair() {} @@ -223,7 +223,7 @@ void LivenessChecker::replay() } /* Update statistics */ - mc_stats->visited_pairs++; + visitedPairsCount_++; mc_stats->executed_transitions++; depth++; @@ -304,8 +304,8 @@ RecordTrace LivenessChecker::getRecordTrace() // override void LivenessChecker::logState() // override { Checker::logState(); - XBT_INFO("Expanded pairs = %lu", mc_stats->expanded_pairs); - XBT_INFO("Visited pairs = %lu", mc_stats->visited_pairs); + XBT_INFO("Expanded pairs = %lu", expandedPairsCount_); + XBT_INFO("Visited pairs = %lu", visitedPairsCount_); XBT_INFO("Executed transitions = %lu", mc_stats->executed_transitions); } @@ -402,7 +402,7 @@ int LivenessChecker::main(void) /* Update mc_stats */ mc_stats->executed_transitions++; if (!current_pair->exploration_started) - mc_stats->visited_pairs++; + visitedPairsCount_++; /* Answer the request */ mc_model_checker->handle_simcall(current_pair->graph_state->transition); @@ -436,7 +436,7 @@ int LivenessChecker::main(void) std::shared_ptr LivenessChecker::newPair(Pair* current_pair, xbt_automaton_state_t state, std::shared_ptr> propositions) { - std::shared_ptr next_pair = std::make_shared(); + std::shared_ptr next_pair = std::make_shared(++expandedPairsCount_); next_pair->automaton_state = state; next_pair->graph_state = std::shared_ptr(MC_state_new()); next_pair->atomic_propositions = std::move(propositions); diff --git a/src/mc/LivenessChecker.hpp b/src/mc/LivenessChecker.hpp index 2c482ade18..f9def2168d 100644 --- a/src/mc/LivenessChecker.hpp +++ b/src/mc/LivenessChecker.hpp @@ -38,7 +38,7 @@ struct XBT_PRIVATE Pair { int depth = 0; bool exploration_started = false; - Pair(); + Pair(unsigned long expanded_pairs); ~Pair(); Pair(Pair const&) = delete; @@ -87,6 +87,9 @@ public: std::list> explorationStack_; std::list> acceptancePairs_; std::list> visitedPairs_; +private: + unsigned long visitedPairsCount_ = 0; + unsigned long expandedPairsCount_ = 0; }; } diff --git a/src/mc/mc_private.h b/src/mc/mc_private.h index 143aac7dbf..83083888f1 100644 --- a/src/mc/mc_private.h +++ b/src/mc/mc_private.h @@ -69,9 +69,7 @@ XBT_PRIVATE void MC_show_deadlock(void); typedef struct mc_stats { unsigned long state_size; unsigned long visited_states; - unsigned long visited_pairs; unsigned long expanded_states; - unsigned long expanded_pairs; unsigned long executed_transitions; } s_mc_stats_t, *mc_stats_t; -- 2.20.1