X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f0d9c752a61e9cbef5ffb5c4ff0ea4a7fac5cddf..e7173457dce01a608824b72d2e4ff62572d51d13:/src/mc/mc_object_info.h diff --git a/src/mc/mc_object_info.h b/src/mc/mc_object_info.h index dbe815fbca..c44f0badb7 100644 --- a/src/mc/mc_object_info.h +++ b/src/mc/mc_object_info.h @@ -112,7 +112,7 @@ public: char *end_rw; // Read-write segment char *start_ro; char *end_ro; // read-only segment - xbt_dict_t subprograms; // xbt_dict_t + xbt_dict_t subprograms; // xbt_dict_t xbt_dynar_t global_variables; // xbt_dynar_t xbt_dict_t types; // xbt_dict_t xbt_dict_t full_types_by_name; // xbt_dict_t (full defined type only) @@ -134,7 +134,7 @@ public: void* base_address() const; - dw_frame_t find_function(const void *ip) const; + mc_frame_t find_function(const void *ip) const; mc_variable_t find_variable(const char* name) const; }; @@ -178,27 +178,33 @@ public: }; -} -} +class Frame { +public: + Frame(); + ~Frame(); + Frame(Frame const&) = delete; + Frame& operator=(Frame&) = delete; -struct s_dw_frame{ int tag; - char *name; + std::string name; void *low_pc; void *high_pc; s_mc_location_list_t frame_base; xbt_dynar_t /* */ variables; /* Cannot use dict, there may be several variables with the same name (in different lexical blocks)*/ unsigned long int id; /* DWARF offset of the subprogram */ - xbt_dynar_t /* */ scopes; + xbt_dynar_t /* */ scopes; Dwarf_Off abstract_origin_id; mc_object_info_t object_info; }; +} +} + + + struct s_mc_function_index_item { void* low_pc, *high_pc; - dw_frame_t function; + mc_frame_t function; }; -XBT_INTERNAL void mc_frame_free(dw_frame_t freme); - #endif