summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/Mangled.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move the demangle-failed indication out a bit so other failing casesJason Molenda2010-12-151-6/+6
| | | | | | | also get marked as having failed (so we don't try to demangle the same symbol multiple times). llvm-svn: 121835
* Fix a crash on some platforms where a dSYM for a system library lists a ↵Jason Molenda2010-12-151-1/+2
| | | | | | | | | | DW_AT_mips_linkage_name for a non-mangled function - we pass the non mangled string down through abi::__cxa_demangle and it crashes. Usually passing non mangled strings to abi::__cxa_demangle works out fine but not always, apparently. llvm-svn: 121834
* Just like functions can have a basename and a mangled/demangled name, variableGreg Clayton2010-11-141-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | can too. So now the lldb_private::Variable class has support for this. Variables now have support for having a basename ("i"), and a mangled name ("_ZN12_GLOBAL__N_11iE"), and a demangled name ("(anonymous namespace)::i"). Nowwhen searching for a variable by name, users might enter the fully qualified name, or just the basename. So new test functions were added to the Variable and Mangled classes as: bool NameMatches (const ConstString &name); bool NameMatches (const RegularExpression &regex); I also modified "ClangExpressionDeclMap::FindVariableInScope" to also search for global variables that are not in the current file scope by first starting with the current module, then moving on to all modules. Fixed an issue in the DWARF parser that could cause a varaible to get parsed more than once. Now, once we have parsed a VariableSP for a DIE, we cache the result even if a variable wasn't made so we don't do any re-parsing. Some DW_TAG_variable DIEs don't have locations, or are missing vital info that stops a debugger from being able to display anything for it, we parse a NULL variable shared pointer for these DIEs so we don't keep trying to reparse it. llvm-svn: 119085
* The Mangled name comparision should prefer the mangled name.Jim Ingham2010-09-151-1/+1
| | | | llvm-svn: 113908
* Fixed a case where Mangled::GetName(...) could return a invalid demangled ↵Greg Clayton2010-09-141-7/+7
| | | | | | name when one could be calculated. llvm-svn: 113900
* Fixed a compiler warning.Greg Clayton2010-09-141-18/+12
| | | | llvm-svn: 113899
* Add the ability for "ThreadPlanRunToAddress" to run to multiple addresses.Jim Ingham2010-09-141-6/+22
| | | | | | | | Added the ability to specify a preference for mangled or demangled to Mangled::GetName. Changed one place where mangled was prefered in GetName. The Dynamic loader should look up the target of a stub by mangled name if it exists. llvm-svn: 113869
* Improved name demangling performance by 20% on darwin.Greg Clayton2010-09-031-8/+39
| | | | llvm-svn: 113032
* Removed the thread specific data that was being used for demangling sinceGreg Clayton2010-07-021-55/+4
| | | | | | | | removing it didn't cause any performance loss, and leaks were showing up when run under instruments when we tried to re-use the buffer. We are now leak free and still just as performant. llvm-svn: 107453
* Turns out __cxa_demangle returns the size of the buffer instead of the size ofBenjamin Kramer2010-06-221-5/+2
| | | | | | the demangled name. Fall back to strlen. llvm-svn: 106579
* Ensure GetDemangledName's thread safety by making the demangle buffer thread ↵Benjamin Kramer2010-06-221-12/+54
| | | | | | | | | | | | | | | specific. I'm not sure when multiple threads enter this method but a race-condition causing a crash in malloc can be reproduced with this little script: echo file $(which lldb) > cmd echo "run\nbreak set -n main\nrun\nexit" >> cmd lldb -s cmd It may need a few runs before it crashes though. llvm-svn: 106544
* Add missing includes.Eli Friedman2010-06-091-0/+2
| | | | llvm-svn: 105712
* Initial checkin of lldb code from internal Apple repo.Chris Lattner2010-06-081-0/+733
llvm-svn: 105619
OpenPOWER on IntegriCloud