X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e581b2ad1ed170f3b7f64b7db3d0f5c80c173437..9788cd051f72b982ec571c96e84577e9749188b1:/src/mc/mc_compare.c diff --git a/src/mc/mc_compare.c b/src/mc/mc_compare.c index 3cb30bfd81..b58023327b 100644 --- a/src/mc/mc_compare.c +++ b/src/mc/mc_compare.c @@ -330,10 +330,22 @@ static int compare_local_variables(mc_snapshot_stack_t stack1, mc_snapshot_stack } } -int snapshot_compare(void *p1, void *p2){ +int snapshot_compare(void *state1, void *state2){ - mc_snapshot_t s1 = ((mc_pair_t)p1)->graph_state->system_state; - mc_snapshot_t s2 = ((mc_pair_t)p2)->graph_state->system_state; + mc_snapshot_t s1, s2; + int num1, num2; + + if(_sg_mc_property_file && _sg_mc_property_file[0] != '\0'){ /* Liveness MC */ + s1 = ((mc_pair_t)state1)->graph_state->system_state; + s2 = ((mc_pair_t)state2)->graph_state->system_state; + num1 = ((mc_pair_t)state1)->num; + num2 = ((mc_pair_t)state2)->num; + }else{ /* Safety MC */ + s1 = ((mc_visited_state_t)state1)->system_state; + s2 = ((mc_visited_state_t)state2)->system_state; + num1 = ((mc_visited_state_t)state1)->num; + num2 = ((mc_visited_state_t)state2)->num; + } int errors = 0; int res_init; @@ -360,12 +372,12 @@ int snapshot_compare(void *p1, void *p2){ xbt_os_walltimer_stop(timer); mc_comp_times->stacks_sizes_comparison_time = xbt_os_timer_elapsed(timer); } - XBT_DEBUG("(%d - %d) Different size used in stacks : %zu - %zu", ((mc_pair_t)p1)->num, ((mc_pair_t)p2)->num, size_used1, size_used2); + XBT_DEBUG("(%d - %d) Different size used in stacks : %zu - %zu", num1, num2, size_used1, size_used2); errors++; is_diff = 1; #else #ifdef MC_VERBOSE - XBT_VERB("(%d - %d) Different size used in stacks : %zu - %zu", ((mc_pair_t)p1)->num, ((mc_pair_t)p2)->num, size_used1, size_used2); + XBT_VERB("(%d - %d) Different size used in stacks : %zu - %zu", num1, num2, size_used1, size_used2); #endif xbt_os_walltimer_stop(timer); @@ -446,11 +458,11 @@ int snapshot_compare(void *p1, void *p2){ res_init = init_heap_information((xbt_mheap_t)s1->regions[0]->data, (xbt_mheap_t)s2->regions[0]->data, s1->to_ignore, s2->to_ignore); if(res_init == -1){ #ifdef MC_DEBUG - XBT_DEBUG("(%d - %d) Different heap information", ((mc_pair_t)p1)->num, ((mc_pair_t)p2)->num); + XBT_DEBUG("(%d - %d) Different heap information", num1, num2); errors++; #else #ifdef MC_VERBOSE - XBT_VERB("(%d - %d) Different heap information", ((mc_pair_t)p1)->num, ((mc_pair_t)p2)->num); + XBT_VERB("(%d - %d) Different heap information", num1, num2); #endif xbt_os_walltimer_stop(global_timer); @@ -481,13 +493,13 @@ int snapshot_compare(void *p1, void *p2){ xbt_os_walltimer_stop(timer); mc_comp_times->stacks_comparison_time = xbt_os_timer_elapsed(timer); } - XBT_DEBUG("(%d - %d) Different local variables between stacks %d", ((mc_pair_t)p1)->num, ((mc_pair_t)p2)->num, cursor + 1); + XBT_DEBUG("(%d - %d) Different local variables between stacks %d", num1, num2, cursor + 1); errors++; is_diff = 1; #else #ifdef MC_VERBOSE - XBT_VERB("(%d - %d) Different local variables between stacks %d", ((mc_pair_t)p1)->num, ((mc_pair_t)p2)->num, cursor + 1); + XBT_VERB("(%d - %d) Different local variables between stacks %d", num1, num2, cursor + 1); #endif reset_heap_information(); @@ -515,11 +527,11 @@ int snapshot_compare(void *p1, void *p2){ #ifdef MC_DEBUG xbt_os_walltimer_stop(timer); mc_comp_times->binary_global_variables_comparison_time = xbt_os_timer_elapsed(timer); - XBT_DEBUG("(%d - %d) Different global variables in binary", ((mc_pair_t)p1)->num, ((mc_pair_t)p2)->num); + XBT_DEBUG("(%d - %d) Different global variables in binary", num1, num2); errors++; #else #ifdef MC_VERBOSE - XBT_VERB("(%d - %d) Different global variables in binary", ((mc_pair_t)p1)->num, ((mc_pair_t)p2)->num); + XBT_VERB("(%d - %d) Different global variables in binary", num1, num2); #endif reset_heap_information(); @@ -545,11 +557,11 @@ int snapshot_compare(void *p1, void *p2){ #ifdef MC_DEBUG xbt_os_walltimer_stop(timer); mc_comp_times->libsimgrid_global_variables_comparison_time = xbt_os_timer_elapsed(timer); - XBT_DEBUG("(%d - %d) Different global variables in libsimgrid", ((mc_pair_t)p1)->num, ((mc_pair_t)p2)->num); + XBT_DEBUG("(%d - %d) Different global variables in libsimgrid", num1, num2); errors++; #else #ifdef MC_VERBOSE - XBT_VERB("(%d - %d) Different global variables in libsimgrid", ((mc_pair_t)p1)->num, ((mc_pair_t)p2)->num); + XBT_VERB("(%d - %d) Different global variables in libsimgrid", num1, num2); #endif reset_heap_information(); @@ -573,12 +585,12 @@ int snapshot_compare(void *p1, void *p2){ #ifdef MC_DEBUG xbt_os_walltimer_stop(timer); mc_comp_times->heap_comparison_time = xbt_os_timer_elapsed(timer); - XBT_DEBUG("(%d - %d) Different heap (mmalloc_compare)", ((mc_pair_t)p1)->num, ((mc_pair_t)p2)->num); + XBT_DEBUG("(%d - %d) Different heap (mmalloc_compare)", num1, num2); errors++; #else #ifdef MC_VERBOSE - XBT_VERB("(%d - %d) Different heap (mmalloc_compare)", ((mc_pair_t)p1)->num, ((mc_pair_t)p2)->num); + XBT_VERB("(%d - %d) Different heap (mmalloc_compare)", num1, num2); #endif reset_heap_information();