From: Gabriel Corona Date: Mon, 8 Jun 2015 13:43:34 +0000 (+0200) Subject: [mc] Make s_mc_stack_frame::frame_name a std::string X-Git-Tag: v3_12~638^2~6 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/b66d5e3048f03720a020e09f507db4d8a96a4798?hp=4aaa273789861a01e8e9b356d9005b629b3baa47 [mc] Make s_mc_stack_frame::frame_name a std::string --- diff --git a/src/mc/mc_checkpoint.cpp b/src/mc/mc_checkpoint.cpp index d69b3a8958..559504af95 100644 --- a/src/mc/mc_checkpoint.cpp +++ b/src/mc/mc_checkpoint.cpp @@ -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 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 */ diff --git a/src/mc/mc_snapshot.h b/src/mc/mc_snapshot.h index 9ba0f38f09..4467b9fff5 100644 --- a/src/mc/mc_snapshot.h +++ b/src/mc/mc_snapshot.h @@ -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;