X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3b53885f888f2539a533797e76a3f3ff84cdfe0c..970087a9908d92cd6b234e84582771e4f4f25ceb:/src/mc/mc_compare.cpp diff --git a/src/mc/mc_compare.cpp b/src/mc/mc_compare.cpp index 4510abbcff..65ec2a3100 100644 --- a/src/mc/mc_compare.cpp +++ b/src/mc/mc_compare.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2012-2014. The SimGrid Team. +/* Copyright (c) 2012-2015. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -16,6 +16,7 @@ #include "mc_liveness.h" #include "mc_private.h" #include "mc_smx.h" +#include "mc_dwarf.hpp" #include "mc/Frame.hpp" #include "mc/ObjectInformation.hpp" @@ -73,21 +74,11 @@ static void stack_region_free(stack_region_t s) } } -static void stack_region_free_voidp(void *s) -{ - stack_region_free((stack_region_t) * (void **) s); -} - static void pointers_pair_free(pointers_pair_t p) { xbt_free(p); } -static void pointers_pair_free_voidp(void *p) -{ - pointers_pair_free((pointers_pair_t) * (void **) p); -} - /************************** Snapshot comparison *******************************/ /******************************************************************************/ @@ -236,18 +227,18 @@ static int compare_areas_with_type(struct mc_compare_state& state, } case DW_TAG_structure_type: case DW_TAG_class_type: - for(simgrid::mc::Type& member : type->members) { - void *member1 = - mc_member_resolve(real_area1, type, &member, snapshot1, process_index); - void *member2 = - mc_member_resolve(real_area2, type, &member, snapshot2, process_index); + for(simgrid::mc::Member& member : type->members) { + void *member1 = simgrid::dwarf::resolve_member( + real_area1, type, &member, snapshot1, process_index); + void *member2 = simgrid::dwarf::resolve_member( + real_area2, type, &member, snapshot2, process_index); mc_mem_region_t subregion1 = mc_get_region_hinted(member1, snapshot1, process_index, region1); mc_mem_region_t subregion2 = mc_get_region_hinted(member2, snapshot2, process_index, region2); res = compare_areas_with_type(state, process_index, member1, snapshot1, subregion1, member2, snapshot2, subregion2, - member.subtype, pointer_level); + member.type, pointer_level); if (res == 1) return res; }