X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/de0765cca8da736799b534113602a9cb8bc32809..756df47074b2d7b0721f234077f5ef8d75e13932:/src/mc/mc_global.cpp diff --git a/src/mc/mc_global.cpp b/src/mc/mc_global.cpp index 0806e5303e..76a2af2cfa 100644 --- a/src/mc/mc_global.cpp +++ b/src/mc/mc_global.cpp @@ -20,8 +20,8 @@ #endif #include "simgrid/sg_config.h" -#include "../surf/surf_private.h" -#include "../simix/smx_private.h" +#include "src/surf/surf_private.h" +#include "src/simix/smx_private.h" #include "xbt/fifo.h" #include "xbt/automaton.h" #include "xbt/dict.h" @@ -30,21 +30,20 @@ #ifdef HAVE_MC #include #include -#include "../xbt/mmalloc/mmprivate.h" -#include "mc_object_info.h" -#include "mc_comm_pattern.h" -#include "mc_request.h" -#include "mc_safety.h" -#include "mc_snapshot.h" -#include "mc_liveness.h" -#include "mc_private.h" -#include "mc_unw.h" -#include "mc_smx.h" -#include "mcer_ignore.h" +#include "src/xbt/mmalloc/mmprivate.h" +#include "src/mc/mc_object_info.h" +#include "src/mc/mc_comm_pattern.h" +#include "src/mc/mc_request.h" +#include "src/mc/mc_safety.h" +#include "src/mc/mc_snapshot.h" +#include "src/mc/mc_liveness.h" +#include "src/mc/mc_private.h" +#include "src/mc/mc_unw.h" +#include "src/mc/mc_smx.h" #endif -#include "mc_record.h" -#include "mc_protocol.h" -#include "mc_client.h" +#include "src/mc/mc_record.h" +#include "src/mc/mc_protocol.h" +#include "src/mc/mc_client.h" extern "C" { @@ -62,8 +61,6 @@ int user_max_depth_reached = 0; mc_state_t mc_current_state = NULL; char mc_replay_mode = FALSE; -__thread mc_comparison_times_t mc_comp_times = NULL; -__thread double mc_snapshot_comparison_time; mc_stats_t mc_stats = NULL; mc_global_t initial_global_state = NULL; xbt_fifo_t mc_stack = NULL; @@ -263,7 +260,7 @@ void MC_replay(xbt_fifo_t stack) if (_sg_mc_comms_determinism || _sg_mc_send_determinism) MC_handle_comm_pattern(call, req, value, NULL, 1); - MC_wait_for_requests(); + mc_model_checker->wait_for_requests(); count++; } @@ -330,7 +327,7 @@ void MC_replay_liveness(xbt_fifo_t stack) } MC_simcall_handle(req, value); - MC_wait_for_requests(); + mc_model_checker->wait_for_requests(); } /* Update statistics */ @@ -481,13 +478,13 @@ void MC_automaton_load(const char *file) } // TODO, fix cross-process access (this function is not used) -void MC_dump_stacks(FILE* file) +static void MC_dump_stacks(FILE* file) { int nstack = 0; - stack_region_t current_stack; - unsigned cursor; - xbt_dynar_foreach(stacks_areas, cursor, current_stack) { - unw_context_t * context = (unw_context_t *)current_stack->context; + for (auto const& stack : mc_model_checker->process().stack_areas()) { + + xbt_die("Fix cross-process access to the context"); + unw_context_t * context = (unw_context_t *)stack.context; fprintf(file, "Stack %i:\n", nstack); int nframe = 0; @@ -563,11 +560,6 @@ void MC_report_crash(int status) MC_print_statistics(mc_stats); } -void MC_invalidate_cache(void) -{ - if (mc_model_checker) - mc_model_checker->process().cache_flags = 0; -} #endif }