Something needs to happen with shared, and soon.

Sean Kelly sean at invisibleduck.org
Thu Nov 15 15:19:30 PST 2012


On Nov 15, 2012, at 2:18 PM, David Nadlinger <see at klickverbot.at> wrote:

> On Thursday, 15 November 2012 at 16:43:14 UTC, Sean Kelly wrote:
>> On Nov 15, 2012, at 5:16 AM, deadalnix <deadalnix at gmail.com> wrote:
>>> What is the point of ensuring that the compiler does not reorder load/stores if the CPU is allowed to do so ?
>> 
>> Because we can write ASM to tell the CPU not to.  We don't have any such ability for the compiler right now.
> 
> I think the question was: Why would you want to disable compiler code motion for loads/stores which are not atomic, as the CPU might ruin your assumptions anyway?

A barrier isn't always necessary to achieve the desired ordering on a given system.  But I'd still call out to ASM to make sure the intended operation happened.  I don't know that I'd ever feel comfortable with "volatile x=y" even if what I'd do instead is just a MOV.


More information about the Digitalmars-d mailing list