diff options
| author | Tom Yang <zhenyutyang@gmail.com> | 2025-10-31 15:08:39 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-31 15:08:39 -0700 |
| commit | 74d4870aa503e90a614e4bc725d670abc5f90218 (patch) | |
| tree | 0c3417ad72fe9d72b006f40c4b20d3ddf7129031 /llvm/lib/TextAPI/BinaryReader/DylibReader.cpp | |
| parent | 4ac74fc6143b787e9e9ccd088b27ab6fe384b77c (diff) | |
| download | llvm-74d4870aa503e90a614e4bc725d670abc5f90218.zip llvm-74d4870aa503e90a614e4bc725d670abc5f90218.tar.gz llvm-74d4870aa503e90a614e4bc725d670abc5f90218.tar.bz2 | |
update ManualDWARFIndex::Index to use std::once (#165896)
Small change to use (what I think is) a better practice -- we were using
the `m_indexed` bool member to make sure we called `Index()` once, but
we should just use `std::once`! This change shouldn't affect
functionality.
This change may also make concurrent access to `Index()` thread-safe,
though the ManualDWARFIndex API isn't completely thread-safe due to
`Decode()`. I'm not sure if ManualDWARFIndex was ever intended to be
thread-safe.
Test Plan:
`ninja check-lldb`
Tested basic debugging workflow of a couple of large projects I had
built. Basically:
```
(lldb) target create <project>
(lldb) b main
(lldb) r
(lldb) step
...
```
I A/B tested the performance of launching several modules with parallel
module loading and didn't observe any performance regressions.
---------
Co-authored-by: Tom Yang <toyang@fb.com>
Diffstat (limited to 'llvm/lib/TextAPI/BinaryReader/DylibReader.cpp')
0 files changed, 0 insertions, 0 deletions
