}s_dw_variable_t, *dw_variable_t;
struct s_dw_frame{
+ int tag;
char *name;
void *low_pc;
void *high_pc;
s_mc_location_list_t frame_base;
xbt_dynar_t /* <dw_variable_t> */ variables; /* Cannot use dict, there may be several variables with the same name (in different lexical blocks)*/
- unsigned long int start; /* DWARF offset of the subprogram */
- unsigned long int end; /* Dwarf offset of the next sibling */
+ unsigned long int id; /* DWARF offset of the subprogram */
+ xbt_dynar_t /* <dw_frame_t> */ scopes;
+ Dwarf_Off abstract_origin_id;
};
struct s_mc_function_index_item {
/********************************** Miscellaneous **********************************/
typedef struct s_local_variable{
- char *frame;
+ dw_frame_t subprogram;
unsigned long ip;
char *name;
dw_type_t type;