X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Falpha%2Fsap.lisp;h=e6c39c58d35e1d458f3d7b846bac874151f24028;hb=bc46c8bcdd6ac8918df8ea9e9db49808e4924fcf;hp=e0cd61481ee4d11bebfcee6b4a507ccdcb6aa0e4;hpb=6fb6e66f531dfb6140ec3e0cc8f84f6ecd1927ca;p=sbcl.git diff --git a/src/compiler/alpha/sap.lisp b/src/compiler/alpha/sap.lisp index e0cd614..e6c39c5 100644 --- a/src/compiler/alpha/sap.lisp +++ b/src/compiler/alpha/sap.lisp @@ -32,7 +32,7 @@ (:note "system area pointer allocation") (:generator 20 (move x sap) - (with-fixed-allocation (y ndescr sap-type sap-size) + (with-fixed-allocation (y ndescr sap-widetag sap-size) (storeq sap y sap-pointer-slot other-pointer-lowtag)))) (define-move-vop move-from-sap :move (sap-reg) (descriptor-reg)) @@ -52,7 +52,7 @@ (sap-reg) (sap-reg)) ;;; Move untagged SAP arguments/return-values. -(define-vop (move-sap-argument) +(define-vop (move-sap-arg) (:args (x :target y :scs (sap-reg)) (fp :scs (any-reg) @@ -64,12 +64,12 @@ (move x y)) (sap-stack (storeq x fp (tn-offset y)))))) -(define-move-vop move-sap-argument :move-argument +(define-move-vop move-sap-arg :move-arg (descriptor-reg sap-reg) (sap-reg)) -;;; Use standard MOVE-ARGUMENT + coercion to move an untagged sap to a +;;; Use standard MOVE-ARG + coercion to move an untagged sap to a ;;; descriptor passing location. -(define-move-vop move-argument :move-argument +(define-move-vop move-arg :move-arg (sap-reg) (descriptor-reg)) ;;;; SAP-INT and INT-SAP @@ -219,7 +219,10 @@ (:single '((inst lds result offset object))) (:double - '((inst ldt result (+ offset word-bytes) object)))))) + '((inst ldt + result + (+ offset n-word-bytes) + object)))))) (define-vop (,set-name) (:translate ,set-name) (:policy :fast-safe) @@ -351,5 +354,5 @@ (:result-types system-area-pointer) (:generator 2 (inst lda sap - (- (* vector-data-offset word-bytes) other-pointer-lowtag) + (- (* vector-data-offset n-word-bytes) other-pointer-lowtag) vector)))