tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PATCH libatomic



On 10.05.2020 18:38, Kamil Rytarowski wrote:
>  LLDB will be patched to avoid atomics.
I have checked LLDB and std::atomic<uint64_t> is used on purpose and was
switched from mutexes 3 years ago.

https://github.com/llvm/llvm-project/commit/f9d16476573e16856bdb3250c817b0a2c631d2b1

Reverting this (or rewriting) is not viable as this change improved the
performance, the code was changed meanwhile and there were added two
more associated std::atomic<> variables. LLDB also requires recent C++
runtime.

As a fallback the cleanest approach is probably to reinvent standard
C++14 <atomic> as llvm::atomic<> and provide to broken Operating Systems
(only 1 candidate...) and... integrate libatomic directly into it. LLVM
<atomic> is around 3k LOC of C++ spaghetti code and I don't feel like
this is a reasonable use of time. Reinventing a stripped down <atomic>
and adding libatomic into it... is still some extra work that is
questionable. If I need to reinvent atomics + libatomic, better use of
time is to get proper libatomic into the base.

Attachment: signature.asc
Description: OpenPGP digital signature



Home | Main Index | Thread Index | Old Index