]> granicus.if.org Git - postgresql/commit
Adjust TAS assembly as per recent discussions: use "+m"(*lock) everywhere
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 19 Jun 2004 23:02:32 +0000 (23:02 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 19 Jun 2004 23:02:32 +0000 (23:02 +0000)
commit109867748259d286dd01fce17d5f895ce59c68d5
treef03ec04a39f8ad1beeb95ad87aa368c691f0c0b3
parentc1d9dec3e39e8e9e5be87c702f160c27e71cc27a
Adjust TAS assembly as per recent discussions: use "+m"(*lock) everywhere
to reference the spinlock variable, and specify "memory" as a clobber
operand to be sure gcc does not try to keep shared-memory values in
registers across a spinlock acquisition.  Also tighten the S/390 asm
sequence, which was apparently written with only minimal study of the
gcc asm documentation.  I have personally tested i386, ia64, ppc, hppa,
and s390 variants --- there is some small chance that I broke the others,
but I doubt it.
src/include/storage/s_lock.h