X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/39cf43e4e190f5053b971b13ff1a1d82ebea5dba..872cf95ab5a2b08aa1f2c6ebba29b9f86b0ba54e:/src/mc/inspect/LocationList.hpp diff --git a/src/mc/inspect/LocationList.hpp b/src/mc/inspect/LocationList.hpp index 07dcb7c991..f8608cd824 100644 --- a/src/mc/inspect/LocationList.hpp +++ b/src/mc/inspect/LocationList.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2004-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2004-2022. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -10,19 +10,18 @@ #include "xbt/range.hpp" #include "src/mc/inspect/DwarfExpression.hpp" -#include "src/mc/mc_base.h" +#include "src/mc/mc_base.hpp" #include "src/mc/mc_forward.hpp" #include #include -namespace simgrid { -namespace dwarf { +namespace simgrid::dwarf { /** A DWARF expression with optional validity constraints */ class LocationListEntry { public: - typedef simgrid::xbt::Range range_type; + using range_type = simgrid::xbt::Range; private: DwarfExpression expression_; @@ -32,16 +31,14 @@ private: public: LocationListEntry() = default; LocationListEntry(DwarfExpression expression, range_type range) : expression_(std::move(expression)), range_(range) {} - explicit LocationListEntry(DwarfExpression expression) : expression_(std::move(expression)), range_({0, UINT64_MAX}) - { - } + explicit LocationListEntry(DwarfExpression expression) : expression_(std::move(expression)) {} DwarfExpression& expression() { return expression_; } DwarfExpression const& expression() const { return expression_; } bool valid_for_ip(unw_word_t ip) const { return range_.contain(ip); } }; -typedef std::vector LocationList; +using LocationList = std::vector; /** Location of some variable in memory * @@ -49,12 +46,12 @@ typedef std::vector LocationList; */ class Location { private: - void* memory_; + void* memory_ = nullptr; int register_id_ = 0; public: explicit Location(void* x) : memory_(x) {} - explicit Location(int register_id) : memory_(nullptr), register_id_(register_id) {} + explicit Location(int register_id) : register_id_(register_id) {} // Type of location: bool in_register() const { return memory_ == nullptr; } bool in_memory() const { return memory_ != nullptr; } @@ -66,15 +63,14 @@ public: XBT_PRIVATE Location resolve(simgrid::dwarf::DwarfExpression const& expression, simgrid::mc::ObjectInformation* object_info, - unw_cursor_t* c, void* frame_pointer_address, simgrid::mc::AddressSpace* address_space); + unw_cursor_t* c, void* frame_pointer_address, const simgrid::mc::AddressSpace* address_space); Location resolve(simgrid::dwarf::LocationList const& locations, simgrid::mc::ObjectInformation* object_info, - unw_cursor_t* c, void* frame_pointer_address, simgrid::mc::AddressSpace* address_space); + unw_cursor_t* c, void* frame_pointer_address, const simgrid::mc::AddressSpace* address_space); XBT_PRIVATE -simgrid::dwarf::LocationList location_list(simgrid::mc::ObjectInformation& info, Dwarf_Attribute& attr); +simgrid::dwarf::LocationList location_list(const simgrid::mc::ObjectInformation& info, Dwarf_Attribute& attr); -} // namespace dwarf -} // namespace simgrid +} // namespace simgrid::dwarf #endif