X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Falpha%2Fsap.lisp;h=e6c39c58d35e1d458f3d7b846bac874151f24028;hb=8a8a8922802460741d6f8f6c11d71b1f414cf3a7;hp=655c03e3f0bedcb8e55f3f4926642fb82ead838b;hpb=63fcb94b875a97e468d9add229e220ecceec2352;p=sbcl.git diff --git a/src/compiler/alpha/sap.lisp b/src/compiler/alpha/sap.lisp index 655c03e..e6c39c5 100644 --- a/src/compiler/alpha/sap.lisp +++ b/src/compiler/alpha/sap.lisp @@ -19,7 +19,7 @@ (:results (y :scs (sap-reg))) (:note "system area pointer indirection") (:generator 1 - (loadq y x sap-pointer-slot other-pointer-type))) + (loadq y x sap-pointer-slot other-pointer-lowtag))) (define-move-vop move-to-sap :move (descriptor-reg) (sap-reg)) @@ -32,8 +32,8 @@ (:note "system area pointer allocation") (:generator 20 (move x sap) - (with-fixed-allocation (y ndescr sap-type sap-size) - (storeq sap y sap-pointer-slot other-pointer-type)))) + (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-type) + (- (* vector-data-offset n-word-bytes) other-pointer-lowtag) vector)))