From de22fddf0e9bfb81c257dd3746f9f5666e5e9aba Mon Sep 17 00:00:00 2001 From: cwang <cwang> Date: Tue, 6 Jul 2004 20:12:08 +0000 Subject: [PATCH] Make addresses 64-bit clean --- compiler/amd64/call.lisp | 12 +++++++----- compiler/amd64/cell.lisp | 8 +++++--- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/compiler/amd64/call.lisp b/compiler/amd64/call.lisp index afbf04f25..7881bfc3a 100644 --- a/compiler/amd64/call.lisp +++ b/compiler/amd64/call.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/amd64/call.lisp,v 1.1 2004/05/24 22:34:59 cwang Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/amd64/call.lisp,v 1.2 2004/07/06 20:11:24 cwang Exp $") ;;; ;;; ********************************************************************** ;;; @@ -541,6 +541,7 @@ (:args (fp) (nfp) (args :more t)) + (:temporary (:sc any-reg) temp-tn) ; from/to? (:results (values :more t)) (:save-p t) (:move-args :local-call) @@ -563,8 +564,8 @@ #+nil (format t "*call-local: ret-tn on stack; offset=~s~%" (tn-offset ret-tn)) ;; Stack - (storew (make-fixup nil :code-object return) - rbp-tn (- (1+ (tn-offset ret-tn))))) + (inst mov-imm temp-tn (make-fixup nil :code-object return)) + (storew temp-tn rbp-tn (- (1+ (tn-offset ret-tn))))) ((sap-reg) ;; Register (inst lea ret-tn (make-fixup nil :code-object return))))) @@ -583,6 +584,7 @@ (:args (fp) (nfp) (args :more t)) + (:temporary (:sc any-reg) temp-tn) ; from/to? (:save-p t) (:move-args :local-call) (:info save callee target) @@ -604,8 +606,8 @@ #+nil (format t "*multiple-call-local: ret-tn on stack; offset=~s~%" (tn-offset ret-tn)) ;; Stack - (storew (make-fixup nil :code-object return) - rbp-tn (- (1+ (tn-offset ret-tn))))) + (inst mov-imm temp-tn (make-fixup nil :code-object return)) + (storew temp-tn rbp-tn (- (1+ (tn-offset ret-tn))))) ((sap-reg) ;; Register (inst lea ret-tn (make-fixup nil :code-object return))))) diff --git a/compiler/amd64/cell.lisp b/compiler/amd64/cell.lisp index f9a78ae80..f95ee28c0 100644 --- a/compiler/amd64/cell.lisp +++ b/compiler/amd64/cell.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/amd64/cell.lisp,v 1.2 2004/06/10 01:39:06 cwang Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/amd64/cell.lisp,v 1.3 2004/07/06 20:12:08 cwang Exp $") ;;; ;;; ********************************************************************** ;;; @@ -195,10 +195,12 @@ (:translate fdefn-makunbound) (:args (fdefn :scs (descriptor-reg) :target result)) (:results (result :scs (descriptor-reg))) + (:temporary (:sc any-reg) temp) (:generator 38 (storew nil-value fdefn fdefn-function-slot other-pointer-type) - (storew (make-fixup (extern-alien-name "undefined_tramp") :foreign) - fdefn fdefn-raw-addr-slot other-pointer-type) + (inst mov-imm temp + (make-fixup (extern-alien-name "undefined_tramp") :foreign)) + (storew temp fdefn fdefn-raw-addr-slot other-pointer-type) (move result fdefn))) -- GitLab