(values vector index))
(values array index)))
+(declaim (inline simple-vector-compare-and-swap))
(defun simple-vector-compare-and-swap (vector index old new)
#!+(or x86 x86-64)
(%simple-vector-compare-and-swap vector
(:little-endian
(- sb!vm:other-pointer-lowtag))
(:big-endian
- ;; I'm not completely sure of what this
- ;; 3 represents symbolically. It's
- ;; just what all the LOAD-TYPE vops
- ;; are doing.
- (- 3 sb!vm:other-pointer-lowtag)))))
+ (- (1- sb!vm:n-word-bytes) sb!vm:other-pointer-lowtag)))))
;; WIDETAG-OF needs extra code to handle
;; LIST and FUNCTION lowtags. We're only
;; dispatching on other pointers, so let's