[02/11] Rename cooked_index_storage

Message ID 20250325-header-explosion-v1-2-92b7d68c086e@tromey.com
State New
Headers
Series Remove cooked_index_worker::result_type |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gdb_build--master-arm success Build passed

Commit Message

Tom Tromey March 26, 2025, 12:56 a.m. UTC
  This renames cooked_index_storage to cooked_index_ephemeral, making it
more clear that it is a temporary object.  It also updates the class
comment to point this out.
---
 gdb/dwarf2/cooked-index-worker.c | 14 +++++++-------
 gdb/dwarf2/cooked-index-worker.h | 12 ++++++++----
 gdb/dwarf2/cooked-indexer.c      |  2 +-
 gdb/dwarf2/cooked-indexer.h      |  6 +++---
 gdb/dwarf2/read.c                | 16 ++++++++--------
 5 files changed, 27 insertions(+), 23 deletions(-)
  

Patch

diff --git a/gdb/dwarf2/cooked-index-worker.c b/gdb/dwarf2/cooked-index-worker.c
index 4dabe40381f4db43880eae2284853b1b6a9a37a3..e787832ef2e895573466eabe8b6cdb069bbe0f6b 100644
--- a/gdb/dwarf2/cooked-index-worker.c
+++ b/gdb/dwarf2/cooked-index-worker.c
@@ -21,7 +21,7 @@ 
 
 /* See cooked-index-worker.h.  */
 
-cooked_index_storage::cooked_index_storage ()
+cooked_index_ephemeral::cooked_index_ephemeral ()
   : m_shard (new cooked_index_shard)
 {
 }
@@ -29,7 +29,7 @@  cooked_index_storage::cooked_index_storage ()
 /* See cooked-index-worker.h.  */
 
 cutu_reader *
