1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 13:00:26 +02:00

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.
This commit is contained in:
pcpa 2013-09-12 00:24:19 -03:00
parent a62f405751
commit 5a2df005c5
6 changed files with 15 additions and 8 deletions

View file

@ -1,3 +1,14 @@
2013-10-10 Paulo Andrade <pcpa@gnu.org>
* 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 <pcpa@gnu.org>
* check/self.c, check/self.ok: New files implementing simple

View file

@ -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

View file

@ -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;
/*

View file

@ -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;

View file

@ -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)

View file

@ -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" },