projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
change an AVER to CERROR 'bug
[sbcl.git]
/
src
/
runtime
/
ppc-lispregs.h
diff --git
a/src/runtime/ppc-lispregs.h
b/src/runtime/ppc-lispregs.h
index
ee81a57
..
1ba8fab
100644
(file)
--- a/
src/runtime/ppc-lispregs.h
+++ b/
src/runtime/ppc-lispregs.h
@@
-1,11
+1,14
@@
#if defined LISP_FEATURE_DARWIN
#if defined LANGUAGE_ASSEMBLY
#define REG(num) r##num
#if defined LISP_FEATURE_DARWIN
#if defined LANGUAGE_ASSEMBLY
#define REG(num) r##num
+#define FREG(num) f##num
#else
#define REG(num) num
#else
#define REG(num) num
+#define FREG(num) num
#endif
#else
#define REG(num) num
#endif
#else
#define REG(num) num
+#define FREG(num) num
#endif
#define NREGS 32
#endif
#define NREGS 32
@@
-45,9
+48,19
@@
#define reg_A3 REG(27) /* Last of (only) 4 arg regs */
#define reg_L0 REG(28) /* Tagged temp regs */
#define reg_L1 REG(29)
#define reg_A3 REG(27) /* Last of (only) 4 arg regs */
#define reg_L0 REG(28) /* Tagged temp regs */
#define reg_L1 REG(29)
+#ifdef LISP_FEATURE_SB_THREAD
+#define reg_THREAD REG(30) /* TLS block pointer */
+#else
#define reg_L2 REG(30) /* Last lisp temp reg */
#define reg_L2 REG(30) /* Last lisp temp reg */
+#endif
#define reg_LIP REG(31) /* Lisp Interior Pointer, e.g., locative */
#define reg_LIP REG(31) /* Lisp Interior Pointer, e.g., locative */
+#ifdef LISP_FEATURE_SB_THREAD
+#define REG30_NAME "THREAD"
+#else
+#define REG30_NAME "L2"
+#endif
+
#define REGNAMES \
"ZERO", "NSP", "???", "NL0", \
"NL1", "NL2", "NL3P", "NL4", \
#define REGNAMES \
"ZERO", "NSP", "???", "NL0", \
"NL1", "NL2", "NL3P", "NL4", \
@@
-56,10
+69,10
@@
"CSP", "ALLOC", "NULL", "CODE", \
"CNAME", "LEXENV", "OCFP", "LRA", \
"A0", "A1", "A2", "A3", \
"CSP", "ALLOC", "NULL", "CODE", \
"CNAME", "LEXENV", "OCFP", "LRA", \
"A0", "A1", "A2", "A3", \
- "L0", "L1", "L2", "LIP"
+ "L0", "L1", REG30_NAME, "LIP"
#define BOXED_REGISTERS { \
reg_FDEFN, reg_CODE, reg_CNAME, reg_LEXENV, reg_OCFP, reg_LRA, \
reg_A0, reg_A1, reg_A2, reg_A3, \
#define BOXED_REGISTERS { \
reg_FDEFN, reg_CODE, reg_CNAME, reg_LEXENV, reg_OCFP, reg_LRA, \
reg_A0, reg_A1, reg_A2, reg_A3, \
- reg_L0, reg_L1, reg_L2 \
+ reg_L0, reg_L1, REG(30) \
}
}