From d82c3ecfb1275d2cff13cffb62943b10ad9b8a81 Mon Sep 17 00:00:00 2001 From: rtoy <rtoy> Date: Mon, 12 Dec 2005 00:46:06 +0000 Subject: [PATCH] Instead of putting the static-function-offset into LIP, put it in CODE-TN, which is what the sparc port does. --- assembly/ppc/arith.lisp | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/assembly/ppc/arith.lisp b/assembly/ppc/arith.lisp index af9df7c51..8e4f7dd95 100644 --- a/assembly/ppc/arith.lisp +++ b/assembly/ppc/arith.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/ppc/arith.lisp,v 1.7 2005/12/11 20:30:45 rtoy Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/ppc/arith.lisp,v 1.8 2005/12/12 00:46:06 rtoy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -58,11 +58,12 @@ (lisp-return lra lip :offset 2) DO-STATIC-FUN - (inst lwz lip null-tn (static-function-offset 'two-arg-+)) + (inst lwz code-tn null-tn (static-function-offset 'two-arg-+)) (inst li nargs (fixnumize 2)) (inst mr ocfp cfp-tn) (inst mr cfp-tn csp-tn) - (inst j lip (- (* function-code-offset word-bytes) function-pointer-type)) + (inst j code-tn + (- (* function-code-offset word-bytes) function-pointer-type)) DONE (move res temp)) @@ -106,11 +107,12 @@ (lisp-return lra lip :offset 2) DO-STATIC-FUN - (inst lwz lip null-tn (static-function-offset 'two-arg--)) + (inst lwz code-tn null-tn (static-function-offset 'two-arg--)) (inst li nargs (fixnumize 2)) (inst mr ocfp cfp-tn) (inst mr cfp-tn csp-tn) - (inst j lip (- (* function-code-offset word-bytes) function-pointer-type)) + (inst j code-tn + (- (* function-code-offset word-bytes) function-pointer-type)) DONE (move res temp)) @@ -183,11 +185,12 @@ (lisp-return lra lip :offset 2) DO-STATIC-FUN - (inst lwz lip null-tn (static-function-offset 'two-arg-*)) + (inst lwz code-tn null-tn (static-function-offset 'two-arg-*)) (inst li nargs (fixnumize 2)) (inst mr ocfp cfp-tn) (inst mr cfp-tn csp-tn) - (inst j lip (- (* function-code-offset word-bytes) function-pointer-type)) + (inst j code-tn + (- (* function-code-offset word-bytes) function-pointer-type)) LOW-FITS-IN-FIXNUM (move res lo)) @@ -315,11 +318,11 @@ (inst beq DO-COMPARE) DO-STATIC-FN - (inst lwz lip null-tn (static-function-offset ',static-fn)) + (inst lwz code-tn null-tn (static-function-offset ',static-fn)) (inst li nargs (fixnumize 2)) (inst mr ocfp cfp-tn) (inst mr cfp-tn csp-tn) - (inst j lip + (inst j code-tn (- (* function-code-offset word-bytes) function-pointer-type)) DO-COMPARE @@ -361,11 +364,11 @@ (lisp-return lra lip :offset 2) DO-STATIC-FN - (inst lwz lip null-tn (static-function-offset 'eql)) + (inst lwz code-tn null-tn (static-function-offset 'eql)) (inst li nargs (fixnumize 2)) (inst mr ocfp cfp-tn) (inst mr cfp-tn csp-tn) - (inst j lip (- (* function-code-offset word-bytes) function-pointer-type)) + (inst j code-tn (- (* function-code-offset word-bytes) function-pointer-type)) RETURN-T (load-symbol res t)) @@ -397,11 +400,12 @@ (lisp-return lra lip :offset 2) DO-STATIC-FN - (inst lwz lip null-tn (static-function-offset 'two-arg-=)) + (inst lwz code-tn null-tn (static-function-offset 'two-arg-=)) (inst li nargs (fixnumize 2)) (inst mr ocfp cfp-tn) (inst mr cfp-tn csp-tn) - (inst j lip (- (* function-code-offset word-bytes) function-pointer-type)) + (inst j code-tn + (- (* function-code-offset word-bytes) function-pointer-type)) RETURN-T (load-symbol res t)) @@ -431,11 +435,12 @@ (lisp-return lra lip :offset 2) DO-STATIC-FN - (inst lwz lip null-tn (static-function-offset 'two-arg-=)) + (inst lwz code-tn null-tn (static-function-offset 'two-arg-=)) (inst li nargs (fixnumize 2)) (inst mr ocfp cfp-tn) (inst mr cfp-tn csp-tn) - (inst j lip (- (* function-code-offset word-bytes) function-pointer-type)) + (inst j code-tn + (- (* function-code-offset word-bytes) function-pointer-type)) RETURN-NIL (inst mr res null-tn)) -- GitLab