Skip to content

Commit 6a2669d

Browse files
committed
use lower_bound instead of a for loop
1 parent 0ee7e7f commit 6a2669d

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

src/gui/widgets/assembly.cc

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1150,16 +1150,15 @@ std::list<std::string> PCSX::Widgets::Assembly::findSymbol(uint32_t addr) {
11501150
}
11511151

11521152
std::optional<std::string> PCSX::Widgets::Assembly::findPreviousSymbol(uint32_t addr) {
1153-
std::optional<std::string> ret;
1154-
for (auto& symbol : g_emulator->m_cpu->m_symbols) {
1155-
if (symbol.first >= addr) {
1156-
break;
1157-
}
1158-
if (symbol.first >= m_ramBase) {
1159-
ret = symbol.second;
1153+
auto& symbols = g_emulator->m_cpu->m_symbols;
1154+
auto symBeforeAddr = symbols.lower_bound(addr);
1155+
if (symBeforeAddr != symbols.begin()) { // verify there is actually a symbol before addr
1156+
symBeforeAddr--;
1157+
if (symBeforeAddr->first < addr && symBeforeAddr->first >= m_ramBase) {
1158+
return symBeforeAddr->second;
11601159
}
11611160
}
1162-
return ret;
1161+
return {};
11631162
}
11641163

11651164
void PCSX::Widgets::Assembly::rebuildSymbolsCaches() {

0 commit comments

Comments
 (0)