Something needs to happen with shared, and soon.
Alex Rønne Petersen
alex at lycus.org
Wed Nov 14 12:07:26 PST 2012
On 14-11-2012 21:00, Sean Kelly wrote:
> On Nov 14, 2012, at 6:16 AM, Andrei Alexandrescu <SeeWebsiteForEmail at erdani.org> 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.
>
> That was the point of the now deprecated "volatile" statement. I still don't entirely understand why it was deprecated.
>
The volatile statement was too general. All relevant compiler back ends
today only know of two kinds of volatile operations: Loads and stores.
Volatile statements couldn't ever be properly implemented in GDC and LDC
for example.
See also: http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP20
--
Alex Rønne Petersen
alex at lycus.org
http://lycus.org
More information about the Digitalmars-d
mailing list