wingo pushed a commit to branch lightning
in repository guile.
commit 5a2df005c5091b49f3596b97bb47b209aaf7231d
Author: pcpa <[email protected]>
Date: Thu Sep 12 00:24:19 2013 -0300
Correct wrong example and mt unsafe code in the arm backend.
* doc/body.texi: Correct reversed arguments in example of
usage in a (possibly) multi threaded, multiple jit_state_t
environments.
* include/lightning/jit_arm.h, include/lightning/jit_private.h,
lib/jit_arm-cpu.c, lib/jit_arm.c: Make a previously, non
documented, global state private to the related jit_state_t
generating code.
---
ChangeLog | 11 +++++++++++
doc/body.texi | 2 +-
include/lightning/jit_arm.h | 5 -----
include/lightning/jit_private.h | 2 ++
lib/jit_arm-cpu.c | 2 +-
lib/jit_arm.c | 1 -
6 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index c780db0..8119011 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2013-10-10 Paulo Andrade <[email protected]>
+
+ * doc/body.texi: Correct reversed arguments in example of
+ usage in a (possibly) multi threaded, multiple jit_state_t
+ environments.
+
+ * include/lightning/jit_arm.h, include/lightning/jit_private.h,
+ lib/jit_arm-cpu.c, lib/jit_arm.c: Make a previously, non
+ documented, global state private to the related jit_state_t
+ generating code.
+
2013-09-10 Paulo Andrade <[email protected]>
* check/self.c, check/self.ok: New files implementing simple
diff --git a/doc/body.texi b/doc/body.texi
index f647111..91ce9d7 100644
--- a/doc/body.texi
+++ b/doc/body.texi
@@ -1183,7 +1183,7 @@ time, it is required to used code similar to:
@example
struct jit_state lightning;
- #define _jit lightning
+ #define lightning _jit
@end example
This will cause the symbol defined to @code{_jit} to be passed as
diff --git a/include/lightning/jit_arm.h b/include/lightning/jit_arm.h
index f3f7d19..d217a4b 100644
--- a/include/lightning/jit_arm.h
+++ b/include/lightning/jit_arm.h
@@ -117,11 +117,6 @@ typedef struct {
jit_uint32_t abi : 2;
} jit_cpu_t;
-typedef struct {
- /* prevent using thumb instructions that set flags? */
- jit_uint32_t no_set_flags : 1;
-} jit_flags_t;
-
typedef jit_int64_t jit_regset_t;
/*
diff --git a/include/lightning/jit_private.h b/include/lightning/jit_private.h
index 511a04a..90d340a 100644
--- a/include/lightning/jit_private.h
+++ b/include/lightning/jit_private.h
@@ -396,6 +396,8 @@ struct jit_compiler {
jit_uint8_t *base;
} note;
#if __arm__
+ /* prevent using thumb instructions that set flags? */
+ jit_uint32_t no_set_flags : 1;
# if DISASSEMBLER
struct {
jit_data_info_t *ptr;
diff --git a/lib/jit_arm-cpu.c b/lib/jit_arm-cpu.c
index 71d178d..c91ac6e 100644
--- a/lib/jit_arm-cpu.c
+++ b/lib/jit_arm-cpu.c
@@ -29,7 +29,7 @@
# define _u16(v) ((v) & 0xffff)
# define _u24(v) ((v) & 0xffffff)
# define jit_thumb_p() jit_cpu.thumb
-# define jit_no_set_flags() jit_flags.no_set_flags
+# define jit_no_set_flags() _jitc->no_set_flags
# define jit_armv5_p() (jit_cpu.version >= 5)
# define jit_armv5e_p() (jit_cpu.version >= 5 && jit_cpu.extend)
# define jit_armv6_p() (jit_cpu.version >= 6)
diff --git a/lib/jit_arm.c b/lib/jit_arm.c
index 1cc444f..0f291b1 100644
--- a/lib/jit_arm.c
+++ b/lib/jit_arm.c
@@ -77,7 +77,6 @@ extern void __clear_cache(void *, void *);
* Initialization
*/
jit_cpu_t jit_cpu;
-jit_flags_t jit_flags;
jit_register_t _rvs[] = {
{ rc(gpr) | 0x0c, "ip" },
{ rc(sav) | rc(gpr) | 0x04, "r4" },