Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Move stacks_areas into Process
[simgrid.git] / src / mc / mc_global.cpp
index 0806e53..2c484c1 100644 (file)
@@ -62,8 +62,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 +261,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 +328,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 */
@@ -484,10 +482,10 @@ void MC_automaton_load(const char *file)
 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 +561,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
 
 }