-/* Copyright (c) 2011-2019. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2011-2020. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
/** @brief Save the current state */
VisitedState::VisitedState(unsigned long state_number) : num(state_number)
{
- simgrid::mc::RemoteClient* process = &(mc_model_checker->process());
+ 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->process().actors().size();
+ this->actors_count = mc_model_checker->get_remote_simulation().actors().size();
this->system_state = std::make_shared<simgrid::mc::Snapshot>(state_number);
}
{
while (states_.size() > (std::size_t)_sg_mc_max_visited_states) {
XBT_DEBUG("Try to remove visited state (maximum number of stored states reached)");
- auto min_element = boost::range::min_element(states_,
- [](std::unique_ptr<simgrid::mc::VisitedState>& a, std::unique_ptr<simgrid::mc::VisitedState>& b) {
- return a->num < b->num;
- });
+ auto min_element = boost::range::min_element(
+ states_, [](const std::unique_ptr<simgrid::mc::VisitedState>& a,
+ const std::unique_ptr<simgrid::mc::VisitedState>& b) { return a->num < b->num; });
xbt_assert(min_element != states_.end());
// and drop it:
states_.erase(min_element);
std::unique_ptr<simgrid::mc::VisitedState>
VisitedStates::addVisitedState(unsigned long state_number, simgrid::mc::State* graph_state, bool compare_snapshots)
{
- std::unique_ptr<simgrid::mc::VisitedState> new_state =
- std::unique_ptr<simgrid::mc::VisitedState>(new VisitedState(state_number));
+ auto new_state = std::make_unique<simgrid::mc::VisitedState>(state_number);
graph_state->system_state_ = new_state->system_state;
XBT_DEBUG("Snapshot %p of visited state %d (exploration stack state %d)", new_state->system_state.get(),
new_state->num, graph_state->num_);