X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e7173457dce01a608824b72d2e4ff62572d51d13..2e501076bf39bf43b598954f040b453fedf49f4c:/src/mc/mc_unw.cpp diff --git a/src/mc/mc_unw.cpp b/src/mc/mc_unw.cpp index dc688ee3d2..8879bde493 100644 --- a/src/mc/mc_unw.cpp +++ b/src/mc/mc_unw.cpp @@ -19,8 +19,9 @@ #include #include "mc_object_info.h" -#include "mc_process.h" +#include "src/mc/Process.hpp" #include "mc_unw.h" +#include "src/mc/Frame.hpp" using simgrid::mc::remote; @@ -74,7 +75,7 @@ static int get_dyn_info_list_addr(unw_addr_space_t as, /** Read from the target address space memory (libunwind method) * - * Delegates to the `mc_process_t`. + * Delegates to the `simgrid::mc::Process*`. */ static int access_mem(unw_addr_space_t as, unw_word_t addr, unw_word_t *valp, @@ -164,7 +165,7 @@ static int get_proc_name(unw_addr_space_t as, void* arg) { mc_unw_context_t context = (mc_unw_context_t) arg; - mc_frame_t frame = context->process->find_function(remote(addr)); + simgrid::mc::Frame* frame = context->process->find_function(remote(addr)); if (!frame) return - UNW_ENOINFO; *offp = (unw_word_t) frame->low_pc - addr; @@ -195,7 +196,7 @@ unw_accessors_t mc_unw_accessors = // ***** Context management int mc_unw_init_context( - mc_unw_context_t context, mc_process_t process, unw_context_t* c) + mc_unw_context_t context, simgrid::mc::Process* process, unw_context_t* c) { context->address_space = process; context->process = process; @@ -223,12 +224,6 @@ int mc_unw_init_cursor(unw_cursor_t *cursor, mc_unw_context_t context) { if (!context->process || !context->address_space) return -UNW_EUNSPEC; - mc_address_space_t as = context->address_space; - - mc_process_t process = dynamic_cast(as); - if (process && process->is_self()) - return unw_init_local(cursor, &context->context); - return unw_init_remote(cursor, context->process->unw_addr_space, context); }