On 14 Nov 2013, at 10:15, Stephan Eggermont <step...@stack.nl> 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