Implement %RAW-INSTANCE-ATOMIC-INCF/WORD interpreter stub.
commitfeb4018c78b1c99c23436696b6dcdfd957bdad39
authorDouglas Katzman <dougk@google.com>
Sat, 8 Nov 2014 02:50:33 +0000 (7 21:50 -0500)
committerDouglas Katzman <dougk@google.com>
Sat, 8 Nov 2014 02:50:33 +0000 (7 21:50 -0500)
treef1d9ca35f64895ef6cf959aa44f80202d6499b2b
parent8f6b014696b4f61a4016d20b55168f31b2e34253
Implement %RAW-INSTANCE-ATOMIC-INCF/WORD interpreter stub.

The vops were already working for PPC and x86 32-bit
but on 64-bit, the vop required a constant index.
But out-of-line calls didn't work on any supported platform.

Also resolve discrepancy between interpreted and compiled code:
because the macroexpansion of ATOMIC-INCF masks the 'delta'
to MOST-POSITIVE-WORD, the out-of-line code must have the identical
Lisp type as the VOP has for the primitive-type and sc restriction,
instead of the user-visible constraint of SIGNED-WORD.
NEWS
src/code/late-extensions.lisp
src/compiler/x86-64/cell.lisp
tests/compare-and-swap.impure.lisp