mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-03 05:20:16 +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:
parent
a62f405751
commit
5a2df005c5
6 changed files with 15 additions and 8 deletions
11
ChangeLog
11
ChangeLog
|
@ -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>
|
2013-09-10 Paulo Andrade <pcpa@gnu.org>
|
||||||
|
|
||||||
* check/self.c, check/self.ok: New files implementing simple
|
* check/self.c, check/self.ok: New files implementing simple
|
||||||
|
|
|
@ -1183,7 +1183,7 @@ time, it is required to used code similar to:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
struct jit_state lightning;
|
struct jit_state lightning;
|
||||||
#define _jit lightning
|
#define lightning _jit
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
This will cause the symbol defined to @code{_jit} to be passed as
|
This will cause the symbol defined to @code{_jit} to be passed as
|
||||||
|
|
|
@ -117,11 +117,6 @@ typedef struct {
|
||||||
jit_uint32_t abi : 2;
|
jit_uint32_t abi : 2;
|
||||||
} jit_cpu_t;
|
} 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;
|
typedef jit_int64_t jit_regset_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -396,6 +396,8 @@ struct jit_compiler {
|
||||||
jit_uint8_t *base;
|
jit_uint8_t *base;
|
||||||
} note;
|
} note;
|
||||||
#if __arm__
|
#if __arm__
|
||||||
|
/* prevent using thumb instructions that set flags? */
|
||||||
|
jit_uint32_t no_set_flags : 1;
|
||||||
# if DISASSEMBLER
|
# if DISASSEMBLER
|
||||||
struct {
|
struct {
|
||||||
jit_data_info_t *ptr;
|
jit_data_info_t *ptr;
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
# define _u16(v) ((v) & 0xffff)
|
# define _u16(v) ((v) & 0xffff)
|
||||||
# define _u24(v) ((v) & 0xffffff)
|
# define _u24(v) ((v) & 0xffffff)
|
||||||
# define jit_thumb_p() jit_cpu.thumb
|
# 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_armv5_p() (jit_cpu.version >= 5)
|
||||||
# define jit_armv5e_p() (jit_cpu.version >= 5 && jit_cpu.extend)
|
# define jit_armv5e_p() (jit_cpu.version >= 5 && jit_cpu.extend)
|
||||||
# define jit_armv6_p() (jit_cpu.version >= 6)
|
# define jit_armv6_p() (jit_cpu.version >= 6)
|
||||||
|
|
|
@ -77,7 +77,6 @@ extern void __clear_cache(void *, void *);
|
||||||
* Initialization
|
* Initialization
|
||||||
*/
|
*/
|
||||||
jit_cpu_t jit_cpu;
|
jit_cpu_t jit_cpu;
|
||||||
jit_flags_t jit_flags;
|
|
||||||
jit_register_t _rvs[] = {
|
jit_register_t _rvs[] = {
|
||||||
{ rc(gpr) | 0x0c, "ip" },
|
{ rc(gpr) | 0x0c, "ip" },
|
||||||
{ rc(sav) | rc(gpr) | 0x04, "r4" },
|
{ rc(sav) | rc(gpr) | 0x04, "r4" },
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue