|
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 | } |
|