This is an archive of the discontinued LLVM Phabricator instance.

[NFC][libcxxabi] In cxa_guard, add a dedicated base class for the Guard classes.
AbandonedPublic

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

Details

Reviewers
ldionne
EricWF
nicholas
jroelofs
Group Reviewers
Restricted Project
Summary

This moves all of the common work such as splitting up the raw guard
object out of the individual Guard classes. In the process we also
update the signature of the InitByteNoThreads constructor to match the
others.

While the Guard classes already all inherited from the GuardObject
class, we want that to focus on managing reads/writes to the guard byte
(and thus we renamed GuardObject to GuardByte).

This is the 4th 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 D110093

Diff Detail

Event Timeline

DanielMcIntosh-IBM requested review of this revision.Sep 20 2021, 12:29 PM
DanielMcIntosh-IBM created this revision.
Herald added a project: Restricted Project. · View Herald TranscriptSep 20 2021, 12:29 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.