This revision was automatically updated to reflect the committed changes.
Closed by commit rG81be68062f49: [lldb][nfc] Simplify DebugRanges class 
(authored by fdeazeve).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D150363/new/

https://reviews.llvm.org/D150363

Files:
  lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
  lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
  lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp

Index: lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
+++ lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
@@ -1032,9 +1032,7 @@
     if (!debug_ranges)
       return llvm::make_error<llvm::object::GenericBinaryError>(
           "No debug_ranges section");
-    DWARFRangeList ranges;
-    debug_ranges->FindRanges(this, offset, ranges);
-    return ranges;
+    return debug_ranges->FindRanges(this, offset);
   }
 
   if (!GetRnglistTable())
Index: lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
===================================================================
--- lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
+++ lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
@@ -22,21 +22,14 @@
   DWARFDebugRanges();
 
   void Extract(lldb_private::DWARFContext &context);
-  bool FindRanges(const DWARFUnit *cu, dw_offset_t debug_ranges_offset,
-                  DWARFRangeList &range_list) const;
-
-  static void Dump(lldb_private::Stream &s,
-                   const lldb_private::DWARFDataExtractor &debug_ranges_data,
-                   lldb::offset_t *offset_ptr, dw_addr_t cu_base_addr);
+  DWARFRangeList FindRanges(const DWARFUnit *cu,
+                            dw_offset_t debug_ranges_offset) const;
 
 protected:
   bool Extract(lldb_private::DWARFContext &context, lldb::offset_t *offset_ptr,
                DWARFRangeList &range_list);
 
-  typedef std::map<dw_offset_t, DWARFRangeList> range_map;
-  typedef range_map::iterator range_map_iterator;
-  typedef range_map::const_iterator range_map_const_iterator;
-  range_map m_range_map;
+  std::map<dw_offset_t, DWARFRangeList> m_range_map;
 };
 
 #endif // LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFDEBUGRANGES_H
Index: lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
+++ lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
@@ -8,7 +8,6 @@
 
 #include "DWARFDebugRanges.h"
 #include "DWARFUnit.h"
-#include "lldb/Utility/Stream.h"
 
 using namespace lldb_private;
 
@@ -72,55 +71,17 @@
   return range_offset != *offset_ptr;
 }
 
-void DWARFDebugRanges::Dump(Stream &s,
-                            const DWARFDataExtractor &debug_ranges_data,
-                            lldb::offset_t *offset_ptr,
-                            dw_addr_t cu_base_addr) {
-  uint32_t addr_size = s.GetAddressByteSize();
-
-  dw_addr_t base_addr = cu_base_addr;
-  while (
-      debug_ranges_data.ValidOffsetForDataOfSize(*offset_ptr, 2 * addr_size)) {
-    dw_addr_t begin = debug_ranges_data.GetMaxU64(offset_ptr, addr_size);
-    dw_addr_t end = debug_ranges_data.GetMaxU64(offset_ptr, addr_size);
-    // Extend 4 byte addresses that consists of 32 bits of 1's to be 64 bits of
-    // ones
-    if (begin == 0xFFFFFFFFull && addr_size == 4)
-      begin = LLDB_INVALID_ADDRESS;
-
-    s.Indent();
-    if (begin == 0 && end == 0) {
-      s.PutCString(" End");
-      break;
-    } else if (begin == LLDB_INVALID_ADDRESS) {
-      // A base address selection entry
-      base_addr = end;
-      DumpAddress(s.AsRawOstream(), base_addr, sizeof(dw_addr_t),
-                  " Base address = ");
-    } else {
-      // Convert from offset to an address
-      dw_addr_t begin_addr = begin + base_addr;
-      dw_addr_t end_addr = end + base_addr;
-
-      DumpAddressRange(s.AsRawOstream(), begin_addr, end_addr,
-                       sizeof(dw_addr_t), nullptr);
-    }
-  }
-}
-
-bool DWARFDebugRanges::FindRanges(const DWARFUnit *cu,
-                                  dw_offset_t debug_ranges_offset,
-                                  DWARFRangeList &range_list) const {
+DWARFRangeList
+DWARFDebugRanges::FindRanges(const DWARFUnit *cu,
+                             dw_offset_t debug_ranges_offset) const {
   dw_addr_t debug_ranges_address = cu->GetRangesBase() + debug_ranges_offset;
-  range_map_const_iterator pos = m_range_map.find(debug_ranges_address);
-  if (pos != m_range_map.end()) {
-    range_list = pos->second;
-
-    // All DW_AT_ranges are relative to the base address of the compile
-    // unit. We add the compile unit base address to make sure all the
-    // addresses are properly fixed up.
-    range_list.Slide(cu->GetBaseAddress());
-    return true;
-  }
-  return false;
+  auto pos = m_range_map.find(debug_ranges_address);
+  DWARFRangeList ans =
+      pos == m_range_map.end() ? DWARFRangeList() : pos->second;
+
+  // All DW_AT_ranges are relative to the base address of the compile
+  // unit. We add the compile unit base address to make sure all the
+  // addresses are properly fixed up.
+  ans.Slide(cu->GetBaseAddress());
+  return ans;
 }
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
  • [Lldb-commits]... Felipe de Azevedo Piovezan via Phabricator via lldb-commits
    • [Lldb-com... Shubham Sandeep Rastogi via Phabricator via lldb-commits
    • [Lldb-com... Felipe de Azevedo Piovezan via Phabricator via lldb-commits
    • [Lldb-com... Alex Langford via Phabricator via lldb-commits
    • [Lldb-com... Shubham Sandeep Rastogi via Phabricator via lldb-commits
    • [Lldb-com... Felipe de Azevedo Piovezan via Phabricator via lldb-commits

Reply via email to