;;;; files for more information.
(in-package "SB!KERNEL")
-\f
-;;;; primitive SAP operations
;;; Return T iff the SAP X points to a smaller address then the SAP Y.
(defun sap< (x y)
;;; 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))
(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))
(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 (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)
(fixnum offset)
(type long-float new-value))
(setf (sap-ref-long sap offset) new-value))
-\f
-;;;; system memory allocation
-
-(sb!alien:def-alien-routine ("os_allocate" allocate-system-memory)
- system-area-pointer
- (bytes sb!c-call:unsigned-long))
-
-(sb!alien:def-alien-routine ("os_allocate_at" allocate-system-memory-at)
- system-area-pointer
- (address system-area-pointer)
- (bytes sb!c-call:unsigned-long))
-
-(sb!alien:def-alien-routine ("os_reallocate" reallocate-system-memory)
- system-area-pointer
- (old system-area-pointer)
- (old-size sb!c-call:unsigned-long)
- (new-size sb!c-call:unsigned-long))
-
-(sb!alien:def-alien-routine ("os_deallocate" deallocate-system-memory)
- sb!c-call:void
- (addr system-area-pointer)
- (bytes sb!c-call:unsigned-long))