X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1ba8e265192b67c6903d48faeabe9e1d626bcd3d..986f00b8a57d82825f9e419d48e44c7ca47af7c5:/src/mc/mc_private.h diff --git a/src/mc/mc_private.h b/src/mc/mc_private.h index fa2945f8eb..168fa7aa69 100644 --- a/src/mc/mc_private.h +++ b/src/mc/mc_private.h @@ -346,10 +346,10 @@ struct s_mc_object_info { char *start_exec, *end_exec; // Executable segment char *start_rw, *end_rw; // Read-write segment char *start_ro, *end_ro; // read-only segment - xbt_dynar_t subprograms; // xbt_dynar_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 types_by_name; // xbt_dict_t (full defined type only) + xbt_dict_t full_types_by_name; // xbt_dict_t (full defined type only) // Here we sort the minimal information for an efficient (and cache-efficient) // lookup of a function given an instruction pointer. @@ -371,6 +371,8 @@ mc_object_info_t MC_ip_find_object_info(void* ip); extern mc_object_info_t mc_libsimgrid_info; extern mc_object_info_t mc_binary_info; +extern mc_object_info_t mc_object_infos[2]; +extern size_t mc_object_infos_size; void MC_find_object_address(memory_map_t maps, mc_object_info_t result); void MC_post_process_types(mc_object_info_t info); @@ -419,7 +421,7 @@ struct s_dw_type{ int offset; dw_type_t subtype; // DW_AT_type - dw_type_t other_object_same_type; // The same (but more complete) type in the other object. + dw_type_t full_type; // The same (but more complete) type }; void* mc_member_resolve(const void* base, dw_type_t type, dw_type_t member, mc_snapshot_t snapshot); @@ -455,6 +457,8 @@ struct s_mc_function_index_item { dw_frame_t function; }; +void mc_frame_free(dw_frame_t freme); + void dw_type_free(dw_type_t t); void dw_variable_free(dw_variable_t v); void dw_variable_free_voidp(void *t); @@ -526,7 +530,7 @@ void get_comm_pattern(xbt_dynar_t communications_pattern, smx_simcall_t request, typedef struct s_mc_address_set *mc_address_set_t; mc_address_set_t mc_address_set_new(); -mc_address_set_t mc_address_set_free(mc_address_set_t* p); +void mc_address_set_free(mc_address_set_t* p); void mc_address_add(mc_address_set_t p, const void* value); bool mc_address_test(mc_address_set_t p, const void* value);