[Lldb-commits] [lldb] [lldb] [NFC] Remove unused WatchpointResourceList class (PR #79385)

Jason Molenda via lldb-commits lldb-commits at lists.llvm.org
Wed Jan 24 14:56:24 PST 2024


https://github.com/jasonmolenda updated https://github.com/llvm/llvm-project/pull/79385

>From 229ea2a0311c7c0ecd8554016d3827f8c8ae6c5f Mon Sep 17 00:00:00 2001
From: Jason Molenda <jmolenda at apple.com>
Date: Wed, 24 Jan 2024 14:45:41 -0800
Subject: [PATCH 1/2] [lldb] [NFC] Remove unused WatchpointResourceList class

In `[lldb] [mostly NFC] Large WP foundation: WatchpointResources
(#68845)` I added a new template StopPointSiteList to combine
WatchpointResourceList and BreakpointSiteList.  But I didn't
remove the now-unused WatchpointResourceList class.  This patch
fixes that.
---
 .../lldb/Breakpoint/WatchpointResourceList.h  | 145 ------------------
 .../Breakpoint/WatchpointResourceList.cpp     | 114 --------------
 2 files changed, 259 deletions(-)
 delete mode 100644 lldb/include/lldb/Breakpoint/WatchpointResourceList.h
 delete mode 100644 lldb/source/Breakpoint/WatchpointResourceList.cpp

diff --git a/lldb/include/lldb/Breakpoint/WatchpointResourceList.h b/lldb/include/lldb/Breakpoint/WatchpointResourceList.h
deleted file mode 100644
index 0e6c5fab877895..00000000000000
--- a/lldb/include/lldb/Breakpoint/WatchpointResourceList.h
+++ /dev/null
@@ -1,145 +0,0 @@
-//===-- WatchpointResourceList.h --------------------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLDB_BREAKPOINT_WATCHPOINTRESOURCELIST_H
-#define LLDB_BREAKPOINT_WATCHPOINTRESOURCELIST_H
-
-#include "lldb/Utility/Iterable.h"
-#include "lldb/lldb-private.h"
-#include "lldb/lldb-public.h"
-
-#include <mutex>
-#include <vector>
-
-namespace lldb_private {
-
-class WatchpointResourceList {
-
-public:
-  WatchpointResourceList();
-
-  ~WatchpointResourceList();
-
-  /// Add a WatchpointResource to the list.
-  ///
-  /// \param[in] wp_res_sp
-  ///    A shared pointer to a breakpoint site being added to the list.
-  ///
-  /// \return
-  ///    The ID of the BreakpointSite in the list.
-  lldb::wp_resource_id_t Add(const lldb::WatchpointResourceSP &wp_res_sp);
-
-  /// Removes the watchpoint resource given by \a id from this list.
-  ///
-  /// \param[in] id
-  ///   The watchpoint resource to remove.
-  ///
-  /// \result
-  ///   \b true if the watchpoint resource \a id was in the list.
-  bool Remove(lldb::wp_resource_id_t id);
-
-  /// Removes the watchpoint resource containing address \a addr from this list.
-  ///
-  /// \param[in] addr
-  ///   The address from which to remove a watchpoint resource.
-  ///
-  /// \result
-  ///   \b true if \a addr had a watchpoint resource to remove from the list.
-  bool RemoveByAddress(lldb::addr_t addr);
-
-  /// Returns a shared pointer to the watchpoint resource which contains
-  /// \a addr.
-  ///
-  /// \param[in] addr
-  ///     The address to look for.
-  ///
-  /// \result
-  ///     A shared pointer to the watchpoint resource. May contain a nullptr
-  ///     pointer if no watchpoint site exists with a matching address.
-  lldb::WatchpointResourceSP FindByAddress(lldb::addr_t addr);
-
-  /// Returns a shared pointer to the watchpoint resource which is owned
-  /// by \a wp_sp.
-  ///
-  /// \param[in] wp_sp
-  ///     The WatchpointSP to look for.
-  ///
-  /// \result
-  ///     A shared pointer to the watchpoint resource. May contain a nullptr
-  ///     pointer if no watchpoint site exists
-  lldb::WatchpointResourceSP FindByWatchpointSP(lldb::WatchpointSP &wp_sp);
-
-  /// Returns a shared pointer to the watchpoint resource which is owned
-  /// by \a wp.
-  ///
-  /// \param[in] wp
-  ///     The Watchpoint to look for.
-  ///
-  /// \result
-  ///     A shared pointer to the watchpoint resource. May contain a nullptr
-  ///     pointer if no watchpoint site exists
-  lldb::WatchpointResourceSP
-  FindByWatchpoint(const lldb_private::Watchpoint *wp);
-
-  /// Returns a shared pointer to the watchpoint resource which has hardware
-  /// index \a id.  Some Process plugins may not have access to the actual
-  /// hardware watchpoint register number used for a WatchpointResource, so
-  /// the wp_resource_id_t may not be correctly tracking the target's wp
-  /// register target.
-  ///
-  /// \param[in] id
-  ///     The hardware resource index to search for.
-  ///
-  /// \result
-  ///     A shared pointer to the watchpoint resource. May contain a nullptr
-  ///     pointer if no watchpoint site exists with a matching id.
-  lldb::WatchpointResourceSP FindByID(lldb::wp_resource_id_t id);
-
-  ///
-  /// Get the number of WatchpointResources that are available.
-  ///
-  /// \return
-  ///     The number of WatchpointResources that are stored in the
-  ///     WatchpointResourceList.
-  uint32_t GetSize();
-
-  /// Get the WatchpointResource at a given index.
-  ///
-  /// \param [in] idx
-  ///     The index of the resource.
-  /// \return
-  ///     The WatchpointResource at that index number.
-  lldb::WatchpointResourceSP GetResourceAtIndex(uint32_t idx);
-
-  typedef std::vector<lldb::WatchpointResourceSP> collection;
-  typedef LockingAdaptedIterable<collection, lldb::WatchpointResourceSP,
-                                 vector_adapter, std::mutex>
-      WatchpointResourceIterable;
-
-  /// Iterate over the list of WatchpointResources.
-  ///
-  /// \return
-  ///     An Iterable object which can be used to loop over the resources
-  ///     that exist.
-  WatchpointResourceIterable Resources() {
-    return WatchpointResourceIterable(m_resources, m_mutex);
-  }
-
-  /// Clear out the list of resources from the WatchpointResourceList
-  void Clear();
-
-  std::mutex &GetMutex();
-
-private:
-  collection m_resources;
-  std::mutex m_mutex;
-};
-
-} // namespace lldb_private
-
-#endif // LLDB_BREAKPOINT_WATCHPOINTRESOURCELIST_H
diff --git a/lldb/source/Breakpoint/WatchpointResourceList.cpp b/lldb/source/Breakpoint/WatchpointResourceList.cpp
deleted file mode 100644
index d1d364832098f4..00000000000000
--- a/lldb/source/Breakpoint/WatchpointResourceList.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-//===-- WatchpointResourceList.cpp ----------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "lldb/Breakpoint/WatchpointResourceList.h"
-#include "lldb/Breakpoint/WatchpointResource.h"
-#include "lldb/Utility/LLDBLog.h"
-#include "lldb/Utility/Log.h"
-
-using namespace lldb;
-using namespace lldb_private;
-
-WatchpointResourceList::WatchpointResourceList() : m_resources(), m_mutex() {}
-
-WatchpointResourceList::~WatchpointResourceList() { Clear(); }
-
-wp_resource_id_t
-WatchpointResourceList::Add(const WatchpointResourceSP &wp_res_sp) {
-  Log *log = GetLog(LLDBLog::Watchpoints);
-  std::lock_guard<std::mutex> guard(m_mutex);
-  LLDB_LOGF(log, "WatchpointResourceList::Add(addr 0x%" PRIx64 " size %zu)",
-            wp_res_sp->GetLoadAddress(), wp_res_sp->GetByteSize());
-
-  m_resources.push_back(wp_res_sp);
-  return wp_res_sp->GetID();
-}
-
-bool WatchpointResourceList::Remove(wp_resource_id_t id) {
-  std::lock_guard<std::mutex> guard(m_mutex);
-  Log *log = GetLog(LLDBLog::Watchpoints);
-  for (collection::iterator pos = m_resources.begin(); pos != m_resources.end();
-       ++pos) {
-    if ((*pos)->GetID() == id) {
-      LLDB_LOGF(log,
-                "WatchpointResourceList::Remove(addr 0x%" PRIx64 " size %zu)",
-                (*pos)->GetLoadAddress(), (*pos)->GetByteSize());
-      m_resources.erase(pos);
-      return true;
-    }
-  }
-  return false;
-}
-
-bool WatchpointResourceList::RemoveByAddress(addr_t addr) {
-  std::lock_guard<std::mutex> guard(m_mutex);
-  Log *log = GetLog(LLDBLog::Watchpoints);
-  for (collection::iterator pos = m_resources.begin(); pos != m_resources.end();
-       ++pos) {
-    if ((*pos)->Contains(addr)) {
-      LLDB_LOGF(log,
-                "WatchpointResourceList::RemoveByAddress(addr 0x%" PRIx64
-                " size %zu)",
-                (*pos)->GetLoadAddress(), (*pos)->GetByteSize());
-      m_resources.erase(pos);
-      return true;
-    }
-  }
-  return false;
-}
-
-WatchpointResourceSP WatchpointResourceList::FindByAddress(addr_t addr) {
-  std::lock_guard<std::mutex> guard(m_mutex);
-  for (WatchpointResourceSP wp_res_sp : m_resources)
-    if (wp_res_sp->Contains(addr))
-      return wp_res_sp;
-  return {};
-}
-
-WatchpointResourceSP
-WatchpointResourceList::FindByWatchpointSP(WatchpointSP &wp_sp) {
-  return FindByWatchpoint(wp_sp.get());
-}
-
-WatchpointResourceSP
-WatchpointResourceList::FindByWatchpoint(const Watchpoint *wp) {
-  std::lock_guard<std::mutex> guard(m_mutex);
-  for (WatchpointResourceSP wp_res_sp : m_resources)
-    if (wp_res_sp->ConstituentsContains(wp))
-      return wp_res_sp;
-  return {};
-}
-
-WatchpointResourceSP WatchpointResourceList::FindByID(wp_resource_id_t id) {
-  std::lock_guard<std::mutex> guard(m_mutex);
-  for (WatchpointResourceSP wp_res_sp : m_resources)
-    if (wp_res_sp->GetID() == id)
-      return wp_res_sp;
-  return {};
-}
-
-uint32_t WatchpointResourceList::GetSize() {
-  std::lock_guard<std::mutex> guard(m_mutex);
-  return m_resources.size();
-}
-
-lldb::WatchpointResourceSP
-WatchpointResourceList::GetResourceAtIndex(uint32_t idx) {
-  std::lock_guard<std::mutex> guard(m_mutex);
-  if (idx < m_resources.size())
-    return m_resources[idx];
-
-  return {};
-}
-
-void WatchpointResourceList::Clear() {
-  std::lock_guard<std::mutex> guard(m_mutex);
-  m_resources.clear();
-}
-
-std::mutex &WatchpointResourceList::GetMutex() { return m_mutex; }

>From 0ed1c9649c00b2741a63f84b0b85c03dfcb0b011 Mon Sep 17 00:00:00 2001
From: Jason Molenda <jmolenda at apple.com>
Date: Wed, 24 Jan 2024 14:56:00 -0800
Subject: [PATCH 2/2] Update CMakeLists.txt

---
 lldb/source/Breakpoint/CMakeLists.txt | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lldb/source/Breakpoint/CMakeLists.txt b/lldb/source/Breakpoint/CMakeLists.txt
index 42ac338c315b4f..3b39189e525874 100644
--- a/lldb/source/Breakpoint/CMakeLists.txt
+++ b/lldb/source/Breakpoint/CMakeLists.txt
@@ -24,7 +24,6 @@ add_lldb_library(lldbBreakpoint NO_PLUGIN_DEPENDENCIES
   WatchpointList.cpp
   WatchpointOptions.cpp
   WatchpointResource.cpp
-  WatchpointResourceList.cpp
 
   LINK_LIBS
     lldbCore



More information about the lldb-commits mailing list