cb89b5e3cc1d2412f74d1d586356346b2a73b93c
[projects/cmucl/cmucl.git] / src / lisp / mips-lispregs.h
1 /* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/mips-lispregs.h,v 1.2 2005/01/13 19:55:00 fgilham Rel $ */
2
3 #ifndef _MIPS_LISPREGS_H_
4 #define _MIPS_LISPREGS_H_
5
6 #ifdef LANGUAGE_ASSEMBLY
7 #define REG(num) $num
8 #else
9 #define REG(num) num
10 #endif
11
12 #define NREGS   (32)
13
14 #define reg_ZERO    REG(0)
15 #define reg_NL3     REG(1)
16 #define reg_CFUNC   REG(2)
17 #define reg_NL4     REG(3)
18 #define reg_NL0     REG(4)
19 #define reg_NL1     REG(5)
20 #define reg_NL2     REG(6)
21 #define reg_NARGS   REG(7)
22 #define reg_A0      REG(8)
23 #define reg_A1      REG(9)
24 #define reg_A2      REG(10)
25 #define reg_A3      REG(11)
26 #define reg_A4      REG(12)
27 #define reg_A5      REG(13)
28 #define reg_FDEFN   REG(14)
29 #define reg_LEXENV  REG(15)
30 #define reg_NFP     REG(16)
31 #define reg_OCFP    REG(17)
32 #define reg_LRA     REG(18)
33 #define reg_L0      REG(19)
34 #define reg_NIL     REG(20)
35 #define reg_BSP     REG(21)
36 #define reg_CFP     REG(22)
37 #define reg_CSP     REG(23)
38 #define reg_L1      REG(24)
39 #define reg_ALLOC   REG(25)
40 #define reg_NSP     REG(29)
41 #define reg_CODE    REG(30)
42 #define reg_LIP     REG(31)
43
44 #define REGNAMES \
45         "ZERO",         "NL3",          "CFUNC",        "NL4", \
46         "NL0",          "NL1",          "NL2",          "NARGS", \
47         "A0",           "A1",           "A2",           "A3", \
48         "A4",           "A5",           "FDEFN",        "LEXENV", \
49         "NFP",          "OCFP",         "LRA",          "L0", \
50         "NIL",          "BSP",          "CFP",          "CSP", \
51         "L1",           "ALLOC",        "K0",           "K1", \
52         "GP",           "NSP",          "CODE",         "LIP"
53
54
55 #define BOXED_REGISTERS { \
56     reg_A0, reg_A1, reg_A2, reg_A3, reg_A4, reg_A5, reg_FDEFN, reg_LEXENV, \
57     reg_NFP, reg_OCFP, reg_LRA, reg_L0, reg_L1, reg_CODE \
58 }
59
60 #define SC_REG(sc, n) ((sc)->sc_regs[n])
61 #define SC_PC(sc) ((sc)->sc_pc)
62
63 #endif /* _MIPS_LISPREGS_H_ */