|
PAPI
5.0.1.0
|


Go to the source code of this file.
Defines | |
| #define | MUTEX_OPEN 0 |
| #define | MUTEX_CLOSED 1 |
| #define | _papi_hwd_lock(lck) |
| #define | _papi_hwd_unlock(lck) |
Variables | |
| volatile unsigned int | _papi_hwd_lock_data [PAPI_MAX_LOCK] |
| #define _papi_hwd_lock | ( | lck | ) |
do \ { \ unsigned int res = 0; \ do { \ __asm__ __volatile__ ("lock ; " "cmpxchg %1,%2" : "=a"(res) : "q"(MUTEX_CLOSED), "m"(_papi_hwd_lock_data[lck]), "0"(MUTEX_OPEN) : "memory"); \ } while(res != (unsigned int)MUTEX_OPEN); \ } while(0)
Definition at line 32 of file darwin-lock.h.
| #define _papi_hwd_unlock | ( | lck | ) |
do \ { \ unsigned int res = 0; \ __asm__ __volatile__ ("xchg %0,%1" : "=r"(res) : "m"(_papi_hwd_lock_data[lck]), "0"(MUTEX_OPEN) : "memory"); \ } while(0)
Definition at line 40 of file darwin-lock.h.
| #define MUTEX_CLOSED 1 |
Definition at line 30 of file darwin-lock.h.
| #define MUTEX_OPEN 0 |
Definition at line 29 of file darwin-lock.h.
| volatile unsigned int _papi_hwd_lock_data[PAPI_MAX_LOCK] |
Definition at line 32 of file darwin-common.c.