wingo pushed a commit to branch lightning
in repository guile.
commit ade23376f9d31a912ee47cc8a6d9871266e0e7c3
Author: pcpa <[email protected]>
Date: Mon Nov 3 12:55:35 2014 -0200
mips: Do not make t9 available as a generic register
* include/lightning/jit_mips.h: Do not make the t9 register
JIT_R11 (or JIT_R7 for n32 or n64 abi) available. Previously
it cause problems if one expects it to not be changed in a
function call. For example, calling a jit function, where it
really does not need to be changed.
---
ChangeLog | 8 ++++++++
include/lightning/jit_mips.h | 6 ++----
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ef39be4..655eeb9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2014-11-03 Paulo Andrade <[email protected]>
+
+ * include/lightning/jit_mips.h: Do not make the t9 register
+ JIT_R11 (or JIT_R7 for n32 or n64 abi) available. Previously
+ it cause problems if one expects it to not be changed in a
+ function call. For example, calling a jit function, where it
+ really does not need to be changed.
+
2014-10-26 Paulo Andrade <[email protected]>
* lib/jit_aarch64.c, lib/jit_alpha.c, lib/jit_arm.c,
diff --git a/include/lightning/jit_mips.h b/include/lightning/jit_mips.h
index c56d511..7ebf153 100644
--- a/include/lightning/jit_mips.h
+++ b/include/lightning/jit_mips.h
@@ -35,10 +35,10 @@ typedef enum {
#define jit_r(i) (_V0 + (i))
#if NEW_ABI
# define jit_arg_reg_p(i) ((i) >= 0 && (i) < 4)
-# define jit_r_num() 8
+# define jit_r_num() 7
#else
# define jit_arg_reg_p(i) ((i) >= 0 && (i) < 4)
-# define jit_r_num() 12
+# define jit_r_num() 11
#endif
#define jit_v(i) (_S0 + (i))
#define jit_v_num() 8
@@ -58,7 +58,6 @@ typedef enum {
# define JIT_R4 _T6
# define JIT_R5 _T7
# define JIT_R6 _T8
-# define JIT_R7 _T9
#else
# define JIT_R2 _T0
# define JIT_R3 _T1
@@ -69,7 +68,6 @@ typedef enum {
# define JIT_R8 _T6
# define JIT_R9 _T7
# define JIT_R10 _T8
-# define JIT_R11 _T9
#endif
_V0, _V1,
#if !NEW_ABI