From: Simon Marchi <simon.marchi@efficios.com>
To: gdb-patches@sourceware.org
Cc: Simon Marchi <simon.marchi@efficios.com>
Subject: [PATCH 1/2] gdb/dwarf: rename cooked_index to cooked_index_shard
Date: Tue, 31 Jan 2023 13:27:20 -0500 [thread overview]
Message-ID: <20230131182721.71119-1-simon.marchi@efficios.com> (raw)
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
---
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 82dc44dd74b0..61f825ba6299 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 fa7d8840d166..22fb0110ea27 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 @@ class cooked_index_vector : public dwarf_scanner_base
/* 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 @@ class cooked_index_vector : public dwarf_scanner_base
}
/* 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 @@ class cooked_index_vector : public dwarf_scanner_base
/* 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 6cee22a3faa6..9c7cb1e4dbca 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -6611,7 +6611,7 @@ class cooked_index_storage
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 @@ class cooked_index_storage
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 @@ class cooked_index_storage
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 (),
--
2.39.1
next reply other threads:[~2023-01-31 18:27 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-31 18:27 Simon Marchi [this message]
2023-01-31 18:27 ` [PATCH 2/2] gdb/dwarf: rename cooked_index_vector to cooked_index Simon Marchi
2023-01-31 20:56 ` Tom Tromey
2023-02-01 3:09 ` Simon Marchi
2023-02-01 3:42 ` Tom Tromey
2023-01-31 20:55 ` [PATCH 1/2] gdb/dwarf: rename cooked_index to cooked_index_shard Tom Tromey
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=20230131182721.71119-1-simon.marchi@efficios.com \
--to=simon.marchi@efficios.com \
--cc=gdb-patches@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: link
Be 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).