Boost logo

Boost :

Subject: Re: [boost] [smart_ptr] Proposal to add new memory order constants
From: Peter Dimov (lists_at_[hidden])
Date: 2014-05-20 10:51:01


Andrey Semashev wrote:

> Ping?

Uhh... No, I wasn't asleep at all, just resting... so you were saying...

On Thu, May 15, 2014 at 11:08 AM, Andrey Semashev
<andrey.semashev_at_[hidden]> 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 <boost/memory_order.hpp> to Boost.Atomic.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk