Performs a conditional store, atomically.
compare-and-swap place compare new-value => result
One of the specific set of places defined for low level atomic operations.
compare-and-swap compares the value in place with compare, and if they are the same (by
eq), stores the new-value in place.
compare-and-swap returns non-nil if the store occurred, or
nil if the store did not occur.
place must be one of the places described in Low level atomic operations, or expand to one of them.
The operation is guaranteed to be atomic.
LispWorks User Guide and Reference Manual - 13 Feb 2015