-cooked_index_storage::get_reader (dwarf2_per_cu *per_cu)
+cooked_index_ephemeral::get_reader (dwarf2_per_cu *per_cu)
 {
   auto it = m_reader_hash.find (*per_cu);
   return it != m_reader_hash.end () ? it->get () : nullptr;
@@ -38,7 +38,7 @@  cooked_index_storage::get_reader (dwarf2_per_cu *per_cu)
 /* See cooked-index-worker.h.  */
 
 cutu_reader *
-cooked_index_storage::preserve (cutu_reader_up reader)
+cooked_index_ephemeral::preserve (cutu_reader_up reader)
 {
   m_abbrev_table_cache.add (reader->release_abbrev_table ());
 
@@ -51,7 +51,7 @@  cooked_index_storage::preserve (cutu_reader_up reader)
 /* See cooked-index-worker.h.  */
 
 std::uint64_t
-cooked_index_storage::cutu_reader_hash::operator()
+cooked_index_ephemeral::cutu_reader_hash::operator()
   (const cutu_reader_up &reader) const noexcept
 {
   return (*this) (*reader->cu ()->per_cu);
@@ -60,7 +60,7 @@  cooked_index_storage::cutu_reader_hash::operator()
 /* See cooked-index-worker.h.  */
 
 std::uint64_t
-cooked_index_storage::cutu_reader_hash::operator() (const dwarf2_per_cu &per_cu)
+cooked_index_ephemeral::cutu_reader_hash::operator() (const dwarf2_per_cu &per_cu)
   const noexcept
 {
   return per_cu.index;
@@ -69,7 +69,7 @@  cooked_index_storage::cutu_reader_hash::operator() (const dwarf2_per_cu &per_cu)
 /* See cooked-index-worker.h.  */
 
 bool
-cooked_index_storage::cutu_reader_eq::operator() (const cutu_reader_up &a,
+cooked_index_ephemeral::cutu_reader_eq::operator() (const cutu_reader_up &a,
 						  const cutu_reader_up &b) const noexcept
 {
   return (*this) (*a->cu ()->per_cu, b);
@@ -77,7 +77,7 @@  cooked_index_storage::cutu_reader_eq::operator() (const cutu_reader_up &a,
 
 /* See cooked-index-worker.h.  */
 
-bool cooked_index_storage::cutu_reader_eq::operator()
+bool cooked_index_ephemeral::cutu_reader_eq::operator()
   (const dwarf2_per_cu &per_cu, const cutu_reader_up &reader) const noexcept
 {
   return per_cu.index == reader->cu ()->per_cu->index;
diff --git a/gdb/dwarf2/cooked-index-worker.h b/gdb/dwarf2/cooked-index-worker.h
index 3fca8d1757a838350a37091afda0874505f9332a..a7d72fc01faccc4b7519d67eccda03d08673f941 100644
--- a/gdb/dwarf2/cooked-index-worker.h
+++ b/gdb/dwarf2/cooked-index-worker.h
@@ -30,14 +30,18 @@  struct dwarf2_per_cu;
 using cutu_reader_up = std::unique_ptr<cutu_reader>;
 
 /* An instance of this is created when scanning DWARF to create a
-   cooked index.  */
+   cooked index.  This class is called "ephemeral" because it is used
+   to store results while working -- it is an implementation detail of
+   the threads managed by cooked_index_worker.  Once scanning is done,
+   selected parts of the state here are stored into the shard, and
+   then these ephemeral objects are destroyed.  */
 
-class cooked_index_storage
+class cooked_index_ephemeral
 {
 public:
 
-  cooked_index_storage ();
-  DISABLE_COPY_AND_ASSIGN (cooked_index_storage);
+  cooked_index_ephemeral ();
+  DISABLE_COPY_AND_ASSIGN (cooked_index_ephemeral);
 
   /* Return the current abbrev table_cache.  */
   const abbrev_table_cache &get_abbrev_table_cache () const
diff --git a/gdb/dwarf2/cooked-indexer.c b/gdb/dwarf2/cooked-indexer.c
index ca194e834a19d874d8a356127c373ee544724a64..52cc5848c18c199344e4e45b6d0de354bcf8d341 100644
--- a/gdb/dwarf2/cooked-indexer.c
+++ b/gdb/dwarf2/cooked-indexer.c
@@ -23,7 +23,7 @@ 
 
 /* See cooked-indexer.h.  */
 
-cooked_indexer::cooked_indexer (cooked_index_storage *storage,
+cooked_indexer::cooked_indexer (cooked_index_ephemeral *storage,
 				dwarf2_per_cu *per_cu, enum language language)
   : m_index_storage (storage),
     m_per_cu (per_cu),
diff --git a/gdb/dwarf2/cooked-indexer.h b/gdb/dwarf2/cooked-indexer.h
index 93626a9fb31d99a34679c6e224fd133c30670273..08d7f45400e149161dee15569726c25195203dce 100644
--- a/gdb/dwarf2/cooked-indexer.h
+++ b/gdb/dwarf2/cooked-indexer.h
@@ -26,7 +26,7 @@ 
 #include <variant>
 
 struct abbrev_info;
-struct cooked_index_storage;
+struct cooked_index_ephemeral;
 struct cutu_reader;
 struct dwarf2_per_cu;
 struct dwarf2_per_objfile;
@@ -36,7 +36,7 @@  struct dwarf2_per_objfile;
 class cooked_indexer
 {
 public:
-  cooked_indexer (cooked_index_storage *storage, dwarf2_per_cu *per_cu,
+  cooked_indexer (cooked_index_ephemeral *storage, dwarf2_per_cu *per_cu,
 		  enum language language);
 
   DISABLE_COPY_AND_ASSIGN (cooked_indexer);
@@ -103,7 +103,7 @@  class cooked_indexer
 			   bool fully);
 
   /* The storage object, where the results are kept.  */
-  cooked_index_storage *m_index_storage;
+  cooked_index_ephemeral *m_index_storage;
   /* The CU that we are reading on behalf of.  This object might be
      asked to index one CU but to treat the results as if they come
      from some including CU; in this case the including CU would be
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 45fb86d846a889fd945ab3aa5b9625e647f46fa5..2fef631ff19cf6a91a951ec0e06522f7fca5a194 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -728,7 +728,7 @@  show_dwarf_synchronous (struct ui_file *file, int from_tty,
 /* local function prototypes */
 
 static void build_type_psymtabs_reader (cutu_reader *reader,
-					cooked_index_storage *storage);
+					cooked_index_ephemeral *storage);
 
 static void var_decode_location (struct attribute *attr,
 				 struct symbol *sym,
@@ -3295,7 +3295,7 @@  get_type_unit_group_key (struct dwarf2_cu *cu, const struct attribute *stmt_list
 static void
 process_psymtab_comp_unit (dwarf2_per_cu *this_cu,
 			   dwarf2_per_objfile *per_objfile,
-			   cooked_index_storage *storage)
+			   cooked_index_ephemeral *storage)
 {
   cutu_reader *reader = storage->get_reader (this_cu);
   if (reader == nullptr)
@@ -3332,7 +3332,7 @@  process_psymtab_comp_unit (dwarf2_per_cu *this_cu,
 
 static void
 build_type_psymtabs_reader (cutu_reader *reader,
-			    cooked_index_storage *storage)
+			    cooked_index_ephemeral *storage)
 {
   struct dwarf2_cu *cu = reader->cu ();
   dwarf2_per_cu *per_cu = cu->per_cu;
@@ -3385,7 +3385,7 @@  struct tu_abbrev_offset
 
 static void
 build_type_psymtabs (dwarf2_per_objfile *per_objfile,
-		     cooked_index_storage *storage)
+		     cooked_index_ephemeral *storage)
 {
   struct tu_stats *tu_stats = &per_objfile->per_bfd->tu_stats;
   abbrev_table_up abbrev_table;
@@ -3482,7 +3482,7 @@  print_tu_stats (dwarf2_per_objfile *per_objfile)
 static void
 process_skeletonless_type_unit (dwo_unit *dwo_unit,
 				dwarf2_per_objfile *per_objfile,
-				cooked_index_storage *storage)
+				cooked_index_ephemeral *storage)
 {
   dwarf2_per_bfd *per_bfd = per_objfile->per_bfd;
 
@@ -3513,7 +3513,7 @@  process_skeletonless_type_unit (dwo_unit *dwo_unit,
 
 static void
 process_skeletonless_type_units (dwarf2_per_objfile *per_objfile,
-				 cooked_index_storage *storage)
+				 cooked_index_ephemeral *storage)
 {
   /* Skeletonless TUs in DWP files without .gdb_index is not supported yet.  */
   if (get_dwp_file (per_objfile) == nullptr)
@@ -3573,7 +3573,7 @@  class cooked_index_worker_debug_info : public cooked_index_worker
   /* A storage object for "leftovers" -- see the 'start' method, but
      essentially things not parsed during the normal CU parsing
      passes.  */
-  cooked_index_storage m_index_storage;
+  cooked_index_ephemeral m_index_storage;
 };
 
 void
@@ -3586,7 +3586,7 @@  cooked_index_worker_debug_info::process_cus (size_t task_number, unit_iterator f
   complaint_interceptor complaint_handler;
 
   std::vector<gdb_exception> errors;
-  cooked_index_storage thread_storage;
+  cooked_index_ephemeral thread_storage;
   for (auto inner = first; inner != end; ++inner)
     {
       dwarf2_per_cu *per_cu = inner->get ();