1 /* Copyright (c) 2007-2020. The SimGrid Team. All rights reserved. */
3 /* This program is free software; you can redistribute it and/or modify it
4 * under the terms of the license (GNU LGPL) which comes with this package. */
6 #ifndef SIMGRID_MC_PRIVATE_HPP
7 #define SIMGRID_MC_PRIVATE_HPP
10 #include "xbt/automaton.h"
12 #include "src/mc/mc_forward.hpp"
13 #include "src/xbt/memory_map.hpp"
18 struct DerefAndCompareByActorsCountAndUsedHeap {
19 template <class X, class Y> bool operator()(X const& a, Y const& b)
21 return std::make_pair(a->actors_count, a->heap_bytes_used) < std::make_pair(b->actors_count, b->heap_bytes_used);
27 /********************************* MC Global **********************************/
29 XBT_PRIVATE void MC_init_dot_output();
31 XBT_PRIVATE extern FILE* dot_output;
33 XBT_PRIVATE void MC_show_deadlock(void);
35 /********************************** Miscellaneous **********************************/
39 XBT_PRIVATE void find_object_address(std::vector<simgrid::xbt::VmMap> const& maps,
40 simgrid::mc::ObjectInformation* result);
43 bool snapshot_equal(const Snapshot* s1, const Snapshot* s2);
45 // Move is somewhere else (in the LivenessChecker class, in the Session class?):
46 extern XBT_PRIVATE xbt_automaton_t property_automaton;