diff options
author | Sean Callanan <scallanan@apple.com> | 2012-12-04 20:52:38 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2012-12-04 20:52:38 +0000 |
commit | 2f505a1c56a3b61fb4b95f7f8a2978f60cf6c1c4 (patch) | |
tree | 2b424865a8c77a2317ecd818cab6dd9d15fe517d | |
parent | 4e718e7dd875a14a5b1322e53a2cc16858248635 (diff) | |
download | bcm5719-llvm-2f505a1c56a3b61fb4b95f7f8a2978f60cf6c1c4.tar.gz bcm5719-llvm-2f505a1c56a3b61fb4b95f7f8a2978f60cf6c1c4.zip |
Cache the names for Objective-C classes if we know
them while making our initial run through the
Objective-C runtime's class tables.
<rdar://problem/12799087>
llvm-svn: 169299
-rw-r--r-- | lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp index 780d6506d18..df8c877ee8b 100644 --- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp +++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp @@ -958,10 +958,10 @@ public: private: // The constructor should only be invoked by the runtime as it builds its caches // or populates them. A ClassDescriptorV2 should only ever exist in a cache. - ClassDescriptorV2 (AppleObjCRuntimeV2 &runtime, ObjCLanguageRuntime::ObjCISA isa) : + ClassDescriptorV2 (AppleObjCRuntimeV2 &runtime, ObjCLanguageRuntime::ObjCISA isa, const char *name) : m_runtime (runtime), m_objc_class_ptr (isa), - m_name () + m_name (name) { } @@ -1093,7 +1093,7 @@ public: if (class_method_func) { - ClassDescriptorV2 metaclass(m_runtime, objc_class->m_isa); // The metaclass is not in the cache + ClassDescriptorV2 metaclass(m_runtime, objc_class->m_isa, NULL); // The metaclass is not in the cache // We don't care about the metaclass's superclass, or its class methods. Its instance methods are // our class methods. @@ -1873,7 +1873,7 @@ AppleObjCRuntimeV2::UpdateISAToDescriptorMapIfNeeded() if (m_isa_to_descriptor_cache.count(elt.second)) continue; - ClassDescriptorSP descriptor_sp = ClassDescriptorSP(new ClassDescriptorV2(*this, elt.second)); + ClassDescriptorSP descriptor_sp = ClassDescriptorSP(new ClassDescriptorV2(*this, elt.second, elt.first.AsCString())); if (log && log->GetVerbose()) log->Printf("AppleObjCRuntimeV2 added (ObjCISA)0x%" PRIx64 " (%s) from dynamic table to isa->descriptor cache", elt.second, elt.first.AsCString()); @@ -1913,7 +1913,7 @@ AppleObjCRuntimeV2::UpdateISAToDescriptorMapIfNeeded() if (m_isa_to_descriptor_cache.count(objc_isa)) continue; - ClassDescriptorSP descriptor_sp = ClassDescriptorSP(new ClassDescriptorV2(*this, objc_isa)); + ClassDescriptorSP descriptor_sp = ClassDescriptorSP(new ClassDescriptorV2(*this, objc_isa, NULL)); if (log && log->GetVerbose()) log->Printf("AppleObjCRuntimeV2 added (ObjCISA)0x%" PRIx64 " (%s) from static table to isa->descriptor cache", objc_isa, descriptor_sp->GetClassName().AsCString()); |