aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/storage/s_lock.h24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h
index 2fd7988e5e5..d7dde21a5e2 100644
--- a/src/include/storage/s_lock.h
+++ b/src/include/storage/s_lock.h
@@ -66,7 +66,7 @@
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/storage/s_lock.h,v 1.133.4.1 2005/08/26 14:48:13 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/storage/s_lock.h,v 1.133.4.2 2005/08/26 22:04:53 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -449,25 +449,25 @@ typedef unsigned int slock_t;
static __inline__ int
tas(volatile slock_t *lock)
{
- register volatile slock_t *__l = lock;
- register int __r;
+ register volatile slock_t *_l = lock;
+ register int _res;
+ register int _tmp;
__asm__ __volatile__(
" .set push \n"
" .set mips2 \n"
" .set noreorder \n"
" .set nomacro \n"
- "1: ll %0, %1 \n"
- " bne %0, $0, 1f \n"
- " xori %0, 1 \n"
- " sc %0, %1 \n"
- " beq %0, $0, 1b \n"
- " sync \n"
+ " ll %0, %2 \n"
+ " or %1, %0, $1 \n"
+ " sc %1, %2 \n"
+ " xori %1, $1 \n"
+ " or %0, %0, %1 \n"
"1: .set pop "
-: "=&r" (__r), "+R" (*__l)
+: "=&r" (_res), "=&r" (_tmp), "+R" (*_l)
:
-: "memory", "cc");
- return __r;
+: "memory");
+ return _res;
}
#endif /* __mips__ && !__sgi */