On Tuesday 20 May 2014 17:51:01 Peter Dimov wrote:
Andrey Semashev wrote:
Ping?
Uhh... No, I wasn't asleep at all, just resting... so you were saying...
Oh, sorry, I didn't mean to spoil a vacation or anything. I should learn patience some day...
On Thu, May 15, 2014 at 11:08 AM, Andrey Semashev
wrote: Hi,
I have a proposal to add new constants to the memory_order enum:
memory_order_hle = 16, memory_order_hle_acquire = memory_order_hle | memory_order_acquire, memory_order_hle_release = memory_order_hle | memory_order_release
These constants can be used to support Intel HLE (Hardware Lock Elision) [1] in Boost.Atomic and then reused by Boost.Sync. [...]
I have no objections. If you make a pull request I'll merge it.
BTW, maybe Boost.Atomic is a better place for memory_order.hpp?
It is. It was intended to go there. Problem was, when Boost.Atomic finally landed, I didn't want to make shared_ptr depend on it.
It now however occurs to me that shared_ptr doesn't actually use the memory order argument. So I can just make the functions take "int" and avoid the #include. We can then move
to Boost.Atomic.
Maybe I should better create a pull request removing the header from Boost.SmartPtr? (Should I also remove it from tests?) I could then commit the modified header to Boost.Atomic myself.