Something needs to happen with shared, and soon.

Alex Rønne Petersen alex at lycus.org
Tue Nov 13 17:36:19 PST 2012


On 14-11-2012 02:33, Walter Bright wrote:
> On 11/13/2012 3:43 PM, Alex Rønne Petersen wrote:
>> FWIW, these are the types and type categories I'd expect shared
>> load/store to
>> work on, on any architecture:
>>
>> * ubyte, byte
>> * ushort, short
>> * uint, int
>> * ulong, long
>> * float, double
>> * pointers
>> * slices
>> * references
>> * function pointers
>> * delegates
>>
>
> Not going to portably work on long, ulong, double, slices, or delegates.
>
> (The compiler should issue an error where it won't work, and allow it
> where it does, letting the user decide what to do about the non-working
> cases.)

I amended that (see my other post). 8-byte loads/stores can be done 
atomically on all relevant architectures today. Andrei linked a page a 
while back that explained how to do it on x86, ARM, MIPS, and PowerPC 
(if memory serves), but I can't seem to find it again...

-- 
Alex Rønne Petersen
alex at lycus.org
http://lycus.org


More information about the Digitalmars-d mailing list