X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/251bbe5068a2a7b23a23a4df11fc1b785dce6ff4..4e194aa6e85bdaafc9d69876bd7d2e79c74d5502:/src/mc/mc_member.c diff --git a/src/mc/mc_member.c b/src/mc/mc_member.c index 1d33a11999..666a2463a7 100644 --- a/src/mc/mc_member.c +++ b/src/mc/mc_member.c @@ -4,6 +4,7 @@ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ +#include "mc_object_info.h" #include "mc_private.h" /** Resolve snapshot in the process address space @@ -15,7 +16,7 @@ * @return Process address of the given member of the 'object' struct/class */ void *mc_member_resolve(const void *base, dw_type_t type, dw_type_t member, - mc_snapshot_t snapshot) + mc_address_space_t address_space, int process_index) { if (!member->location.size) { return ((char *) base) + member->offset; @@ -25,9 +26,10 @@ void *mc_member_resolve(const void *base, dw_type_t type, dw_type_t member, memset(&state, 0, sizeof(s_mc_expression_state_t)); state.frame_base = NULL; state.cursor = NULL; - state.snapshot = snapshot; + state.address_space = address_space; state.stack_size = 1; state.stack[0] = (uintptr_t) base; + state.process_index = process_index; if (mc_dwarf_execute_expression (member->location.size, member->location.ops, &state)) @@ -37,4 +39,3 @@ void *mc_member_resolve(const void *base, dw_type_t type, dw_type_t member, else return (void *) state.stack[state.stack_size - 1]; } -