X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a5768f8725f95079064178fcbb020eea94ae19b7..7f80c96356063a741966f244c8d00eaaf6f17fc0:/src/mc/mc_snapshot.h diff --git a/src/mc/mc_snapshot.h b/src/mc/mc_snapshot.h index b860dd954a..b8f5f58c1e 100644 --- a/src/mc/mc_snapshot.h +++ b/src/mc/mc_snapshot.h @@ -12,6 +12,7 @@ #include #include +#include #include #include "../xbt/mmalloc/mmprivate.h" @@ -84,8 +85,7 @@ XBT_INTERNAL mc_mem_region_t mc_get_snapshot_region( * */ typedef struct s_mc_snapshot_ignored_data { void* start; - size_t size; - void* data; + std::vector data; } s_mc_snapshot_ignored_data_t, *mc_snapshot_ignored_data_t; typedef struct s_fd_infos{ @@ -109,6 +109,15 @@ typedef struct s_mc_stack_frame { unw_cursor_t unw_cursor; } s_mc_stack_frame_t, *mc_stack_frame_t; +typedef struct s_local_variable{ + dw_frame_t subprogram; + unsigned long ip; + std::string name; + dw_type_t type; + void *address; + int region; +} s_local_variable_t, *local_variable_t; + typedef struct s_mc_snapshot_stack{ xbt_dynar_t local_variables; mc_unw_context_t context; @@ -141,15 +150,14 @@ public: // To be private mc_process_t process; int num_state; size_t heap_bytes_used; - mc_mem_region_t* snapshot_regions; - size_t snapshot_regions_count; + std::vector> snapshot_regions; std::set enabled_processes; int privatization_index; std::vector stack_sizes; xbt_dynar_t stacks; - xbt_dynar_t to_ignore; + std::vector to_ignore; uint64_t hash; - xbt_dynar_t ignored_data; + std::vector ignored_data; std::vector current_fds; }; @@ -249,4 +257,8 @@ void* MC_region_read_pointer(mc_mem_region_t region, const void* addr) SG_END_DECL() +XBT_INTERNAL int init_heap_information(xbt_mheap_t heap1, xbt_mheap_t heap2, + std::vector* i1, + std::vector* i2); + #endif