GDB (xrefs)
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
cooked_index_shard Class Reference

#include "cooked-index.h"

Public Types

typedef iterator_range< std::vector< cooked_index_entry * >::const_iterator > range
 

Public Member Functions

 cooked_index_shard ()=default
 
 DISABLE_COPY_AND_ASSIGN (cooked_index_shard)
 
const cooked_index_entryadd (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)
 
void install_addrmap (addrmap_mutable *map)
 
void finalize ()
 
void wait (bool allow_quit=true) const
 
range all_entries () const
 
range find (const std::string &name, bool completing) const
 

Private Member Functions

const cooked_index_entryget_main () const
 
dwarf2_per_cu_datalookup (CORE_ADDR addr)
 
cooked_index_entrycreate (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)
 
gdb::unique_xmalloc_ptr< char > handle_gnat_encoded_entry (cooked_index_entry *entry, htab_t gnat_entries)
 
void do_finalize ()
 

Private Attributes

auto_obstack m_storage
 
std::vector< cooked_index_entry * > m_entries
 
cooked_index_entrym_main = nullptr
 
addrmapm_addrmap = nullptr
 
std::vector< gdb::unique_xmalloc_ptr< char > > m_names
 
gdb::future< void > m_future
 

Friends

class cooked_index
 

Detailed Description

Definition at line 251 of file cooked-index.h.

Member Typedef Documentation

◆ range

typedef iterator_range<std::vector<cooked_index_entry *>::const_iterator> cooked_index_shard::range

Definition at line 284 of file cooked-index.h.

Constructor & Destructor Documentation

◆ cooked_index_shard()

cooked_index_shard::cooked_index_shard ( )
default

Member Function Documentation

◆ add()

const cooked_index_entry * 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 )

Definition at line 232 of file cooked-index.c.

References create(), flags, IS_MAIN, m_entries, m_main, and name.

◆ all_entries()

range cooked_index_shard::all_entries ( ) const
inline

Definition at line 287 of file cooked-index.h.

References m_entries, and wait().

◆ create()

cooked_index_entry * cooked_index_shard::create ( 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 )
inlineprivate

Definition at line 317 of file cooked-index.h.

References flags, m_storage, and name.

Referenced by add(), and handle_gnat_encoded_entry().

◆ DISABLE_COPY_AND_ASSIGN()

cooked_index_shard::DISABLE_COPY_AND_ASSIGN ( cooked_index_shard )

◆ do_finalize()

void cooked_index_shard::do_finalize ( )
private

◆ finalize()

void cooked_index_shard::finalize ( )

Definition at line 252 of file cooked-index.c.

References do_finalize(), and m_future.

◆ find()

cooked_index_shard::range cooked_index_shard::find ( const std::string & name,
bool completing ) const

◆ get_main()

const cooked_index_entry * cooked_index_shard::get_main ( ) const
inlineprivate

Definition at line 302 of file cooked-index.h.

References m_main.

◆ handle_gnat_encoded_entry()

gdb::unique_xmalloc_ptr< char > cooked_index_shard::handle_gnat_encoded_entry ( cooked_index_entry * entry,
htab_t gnat_entries )
private

◆ install_addrmap()

void cooked_index_shard::install_addrmap ( addrmap_mutable * map)
inline

Definition at line 266 of file cooked-index.h.

References m_addrmap, and m_storage.

◆ lookup()

dwarf2_per_cu_data * cooked_index_shard::lookup ( CORE_ADDR addr)
inlineprivate

Definition at line 310 of file cooked-index.h.

References addrmap::find(), and m_addrmap.

◆ wait()

void cooked_index_shard::wait ( bool allow_quit = true) const

Definition at line 434 of file cooked-index.c.

References m_future, and QUIT.

Referenced by all_entries(), and find().

Friends And Related Symbol Documentation

◆ cooked_index

friend class cooked_index
friend

Definition at line 280 of file cooked-index.h.

Member Data Documentation

◆ m_addrmap

addrmap* cooked_index_shard::m_addrmap = nullptr
private

Definition at line 348 of file cooked-index.h.

Referenced by install_addrmap(), and lookup().

◆ m_entries

std::vector<cooked_index_entry *> cooked_index_shard::m_entries
private

Definition at line 343 of file cooked-index.h.

Referenced by add(), all_entries(), do_finalize(), and find().

◆ m_future

gdb::future<void> cooked_index_shard::m_future
private

Definition at line 354 of file cooked-index.h.

Referenced by finalize(), and wait().

◆ m_main

cooked_index_entry* cooked_index_shard::m_main = nullptr
private

Definition at line 345 of file cooked-index.h.

Referenced by add(), and get_main().

◆ m_names

std::vector<gdb::unique_xmalloc_ptr<char> > cooked_index_shard::m_names
private

Definition at line 350 of file cooked-index.h.

Referenced by do_finalize(), and handle_gnat_encoded_entry().

◆ m_storage

auto_obstack cooked_index_shard::m_storage
private

Definition at line 341 of file cooked-index.h.

Referenced by create(), and install_addrmap().


The documentation for this class was generated from the following files: