0.9.2.18: various error &co reporting improvements and build tweaks
[sbcl.git] / src / code / target-sap.lisp
index 5a429b6..d49334a 100644 (file)
@@ -56,7 +56,7 @@
 
 ;;; Convert an integer into a SAP.
 (defun int-sap (int)
-  (declare (type sap-int-type int))
+  (declare (type sap-int int))
   (int-sap int))
 
 ;;; Return the 8-bit byte at OFFSET bytes from SAP.
   (sap-ref-32 sap offset))
 
 ;;; Return the 64-bit quadword at OFFSET bytes from SAP.
-#!+alpha
 (defun sap-ref-64 (sap offset)
   (declare (type system-area-pointer sap)
           (fixnum offset))
   (sap-ref-64 sap offset))
 
+;;; Return the unsigned word of natural size OFFSET bytes from SAP.
+(defun sap-ref-word (sap offset)
+  (declare (type system-area-pointer sap)
+          (fixnum offset))
+  (sap-ref-word sap offset))
+
 ;;; Return the 32-bit SAP at OFFSET bytes from SAP.
 (defun sap-ref-sap (sap offset)
   (declare (type system-area-pointer sap)
   (signed-sap-ref-32 sap offset))
 
 ;;; Return the signed 64-bit quadword at OFFSET bytes from SAP.
-#!+alpha
 (defun signed-sap-ref-64 (sap offset)
   (declare (type system-area-pointer sap)
           (fixnum offset))
   (signed-sap-ref-64 sap offset))
 
+;;; Return the signed word of natural size OFFSET bytes from SAP.
+(defun signed-sap-ref-word (sap offset)
+  (declare (type system-area-pointer sap)
+          (fixnum offset))
+  (signed-sap-ref-word sap offset))
+
 (defun %set-sap-ref-8 (sap offset new-value)
   (declare (type system-area-pointer sap)
           (fixnum offset)
           (type (unsigned-byte 32) new-value))
   (setf (sap-ref-32 sap offset) new-value))
 
-#!+alpha
 (defun %set-sap-ref-64 (sap offset new-value)
   (declare (type system-area-pointer sap)
           (fixnum offset)
           (type (unsigned-byte 64) new-value))
   (setf (sap-ref-64 sap offset) new-value))
 
+(defun %set-sap-ref-word (sap offset new-value)
+  (declare (type system-area-pointer sap)
+          (fixnum offset)
+          (type (unsigned-byte #.sb!vm:n-machine-word-bits) new-value))
+  (setf (sap-ref-word sap offset) new-value))
+
 (defun %set-signed-sap-ref-8 (sap offset new-value)
   (declare (type system-area-pointer sap)
           (fixnum offset)
           (type (signed-byte 32) new-value))
   (setf (signed-sap-ref-32 sap offset) new-value))
 
-#!+alpha
 (defun %set-signed-sap-ref-64 (sap offset new-value)
   (declare (type system-area-pointer sap)
           (fixnum offset)
           (type (signed-byte 64) new-value))
   (setf (signed-sap-ref-64 sap offset) new-value))
 
+(defun %set-signed-sap-ref-word (sap offset new-value)
+  (declare (type system-area-pointer sap)
+          (fixnum offset)
+          (type (signed-byte #.sb!vm:n-machine-word-bits) new-value))
+  (setf (signed-sap-ref-word sap offset) new-value))
+
 (defun %set-sap-ref-sap (sap offset new-value)
   (declare (type system-area-pointer sap new-value)
           (fixnum offset))