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:
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>
|
||||
|
||||
* check/self.c, check/self.ok: New files implementing simple
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
/*
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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" },
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue