X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Faliencomp.lisp;h=487b61985412be369f5bf3e41e257155a1c06b8b;hb=03df95052f395c205d7e5028e06bc043ee60125d;hp=f586d860d0b06e2c506dca9e97e09cdad6c02038;hpb=be9eb6c67b5f43a095c3de17bea945c309d662e4;p=sbcl.git diff --git a/src/compiler/aliencomp.lisp b/src/compiler/aliencomp.lisp index f586d86..487b619 100644 --- a/src/compiler/aliencomp.lisp +++ b/src/compiler/aliencomp.lisp @@ -68,7 +68,6 @@ (defknown alien-funcall (alien-value &rest *) * (any recursive)) -(defknown %alien-funcall (system-area-pointer alien-type &rest *) *) ;;;; cosmetic transforms @@ -157,7 +156,7 @@ (multiple-value-bind (slot-offset slot-type) (find-slot-offset-and-type alien slot) (/noshow "in DEFTRANSFORM %SLOT-ADDR, creating %SAP-ALIEN") - `(%sap-alien (sap+ (alien-sap alien) (/ ,slot-offset sb!vm:byte-bits)) + `(%sap-alien (sap+ (alien-sap alien) (/ ,slot-offset sb!vm:n-byte-bits)) ',(make-alien-pointer-type :to slot-type)))) ;;;; DEREF support @@ -186,7 +185,7 @@ (typecase alien-type (alien-pointer-type (when (cdr indices) - (abort-ir1-transform "too many indices for pointer deref: ~D" + (abort-ir1-transform "too many indices for pointer deref: ~W" (length indices))) (let ((element-type (alien-pointer-type-to alien-type))) (if indices @@ -280,7 +279,7 @@ (compute-deref-guts alien indices) (/noshow "in DEFTRANSFORM %DEREF-ADDR, creating (LAMBDA .. %SAP-ALIEN)") `(lambda (alien ,@indices-args) - (%sap-alien (sap+ (alien-sap alien) (/ ,offset-expr sb!vm:byte-bits)) + (%sap-alien (sap+ (alien-sap alien) (/ ,offset-expr sb!vm:n-byte-bits)) ',(make-alien-pointer-type :to element-type))))) ;;;; support for aliens on the heap @@ -350,11 +349,11 @@ #!+x86 `(truly-the system-area-pointer (%primitive alloc-alien-stack-space ,(ceiling (alien-type-bits alien-type) - sb!vm:byte-bits))) + sb!vm:n-byte-bits))) #!-x86 `(truly-the system-area-pointer (%primitive alloc-number-stack-space ,(ceiling (alien-type-bits alien-type) - sb!vm:byte-bits))) + sb!vm:n-byte-bits))) (let* ((alien-rep-type-spec (compute-alien-rep-type alien-type)) (alien-rep-type (specifier-type alien-rep-type-spec))) (cond ((csubtypep (specifier-type 'system-area-pointer) @@ -437,10 +436,10 @@ (if (local-alien-info-force-to-memory-p info) #!+x86 `(%primitive dealloc-alien-stack-space ,(ceiling (alien-type-bits alien-type) - sb!vm:byte-bits)) + sb!vm:n-byte-bits)) #!-x86 `(%primitive dealloc-number-stack-space ,(ceiling (alien-type-bits alien-type) - sb!vm:byte-bits)) + sb!vm:n-byte-bits)) nil))) ;;;; %CAST @@ -470,7 +469,7 @@ (let ((alien-node (continuation-use alien))) (typecase alien-node (combination - (extract-function-args alien '%sap-alien 2) + (extract-fun-args alien '%sap-alien 2) '(lambda (sap type) (declare (ignore type)) sap)) @@ -521,7 +520,7 @@ (count-low-order-zeros (continuation-value thing)) (count-low-order-zeros (continuation-use thing)))) (combination - (case (continuation-function-name (combination-fun thing)) + (case (continuation-fun-name (combination-fun thing)) ((+ -) (let ((min most-positive-fixnum) (itype (specifier-type 'integer))) @@ -572,7 +571,7 @@ (deftransform ash ((value amount)) (let ((value-node (continuation-use value))) (unless (and (combination-p value-node) - (eq (continuation-function-name (combination-fun value-node)) + (eq (continuation-fun-name (combination-fun value-node)) 'ash)) (give-up-ir1-transform)) (let ((inside-args (combination-args value-node))) @@ -582,7 +581,7 @@ (unless (and (constant-continuation-p inside-amount) (not (minusp (continuation-value inside-amount)))) (give-up-ir1-transform))))) - (extract-function-args value 'ash 2) + (extract-fun-args value 'ash 2) '(lambda (value amount1 amount2) (ash value (+ amount1 amount2)))) @@ -607,7 +606,7 @@ (let ((arg-types (alien-fun-type-arg-types alien-type))) (unless (= (length args) (length arg-types)) (abort-ir1-transform - "wrong number of arguments; expected ~D, got ~D" + "wrong number of arguments; expected ~W, got ~W" (length arg-types) (length args))) (collect ((params) (deports)) @@ -640,7 +639,7 @@ (let ((type (continuation-value type))) (unless (alien-fun-type-p type) (error "Something is broken.")) - (specifier-type + (values-specifier-type (compute-alien-rep-type (alien-fun-type-result-type type))))) @@ -648,9 +647,9 @@ ((function type &rest args) node ltn-policy) (setf (basic-combination-info node) :funny) (setf (node-tail-p node) nil) - (annotate-ordinary-continuation function ltn-policy) + (annotate-ordinary-continuation function) (dolist (arg args) - (annotate-ordinary-continuation arg ltn-policy))) + (annotate-ordinary-continuation arg))) (defoptimizer (%alien-funcall ir2-convert) ((function type &rest args) call block)