Skip to content

Atomic Memory Access Instructions ​

Instruction: current-thread s24:dst ​

Write the current thread into dst.

Instruction: atomic-scm-ref/immediate s8:dst s8:obj c8:idx ​

Atomically load the SCM object at word offset idx from local obj, using the sequential consistency memory model. Store the result to dst.

Instruction: atomic-scm-set!/immediate s8:obj c8:idx s8:val ​

Atomically set the SCM object at word offset idx from local obj to val, using the sequential consistency memory model.

Instruction: atomic-scm-swap!/immediate s24:dst x8:_ s24:obj c8:idx s24:val ​

Atomically swap the SCM value stored in object obj at word offset idx with val, using the sequentially consistent memory model. Store the previous value to dst.

Instruction: atomic-scm-compare-and-swap!/immediate s24:dst x8:_ s24:obj c8:idx s24:expected x8:_ s24:desired ​

Atomically swap the SCM value stored in object obj at word offset idx with desired, if and only if the value that was there was expected, using the sequentially consistent memory model. Store the value that was previously at idx from obj in dst.