forked from Imagelibrary/binutils-gdb
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:
committed by
Simon Marchi
parent
6cb7f6d92e
commit
a8dc671839
@@ -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));
|
||||||
|
|||||||
@@ -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 ());
|
||||||
|
|||||||
@@ -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 (),
|
||||||
|
|||||||
Reference in New Issue
Block a user