From a035ca436a756a950d8fef0976033a6fe032851a Mon Sep 17 00:00:00 2001
From: dtc <dtc>
Date: Fri, 27 Oct 2000 19:42:01 +0000
Subject: [PATCH] Don't use %g6 and %g7 which are reserved for the system.  Map
 NFP and CFUNC to where L1 and L2 used to be. From Raymond Toy.

---
 compiler/sparc/vm.lisp | 65 +++++++++++++++++++++---------------------
 1 file changed, 32 insertions(+), 33 deletions(-)

diff --git a/compiler/sparc/vm.lisp b/compiler/sparc/vm.lisp
index 868e04c13..19a0e4400 100644
--- a/compiler/sparc/vm.lisp
+++ b/compiler/sparc/vm.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/vm.lisp,v 1.17 2000/01/17 18:08:58 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/vm.lisp,v 1.18 2000/10/27 19:42:01 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -42,50 +42,49 @@
 
 
 ;; Globals.  These are difficult to extract from a sigcontext.
-(defreg zero 0)
-(defreg alloc 1)
-(defreg null 2)
-(defreg csp 3)
-(defreg cfp 4)
-(defreg bsp 5)
-(defreg nfp 6)
-(defreg cfunc 7)
+(defreg zero 0)				; %g0
+(defreg alloc 1)			; %g1
+(defreg null 2)				; %g2
+(defreg csp 3)				; %g3
+(defreg cfp 4)				; %g4
+(defreg bsp 5)				; %g5
+;; %g6 and %g7 are supposed to be reserved for the system.
 
 ;; Outs.  These get clobbered when we call into C.
-(defreg nl0 8)
-(defreg nl1 9)
-(defreg nl2 10)
-(defreg nl3 11)
-(defreg nl4 12)
-(defreg nl5 13)
-(defreg nsp 14)
-(defreg nargs 15)
+(defreg nl0 8)				; %o0
+(defreg nl1 9)				; %o1
+(defreg nl2 10)				; %o2
+(defreg nl3 11)				; %o3
+(defreg nl4 12)				; %o4
+(defreg nl5 13)				; %o5
+(defreg nsp 14)				; %o6
+(defreg nargs 15)			; %o7
 
 ;; Locals.  These are preserved when we call into C.
-(defreg a0 16)
-(defreg a1 17)
-(defreg a2 18)
-(defreg a3 19)
-(defreg a4 20)
-(defreg a5 21)
-(defreg ocfp 22)
-(defreg lra 23)
+(defreg a0 16)				; %l0
+(defreg a1 17)				; %l1
+(defreg a2 18)				; %l2
+(defreg a3 19)				; %l3
+(defreg a4 20)				; %l4
+(defreg a5 21)				; %l5
+(defreg ocfp 22)			; %l6
+(defreg lra 23)				; %l7
 
 ;; Ins.  These are preserved just like locals.
-(defreg cname 24)
-(defreg lexenv 25)
-(defreg l0 26)
-(defreg l1 27)
-(defreg l2 28)
-(defreg code 29)
+(defreg cname 24)			; %i0
+(defreg lexenv 25)			; %i1
+(defreg l0 26)				; %i2
+(defreg nfp 27)				; %i3
+(defreg cfunc 28)			; %i4
+(defreg code 29)			; %i5
 ;; we can't touch reg 30 if we ever want to return
-(defreg lip 31)
+(defreg lip 31)				; %i7
 
 (defregset non-descriptor-regs
   nl0 nl1 nl2 nl3 nl4 nl5 cfunc nargs nfp)
 
 (defregset descriptor-regs
-  a0 a1 a2 a3 a4 a5 ocfp lra cname lexenv l0 l1 l2)
+  a0 a1 a2 a3 a4 a5 ocfp lra cname lexenv l0)
 
 (defregset register-arg-offsets
   a0 a1 a2 a3 a4 a5)
-- 
GitLab