diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2010-03-05 12:20:47 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2010-03-05 12:20:47 +0000 |
commit | 8e121d80373a2fb09e8e7b0295f948b0515f250d (patch) | |
tree | b60fffb76d5b66cfa1dc7839f9d8ba00c4d55bff /ACE/ace/Atomic_Op_GCC_T.cpp | |
parent | bc9dda30559fa47bad2fa3025176dedb53fc44ed (diff) | |
download | ATCD-8e121d80373a2fb09e8e7b0295f948b0515f250d.tar.gz |
Fri Mar 5 12:20:54 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
* ace/Atomic_Op.h:
* ace/Atomic_Op.inl:
* ace/Atomic_Op_GCC_T.cpp:
* ace/Atomic_Op_GCC_T.h:
* ace/Atomic_Op_GCC_T.inl:
Added new Atomic template for the GCC builtin atomic op support.
This is used on PPC64/PPC32/IA64 for int/unsigned int/long/unsigned long.
On EM64T we do use this for int/unsigned int, the ACE assembly version for
long/unsigned long is faster than the GCC.
* ace/config-g++-common.h:
Enable the new builtin atomic also for EM64T
* ace/ace.mpc:
* ace/Makefile.am:
Added new files
Diffstat (limited to 'ACE/ace/Atomic_Op_GCC_T.cpp')
-rw-r--r-- | ACE/ace/Atomic_Op_GCC_T.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/ACE/ace/Atomic_Op_GCC_T.cpp b/ACE/ace/Atomic_Op_GCC_T.cpp new file mode 100644 index 00000000000..1cfec57eef9 --- /dev/null +++ b/ACE/ace/Atomic_Op_GCC_T.cpp @@ -0,0 +1,27 @@ +// $Id$ + +#include "ace/OS_NS_unistd.h" + +ACE_RCSID (ace, + Atomic_Op_GCC, + "$Id$") + +#if defined (ACE_HAS_GCC_ATOMIC_BUILTINS) && (ACE_HAS_GCC_ATOMIC_BUILTINS == 1) + +#if !defined (__ACE_INLINE__) +#include "ace/Atomic_Op_GCC_T.inl" +#endif /* __ACE_INLINE__ */ + +template <typename T> +void +ACE_Atomic_Op_GCC<T>::dump (void) const +{ +#if defined (ACE_HAS_DUMP) + ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); + ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); +#endif /* ACE_HAS_DUMP */ +} + +ACE_END_VERSIONED_NAMESPACE_DECL + +#endif /* ACE_HAS_GCC_ATOMIC_BUILTINS */ |