Testing some singleton implementations

Marco Leise Marco.Leise at gmx.de
Fri Feb 7 17:10:38 PST 2014


Am Fri, 07 Feb 2014 17:10:06 +0000
schrieb "Stanislav Blinov" <stanislav.blinov at gmail.com>:

> On Friday, 7 February 2014 at 16:57:50 UTC, Sean Kelly wrote:
> > On Friday, 7 February 2014 at 16:36:03 UTC, Stanislav Blinov 
> > wrote:
> >>
> >> No barriers in sight.
> >
> > Awesome.  Then I think we can go back to the old logic.
> 
> Cool. Also, from 
> http://en.cppreference.com/w/cpp/atomic/memory_order:
> 
> --8<--
> 
> On strongly-ordered systems (x86, SPARC, IBM mainframe), 
> release-acquire ordering is automatic for the majority of 
> operations. No additional CPU instructions are issued for this 
> synchronization mode, only certain compiler optimizations are 
> affected (e.g. the compiler is prohibited from moving non-atomic 
> stores past the atomic store-release or perform non-atomic loads 
> earlier than the atomic load-acquire)
> 
> -->8--

Strong-ordering does not work on x86/amd64 in two cases:
http://preshing.com/20120913/acquire-and-release-semantics/#IDComment721195739

Just thought I should throw that in. Only the official CPU docs
will give certainty :)

-- 
Marco



More information about the Digitalmars-d mailing list