|
7 | 7 | *
|
8 | 8 | *
|
9 | 9 | * IDENTIFICATION
|
10 |
| - * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.55 1998/10/28 15:58:34 momjian Exp $ |
| 10 | + * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.56 1998/10/31 02:06:08 momjian Exp $ |
11 | 11 | *
|
12 | 12 | *-------------------------------------------------------------------------
|
13 | 13 | */
|
@@ -86,18 +86,18 @@ tas(volatile slock_t *lock)
|
86 | 86 | registerslock_t_res;
|
87 | 87 |
|
88 | 88 | __asm__(" ldq $0, %0 \n\
|
89 |
| - bne $0,already_set \n\ |
| 89 | + bne $0,3f \n\ |
90 | 90 | ldq_l $0, %0 \n\
|
91 |
| - bne $0,already_set \n\ |
| 91 | + bne $0,3f \n\ |
92 | 92 | or $31, 1, $0 \n\
|
93 | 93 | stq_c $0, %0 \n\
|
94 |
| - beq $0,stqc_fail \n\ |
95 |
| -success: bis $31, $31, %1 \n\ |
| 94 | + beq $0,2f \n\ |
| 95 | + bis $31, $31, %1 \n\ |
96 | 96 | mb \n\
|
97 |
| - jmp $31,end \n\ |
98 |
| -stqc_fail: or $31, 1, $0 \n\ |
99 |
| -already_set: bis $0, $0, %1 \n\ |
100 |
| -end: nop ":"=m"(*lock),"=r"(_res): :"0"); |
| 97 | + jmp $31,4f \n\ |
| 98 | + 2: or $31, 1, $0 \n\ |
| 99 | + 3: bis $0, $0, %1 \n\ |
| 100 | + 4: nop ":"=m"(*lock),"=r"(_res): :"0"); |
101 | 101 |
|
102 | 102 | return (int)_res;
|
103 | 103 | }
|
|