Clean up RCS ids
[projects/cmucl/cmucl.git] / src / lisp / alpha-lispregs.h
CommitLineData
eeab7066
RT
1/*
2
3 This code was written as part of the CMU Common Lisp project at
4 Carnegie Mellon University, and has been placed in the public domain.
5
6*/
7
e67c0397 8
9#ifndef _ALPHA_LISPREGS_H_
10#define _ALPHA_LISPREGS_H_
f9e00564 11
12#define NREGS (32)
13
14#ifdef LANGUAGE_ASSEMBLY
25b808fb 15#ifdef __linux__
16#define R(s) $ ## s
17#define REG(num) $##num
18#else
19#define R(s) s
f0117a62 20#define REG(num) $/**/num
25b808fb 21#endif
f9e00564 22#else
23#define REG(num) num
24#endif
25
26#define reg_LIP REG(0)
27#define reg_A0 REG(1)
28#define reg_A1 REG(2)
29#define reg_A2 REG(3)
30#define reg_A3 REG(4)
31#define reg_A4 REG(5)
32#define reg_A5 REG(6)
33#define reg_L0 REG(7)
34#define reg_NARGS REG(8)
35#define reg_CSP REG(9)
36#define reg_CFP REG(10)
37#define reg_OCFP REG(11)
38#define reg_BSP REG(12)
39#define reg_LEXENV REG(13)
40#define reg_CODE REG(14)
41#define reg_NULL REG(15)
42#define reg_NL0 REG(16)
43#define reg_NL1 REG(17)
44#define reg_NL2 REG(18)
45#define reg_NL3 REG(19)
46#define reg_NL4 REG(20)
47#define reg_NL5 REG(21)
48#define reg_ALLOC REG(22)
49#define reg_FDEFN REG(23)
50#define reg_CFUNC REG(24)
51#define reg_NFP REG(25)
52#define reg_LRA REG(26)
53#define reg_L1 REG(27)
54#define reg_L2 REG(28)
55#define reg_GP REG(29)
56#define reg_NSP REG(30)
57#define reg_ZERO REG(31)
58
59
60#define REGNAMES \
61 "LIP", "NL0", "NL1", "NL2", "NL3", "NL4", "NL5", "L0", "NARGS", \
62 "CSP", "CFP", "OCFP", "BSP", "LEXENV", "CODE", "FDEFN", "A0", "A1", \
63 "A2", "A3", "A4", "A5", "ALLOC", "NULL", "CFUNC", "NFP", "LRA", "L1", \
64 "L2", "GP", "NSP", "ZERO"
65
66#define BOXED_REGISTERS { \
67 reg_CODE, reg_FDEFN, reg_LEXENV, reg_NARGS, reg_OCFP, reg_LRA, \
68 reg_A0, reg_A1, reg_A2, reg_A3, reg_A4, reg_A5, \
69 reg_L0, reg_L1, reg_L2 \
70}
71
72#define SC_REG(sc, n) ((sc)->sc_regs[n])
73#define SC_PC(sc) ((sc)->sc_pc)
74
75#define call_into_lisp_LRA_page 0x10000
e67c0397 76
77#endif /* _ALPHA_LISPREGS_H_ */