diff options
| author | Raphael Isemann <teemperor@gmail.com> | 2019-12-11 14:50:34 +0100 |
|---|---|---|
| committer | Raphael Isemann <teemperor@gmail.com> | 2019-12-11 15:08:10 +0100 |
| commit | c7738cca7efda9d1a78569b69ba4ac735c0f2212 (patch) | |
| tree | 402a9316a11340d6662d8a5a5019f721288deca0 /lldb/source/Symbol/ClangExternalASTSourceCommon.cpp | |
| parent | c0a3ab365514e126b694e009503d537d0e67eb01 (diff) | |
| download | bcm5719-llvm-c7738cca7efda9d1a78569b69ba4ac735c0f2212.tar.gz bcm5719-llvm-c7738cca7efda9d1a78569b69ba4ac735c0f2212.zip | |
[lldb] Don't search the metadata map three times when retrieving metadata
HasMetadata checks if our metadata map knows the given object. GetMetadata
also does this check and then does another search to actually retrieve
the value. This can all just be one lookup.
Diffstat (limited to 'lldb/source/Symbol/ClangExternalASTSourceCommon.cpp')
| -rw-r--r-- | lldb/source/Symbol/ClangExternalASTSourceCommon.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/lldb/source/Symbol/ClangExternalASTSourceCommon.cpp b/lldb/source/Symbol/ClangExternalASTSourceCommon.cpp index 9c58969dc46..b60b3791aae 100644 --- a/lldb/source/Symbol/ClangExternalASTSourceCommon.cpp +++ b/lldb/source/Symbol/ClangExternalASTSourceCommon.cpp @@ -53,8 +53,9 @@ ClangExternalASTSourceCommon::~ClangExternalASTSourceCommon() { ClangASTMetadata * ClangExternalASTSourceCommon::GetMetadata(const void *object) { - if (HasMetadata(object)) - return &m_metadata[object]; + auto It = m_metadata.find(object); + if (It != m_metadata.end()) + return &It->second; else return nullptr; } @@ -64,10 +65,6 @@ void ClangExternalASTSourceCommon::SetMetadata(const void *object, m_metadata[object] = metadata; } -bool ClangExternalASTSourceCommon::HasMetadata(const void *object) { - return m_metadata.find(object) != m_metadata.end(); -} - void ClangASTMetadata::Dump(Stream *s) { lldb::user_id_t uid = GetUserID(); |

