Require compiler barrier support.

Thomas Munro <tmunro@postgresql.org>

Commit: a011dc399cc82be07326c89c926bd5880160b1ba
Author: Thomas Munro <tmunro@postgresql.org>
Date: 2024-07-30T10:59:30Z
Releases: 18.0
Require compiler barrier support.

Previously we had a fallback implementation of pg_compiler_barrier()
that called an empty function across a translation unit boundary so the
compiler couldn't see what it did.  That shouldn't be needed on any
current systems, and might not even work with a link time optimizer.
Since we now require compiler-specific knowledge of how to implement
atomics, we should also know how to implement compiler barriers on a
hypothetical new system.

Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi>
Suggested-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/721bf39a-ed8a-44b0-8b8e-be3bd81db748%40technowledgy.de
Discussion: https://postgr.es/m/3351991.1697728588%40sss.pgh.pa.us

Files

PathChange+/−
src/backend/port/atomics.c modified +0 −8
src/include/port/atomics/fallback.h modified +0 −15
src/include/port/atomics.h modified +3 −0

Discussion