}
static void local_variable_free(local_variable_t v){
- xbt_free(v->frame);
xbt_free(v->name);
xbt_free(v);
}
region_type = 2;
local_variable_t new_var = xbt_new0(s_local_variable_t, 1);
- new_var->frame = xbt_strdup(stack_frame->frame_name);
+ new_var->subprogram = stack_frame->frame;
new_var->ip = stack_frame->ip;
new_var->name = xbt_strdup(current_variable->name);
new_var->type = current_variable->type;
} else */
if(current_variable->locations.size != 0){
new_var->address = (void*) mc_dwarf_resolve_locations(¤t_variable->locations,
+ current_variable->object_info,
&(stack_frame->unw_cursor), (void*)stack_frame->frame_base, NULL);
}
if(frame) {
stack_frame->frame_name = xbt_strdup(frame->name);
- stack_frame->frame_base = (unw_word_t)mc_find_frame_base(frame, &c);
+ stack_frame->frame_base = (unw_word_t)mc_find_frame_base(frame, frame->object_info, &c);
} else {
stack_frame->frame_base = 0;
}