|
Boost Users : |
From: Baruch Zilber (baruchz_at_[hidden])
Date: 2007-07-25 02:52:27
>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 <machine/sys/inline.h>
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
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net