1 /*
2  * This software is part of the SBCL system. See the README file for
3  * more information.
4  *
5  * This software is derived from the CMU CL system, which was
6  * written at Carnegie Mellon University and released into the
7  * public domain. The software is in the public domain and is
8  * provided with absolutely no warranty. See the COPYING and CREDITS
9  * files for more information.
10  */
11 
12 
13 #define NREGS (16)
14 
15 #ifdef LANGUAGE_ASSEMBLY
16 #    define REG(num) r##num
17 #else
18 #    define REG(num) (num)
19 #endif
20 
21 #define reg_R0          REG(0)
22 #define reg_R1          REG(1)
23 #define reg_R2          REG(2)
24 #define reg_LEXENV      REG(3)
25 #define reg_NL2         REG(4)
26 #define reg_CODE        REG(5)
27 #define reg_NL3         REG(6)
28 #define reg_OCFP        REG(7)
29 #define reg_R8          REG(8)
30 #define reg_NFP         REG(9)
31 #define reg_NULL        REG(10)
32 #define reg_CFP         REG(11)
33 #define reg_NARGS       REG(12)
34 #define reg_NSP         REG(13)
35 #define reg_LR          REG(14)
36 #define reg_PC          REG(15)
37 
38 #define REGNAMES \
39         "R0",           "R1",           "R2",           "LEXENV", \
40         "NL2",          "CODE",         "NL3",          "OCFP", \
41         "R8",           "NFP",          "NULL",         "CFP", \
42         "NARGS",        "NSP",          "LR",           "PC"
43 
44 #define BOXED_REGISTERS { \
45     reg_R0, reg_R1, reg_R2, reg_LEXENV, reg_R8, reg_CODE \
46 }
47