2 * This software is part of the SBCL system. See the README file for
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.
15 #ifdef LANGUAGE_ASSEMBLY
16 # define REG(num) x##num
18 # define REG(num) (num)
21 #define reg_NL0 REG(0)
22 #define reg_NL1 REG(1)
23 #define reg_NL2 REG(2)
24 #define reg_NL3 REG(3)
25 #define reg_NL4 REG(4)
26 #define reg_NL5 REG(5)
27 #define reg_NL6 REG(6)
28 #define reg_NL7 REG(7)
29 #define reg_NL8 REG(8)
30 #define reg_NL9 REG(9)
32 #define reg_R0 REG(10)
33 #define reg_R1 REG(11)
34 #define reg_R2 REG(12)
35 #define reg_R3 REG(13)
36 #define reg_R4 REG(14)
37 #define reg_R5 REG(15)
38 #define reg_R6 REG(16)
39 #define reg_R7 REG(17)
40 #define reg_R8 REG(18)
41 #define reg_R9 REG(19)
43 #ifdef LISP_FEATURE_SB_THREAD
44 #define reg_THREAD REG(20)
46 #define reg_R10 REG(20)
48 #define reg_LEXENV REG(21)
50 #define reg_NARGS REG(22)
51 #define reg_NFP REG(23)
52 #define reg_OCFP REG(24)
53 #define reg_CFP REG(25)
54 #define reg_CSP REG(26)
55 #define reg_TMP REG(27)
57 #define reg_NULL REG(28)
59 #define reg_CODE REG(29)
60 #define reg_LR REG(30)
61 #define reg_NSP REG(31)
63 #ifdef LISP_FEATURE_SB_THREAD
64 #define REG10_NAME "THREAD"
66 #define REG10_NAME "R10"
70 "NL0", "NL1", "NL2", "NL3", "NL4", "NL5", "NL6", "NL7", "NL8", "NL9", \
71 "R0", "R1", "R2", "R3", "R4", "R5", "R6", "R7", "R8", "R9", REG10_NAME, \
72 "LEXENV", "NARGS", "NFP", "OCFP", "CFP", "CSP", "TMP", "NULL", \
75 #define BOXED_REGISTERS { \
76 reg_R0, reg_R1, reg_R2, reg_R3, reg_R4, reg_R5, reg_R6, \
77 reg_R7, reg_R8, reg_R9, REG(20), reg_LEXENV, reg_CODE \