(when (dsd-read-only slotd)
(error "Cannot use ~S with structure accessor for a read-only slot: ~S"
name place))
- #!+(or x86 x86-64)
+ #!+(or x86 x86-64 ppc)
`(truly-the sb!vm:word
(%raw-instance-atomic-incf/word
(the ,structure ,@args) ,index
(atomic-decf
`(- (the sb!vm:signed-word ,diff)))))))
;; No threads outside x86 and x86-64 for now, so this is easy...
- #!-(or x86 x86-64)
+ #!-(or x86 x86-64 ppc)
(with-unique-names (structure old)
`(sb!sys:without-interrupts
(let* ((,structure ,@args)
PLACE must be an accessor form whose CAR is the name of a DEFSTRUCT accessor
whose declared type is (UNSIGNED-BYTE 32) on 32 bit platforms,
-and (UNSIGNED-BYTE 64) on 64 bit platforms.
+and (UNSIGNED-BYTE 64) on 64 bit platforms -- the type SB-EXT:WORD can be used
+for this purpose.
DIFF defaults to 1, and must be a (SIGNED-BYTE 32) on 32 bit platforms,
and (SIGNED-BYTE 64) on 64 bit platforms.
PLACE must be an accessor form whose CAR is the name of a DEFSTRUCT accessor
whose declared type is (UNSIGNED-BYTE 32) on 32 bit platforms,
-and (UNSIGNED-BYTE 64) on 64 bit platforms.
+and (UNSIGNED-BYTE 64) on 64 bit platforms -- the type SB-EXT:WORD can be used
+for this purpose.
DIFF defaults to 1, and must be a (SIGNED-BYTE 32) on 32 bit platforms,
and (SIGNED-BYTE 64) on 64 bit platforms.