3 Commits
Author SHA1 Message Date
Derek Bruening 967c0a8bc7 i#8008 format: Update to clang-format-21 (#8009)
Updates our Github Actions runners to install clang-format-21. Updates
runsuite.cmake to prefer that version.
Reformats our files with this version.

Fixes #8008
2026-07-17 13:15:40 -04:00
Derek Bruening dfc1a7fec9 Replace FIXME with XXX and TODO (#7580)
Updates all the "FIXME" comments in the repository to instead use "TODO"
(for those about missing implementations: "NYI" or
"ASSERT_NOT_IMPLEMENTED") or "XXX" (everything else). This matches our
style guide which discourages "FIXME" as its connotations are too
negative and too easily mis-interpreted by readers and in code audits to
imply that the current state of things is broken in some way instead of
just meaning something could be improved.
2025-07-29 12:09:07 -04:00
Derek Bruening 5da8df6d9f i#2502 locks: Add acquires to bare loads in lock routines (#5370)
Adds load-acquire semantics to a number of bare loads (i.e., not
inside a mutex) in DR's various lock routines.

This includes a key missing load-acquire in the spinlock loop in
d_r_mutex_lock_app() which might help explain some performance issues
such as #4279.

Since some of these are in the utils.h header, and we have ordering
dependencies between utils.h and arch_exports.h, this required
splitting the atomic defines out of arch/arch_exports.h into a new
file arch/atomic_exports.h.  Since those atomic defines use ASSERT
which references dynamo_options, this further required splitting the
option struct out of options.h into options_struct.h.

Issue: #2502, #4928, #4279
2022-02-18 17:55:10 +00:00