This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA/commit/dwarf] Create partial symbols for nested subprograms


On Wed, Sep 10, 2008 at 01:19:59PM -0700, Joel Brobecker wrote:
> I stumbled on this because I am about to remove the piece of code
> mentioned above (in ada_lookup_symbol_list), as it introduces
> a pretty significant performance penalty - I will post a separate
> patch with more details later on.  But at the same time, I think
> it is important by itself, as I want the partial symtab and full
> symtab to be consistent.
> 
> 2008-09-10  Joel Brobecker  <brobecker@adacore.com>
> 
>         * dwarf2read.c (add_partial_subprogram): New procedure.
>         (scan_partial_symbols): Use it.
>         (load_partial_dies): Read in children of subprogram and lexical
>         blocks.

:-(

Do you have any performance data for GDB startup with this change?
Not that I see any useful way around it, if subprograms really can be
children of lexical blocks.  But it's going to cause us to read in a
ton more DIEs, including all scopes and local variables.

The lexical block check won't work as is; we'd walk children of
lexical blocks, except we'll never read one in the first place.
See the skip_one_die call earlier in load_partial_dies.

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]