public inbox for gdb-cvs@sourceware.org help / color / mirror / Atom feed
From: Simon Marchi <simark@sourceware.org> To: gdb-cvs@sourceware.org Subject: [binutils-gdb] gdb/dwarf: rename cooked_index to cooked_index_shard Date: Wed, 1 Feb 2023 03:08:46 +0000 (GMT) [thread overview] Message-ID: <20230201030846.DDF503858D38@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a8dc67183978d0b0369ec7e45b19ccd613a2321d commit a8dc67183978d0b0369ec7e45b19ccd613a2321d Author: Simon Marchi <simon.marchi@efficios.com> Date: Tue Jan 31 13:27:20 2023 -0500 gdb/dwarf: rename cooked_index to cooked_index_shard I propose to rename cooked_index_vector and cooked_index such that the "main" object, that is the entry point to the index, is called cooked_index. The fact that the cooked index is implemented as a vector of smaller indexes is an implementation detail. This patch renames cooked_index to cooked_index_shard. The following patch renames cooked_index_vector to cooked_index. Change-Id: Id650f97dcb23c48f8409fa0974cd093ca0b75177 Approved-By: Tom Tromey <tom@tromey.com> Diff: --- gdb/dwarf2/cooked-index.c | 22 +++++++++++----------- gdb/dwarf2/cooked-index.h | 12 ++++++------ gdb/dwarf2/read.c | 14 +++++++------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/gdb/dwarf2/cooked-index.c b/gdb/dwarf2/cooked-index.c index 82dc44dd74b..61f825ba629 100644 --- a/gdb/dwarf2/cooked-index.c +++ b/gdb/dwarf2/cooked-index.c @@ -204,10 +204,10 @@ cooked_index_entry::write_scope (struct obstack *storage, /* See cooked-index.h. */ const cooked_index_entry * -cooked_index::add (sect_offset die_offset, enum dwarf_tag tag, - cooked_index_flag flags, const char *name, - const cooked_index_entry *parent_entry, - dwarf2_per_cu_data *per_cu) +cooked_index_shard::add (sect_offset die_offset, enum dwarf_tag tag, + cooked_index_flag flags, const char *name, + const cooked_index_entry *parent_entry, + dwarf2_per_cu_data *per_cu) { cooked_index_entry *result = create (die_offset, tag, flags, name, parent_entry, per_cu); @@ -228,7 +228,7 @@ cooked_index::add (sect_offset die_offset, enum dwarf_tag tag, /* See cooked-index.h. */ void -cooked_index::finalize () +cooked_index_shard::finalize () { m_future = gdb::thread_pool::g_thread_pool->post_task ([this] () { @@ -239,8 +239,8 @@ cooked_index::finalize () /* See cooked-index.h. */ gdb::unique_xmalloc_ptr<char> -cooked_index::handle_gnat_encoded_entry (cooked_index_entry *entry, - htab_t gnat_entries) +cooked_index_shard::handle_gnat_encoded_entry (cooked_index_entry *entry, + htab_t gnat_entries) { std::string canonical = ada_decode (entry->name, false, false); if (canonical.empty ()) @@ -281,7 +281,7 @@ cooked_index::handle_gnat_encoded_entry (cooked_index_entry *entry, /* See cooked-index.h. */ void -cooked_index::do_finalize () +cooked_index_shard::do_finalize () { auto hash_name_ptr = [] (const void *p) { @@ -378,8 +378,8 @@ cooked_index::do_finalize () /* See cooked-index.h. */ -cooked_index::range -cooked_index::find (const std::string &name, bool completing) const +cooked_index_shard::range +cooked_index_shard::find (const std::string &name, bool completing) const { wait (); @@ -441,7 +441,7 @@ cooked_index_vector::get_addrmaps () const cooked_index_vector::range cooked_index_vector::find (const std::string &name, bool completing) const { - std::vector<cooked_index::range> result_range; + std::vector<cooked_index_shard::range> result_range; result_range.reserve (m_vector.size ()); for (auto &entry : m_vector) result_range.push_back (entry->find (name, completing)); diff --git a/gdb/dwarf2/cooked-index.h b/gdb/dwarf2/cooked-index.h index fa7d8840d16..22fb0110ea2 100644 --- a/gdb/dwarf2/cooked-index.h +++ b/gdb/dwarf2/cooked-index.h @@ -232,11 +232,11 @@ class cooked_index_vector; Operations on the index are described below. They are chosen to make it relatively simple to implement the symtab "quick" methods. */ -class cooked_index +class cooked_index_shard { public: - cooked_index () = default; - DISABLE_COPY_AND_ASSIGN (cooked_index); + cooked_index_shard () = default; + DISABLE_COPY_AND_ASSIGN (cooked_index_shard); /* Create a new cooked_index_entry and register it with this object. Entries are owned by this object. The new item is returned. */ @@ -353,7 +353,7 @@ public: /* A convenience typedef for the vector that is contained in this object. */ - typedef std::vector<std::unique_ptr<cooked_index>> vec_type; + using vec_type = std::vector<std::unique_ptr<cooked_index_shard>>; explicit cooked_index_vector (vec_type &&vec); DISABLE_COPY_AND_ASSIGN (cooked_index_vector); @@ -378,7 +378,7 @@ public: } /* A range over a vector of subranges. */ - typedef range_chain<cooked_index::range> range; + using range = range_chain<cooked_index_shard::range>; /* Look up an entry by name. Returns a range of all matching results. If COMPLETING is true, then a larger range, suitable @@ -388,7 +388,7 @@ public: /* Return a range of all the entries. */ range all_entries () const { - std::vector<cooked_index::range> result_range; + std::vector<cooked_index_shard::range> result_range; result_range.reserve (m_vector.size ()); for (auto &entry : m_vector) result_range.push_back (entry->all_entries ()); diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 6cee22a3faa..9c7cb1e4dbc 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -6611,7 +6611,7 @@ public: eq_cutu_reader, htab_delete_entry<cutu_reader>, xcalloc, xfree)), - m_index (new cooked_index) + m_index (new cooked_index_shard) { } @@ -6657,9 +6657,9 @@ public: return m_index->add (die_offset, tag, flags, name, parent_entry, per_cu); } - /* Install the current addrmap into the index being constructed, + /* Install the current addrmap into the index shard being constructed, then transfer ownership of the index to the caller. */ - std::unique_ptr<cooked_index> release () + std::unique_ptr<cooked_index_shard> release () { m_index->install_addrmap (&m_addrmap); return std::move (m_index); @@ -6692,8 +6692,8 @@ private: abbrev_cache m_abbrev_cache; /* A hash table of cutu_reader objects. */ htab_up m_reader_hash; - /* The index that is being constructed. */ - std::unique_ptr<cooked_index> m_index; + /* The index shard that is being constructed. */ + std::unique_ptr<cooked_index_shard> m_index; /* A writeable addrmap being constructed by this scanner. */ addrmap_mutable m_addrmap; @@ -7102,7 +7102,7 @@ dwarf2_build_psymtabs_hard (dwarf2_per_objfile *per_objfile) cooked_index_storage index_storage; create_all_units (per_objfile); build_type_psymtabs (per_objfile, &index_storage); - std::vector<std::unique_ptr<cooked_index>> indexes; + std::vector<std::unique_ptr<cooked_index_shard>> indexes; per_bfd->quick_file_names_table = create_quick_file_names_table (per_bfd->all_units.size ()); @@ -7128,7 +7128,7 @@ dwarf2_build_psymtabs_hard (dwarf2_per_objfile *per_objfile) GDB's I/O system is not thread-safe. run_on_main_thread could be used, but that would mean the messages are printed after the prompt, which looks weird. */ - using result_type = std::pair<std::unique_ptr<cooked_index>, + using result_type = std::pair<std::unique_ptr<cooked_index_shard>, std::vector<gdb_exception>>; std::vector<result_type> results = gdb::parallel_for_each (1, per_bfd->all_units.begin (),
reply other threads:[~2023-02-01 3:08 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230201030846.DDF503858D38@sourceware.org \ --to=simark@sourceware.org \ --cc=gdb-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).