Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : parallel system state comparison for safety MC
[simgrid.git] / src / mc / mc_private.h
index b460411..f112c7e 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (c) 2007-2013 Da SimGrid Team. All rights reserved.            */
+/* Copyright (c) 2007-2013. 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. */
@@ -23,6 +24,7 @@
 #include "msg/msg.h"
 #include "msg/datatypes.h"
 #include "xbt/strbuff.h"
+#include "xbt/parmap.h"
 
 /****************************** Snapshots ***********************************/
 
@@ -75,6 +77,7 @@ extern xbt_dynar_t mc_checkpoint_ignore;
 extern double *mc_time;
 extern FILE *dot_output;
 extern const char* colors[13];
+extern xbt_parmap_t parmap;
 
 extern int user_max_depth_reached;
 
@@ -195,7 +198,7 @@ typedef struct s_map_region {
   void *start_addr;             /* Start address of the map */
   void *end_addr;               /* End address of the map */
   int prot;                     /* Memory protection */
-  int flags;                    /* Aditional memory flags */
+  int flags;                    /* Additional memory flags */
   void *offset;                 /* Offset in the file/whatever */
   char dev_major;               /* Major of the device */
   char dev_minor;               /* Minor of the device */
@@ -249,10 +252,10 @@ typedef struct s_mc_comparison_times{
   double hash_local_variables_comparison_time;
 }s_mc_comparison_times_t, *mc_comparison_times_t;
 
-extern mc_comparison_times_t mc_comp_times;
-extern double mc_snapshot_comparison_time;
+extern __thread mc_comparison_times_t mc_comp_times;
+extern __thread double mc_snapshot_comparison_time;
 
-int snapshot_compare(mc_snapshot_t s1, mc_snapshot_t s2);
+int snapshot_compare(void *state1, void *state2);
 int SIMIX_pre_mc_compare_snapshots(smx_simcall_t simcall, mc_snapshot_t s1, mc_snapshot_t s2);
 void print_comparison_times(void);
 
@@ -296,6 +299,7 @@ extern xbt_dynar_t mc_data_bss_comparison_ignore;
 
 typedef struct s_mc_pair{
   int num;
+  int other_num; /* Dot output for */
   int search_cycle;
   mc_state_t graph_state; /* System state included */
   xbt_automaton_state_t automaton_state;
@@ -310,6 +314,7 @@ typedef struct s_mc_pair{
 
 mc_pair_t MC_pair_new(void);
 void MC_pair_delete(mc_pair_t);
+void mc_pair_free_voidp(void *p);
 
 void MC_ddfs_init(void);
 void MC_ddfs(void);