Don't demangle a name when Mangled::GetName() is called with ePreferMangled. Only demangle if this isn't the the value for the "preference" argument indicating the user wants the demangled name. This will stop a lot of symbols from being demangled when parsing the symbol table in ObjectFileMachO.

llvm-svn: 255864
diff --git a/lldb/source/Core/Mangled.cpp b/lldb/source/Core/Mangled.cpp
index cf351ba..bdc710c 100644
--- a/lldb/source/Core/Mangled.cpp
+++ b/lldb/source/Core/Mangled.cpp
@@ -362,6 +362,9 @@
 ConstString
 Mangled::GetName (lldb::LanguageType language, Mangled::NamePreference preference) const
 {
+    if (preference == ePreferMangled && m_mangled)
+        return m_mangled;
+
     ConstString demangled = GetDemangledName(language);
 
     if (preference == ePreferDemangledWithoutArguments)
@@ -376,12 +379,7 @@
             return demangled;
         return m_mangled;
     }
-    else
-    {
-        if (m_mangled)
-            return m_mangled;
-        return demangled;
-    }
+    return demangled;
 }
 
 //----------------------------------------------------------------------