X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fhppa%2Fc-call.lisp;h=1029ee9feecb42a1ea948c333c5d62d08ddc078b;hb=aa7b669779e8e88349938ca962229f31ead08af2;hp=4df361394ad8bff6cdf0cd04af8cfb90b95c97fc;hpb=0d74ed478e7f3af5d3292153726373763631aa8e;p=sbcl.git diff --git a/src/compiler/hppa/c-call.lisp b/src/compiler/hppa/c-call.lisp index 4df3613..1029ee9 100644 --- a/src/compiler/hppa/c-call.lisp +++ b/src/compiler/hppa/c-call.lisp @@ -11,13 +11,13 @@ (in-package "SB!VM") -; beware that we deal alot here with register-offsets directly -; instead of their symbol-name in vm.lisp -; offset works differently depending on sc-type +;;; beware that we deal alot here with register-offsets directly +;;; instead of their symbol-name in vm.lisp +;;; offset works differently depending on sc-type (defun my-make-wired-tn (prim-type-name sc-name offset state) (make-wired-tn (primitive-type-or-lose prim-type-name) (sc-number-or-lose sc-name) - ; try to utilize vm.lisp definitions of registers: + ;; try to utilize vm.lisp definitions of registers: (ecase sc-name ((any-reg sap-reg signed-reg unsigned-reg) (ecase offset ; FIX: port to other arch ??? @@ -36,9 +36,9 @@ (3 nl3-offset))) ((single-reg double-reg) ; only for return (+ 4 offset)) - ; A tn of stack type tells us that we have data on - ; stack. This offset is current argument number so - ; -1 points to the correct place to write that data + ;; A tn of stack type tells us that we have data on + ;; stack. This offset is current argument number so + ;; -1 points to the correct place to write that data ((sap-stack signed-stack unsigned-stack) (- (arg-state-nargs state) offset 8 1))))) @@ -141,7 +141,7 @@ (invoke-alien-type-method :result-tn type state)) values))) -(!def-vm-support-routine make-call-out-tns (type) +(defun make-call-out-tns (type) (let ((arg-state (make-arg-state)) (nargs 0)) (dolist (arg-type (alien-fun-type-arg-types type)) @@ -260,8 +260,8 @@ (:temporary (:sc any-reg :offset cfunc-offset :from (:argument 0) :to (:result 0)) cfunc) (:temporary (:sc control-stack :offset nfp-save-offset) nfp-save) - ; Not sure if using nargs is safe ( have we saved it ). - ; but we cant use any non-descriptor-reg because c-args nl-4 is of that type + ;; Not sure if using nargs is safe ( have we saved it ). + ;; but we cant use any non-descriptor-reg because c-args nl-4 is of that type (:temporary (:sc non-descriptor-reg :offset nargs-offset) temp) (:vop-var vop) (:generator 0 @@ -281,12 +281,12 @@ (:results (result :scs (sap-reg any-reg))) (:temporary (:scs (unsigned-reg) :to (:result 0)) temp) (:generator 0 - ; Because stack grows to higher addresses, we have the result - ; pointing to an lowerer address than nsp + ;; Because stack grows to higher addresses, we have the result + ;; pointing to an lowerer address than nsp (move nsp-tn result) (unless (zerop amount) - ; hp-ux stack grows towards larger addresses and stack must be - ; allocated in blocks of 64 bytes + ;; hp-ux stack grows towards larger addresses and stack must be + ;; allocated in blocks of 64 bytes (let ((delta (+ 0 (logandc2 (+ amount 63) 63)))) ; was + 16 (cond ((< delta (ash 1 10)) (inst addi delta nsp-tn nsp-tn))