File tree Expand file tree Collapse file tree 2 files changed +3
-0
lines changed
include/llvm/DebugInfo/DWARF Expand file tree Collapse file tree 2 files changed +3
-0
lines changed Original file line number Diff line number Diff line change @@ -258,6 +258,7 @@ class DWARFUnit {
258
258
259
259
std::shared_ptr<DWARFUnit> DWO;
260
260
261
+ mutable llvm::sys::RWMutex CUDieFreeMutex;
261
262
mutable llvm::sys::RWMutex CUDieArrayMutex;
262
263
mutable llvm::sys::RWMutex AllDieArrayMutex;
263
264
Original file line number Diff line number Diff line change @@ -496,6 +496,7 @@ void DWARFUnit::extractDIEsIfNeeded(bool CUDieOnly) {
496
496
}
497
497
498
498
Error DWARFUnit::tryExtractDIEsIfNeeded (bool CUDieOnly) {
499
+ llvm::sys::ScopedReader FreeLock (CUDieFreeMutex);
499
500
{
500
501
llvm::sys::ScopedReader Lock (CUDieArrayMutex);
501
502
if ((CUDieOnly && !DieArray.empty ()) || DieArray.size () > 1 )
@@ -673,6 +674,7 @@ void DWARFUnit::clearDIEs(bool KeepCUDie) {
673
674
// It depends on the implementation whether the request is fulfilled.
674
675
// Create a new vector with a small capacity and assign it to the DieArray to
675
676
// have previous contents freed.
677
+ llvm::sys::ScopedWriter FreeLock (CUDieFreeMutex);
676
678
llvm::sys::ScopedWriter CULock (CUDieArrayMutex);
677
679
llvm::sys::ScopedWriter AllLock (AllDieArrayMutex);
678
680
DieArray = (KeepCUDie && !DieArray.empty ())
You can’t perform that action at this time.
0 commit comments