File tree 1 file changed +9
-9
lines changed
1 file changed +9
-9
lines changed Original file line number Diff line number Diff line change 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
register slock_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
}
You can’t perform that action at this time.
0 commit comments