Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Do not use reduction_mode outside of the safety algorithm
[simgrid.git] / src / mc / mc_request.cpp
index 0c2acf8..1404c21 100644 (file)
 
 using simgrid::mc::remote;
 
-extern "C" {
-
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_request, mc,
                                 "Logging specific to MC (request)");
 
-}
-
 static char *pointer_to_string(void *pointer);
 static char *buff_size_to_string(size_t size);
 
@@ -140,9 +136,6 @@ bool request_depend_asymmetric(smx_simcall_t r1, smx_simcall_t r2)
 // Those are MC_state_get_internal_request(state)
 bool request_depend(smx_simcall_t r1, smx_simcall_t r2)
 {
-  if (mc_reduce_kind == e_mc_reduce_none)
-    return true;
-
   if (r1->issuer == r2->issuer)
     return false;
 
@@ -399,16 +392,6 @@ char *simgrid::mc::request_to_string(smx_simcall_t req, int value, simgrid::mc::
     break;
   }
 
-  case SIMCALL_MC_SNAPSHOT:
-    type = "MC_SNAPSHOT";
-    args = nullptr;
-    break;
-
-  case SIMCALL_MC_COMPARE_SNAPSHOTS:
-    type = "MC_COMPARE_SNAPSHOTS";
-    args = nullptr;
-    break;
-
   case SIMCALL_MC_RANDOM:
     type = "MC_RANDOM";
     args = bprintf("%d", value);
@@ -479,6 +462,27 @@ bool process_is_enabled(smx_process_t process)
   return simgrid::mc::request_is_enabled(&process->simcall);
 }
 
+static const char* colors[] = {
+  "blue",
+  "red",
+  "green3",
+  "goldenrod",
+  "brown",
+  "purple",
+  "magenta",
+  "turquoise4",
+  "gray25",
+  "forestgreen",
+  "hotpink",
+  "lightblue",
+  "tan",
+};
+
+static inline const char* get_color(int id)
+{
+  return colors[id % (sizeof(colors) / sizeof(colors[0])) ];
+}
+
 char *request_get_dot_output(smx_simcall_t req, int value)
 {
   char *label = nullptr;
@@ -612,31 +616,14 @@ char *request_get_dot_output(smx_simcall_t req, int value)
       label = bprintf("[(%lu)] MC_RANDOM (%d)", issuer->pid, value);
     break;
 
-  case SIMCALL_MC_SNAPSHOT:
-    if (issuer->host)
-      label =
-          bprintf("[(%lu)%s] MC_SNAPSHOT", issuer->pid,
-                  MC_smx_process_get_host_name(issuer));
-    else
-      label = bprintf("[(%lu)] MC_SNAPSHOT", issuer->pid);
-    break;
-
-  case SIMCALL_MC_COMPARE_SNAPSHOTS:
-    if (issuer->host)
-      label =
-          bprintf("[(%lu)%s] MC_COMPARE_SNAPSHOTS", issuer->pid,
-                  MC_smx_process_get_host_name(issuer));
-    else
-      label = bprintf("[(%lu)] MC_COMPARE_SNAPSHOTS", issuer->pid);
-    break;
-
   default:
     THROW_UNIMPLEMENTED;
   }
 
+  const char* color = get_color(issuer->pid - 1);
   char* str =
       bprintf("label = \"%s\", color = %s, fontcolor = %s", label,
-              colors[issuer->pid - 1], colors[issuer->pid - 1]);
+              color, color);
   xbt_free(label);
   return str;