[libcxx-commits] [PATCH] D108343: [NFC][libcxxabi] Refactor libcxxabi/src/cxa_guard_impl.h

Daniel McIntosh via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Aug 18 16:44:55 PDT 2021


DanielMcIntosh-IBM created this revision.
DanielMcIntosh-IBM added reviewers: ldionne, EricWF, zibi.
Herald added a subscriber: jfb.
DanielMcIntosh-IBM requested review of this revision.
Herald added a project: libc++abi.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++abi.

The new version doesn't need the curiously recurring template pattern, is
consistent about naming of GlobalMutex vs GlobalLock, has a lot more comments,
and has a much better separation of concerns than before.

In addition to being much cleaner and easier to understand, these changes are
also going to be needed later, when another set of changes gets put upstream
(pending approval by IBM management).

If this set of changes it too large for a single PR/commit, I can easily break
it down into the following 5 change sets:

- Rename GlobalLock to GlobalMutex
- Make InitByteGlobalMutex check GetThreadID instead of PlatformThreadID
- Split InitByteXXX classes
- Added GuardBase class
- Moved cxa_guard_acquire/release/abort into GuardBase


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D108343

Files:
  libcxxabi/src/cxa_guard_impl.h
  libcxxabi/test/guard_test_basic.pass.cpp
  libcxxabi/test/guard_threaded_test.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D108343.367359.patch
Type: text/x-patch
Size: 21806 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210818/5b1afec4/attachment-0001.bin>


More information about the libcxx-commits mailing list