This is the mail archive of the gdb@sources.redhat.com 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] |
Well, I remember fixing some startup time issues since then :P For instance, the cache shared between minimal and partial symbols should cut demangling time about in half.
Which leads to the question. Why does GDB demangle symbols? Mysimplistic understanding of the code is that GDB only needs the "iw" (a.k.a., demangled string up to but excluding the lparen and ignoring white space) part of the symbol in the search table (the rest isn't so critical and can be constructed on-demand).
A substantial amount of demangling is needed to produce the part of the symbol before the lparen; consider templates. Also, we need the full names in the minimal symbol for break 'foo(int)' with quotes to work. And there are assumptions of unique symbol names in our hashing/searching, IIRC.
I'm sure there are tricks we can do to cut down on how early or often we demangle, but it still seems to be necessary.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |