From e4997b8647e1c6c6c5328854a355ad3ef342e614 Mon Sep 17 00:00:00 2001 From: Gabriel Corona Date: Mon, 12 Oct 2015 09:52:19 +0200 Subject: [PATCH] [mc] Move some code into simgrid::dwarf namespace --- src/mc/mc_compare.cpp | 8 ++++---- src/mc/mc_diff.cpp | 13 ++++++------- src/mc/mc_dwarf.hpp | 8 ++++---- src/mc/mc_member.cpp | 8 +++++++- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/mc/mc_compare.cpp b/src/mc/mc_compare.cpp index 49ca9778e3..c8043e8699 100644 --- a/src/mc/mc_compare.cpp +++ b/src/mc/mc_compare.cpp @@ -238,10 +238,10 @@ static int compare_areas_with_type(struct mc_compare_state& state, case DW_TAG_structure_type: case DW_TAG_class_type: for(simgrid::mc::Member& 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); + 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 = diff --git a/src/mc/mc_diff.cpp b/src/mc/mc_diff.cpp index c942bdd658..50e58cd31c 100644 --- a/src/mc/mc_diff.cpp +++ b/src/mc/mc_diff.cpp @@ -932,10 +932,10 @@ top: } else { for(simgrid::mc::Member& member : type->members) { // TODO, optimize this? (for the offset case) - void *real_member1 = - mc_member_resolve(real_area1, type, &member, (simgrid::mc::AddressSpace*) snapshot1, process_index); - void *real_member2 = - mc_member_resolve(real_area2, type, &member, (simgrid::mc::AddressSpace*) snapshot2, process_index); + void *real_member1 = simgrid::dwarf::resolve_member( + real_area1, type, &member, (simgrid::mc::AddressSpace*) snapshot1, process_index); + void *real_member2 = simgrid::dwarf::resolve_member( + real_area2, type, &member, (simgrid::mc::AddressSpace*) snapshot2, process_index); res = compare_heap_area_with_type(state, process_index, real_member1, real_member2, snapshot1, snapshot2, @@ -998,9 +998,8 @@ static simgrid::mc::Type* get_offset_type(void *real_base_address, simgrid::mc:: if (member.offset() == offset) return member.type; } else { - void *real_member = - mc_member_resolve(real_base_address, type, &member, - snapshot, process_index); + void *real_member = simgrid::dwarf::resolve_member( + real_base_address, type, &member, snapshot, process_index); if ((char*) real_member - (char *) real_base_address == offset) return member.type; } diff --git a/src/mc/mc_dwarf.hpp b/src/mc/mc_dwarf.hpp index 8dd31624c5..991817ec87 100644 --- a/src/mc/mc_dwarf.hpp +++ b/src/mc/mc_dwarf.hpp @@ -25,13 +25,13 @@ namespace dwarf { XBT_PRIVATE const char* attrname(int attr); XBT_PRIVATE const char* tagname(int tag); +XBT_PRIVATE void* resolve_member( + const void* base, simgrid::mc::Type* type, simgrid::mc::Member* member, + simgrid::mc::AddressSpace* snapshot, int process_index); + } } XBT_PRIVATE void MC_dwarf_get_variables(simgrid::mc::ObjectInformation* info); -XBT_PRIVATE void* mc_member_resolve( - const void* base, simgrid::mc::Type* type, simgrid::mc::Member* member, - simgrid::mc::AddressSpace* snapshot, int process_index); - #endif diff --git a/src/mc/mc_member.cpp b/src/mc/mc_member.cpp index 2dc276b690..c69ef5159a 100644 --- a/src/mc/mc_member.cpp +++ b/src/mc/mc_member.cpp @@ -10,6 +10,9 @@ #include "mc_private.h" #include "mc/Type.hpp" +namespace simgrid { +namespace dwarf { + /** Resolve snapshot in the process address space * * @param object Process address of the struct/class @@ -18,7 +21,7 @@ * @param snapshot Snapshot (or NULL) * @return Process address of the given member of the 'object' struct/class */ -void *mc_member_resolve( +void *resolve_member( const void *base, simgrid::mc::Type* type, simgrid::mc::Member* member, simgrid::mc::AddressSpace* address_space, int process_index) { @@ -43,3 +46,6 @@ void *mc_member_resolve( else return (void *) state.stack[state.stack_size - 1]; } + +} +} -- 2.20.1