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
a...@lycus.org
http://lycus.org