mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-29 16:01:38 +00:00
partial revert
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33115 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
3037852464
commit
794bd55f57
2 changed files with 38 additions and 10 deletions
|
@ -226,7 +226,8 @@ typedef int32_t volatile *gsatomic_t;
|
|||
|
||||
#define GSATOMICREAD(X) (*(X))
|
||||
|
||||
int
|
||||
#ifdef ATOMICTEST
|
||||
static __inline__ int
|
||||
GSAtomicIncrement(gsatomic_t X)
|
||||
{
|
||||
int32_t tmp = 1;
|
||||
|
@ -238,7 +239,7 @@ GSAtomicIncrement(gsatomic_t X)
|
|||
return tmp;
|
||||
}
|
||||
|
||||
int
|
||||
static __inline__ int
|
||||
GSAtomicDecrement(gsatomic_t X)
|
||||
{
|
||||
int32_t tmp = -1;
|
||||
|
@ -249,6 +250,27 @@ GSAtomicDecrement(gsatomic_t X)
|
|||
:"memory" );
|
||||
return tmp;
|
||||
}
|
||||
#else
|
||||
|
||||
static __inline__ int
|
||||
GSAtomicIncrement(gsatomic_t X)
|
||||
{
|
||||
__asm__ __volatile__ (
|
||||
"lock addl $1, %0"
|
||||
:"=m" (*X));
|
||||
return *X;
|
||||
}
|
||||
|
||||
static __inline__ int
|
||||
GSAtomicDecrement(gsatomic_t X)
|
||||
{
|
||||
__asm__ __volatile__ (
|
||||
"lock subl $1, %0"
|
||||
:"=m" (*X));
|
||||
return *X;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#elif defined(__PPC__) || defined(__POWERPC__)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue