signed-reg signed-num :long t)
(def-system-ref-and-set sap-ref-sap %set-sap-ref-sap
sap-reg system-area-pointer :long)
+ (def-system-ref-and-set sap-ref-lispobj %set-sap-ref-lispobj
+ descriptor-reg * :long)
(def-system-ref-and-set sap-ref-single %set-sap-ref-single
single-reg single-float :single)
(def-system-ref-and-set sap-ref-double %set-sap-ref-double
(:generator 2
(inst add sap vector
(- (* vector-data-offset n-word-bytes) other-pointer-lowtag))))
-\f
-;;; Transforms for 64-bit SAP accessors.
-(deftransform sap-ref-64 ((sap offset) (* *))
- '(logior (ash (sap-ref-32 sap offset) 32)
- (sap-ref-32 sap (+ offset 4))))
-
-(deftransform signed-sap-ref-64 ((sap offset) (* *))
- '(logior (ash (signed-sap-ref-32 sap offset) 32)
- (sap-ref-32 sap (+ 4 offset))))
-
-(deftransform %set-sap-ref-64 ((sap offset value) (* * *))
- '(progn
- (%set-sap-ref-32 sap offset (ash value -32))
- (%set-sap-ref-32 sap (+ offset 4) (logand value #xffffffff))))
-
-(deftransform %set-signed-sap-ref-64 ((sap offset value) (* * *))
- '(progn
- (%set-signed-sap-ref-32 sap offset (ash value -32))
- (%set-sap-ref-32 sap (+ 4 offset) (logand value #xffffffff))))