forked from OSchip/llvm-project
6cfc90b9b7
Summary: DWARF-parsing methods in SymbolFileDWARF which update module state typically take the module lock. ParseCallEdgesInFunction doesn't do this, but higher-level locking within lldb::Function (which owns the storage for parsed call edges) is necessary. The lack of locking could explain some as-of-yet unreproducible crashes which occur in Function::GetTailCallingEdges(). In these crashes, the `m_call_edges` vector is non-empty but contains a nullptr, which shouldn't be possible. (If this vector is non-empty, it _must_ contain a non-null unique_ptr.) This may address rdar://55622443 and rdar://65119458. Reviewers: jasonmolenda, friss, jingham Subscribers: aprantl, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D83359 |
||
---|---|---|
.. | ||
ArmUnwindInfo.cpp | ||
Block.cpp | ||
CMakeLists.txt | ||
CompactUnwindInfo.cpp | ||
CompileUnit.cpp | ||
CompilerDecl.cpp | ||
CompilerDeclContext.cpp | ||
CompilerType.cpp | ||
DWARFCallFrameInfo.cpp | ||
DebugMacros.cpp | ||
DeclVendor.cpp | ||
Declaration.cpp | ||
FuncUnwinders.cpp | ||
Function.cpp | ||
LineEntry.cpp | ||
LineTable.cpp | ||
LocateSymbolFile.cpp | ||
LocateSymbolFileMacOSX.cpp | ||
ObjectFile.cpp | ||
PostfixExpression.cpp | ||
Symbol.cpp | ||
SymbolContext.cpp | ||
SymbolFile.cpp | ||
SymbolVendor.cpp | ||
Symtab.cpp | ||
Type.cpp | ||
TypeList.cpp | ||
TypeMap.cpp | ||
TypeSystem.cpp | ||
UnwindPlan.cpp | ||
UnwindTable.cpp | ||
Variable.cpp | ||
VariableList.cpp |