This is an archive of the discontinued LLVM Phabricator instance.

[NFC][libcxxabi] Moved cxa_guard_acquire/release/abort into GuardBase
AbandonedPublic

Authored by DanielMcIntosh-IBM on Sep 20 2021, 12:50 PM.

Details

Reviewers
ldionne
EricWF
nicholas
jroelofs
Group Reviewers
Restricted Project
Summary

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 6 changes to overhaul cxa_guard.
See D108343 for what the final result will be and more details on why
cxa_guard is getting overhauled.

Depends on D110097

Diff Detail

Event Timeline

DanielMcIntosh-IBM requested review of this revision.Sep 20 2021, 12:50 PM
DanielMcIntosh-IBM created this revision.
Herald added a project: Restricted Project. · View Herald TranscriptSep 20 2021, 12:50 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
DanielMcIntosh-IBM edited the summary of this revision. (Show Details)Sep 23 2021, 9:28 AM

Abandoning, since I no longer think this is the best way of grouping the changes. See D115367, D115368 and D115369 for a newer version that groups things a little better, but with the same end result.