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>
This commit is contained in:
Simon Marchi
2023-01-31 13:27:20 -05:00
committed by Simon Marchi
parent 6cb7f6d92e
commit a8dc671839
3 changed files with 24 additions and 24 deletions

View File

@@ -204,10 +204,10 @@ cooked_index_entry::write_scope (struct obstack *storage,
/* See cooked-index.h. */ /* See cooked-index.h. */
const cooked_index_entry * const cooked_index_entry *
cooked_index::add (sect_offset die_offset, enum dwarf_tag tag, cooked_index_shard::add (sect_offset die_offset, enum dwarf_tag tag,
cooked_index_flag flags, const char *name, cooked_index_flag flags, const char *name,
const cooked_index_entry *parent_entry, const cooked_index_entry *parent_entry,
dwarf2_per_cu_data *per_cu) dwarf2_per_cu_data *per_cu)
{ {
cooked_index_entry *result = create (die_offset, tag, flags, name, cooked_index_entry *result = create (die_offset, tag, flags, name,
parent_entry, per_cu); parent_entry, per_cu);
@@ -228,7 +228,7 @@ cooked_index::add (sect_offset die_offset, enum dwarf_tag tag,
/* See cooked-index.h. */ /* See cooked-index.h. */
void void
cooked_index::finalize () cooked_index_shard::finalize ()
{ {
m_future = gdb::thread_pool::g_thread_pool->post_task ([this] () m_future = gdb::thread_pool::g_thread_pool->post_task ([this] ()
{ {
@@ -239,8 +239,8 @@ cooked_index::finalize ()
/* See cooked-index.h. */ /* See cooked-index.h. */
gdb::unique_xmalloc_ptr<char> gdb::unique_xmalloc_ptr<char>
cooked_index::handle_gnat_encoded_entry (cooked_index_entry *entry, cooked_index_shard::handle_gnat_encoded_entry (cooked_index_entry *entry,
htab_t gnat_entries) htab_t gnat_entries)
{ {
std::string canonical = ada_decode (entry->name, false, false); std::string canonical = ada_decode (entry->name, false, false);
if (canonical.empty ()) if (canonical.empty ())
@@ -281,7 +281,7 @@ cooked_index::handle_gnat_encoded_entry (cooked_index_entry *entry,
/* See cooked-index.h. */ /* See cooked-index.h. */
void void
cooked_index::do_finalize () cooked_index_shard::do_finalize ()
{ {
auto hash_name_ptr = [] (const void *p) auto hash_name_ptr = [] (const void *p)
{ {
@@ -378,8 +378,8 @@ cooked_index::do_finalize ()
/* See cooked-index.h. */ /* See cooked-index.h. */
cooked_index::range cooked_index_shard::range
cooked_index::find (const std::string &name, bool completing) const cooked_index_shard::find (const std::string &name, bool completing) const
{ {
wait (); wait ();
@@ -441,7 +441,7 @@ cooked_index_vector::get_addrmaps () const
cooked_index_vector::range cooked_index_vector::range
cooked_index_vector::find (const std::string &name, bool completing) const 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 ()); result_range.reserve (m_vector.size ());
for (auto &entry : m_vector) for (auto &entry : m_vector)
result_range.push_back (entry->find (name, completing)); result_range.push_back (entry->find (name, completing));

View File

@@ -232,11 +232,11 @@ class cooked_index_vector;
Operations on the index are described below. They are chosen to Operations on the index are described below. They are chosen to
make it relatively simple to implement the symtab "quick" make it relatively simple to implement the symtab "quick"
methods. */ methods. */
class cooked_index class cooked_index_shard
{ {
public: public:
cooked_index () = default; cooked_index_shard () = default;
DISABLE_COPY_AND_ASSIGN (cooked_index); DISABLE_COPY_AND_ASSIGN (cooked_index_shard);
/* Create a new cooked_index_entry and register it with this object. /* Create a new cooked_index_entry and register it with this object.
Entries are owned by this object. The new item is returned. */ 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 /* A convenience typedef for the vector that is contained in this
object. */ 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); explicit cooked_index_vector (vec_type &&vec);
DISABLE_COPY_AND_ASSIGN (cooked_index_vector); DISABLE_COPY_AND_ASSIGN (cooked_index_vector);
@@ -378,7 +378,7 @@ public:
} }
/* A range over a vector of subranges. */ /* 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 /* Look up an entry by name. Returns a range of all matching
results. If COMPLETING is true, then a larger range, suitable results. If COMPLETING is true, then a larger range, suitable
@@ -388,7 +388,7 @@ public:
/* Return a range of all the entries. */ /* Return a range of all the entries. */
range all_entries () const 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 ()); result_range.reserve (m_vector.size ());
for (auto &entry : m_vector) for (auto &entry : m_vector)
result_range.push_back (entry->all_entries ()); result_range.push_back (entry->all_entries ());

View File

@@ -6611,7 +6611,7 @@ public:
eq_cutu_reader, eq_cutu_reader,
htab_delete_entry<cutu_reader>, htab_delete_entry<cutu_reader>,
xcalloc, xfree)), 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); 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. */ 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); m_index->install_addrmap (&m_addrmap);
return std::move (m_index); return std::move (m_index);
@@ -6692,8 +6692,8 @@ private:
abbrev_cache m_abbrev_cache; abbrev_cache m_abbrev_cache;
/* A hash table of cutu_reader objects. */ /* A hash table of cutu_reader objects. */
htab_up m_reader_hash; htab_up m_reader_hash;
/* The index that is being constructed. */ /* The index shard that is being constructed. */
std::unique_ptr<cooked_index> m_index; std::unique_ptr<cooked_index_shard> m_index;
/* A writeable addrmap being constructed by this scanner. */ /* A writeable addrmap being constructed by this scanner. */
addrmap_mutable m_addrmap; addrmap_mutable m_addrmap;
@@ -7102,7 +7102,7 @@ dwarf2_build_psymtabs_hard (dwarf2_per_objfile *per_objfile)
cooked_index_storage index_storage; cooked_index_storage index_storage;
create_all_units (per_objfile); create_all_units (per_objfile);
build_type_psymtabs (per_objfile, &index_storage); 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 per_bfd->quick_file_names_table
= create_quick_file_names_table (per_bfd->all_units.size ()); = 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 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 used, but that would mean the messages are printed after the
prompt, which looks weird. */ 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<gdb_exception>>;
std::vector<result_type> results std::vector<result_type> results
= gdb::parallel_for_each (1, per_bfd->all_units.begin (), = gdb::parallel_for_each (1, per_bfd->all_units.begin (),