From a7f45043ab634defa86090dd9025ba6d732c9c04 Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Wed, 11 Mar 1992 21:37:45 +0000 Subject: [PATCH] Added FDEFN changes. --- assembly/sparc/arith.lisp | 31 ++++++++----------------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/assembly/sparc/arith.lisp b/assembly/sparc/arith.lisp index 658c8e3cb..36dabfff9 100644 --- a/assembly/sparc/arith.lisp +++ b/assembly/sparc/arith.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman (FAHLMAN@CMUC). ;;; ********************************************************************** ;;; -;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/sparc/arith.lisp,v 1.8 1990/12/16 19:19:21 wlott Exp $ +;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/sparc/arith.lisp,v 1.9 1992/03/11 21:37:45 wlott Exp $ ;;; ;;; Stuff to handle simple cases for generic arithmetic. ;;; @@ -35,7 +35,6 @@ (:temp temp2 non-descriptor-reg nl1-offset) (:temp lra descriptor-reg lra-offset) (:temp nargs any-reg nargs-offset) - (:temp cname descriptor-reg cname-offset) (:temp ocfp any-reg ocfp-offset)) (inst andcc zero-tn x 3) (inst b :ne DO-STATIC-FUN) @@ -54,9 +53,8 @@ (lisp-return lra :offset 2) DO-STATIC-FUN - (load-symbol cname 'two-arg-+) + (inst ld code-tn null-tn (static-function-offset 'two-arg-+)) (inst li nargs (fixnum 2)) - (loadw code-tn cname vm:symbol-raw-function-addr-slot vm:other-pointer-type) (inst move ocfp cfp-tn) (inst j code-tn (- (* vm:function-header-code-offset vm:word-bytes) @@ -82,7 +80,6 @@ (:temp temp2 non-descriptor-reg nl1-offset) (:temp lra descriptor-reg lra-offset) (:temp nargs any-reg nargs-offset) - (:temp cname descriptor-reg cname-offset) (:temp ocfp any-reg ocfp-offset)) (inst andcc zero-tn x 3) (inst b :ne DO-STATIC-FUN) @@ -101,9 +98,8 @@ (lisp-return lra :offset 2) DO-STATIC-FUN - (load-symbol cname 'two-arg--) + (inst ld code-tn null-tn (static-function-offset 'two-arg--)) (inst li nargs (fixnum 2)) - (loadw code-tn cname vm:symbol-raw-function-addr-slot vm:other-pointer-type) (inst move ocfp cfp-tn) (inst j code-tn (- (* vm:function-header-code-offset vm:word-bytes) @@ -134,7 +130,6 @@ (:temp hi non-descriptor-reg nl2-offset) (:temp lra descriptor-reg lra-offset) (:temp nargs any-reg nargs-offset) - (:temp cname descriptor-reg cname-offset) (:temp ocfp any-reg ocfp-offset)) ;; If either arg is not a fixnum, call the static function. (inst andcc zero-tn x 3) @@ -193,9 +188,8 @@ (lisp-return lra :offset 2) DO-STATIC-FUN - (load-symbol cname 'two-arg-*) + (inst ld code-tn null-tn (static-function-offset 'two-arg-*)) (inst li nargs (fixnum 2)) - (loadw code-tn cname symbol-raw-function-addr-slot other-pointer-type) (inst move ocfp cfp-tn) (inst j code-tn (- (* vm:function-header-code-offset vm:word-bytes) @@ -384,7 +378,6 @@ (:res res descriptor-reg a0-offset) (:temp nargs any-reg nargs-offset) - (:temp cname descriptor-reg cname-offset) (:temp ocfp any-reg ocfp-offset)) (inst andcc zero-tn x 3) (inst b :ne DO-STATIC-FN) @@ -393,10 +386,8 @@ (inst cmp x y) DO-STATIC-FN - (load-symbol cname ',static-fn) + (inst ld code-tn null-tn (static-function-offset ',static-fn)) (inst li nargs (fixnum 2)) - (loadw code-tn cname vm:symbol-raw-function-addr-slot - vm:other-pointer-type) (inst move ocfp cfp-tn) (inst j code-tn (- (* vm:function-header-code-offset vm:word-bytes) @@ -428,7 +419,6 @@ (:temp lra descriptor-reg lra-offset) (:temp nargs any-reg nargs-offset) - (:temp cname descriptor-reg cname-offset) (:temp ocfp any-reg ocfp-offset)) (inst cmp x y) (inst b :eq RETURN-T) @@ -443,9 +433,8 @@ (lisp-return lra :offset 2) DO-STATIC-FN - (load-symbol cname 'eql) + (inst ld code-tn null-tn (static-function-offset 'eql)) (inst li nargs (fixnum 2)) - (loadw code-tn cname vm:symbol-raw-function-addr-slot vm:other-pointer-type) (inst move ocfp cfp-tn) (inst j code-tn (- (* vm:function-header-code-offset vm:word-bytes) @@ -468,7 +457,6 @@ (:temp lra descriptor-reg lra-offset) (:temp nargs any-reg nargs-offset) - (:temp cname descriptor-reg cname-offset) (:temp ocfp any-reg ocfp-offset)) (inst cmp x y) (inst b :eq RETURN-T) @@ -482,9 +470,8 @@ (lisp-return lra :offset 2) DO-STATIC-FN - (load-symbol cname 'two-arg-=) + (inst ld code-tn null-tn (static-function-offset 'two-arg-=)) (inst li nargs (fixnum 2)) - (loadw code-tn cname vm:symbol-raw-function-addr-slot vm:other-pointer-type) (inst move ocfp cfp-tn) (inst j code-tn (- (* vm:function-header-code-offset vm:word-bytes) @@ -507,7 +494,6 @@ (:temp lra descriptor-reg lra-offset) (:temp nargs any-reg nargs-offset) - (:temp cname descriptor-reg cname-offset) (:temp ocfp any-reg ocfp-offset)) (inst cmp x y) (inst b :eq RETURN-NIL) @@ -521,9 +507,8 @@ (lisp-return lra :offset 2) DO-STATIC-FN - (load-symbol cname 'two-arg-=) + (inst ld code-tn null-tn (static-function-offset 'two-arg-=)) (inst li nargs (fixnum 2)) - (loadw code-tn cname vm:symbol-raw-function-addr-slot vm:other-pointer-type) (inst move ocfp cfp-tn) (inst j code-tn (- (* vm:function-header-code-offset vm:word-bytes) -- GitLab