A generalized reference form as described in section 5.1.1 Overview of Places and Generalized Reference of the Common Lisp Hyperspec.
globally-accessible expands to place. The effect of using
) is the same as place, except when used inside
setf or a related macro such as
incf where it also ensures all stores are visible to other threads before modifying place. This includes all the stores that were made into the new value and, for a modifying macro or complex accessor, any stores that are done by the expansion.
See Ensuring stores are visible to other threads for a full discussion when
globally-accessible is needed.
When used with accessors that take a place as argument (
ldb or cdr-assoc),
globally-accessible needs to be used around innermost place, rather than the accessor, for example:
(setf macro-function)and the hash-table or vector containing the globally accessible cell was not created as single-threaded.
In other cases (globally accessible cells which are read without synchronization), you probably need
globally-accessible. See Ensuring stores are visible to other threads for exact details.
LispWorks User Guide and Reference Manual - 20 Sep 2017