/[cmucl]/src/lisp/sparc-lispregs.h
ViewVC logotype

Contents of /src/lisp/sparc-lispregs.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Tue Sep 8 20:21:10 1992 UTC (21 years, 7 months ago) by wlott
Branch: MAIN
Branch point for: solaris_patch
File MIME type: text/plain
Initial revision
1 /* $Header: /tiger/var/lib/cvsroots/cmucl/src/lisp/sparc-lispregs.h,v 1.1 1992/09/08 20:21:10 wlott Exp $ */
2
3 #ifdef LANGUAGE_ASSEMBLY
4
5 #define GREG(num) %g ## num
6 #define OREG(num) %o ## num
7 #define LREG(num) %l ## num
8 #define IREG(num) %i ## num
9
10 #else
11
12 #define GREG(num) (num)
13 #define OREG(num) ((num)+8)
14 #define LREG(num) ((num)+16)
15 #define IREG(num) ((num)+24)
16
17 #endif
18
19 #define NREGS (32)
20
21 #define reg_ZERO GREG(0)
22 #define reg_ALLOC GREG(1)
23 #define reg_NIL GREG(2)
24 #define reg_CSP GREG(3)
25 #define reg_CFP GREG(4)
26 #define reg_BSP GREG(5)
27 #define reg_NFP GREG(6)
28 #define reg_CFUNC GREG(7)
29
30 #define reg_NL0 OREG(0)
31 #define reg_NL1 OREG(1)
32 #define reg_NL2 OREG(2)
33 #define reg_NL3 OREG(3)
34 #define reg_NL4 OREG(4)
35 #define reg_NL5 OREG(5)
36 #define reg_NSP OREG(6)
37 #define reg_NARGS OREG(7)
38
39 #define reg_A0 LREG(0)
40 #define reg_A1 LREG(1)
41 #define reg_A2 LREG(2)
42 #define reg_A3 LREG(3)
43 #define reg_A4 LREG(4)
44 #define reg_A5 LREG(5)
45 #define reg_OCFP LREG(6)
46 #define reg_LRA LREG(7)
47
48 #define reg_FDEFN IREG(0)
49 #define reg_LEXENV IREG(1)
50 #define reg_L0 IREG(2)
51 #define reg_L1 IREG(3)
52 #define reg_L2 IREG(4)
53 #define reg_CODE IREG(5)
54 #define reg_LIP IREG(7)
55
56 #define REGNAMES \
57 "ZERO", "ALLOC", "NULL", "CSP", \
58 "CFP", "BSP", "NFP", "CFUNC", \
59 "NL0", "NL1", "NL2", "NL3", \
60 "NL4", "NL5", "NSP", "NARGS", \
61 "A0", "A1", "A2", "A3", \
62 "A4", "A5", "OCFP", "LRA", \
63 "FDEFN", "LEXENV", "L0", "L1", \
64 "L2", "CODE", "???", "LIP"
65
66 #define BOXED_REGISTERS { \
67 reg_A0, reg_A1, reg_A2, reg_A3, reg_A4, reg_A5, reg_FDEFN, reg_LEXENV, \
68 reg_NFP, reg_OCFP, reg_LRA, reg_L0, reg_L1, reg_CODE \
69 }
70
71 #ifndef LANGUAGE_ASSEMBLY
72
73 #define SC_REG(sc, n) (((int *)((sc)->sc_g1))[n])
74 #define SC_PC(sc) ((sc)->sc_pc)
75 #define SC_NPC(sc) ((sc)->sc_npc)
76
77 #endif

  ViewVC Help
Powered by ViewVC 1.1.5