mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-02 22:32:08 +00:00
DWARF: avoid unnecessary map lookups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140260 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
64ac73bb15
commit
1d13d9ed96
@ -116,17 +116,16 @@ DWARFDebugLine::getLineTable(uint32_t offset) const {
|
||||
const DWARFDebugLine::LineTable *
|
||||
DWARFDebugLine::getOrParseLineTable(DataExtractor debug_line_data,
|
||||
uint32_t offset) {
|
||||
LineTableIter pos = LineTableMap.find(offset);
|
||||
if (pos == LineTableMap.end()) {
|
||||
std::pair<LineTableIter, bool> pos =
|
||||
LineTableMap.insert(LineTableMapTy::value_type(offset, LineTable()));
|
||||
if (pos.second) {
|
||||
// Parse and cache the line table for at this offset.
|
||||
State state;
|
||||
if (!parseStatementTable(debug_line_data, &offset, state))
|
||||
return 0;
|
||||
// FIXME: double lookup.
|
||||
LineTableMap[offset] = state;
|
||||
return &LineTableMap[offset];
|
||||
pos.first->second = state;
|
||||
}
|
||||
return &pos->second;
|
||||
return &pos.first->second;
|
||||
}
|
||||
|
||||
bool
|
||||
|
Loading…
x
Reference in New Issue
Block a user