Hi Baruch,
thank you for doing this.
Can you, please, post your code here (I guess, it is a header file like
sp_counted_base_gcc_ia64.hpp)?. It will be reviewed by the Boost
community
and we'll review it at HP. And, then, it can be added to Boost,
hopefully,
in Boost 1.35 time frame.
Thanks again,
Boris
I copy the file sp_counted_base_gcc_ia64.hpp to
sp_counted_base_acc_ia64.hpp and change the following methods:
atomic_increment(),atomic_decrement() and atomic_conditional_increment()
The change was:
#include
inline void atomic_increment( int * pw )
{
_Asm_mf();
static_cast<int>(_Asm_fetchadd(_FASZ_W, _SEM_REL, (void*)pw, +1,
_LDHINT_NONE) + 1);
}
inline int atomic_decrement( int * pw )
{
_Asm_mf();
return (static_cast<int>(_Asm_fetchadd(_FASZ_W, _SEM_REL, (void*)pw,
-1, _LDHINT_NONE) - 1) - 1);
}
inline int atomic_conditional_increment( int * pw )
{
return _Asm_mov_to_ar((_Asm_app_reg)_AREG_CCV,
*pw,
(_Asm_fence)(_UP_CALL_FENCE | _UP_SYS_FENCE |
_DOWN_CALL_FENCE | _DOWN_SYS_FENCE)),
_Asm_mf(),
(_Asm_cmpxchg((_Asm_sz)4,
(_Asm_sem)_SEM_REL,
pw,
*pw + 1,
(_Asm_ldhint)_LDHINT_NONE));
}
Thanks
Baruch
This message and the information contained herein is proprietary and confidential and subject to the Amdocs policy statement,
you may review at http://www.amdocs.com/email_disclaimer.asp