Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Get rid of MC_comm_pattern_free()
authorGabriel Corona <gabriel.corona@loria.fr>
Wed, 6 Apr 2016 08:38:08 +0000 (10:38 +0200)
committerGabriel Corona <gabriel.corona@loria.fr>
Wed, 6 Apr 2016 12:03:15 +0000 (14:03 +0200)
which is 'delete' in disguise

src/mc/CommunicationDeterminismChecker.cpp
src/mc/mc_comm_pattern.cpp
src/mc/mc_comm_pattern.h

index 49cf555..f016a55 100644 (file)
@@ -163,7 +163,7 @@ static void deterministic_comm_pattern(int process, mc_comm_pattern_t comm, int
     }
   }
 
-  MC_comm_pattern_free(comm);
+  delete comm;
 
 }
 
@@ -340,7 +340,7 @@ void CommunicationDeterminismChecker::prepare()
   initial_communications_pattern = xbt_dynar_new(sizeof(mc_list_comm_pattern_t), MC_list_comm_pattern_free_voidp);
   for (i=0; i < maxpid; i++){
     mc_list_comm_pattern_t process_list_pattern = xbt_new0(s_mc_list_comm_pattern_t, 1);
-    process_list_pattern->list = xbt_dynar_new(sizeof(mc_comm_pattern_t), MC_comm_pattern_free_voidp);
+    process_list_pattern->list = simgrid::xbt::newDeleteDynar<s_mc_comm_pattern_t>();
     process_list_pattern->index_comm = 0;
     xbt_dynar_insert_at(initial_communications_pattern, i, &process_list_pattern);
   }
index 515a380..31b6bf7 100644 (file)
@@ -8,6 +8,7 @@
 
 #include <xbt/sysdep.h>
 #include <xbt/dynar.h>
+#include <xbt/dynar.hpp>
 
 #include "src/mc/mc_comm_pattern.h"
 #include "src/mc/mc_smx.h"
@@ -35,7 +36,7 @@ mc_comm_pattern_t MC_comm_pattern_dup(mc_comm_pattern_t comm)
 
 xbt_dynar_t MC_comm_patterns_dup(xbt_dynar_t patterns)
 {
-  xbt_dynar_t res = xbt_dynar_new(sizeof(mc_comm_pattern_t), MC_comm_pattern_free_voidp);
+  xbt_dynar_t res = simgrid::xbt::newDeleteDynar<s_mc_comm_pattern_t>();
 
   mc_comm_pattern_t comm;
   unsigned int cursor;
@@ -126,12 +127,6 @@ void MC_handle_comm_pattern(
 
 }
 
-void MC_comm_pattern_free(mc_comm_pattern_t p)
-{  
-  delete p;
-  p = nullptr;
-}
-
 static void MC_list_comm_pattern_free(mc_list_comm_pattern_t l)
 {
   xbt_dynar_free(&(l->list));
@@ -139,11 +134,6 @@ static void MC_list_comm_pattern_free(mc_list_comm_pattern_t l)
   l = nullptr;
 }
 
-void MC_comm_pattern_free_voidp(void *p)
-{
-  MC_comm_pattern_free((mc_comm_pattern_t) * (void **) p);
-}
-
 void MC_list_comm_pattern_free_voidp(void *p)
 {
   MC_list_comm_pattern_free((mc_list_comm_pattern_t) * (void **) p);
index fb3de15..b045794 100644 (file)
@@ -100,7 +100,6 @@ static inline e_mc_call_type_t MC_get_call_type(smx_simcall_t req)
 
 XBT_PRIVATE void MC_get_comm_pattern(xbt_dynar_t communications_pattern, smx_simcall_t request, e_mc_call_type_t call_type, int backtracking);
 XBT_PRIVATE void MC_handle_comm_pattern(e_mc_call_type_t call_type, smx_simcall_t request, int value, xbt_dynar_t current_pattern, int backtracking);
-XBT_PRIVATE void MC_comm_pattern_free_voidp(void *p);
 XBT_PRIVATE void MC_list_comm_pattern_free_voidp(void *p);
 XBT_PRIVATE void MC_complete_comm_pattern(xbt_dynar_t list, smx_synchro_t comm_addr, unsigned int issuer, int backtracking);
 
@@ -112,8 +111,6 @@ XBT_PRIVATE xbt_dynar_t MC_comm_patterns_dup(xbt_dynar_t state);
 XBT_PRIVATE void MC_state_copy_incomplete_communications_pattern(simgrid::mc::State* state);
 XBT_PRIVATE void MC_state_copy_index_communications_pattern(simgrid::mc::State* state);
 
-XBT_PRIVATE void MC_comm_pattern_free(mc_comm_pattern_t p);
-
 SG_END_DECL()
 
 #endif