Boost logo

Boost :

Subject: Re: [boost] [smart_ptr] Proposal to add new memory order constants
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2014-05-20 13:09:41


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
>
> <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.

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.


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