[libcxx-commits] [PATCH] D110101: [NFC][libcxxabi] Moved cxa_guard_acquire/release/abort into GuardBase

Daniel McIntosh via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Sep 20 12:50:23 PDT 2021


DanielMcIntosh-IBM created this revision.
DanielMcIntosh-IBM added reviewers: ldionne, EricWF.
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.

Since we want GuardByte to focus exclusively on managing reads/writes to
the guard byte, it shouldn't be responsible for co-ordinating with the
InitByte classes. Instead, we let GuardBase co-ordinate between
GuardByte and InitByte.

This design also eliminates the need for the curiously recurring 
template pattern, making control flow much easier to follow.

This is the 5th of 5 changes to overhaul cxa_guard.
See D108343 <https://reviews.llvm.org/D108343> for what the final result will be and more details on why
cxa_guard is getting overhauled.

Depends on D110097 <https://reviews.llvm.org/D110097>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D110101

Files:
  libcxxabi/src/cxa_guard_impl.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D110101.373698.patch
Type: text/x-patch
Size: 8510 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210920/23e31566/attachment-0001.bin>


More information about the libcxx-commits mailing list