Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
make my previous commit also compile under MC (sorry)
authorMartin Quinson <martin.quinson@loria.fr>
Thu, 9 Oct 2014 23:08:53 +0000 (01:08 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Thu, 9 Oct 2014 23:08:53 +0000 (01:08 +0200)
buildtools/Cmake/DefinePackages.cmake
src/mc/mc_interface.h [new file with mode: 0644]
src/mc/mc_private.h
src/simix/smx_user.c

index 24f2312..3c7a22a 100644 (file)
@@ -611,6 +611,7 @@ set(MC_SRC
   src/mc/mc_global.c
   src/mc/mc_hash.c
   src/mc/mc_ignore.c
+  src/mc/mc_interface.h
   src/mc/mc_liveness.c
   src/mc/mc_member.c
   src/mc/mc_memory.c
diff --git a/src/mc/mc_interface.h b/src/mc/mc_interface.h
new file mode 100644 (file)
index 0000000..0105f37
--- /dev/null
@@ -0,0 +1,23 @@
+/* MC interface: definitions that non-MC modules must see, but not the user */
+
+/* Copyright (c) 2007-2014. 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. */
+
+#ifndef MC_INTERFACE_H
+#define MC_INTERFACE_H
+#include "mc/mc.h"
+
+SG_BEGIN_DECL()
+
+typedef struct s_mc_snapshot *mc_snapshot_t;
+
+/* These are the MC-specific simcalls, that smx_user needs to see */
+mc_snapshot_t SIMIX_pre_mc_snapshot(smx_simcall_t simcall);
+int SIMIX_pre_mc_compare_snapshots(smx_simcall_t simcall, mc_snapshot_t s1, mc_snapshot_t s2);
+int SIMIX_pre_mc_random(smx_simcall_t simcall, int min, int max);
+
+SG_END_DECL()
+
+#endif
index 09413c4..1147044 100644 (file)
@@ -31,6 +31,7 @@
 #include "xbt/parmap.h"
 #include "mc_mmu.h"
 #include "mc_page_store.h"
+#include "mc_interface.h"
 
 SG_BEGIN_DECL()
 
@@ -39,7 +40,7 @@ typedef struct s_mc_function_index_item s_mc_function_index_item_t, *mc_function
 
 /****************************** Snapshots ***********************************/
 
-#define NB_REGIONS 3 /* binary data (data + BSS) (type = 2), libsimgrid data (data + BSS) (type = 1), std_heap (type = 0)*/ 
+#define NB_REGIONS 3 /* binary data (data + BSS) (type = 2), libsimgrid data (data + BSS) (type = 1), std_heap (type = 0)*/
 
 /** @brief Copy/snapshot of a given memory region
  *
@@ -105,7 +106,7 @@ typedef struct s_mc_snapshot{
   xbt_dynar_t to_ignore;
   uint64_t hash;
   xbt_dynar_t ignored_data;
-} s_mc_snapshot_t, *mc_snapshot_t;
+} s_mc_snapshot_t;
 
 /** @brief Process index used when no process is available
  *
@@ -167,7 +168,6 @@ typedef struct s_mc_checkpoint_ignore_region{
 
 static void* mc_snapshot_get_heap_end(mc_snapshot_t snapshot);
 
-mc_snapshot_t SIMIX_pre_mc_snapshot(smx_simcall_t simcall);
 mc_snapshot_t MC_take_snapshot(int num_state);
 void MC_restore_snapshot(mc_snapshot_t);
 void MC_free_snapshot(mc_snapshot_t);
@@ -235,7 +235,6 @@ void MC_wait_for_requests(void);
 void MC_show_deadlock(smx_simcall_t req);
 void MC_show_stack_safety(xbt_fifo_t stack);
 void MC_dump_stack_safety(xbt_fifo_t stack);
-int SIMIX_pre_mc_random(smx_simcall_t simcall, int min, int max);
 
 extern xbt_fifo_t mc_stack;
 int get_search_interval(xbt_dynar_t list, void *ref, int *min, int *max);
@@ -388,7 +387,6 @@ extern __thread mc_comparison_times_t mc_comp_times;
 extern __thread double mc_snapshot_comparison_time;
 
 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);
 
 //#define MC_DEBUG 1
index 74affb7..16e1f6a 100644 (file)
@@ -7,7 +7,7 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "smx_private.h"
-#include "mc/mc.h"
+#include "mc/mc_interface.h"
 #include "xbt/ex.h"
 #include <math.h>         /* isfinite() */