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

Always set t12 to address of called function

* lib/jit_alpha-cpu.c: Always set t12 to the address of the
	current function, to properly work on all systems. Previously
	the shortcut did only work on Tru64. For Linux and glibc the
	change is required.
This commit is contained in:
Paulo Andrade 2018-02-22 13:17:28 -03:00
parent 2cf092efe4
commit b64b82ca51
2 changed files with 13 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2018-02-22 Paulo Andrade <pcpa@gnu.org>
* lib/jit_alpha-cpu.c: Always set t12 to the address of the
current function, to properly work on all systems. Previously
the shortcut did only work on Tru64. For Linux and glibc the
change is required.
2018-02-22 Paulo Andrade <pcpa@gnu.org>
* lib/jit_aarch64.c, lib/jit_alpha.c, lib/jit_arm.c,

View file

@ -2550,6 +2550,8 @@ _callr(jit_state_t *_jit, jit_int32_t r0)
static void
_calli(jit_state_t *_jit, jit_word_t i0)
{
/* FIXME use a small buffer to load constants - using gp */
#if 0
jit_word_t w;
jit_word_t d;
w = _jit->pc.w;
@ -2558,6 +2560,10 @@ _calli(jit_state_t *_jit, jit_word_t i0)
BSR(_RA_REGNO, d);
else
(void)calli_p(i0);
#else
movi(_PV_REGNO, i0);
callr(_PV_REGNO);
#endif
}
static jit_word_t