X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fcross-sap.lisp;h=739fa1160deac405bc78e780906be94015cdd402;hb=77d94d36bcfd3d5eea73ad51e6ee621a8938f995;hp=d4fcfe90c87b25010b813f49b7f49e5b26a08a5c;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/code/cross-sap.lisp b/src/code/cross-sap.lisp index d4fcfe9..739fa11 100644 --- a/src/code/cross-sap.lisp +++ b/src/code/cross-sap.lisp @@ -12,21 +12,19 @@ (in-package "SB!SYS") -(file-comment - "$Header$") - -;;; SYSTEM-AREA-POINTER is not a primitive type in ANSI Common Lisp, so we -;;; need a compound type to represent it in the host Common Lisp at -;;; cross-compile time: -(defstruct (system-area-pointer (:constructor make-sap) (:conc-name "SAP-")) +;;; SYSTEM-AREA-POINTER is not a primitive type in ANSI Common Lisp, +;;; so we need a compound type to represent it in the host Common Lisp +;;; at cross-compile time: +(defstruct (system-area-pointer (:constructor make-sap) + (:conc-name "SAP-")) ;; the integer representation of the address - (int (error "missing SAP-INT argument") :type sap-int-type :read-only t)) + (int (error "missing SAP-INT argument") :type sap-int :read-only t)) ;;; cross-compilation-host analogues of target-CMU CL primitive SAP operations (defun int-sap (int) (make-sap :int int)) (defun sap+ (sap offset) - (declare (type system-area-pointer sap) (type sap-int-type offset)) + (declare (type system-area-pointer sap) (type sap-int offset)) (make-sap :int (+ (sap-int sap) offset))) #.`(progn ,@(mapcar (lambda (info) @@ -35,9 +33,10 @@ (,int-fun (sap-int x) (sap-int y))))) '((sap< <) (sap<= <=) (sap= =) (sap>= >=) (sap> >) (sap- -)))) -;;; dummies, defined so that we can declare they never return and thereby -;;; eliminate a thundering herd of optimization notes a la "can't optimize this -;;; expression because we don't know the return type of SAP-REF-8" +;;; dummies, defined so that we can declare they never return and +;;; thereby eliminate a thundering herd of optimization notes along +;;; the lines of "can't optimize this expression because we don't know +;;; the return type of SAP-REF-8" (defun sap-ref-stub (name) (error "~S doesn't make sense on cross-compilation host." name)) #.`(progn @@ -47,7 +46,7 @@ (defun ,name (sap offset) (declare (ignore sap offset)) (sap-ref-stub ',name)) - ,@(let ((setter-stub (gensym "SAP-SETTER-STUB-"))) + ,@(let ((setter-stub (gensym "SETTER-STUB-"))) `((defun ,setter-stub (foo sap offset) (declare (ignore foo sap offset)) (sap-ref-stub '(setf ,name)))