1.0.7.19: SB-EXT:COMPARE-AND-SWAP
commitbfb19d306581ac86feb4371846c4b9953d692dd8
authorNikodemus Siivola <nikodemus@random-state.net>
Sun, 15 Jul 2007 22:28:12 +0000 (15 22:28 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Sun, 15 Jul 2007 22:28:12 +0000 (15 22:28 +0000)
tree9e1504590da486e6c78e2caddbfb1f0b7f581b93
parentf34fee2b049814e26d32a5b041cb388acdf58814
1.0.7.19: SB-EXT:COMPARE-AND-SWAP

 * New macro SB-EXT:COMPARE-AND-SWAP provides a supported interface to
   compare-and-swap functionality.

 * New info-type :FUNCTION :STRUCTURE-ACCESSOR allows us to map from
   defstruct slot-accessor names to defstruct descriptions.

 * Add :CAS-TRANS slot keyword to DEFINE-PRIMITIVE object, and the
   compiler machinery needed to support compare and swap on primitive
   object slots.

 * New VOPs COMPARE-AND-SWAP-SLOT and %COMPARE-AND-SWAP-SYMBOL-VALUE.

 * Delete now unnecessary DEFINE-STRUCTURE-SLOT-COMPARE-AND-SWAP.

 * Use a consistent %COMPARE-AND-SWAP-FOO naming scheme for CAS
   functions.

 * Tests.

 Tested on x86/Linux & x86/Darwin, x86-64/Darwi, and PPC/Darwin.
24 files changed:
NEWS
base-target-features.lisp-expr
make-config.sh
package-data-list.lisp-expr
src/code/array.lisp
src/code/defstruct.lisp
src/code/late-extensions.lisp
src/code/target-defstruct.lisp
src/code/target-thread.lisp
src/compiler/fndb.lisp
src/compiler/fun-info-funs.lisp
src/compiler/generic/objdef.lisp
src/compiler/generic/vm-ir2tran.lisp
src/compiler/generic/vm-macs.lisp
src/compiler/globaldb.lisp
src/compiler/info-functions.lisp
src/compiler/x86-64/array.lisp
src/compiler/x86-64/cell.lisp
src/compiler/x86/array.lisp
src/compiler/x86/cell.lisp
src/pcl/cache.lisp
tests/array.pure.lisp
tests/compare-and-swap.impure.lisp [new file with mode: 0644]
version.lisp-expr