9
9
*
10
10
*
11
11
* IDENTIFICATION
12
- * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.79 2001/01/19 02 :58:59 momjian Exp $
12
+ * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.80 2001/01/19 03 :58:35 momjian Exp $
13
13
*
14
14
*-------------------------------------------------------------------------
15
15
*/
@@ -100,9 +100,9 @@ extern void s_lock_sleep(unsigned spins, int microsec,
100
100
*/
101
101
102
102
/*
103
- * Standard __asm__ format:
103
+ * Standard _asm format:
104
104
*
105
- * __asm__(
105
+ * __asm__ __volatile__ (
106
106
* "command;"
107
107
* "command;"
108
108
* "command;"
@@ -120,11 +120,11 @@ tas(volatile slock_t *lock)
120
120
{
121
121
register slock_t _res = 1 ;
122
122
123
- __asm__(
124
- "lock;"
125
- "xchgb %0,%1;"
126
- : "=q" (_res ), "=m" (* lock )
127
- : "0" (_res ));
123
+ __asm__ __volatile__ (
124
+ "lock;"
125
+ "xchgb %0,%1;"
126
+ : "=q" (_res ), "=m" (* lock )
127
+ : "0" (_res ));
128
128
return (int ) _res ;
129
129
}
130
130
@@ -139,11 +139,11 @@ tas(volatile slock_t *lock)
139
139
{
140
140
long int ret ;
141
141
142
- __asm__ __volatile__(
143
- "xchg4 %0=%1,%2;"
144
- : "=r" (ret ), "=m" (* lock )
145
- : "r" (1 ), "1" (* lock )
146
- : "memory" );
142
+ __asm__ __volatile__(
143
+ "xchg4 %0=%1,%2;"
144
+ : "=r" (ret ), "=m" (* lock )
145
+ : "r" (1 ), "1" (* lock )
146
+ : "memory" );
147
147
148
148
return (int ) ret ;
149
149
}
@@ -159,10 +159,10 @@ tas(volatile slock_t *lock)
159
159
{
160
160
register slock_t _res = 1 ;
161
161
162
- __asm__(
163
- "swpb %0, %0, [%3];"
164
- : "=r" (_res ), "=m" (* lock )
165
- : "0" (_res ), "r" (lock ));
162
+ __asm__ __volatile__ (
163
+ "swpb %0, %0, [%3];"
164
+ : "=r" (_res ), "=m" (* lock )
165
+ : "0" (_res ), "r" (lock ));
166
166
return (int ) _res ;
167
167
}
168
168
@@ -179,15 +179,15 @@ tas(volatile slock_t *lock)
179
179
{
180
180
int _res ;
181
181
182
- __asm__ __volatile (
183
- "la 1,1;"
184
- "l 2,%2;"
185
- "slr 0,0;"
186
- "cs 0,1,0(2);"
187
- "lr %1,0;"
188
- : "=m" (lock ), "=d" (_res )
189
- : "m" (lock )
190
- : "0" , "1" , "2" );
182
+ __asm__ __volatile__ (
183
+ "la 1,1;"
184
+ "l 2,%2;"
185
+ "slr 0,0;"
186
+ "cs 0,1,0(2);"
187
+ "lr %1,0;"
188
+ : "=m" (lock ), "=d" (_res )
189
+ : "m" (lock )
190
+ : "0" , "1" , "2" );
191
191
192
192
return (_res );
193
193
}
@@ -203,10 +203,10 @@ tas(volatile slock_t *lock)
203
203
{
204
204
register slock_t _res = 1 ;
205
205
206
- __asm__(
207
- "ldstub [%2], %0;"
208
- : "=r" (_res ), "=m" (* lock )
209
- : "r" (lock ));
206
+ __asm__ __volatile__ (
207
+ "ldstub [%2], %0;"
208
+ : "=r" (_res ), "=m" (* lock )
209
+ : "r" (lock ));
210
210
return (int ) _res ;
211
211
}
212
212
@@ -221,12 +221,12 @@ tas(volatile slock_t *lock)
221
221
{
222
222
register int rv ;
223
223
224
- __asm__ __volatile__(
225
- "tas %1;"
226
- "sne %0;"
227
- : "=d" (rv ), "=m" (* lock )
228
- : "1" (* lock )
229
- : "cc" );
224
+ __asm__ __volatile__(
225
+ "tas %1;"
226
+ "sne %0;"
227
+ : "=d" (rv ), "=m" (* lock )
228
+ : "1" (* lock )
229
+ : "cc" );
230
230
231
231
return rv ;
232
232
}
@@ -248,14 +248,14 @@ tas(volatile slock_t *lock)
248
248
{
249
249
register _res ;
250
250
251
- __asm__(
252
- "movl $1, r0;"
253
- "bbssi $0, (%1), 1f;"
254
- "clrl r0;"
255
- "1: movl r0, %0;"
256
- : "=r" (_res )
257
- : "r" (lock )
258
- : "r0" );
251
+ __asm__ __volatile__ (
252
+ "movl $1, r0;"
253
+ "bbssi $0, (%1), 1f;"
254
+ "clrl r0;"
255
+ "1: movl r0, %0;"
256
+ : "=r" (_res )
257
+ : "r" (lock )
258
+ : "r0" );
259
259
return (int ) _res ;
260
260
}
261
261
@@ -270,10 +270,10 @@ tas(volatile slock_t *lock)
270
270
{
271
271
register _res ;
272
272
273
- __asm__(
274
- "sbitb 0, %0;"
275
- "sfsd %1;"
276
- : "=m" (* lock ), "=r" (_res ));
273
+ __asm__ __volatile__ (
274
+ "sbitb 0, %0;"
275
+ "sfsd %1;"
276
+ : "=m" (* lock ), "=r" (_res ));
277
277
return (int ) _res ;
278
278
}
279
279
@@ -326,28 +326,33 @@ tas(volatile slock_t *s_lock)
326
326
#if defined(__GNUC__ )
327
327
328
328
#define TAS (lock ) tas(lock)
329
- #define S_UNLOCK (lock ) do { __asm__ volatile ("mb"); *(lock) = 0; } while (0)
329
+ #define S_UNLOCK (lock ) \
330
+ do \
331
+ {\
332
+ __asm__ __volatile__ ("mb"); \
333
+ *(lock) = 0; \
334
+ } while (0)
330
335
331
336
static __inline__ int
332
337
tas (volatile slock_t * lock )
333
338
{
334
339
register slock_t _res ;
335
340
336
- __asm__ volatile (
337
- "ldq $0, %0;"
338
- "bne $0, 2f;"
339
- "ldq_l %1, %0;"
340
- "bne %1, 2f;"
341
- "mov 1, $0;"
342
- "stq_c $0, %0;"
343
- "beq $0, 2f;"
344
- "mb;"
345
- "br 3f;"
346
- "2: mov 1, %1;"
347
- "3:"
348
- : "=m" (* lock ), "=r" (_res )
349
- :
350
- : "0" );
341
+ __asm__ __volatile__ (
342
+ "ldq $0, %0;"
343
+ "bne $0, 2f;"
344
+ "ldq_l %1, %0;"
345
+ "bne %1, 2f;"
346
+ "mov 1, $0;"
347
+ "stq_c $0, %0;"
348
+ "beq $0, 2f;"
349
+ "mb;"
350
+ "br 3f;"
351
+ "2: mov 1, %1;"
352
+ "3:"
353
+ : "=m" (* lock ), "=r" (_res )
354
+ :
355
+ : "0" );
351
356
352
357
return (int ) _res ;
353
358
}
0 commit comments