On 14 Nov 2013, at 10:15, Stephan Eggermont <[email protected]> wrote:
> Reading this code, made me wonder what operations are actually atomic.
> Anyone having a good explanation?
>
> Stephan
>
> AtomicQueueItem>makeCircular
> "Make a receiver circular, i.e. point to itself,
> answer the old value of next variable.
> Note, this operation should be atomic"
>
> | temp |
>
> " atomic swap here"
> temp := next.
> next := self.
>
> ^ temp
>
-> no message send
-> no back jump bytecode
therefore it can not be interrupted and process switches can not happen between
the statements.
Marcus