Oct. 12, 2010
2:07 p.m.
To swap two values, you usually do:
| var1 var2 temp |
temp := var1. var1 := var2. var2 := temp.
But since its non-atomic, a process can be interrupted and such operation is not thread-safe.
As far as I know the VM only preempts on back-jumps and message sends. None of that exists in your code snipped, so it should be atomic. No? Lukas -- Lukas Renggli www.lukas-renggli.ch