Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Make s_mc_stack_frame::frame_name a std::string
authorGabriel Corona <gabriel.corona@loria.fr>
Mon, 8 Jun 2015 13:43:34 +0000 (15:43 +0200)
committerGabriel Corona <gabriel.corona@loria.fr>
Tue, 9 Jun 2015 08:20:45 +0000 (10:20 +0200)
src/mc/mc_checkpoint.cpp
src/mc/mc_snapshot.h

index d69b3a8..559504a 100644 (file)
@@ -52,16 +52,10 @@ s_mc_snapshot_stack::~s_mc_snapshot_stack()
   xbt_free(this->context);
 }
 
-static void MC_snapshot_stack_free(mc_snapshot_stack_t s)
-{
-  if (s)
-    delete(s);
-}
-
 static void MC_snapshot_stack_free_voidp(void *s)
 {
   mc_snapshot_stack_t stack = (mc_snapshot_stack_t) * (void **) s;
-  MC_snapshot_stack_free(stack);
+  delete stack;
 }
 
 static void local_variable_free_voidp(void *v)
@@ -362,10 +356,7 @@ static std::vector<s_local_variable> MC_get_local_variables_values(xbt_dynar_t s
 static void MC_stack_frame_free_voipd(void *s)
 {
   mc_stack_frame_t stack_frame = *(mc_stack_frame_t *) s;
-  if (stack_frame) {
-    xbt_free(stack_frame->frame_name);
-    xbt_free(stack_frame);
-  }
+  delete(stack_frame);
 }
 
 static xbt_dynar_t MC_unwind_stack_frames(mc_unw_context_t stack_context)
@@ -384,7 +375,7 @@ static xbt_dynar_t MC_unwind_stack_frames(mc_unw_context_t stack_context)
   } else
     while (1) {
 
-      mc_stack_frame_t stack_frame = xbt_new(s_mc_stack_frame_t, 1);
+      mc_stack_frame_t stack_frame = new s_mc_stack_frame_t();
       xbt_dynar_push(result, &stack_frame);
 
       stack_frame->unw_cursor = c;
@@ -403,12 +394,12 @@ static xbt_dynar_t MC_unwind_stack_frames(mc_unw_context_t stack_context)
       stack_frame->frame = frame;
 
       if (frame) {
-        stack_frame->frame_name = xbt_strdup(frame->name);
+        stack_frame->frame_name = frame->name;
         stack_frame->frame_base =
             (unw_word_t) mc_find_frame_base(frame, frame->object_info, &c);
       } else {
         stack_frame->frame_base = 0;
-        stack_frame->frame_name = NULL;
+        stack_frame->frame_name = std::string();
       }
 
       /* Stop before context switch with maestro */
index 9ba0f38..4467b9f 100644 (file)
@@ -105,7 +105,7 @@ typedef struct s_mc_stack_frame {
   unw_word_t sp;
   unw_word_t frame_base;
   dw_frame_t frame;
-  char* frame_name;
+  std::string frame_name;
   unw_cursor_t unw_cursor;
 } s_mc_stack_frame_t, *mc_stack_frame_t;