Re: [lldb-dev] [llvm-dev] RFC: Cleaning up the Itanium demangler

2017-06-22 Thread Jim Ingham via lldb-dev
Another important criterium for the demangler in the debugger is that it 100% cannot crash no matter what it gets fed. lldb used to have it's own copy of the system demangler library because it had bugs, and we needed to be able to fix them faster than the system version. We feed it all the sy

Re: [lldb-dev] [llvm-dev] RFC: Cleaning up the Itanium demangler

2017-06-22 Thread Scott Smith via lldb-dev
When I looked at demangler performance, I was able to make significant improvements to the llvm demangler. At that point removing lldb's fast demangler didn't hurt performance very much, but the fast demangler was still faster. I forget (and apparently didn't write down) how much it mattered, but

Re: [lldb-dev] [llvm-dev] RFC: Cleaning up the Itanium demangler

2017-06-22 Thread Jim Ingham via lldb-dev
This is Greg's area, he'll be able to answer in detail how the name chopper gets used. IIRC it chops demangled names, so it is indirectly a client of the demangler, but it doesn't use the demangler to do this directly. Name lookup is done by finding all the base name matches, then comparing th

Re: [lldb-dev] [llvm-dev] RFC: Cleaning up the Itanium demangler

2017-06-22 Thread Pavel Labath via lldb-dev
On 22 June 2017 at 15:21, Erik Pilkington wrote: > > > > On June 22, 2017 at 5:51:39 AM, Pavel Labath (lab...@google.com) wrote: > > I don't have any concrete feedback, but: > > - +1 for removing the "FastDemagler" > > - If you already construct an AST as a part of your demangling > process, would