From cdfee3627a1498e068e9163c64b24650dee52f25 Mon Sep 17 00:00:00 2001 From: Ehsan Azimi Date: Wed, 18 Nov 2020 13:51:31 +0100 Subject: [PATCH] In VisitedState class, get_remote_heap_bytes() from mc_api is called --- src/mc/VisitedState.cpp | 16 +++++++--------- src/mc/mc_api.cpp | 7 +++++++ src/mc/mc_api.hpp | 3 +++ src/mc/mc_state.hpp | 2 -- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/mc/VisitedState.cpp b/src/mc/VisitedState.cpp index 1f30705589..fa49142bf6 100644 --- a/src/mc/VisitedState.cpp +++ b/src/mc/VisitedState.cpp @@ -10,22 +10,20 @@ #include #include #include +#include "src/mc/mc_api.hpp" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_VisitedState, mc, "Logging specific to state equality detection mechanisms"); +using mcapi = simgrid::mc::mc_api; + namespace simgrid { namespace mc { /** @brief Save the current state */ VisitedState::VisitedState(unsigned long state_number) : num(state_number) -{ - simgrid::mc::RemoteSimulation* process = &(mc_model_checker->get_remote_simulation()); - this->heap_bytes_used = mmalloc_get_bytes_used_remote( - process->get_heap()->heaplimit, - process->get_malloc_info()); - - this->actors_count = mc_model_checker->get_remote_simulation().actors().size(); - +{ + this->heap_bytes_used = mcapi::get().get_remote_heap_bytes(); + this->actors_count = mcapi::get().mc_get_remote_simulation().actors().size(); this->system_state = std::make_shared(state_number); } @@ -58,7 +56,7 @@ VisitedStates::addVisitedState(unsigned long state_number, simgrid::mc::State* g if (compare_snapshots) for (auto i = range.first; i != range.second; ++i) { auto& visited_state = *i; - if (snapshot_equal(visited_state->system_state.get(), new_state->system_state.get())) { + if (mcapi::get().snapshot_equal(visited_state->system_state.get(), new_state->system_state.get())) { // The state has been visited: std::unique_ptr old_state = diff --git a/src/mc/mc_api.cpp b/src/mc/mc_api.cpp index 1e0a20d987..b5cb13d6cb 100644 --- a/src/mc/mc_api.cpp +++ b/src/mc/mc_api.cpp @@ -207,6 +207,13 @@ void mc_api::copy_index_comm_pattern(const simgrid::mc::State* state) const MC_state_copy_index_communications_pattern((simgrid::mc::State*)state); } +std::size_t mc_api::get_remote_heap_bytes() const +{ + RemoteSimulation& process = mc_model_checker->get_remote_simulation(); + auto heap_bytes_used = mmalloc_get_bytes_used_remote(process.get_heap()->heaplimit, process.get_malloc_info()); + return heap_bytes_used; +} + void mc_api::s_initialize() const { session->initialize(); diff --git a/src/mc/mc_api.hpp b/src/mc/mc_api.hpp index 676576e5b2..8c9788f716 100644 --- a/src/mc/mc_api.hpp +++ b/src/mc/mc_api.hpp @@ -47,6 +47,9 @@ public: void copy_incomplete_comm_pattern(const simgrid::mc::State* state) const; void copy_index_comm_pattern(const simgrid::mc::State* state) const; + // REMOTE + std::size_t get_remote_heap_bytes() const; + // MODEL_CHECKER FUNCTIONS ModelChecker* get_model_checker() const; void mc_inc_visited_states() const; diff --git a/src/mc/mc_state.hpp b/src/mc/mc_state.hpp index 4448a09df9..f57f397900 100644 --- a/src/mc/mc_state.hpp +++ b/src/mc/mc_state.hpp @@ -90,8 +90,6 @@ public: void set_done() { this->state = InterleavingType::done; } }; -class PatternCommunication; - /* A node in the exploration graph (kind-of) */ class XBT_PRIVATE State { public: -- 2.20.1