Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-03-19 Thread Erik Pilkington via lldb-dev
I've put a WIP patch up here: https://reviews.llvm.org/D44668 Sorry for the delay! Erik On 2018-01-26 3:56 PM, Greg Clayton wrote: On Jan 26, 2018, at 8:38 AM, Erik Pilkington > wrote: On 2018-01-25 1:58 PM, Greg Clayton wrote:

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-03-03 Thread Bob Campbell via lldb-dev
Greg, sorry I have been trying to work out my idea, and to be honest the demangler is complicated. The core of my idea is to not fully expand the mangled name. The key benefit in switching to the “Itanium” mangling scheme was the ability to reduce the amount of totally redundant information.

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-26 Thread Greg Clayton via lldb-dev
> On Jan 26, 2018, at 8:38 AM, Erik Pilkington > wrote: > > > > On 2018-01-25 1:58 PM, Greg Clayton wrote: >>> On Jan 25, 2018, at 10:25 AM, Erik Pilkington >>> wrote: >>> >>> Hi, >>> I'm not at all familiar with LLDB, but I've been

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-26 Thread Jim Ingham via lldb-dev
It's not just reduction of the number of demanglers we have to support, however. Greg and I both got excited by this proposal because we've had to maintain these name choppers for the tasks lldb has to do with mangled names - for instance matching incomplete human-typed in names - i.e.

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-26 Thread Davide Italiano via lldb-dev
On Fri, Jan 26, 2018 at 8:38 AM, Erik Pilkington via lldb-dev wrote: > > > On 2018-01-25 1:58 PM, Greg Clayton wrote: >>> >>> On Jan 25, 2018, at 10:25 AM, Erik Pilkington >>> wrote: >>> >>> Hi, >>> I'm not at all familiar with LLDB, but I've

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-26 Thread Erik Pilkington via lldb-dev
On 2018-01-25 1:58 PM, Greg Clayton wrote: On Jan 25, 2018, at 10:25 AM, Erik Pilkington wrote: Hi, I'm not at all familiar with LLDB, but I've been doing some work on the demangler in libcxxabi. It's still a work in progress and I haven't yet copied the changes

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-25 Thread Greg Clayton via lldb-dev
> On Jan 25, 2018, at 10:25 AM, Erik Pilkington > wrote: > > Hi, > I'm not at all familiar with LLDB, but I've been doing some work on the > demangler in libcxxabi. It's still a work in progress and I haven't yet > copied the changes over to ItaniumDemangle, which

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-25 Thread Jim Ingham via lldb-dev
That's along the same lines as what I was thinking. We really don't need to print all these names, and in fact the complicated ones are not useful for printing and certainly there are few times where you want to use them in their explicit forms. We really just want to pick out pieces to put

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-25 Thread Jim Ingham via lldb-dev
specialized -> specified Jim > On Jan 25, 2018, at 10:30 AM, Jim Ingham via lldb-dev > wrote: > > specialized ___ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-25 Thread Jim Ingham via lldb-dev
I must admit I've never played around with C++ demangling, but I wonder if our purposes in demangling might inform how we do this? We use demangled names for a couple of purposes. One is to print names in backtraces and thread reporting when we stop. For the most part the requests we've

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-25 Thread Erik Pilkington via lldb-dev
Hi, I'm not at all familiar with LLDB, but I've been doing some work on the demangler in libcxxabi. It's still a work in progress and I haven't yet copied the changes over to ItaniumDemangle, which AFAIK is what lldb uses. The demangler in libcxxabi now demangles the symbol you attached in

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-25 Thread Pavel Labath via lldb-dev
The mangled name length threshold would be the easiest to implement. However, I fear we may not be able to find a good cutoff length, because it's not the length of it that matters, but the number (and recursiveness) of back-references. For example, I was able to find a mangled name of 757

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-24 Thread Greg Clayton via lldb-dev
> On Jan 24, 2018, at 4:14 PM, Zachary Turner wrote: > > That's true, but shouldn't it be possible to demangle up until the last point > you got something meaningful? (I don't know the details of itanium mangling, > just assuming this is possible) anywhere you cut the

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-24 Thread Zachary Turner via lldb-dev
That's true, but shouldn't it be possible to demangle up until the last point you got something meaningful? (I don't know the details of itanium mangling, just assuming this is possible) On Wed, Jan 24, 2018 at 3:54 PM Greg Clayton wrote: > If you just cut off the string,

Re: [lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-24 Thread Greg Clayton via lldb-dev
If you just cut off the string, then it might not demangle without an error if you truncate the mangled string at a specific point... > On Jan 24, 2018, at 3:52 PM, Zachary Turner wrote: > > What about doing a partial demangle? Take at most 1024 (for example) >

[lldb-dev] Huge mangled names are causing long delays when loading symbol table symbols

2018-01-24 Thread Greg Clayton via lldb-dev
I have an issue where I am debugging a C++ binary that is around 250MB in size. It contains some mangled names that are crazy: