[Lldb-commits] [lldb] [lldb][NFC] Use early returns in ObjCLanguageRuntime::GetDescriptorIterator (PR #197415)
Felipe de Azevedo Piovezan via lldb-commits
lldb-commits at lists.llvm.org
Wed May 13 03:49:08 PDT 2026
https://github.com/felipepiovezan updated https://github.com/llvm/llvm-project/pull/197415
>From f26416a6805a3a54090ac1ee374097f77d05c9f4 Mon Sep 17 00:00:00 2001
From: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: Wed, 13 May 2026 11:02:29 +0100
Subject: [PATCH] [lldb][NFC] Use early returns in
ObjCLanguageRuntime::GetDescriptorIterator
---
.../ObjC/ObjCLanguageRuntime.cpp | 54 +++++++++----------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
index ad163347b14ca..48e184a9194d1 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
@@ -182,36 +182,36 @@ ObjCLanguageRuntime::GetISA(ConstString name) {
ObjCLanguageRuntime::ISAToDescriptorIterator
ObjCLanguageRuntime::GetDescriptorIterator(ConstString name) {
- ISAToDescriptorIterator end = m_isa_to_descriptor.end();
+ if (!name)
+ return m_isa_to_descriptor.end();
+
+ UpdateISAToDescriptorMap();
+
+ if (m_hash_to_isa_map.empty()) {
+ // No name hashes were provided, we need to just linearly power through
+ // the names and find a match
+ for (auto it = m_isa_to_descriptor.begin(), end = m_isa_to_descriptor.end();
+ it != end; ++it)
+ if (it->second->GetClassName() == name)
+ return it;
+ return m_isa_to_descriptor.end();
+ }
- if (name) {
- UpdateISAToDescriptorMap();
- if (m_hash_to_isa_map.empty()) {
- // No name hashes were provided, we need to just linearly power through
- // the names and find a match
- for (ISAToDescriptorIterator pos = m_isa_to_descriptor.begin();
- pos != end; ++pos) {
- if (pos->second->GetClassName() == name)
- return pos;
- }
- } else {
- // Name hashes were provided, so use them to efficiently lookup name to
- // isa/descriptor
- const uint32_t name_hash = llvm::djbHash(name.GetStringRef());
- std::pair<HashToISAIterator, HashToISAIterator> range =
- m_hash_to_isa_map.equal_range(name_hash);
- for (HashToISAIterator range_pos = range.first; range_pos != range.second;
- ++range_pos) {
- ISAToDescriptorIterator pos =
- m_isa_to_descriptor.find(range_pos->second);
- if (pos != m_isa_to_descriptor.end()) {
- if (pos->second->GetClassName() == name)
- return pos;
- }
- }
+ // Name hashes were provided, so use them to efficiently lookup name to
+ // isa/descriptor
+ const uint32_t name_hash = llvm::djbHash(name.GetStringRef());
+ std::pair<HashToISAIterator, HashToISAIterator> range =
+ m_hash_to_isa_map.equal_range(name_hash);
+ for (HashToISAIterator range_pos = range.first; range_pos != range.second;
+ ++range_pos) {
+ ISAToDescriptorIterator pos = m_isa_to_descriptor.find(range_pos->second);
+ if (pos != m_isa_to_descriptor.end()) {
+ if (pos->second->GetClassName() == name)
+ return pos;
}
}
- return end;
+
+ return m_isa_to_descriptor.end();
}
std::pair<ObjCLanguageRuntime::ISAToDescriptorIterator,
More information about the lldb-commits
mailing list