On Wednesday, 14 November 2012 at 14:16:57 UTC, Andrei Alexandrescu wrote:
On 11/14/12 1:20 AM, Walter Bright wrote:
On 11/13/2012 11:37 PM, Jacob Carlborg wrote:
If the compiler should/does not add memory barriers, then is there a
reason for
having it built into the language? Can a library solution be enough?

Memory barriers can certainly be added using library functions.

The compiler must understand the semantics of barriers such as e.g. it doesn't hoist code above an acquire barrier or below a release barrier.

Again, this is true, but it would be a fallacy to conclude that compiler-inserted memory barriers for »shared« are required due to this (and it is »shared« we are discussing here!).

Simply having compiler intrinsics for atomic loads/stores is enough, which is hardly »built into the language«.

David

Reply via email to