[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 414/437: Always set t12 to address of called function
From: |
Andy Wingo |
Subject: |
[Guile-commits] 414/437: Always set t12 to address of called function |
Date: |
Mon, 2 Jul 2018 05:15:06 -0400 (EDT) |
wingo pushed a commit to branch lightning
in repository guile.
commit b64b82ca5182cfec170b79ae7e8a23d6c088632d
Author: Paulo Andrade <address@hidden>
Date: Thu Feb 22 13:17:28 2018 -0300
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.
---
ChangeLog | 7 +++++++
lib/jit_alpha-cpu.c | 6 ++++++
2 files changed, 13 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 2c0a4ae..660f018 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2018-02-22 Paulo Andrade <address@hidden>
+ * 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 <address@hidden>
+
* lib/jit_aarch64.c, lib/jit_alpha.c, lib/jit_arm.c,
lib/jit_mips.c, lib/jit_ppc.c, lib/jit_sparc.c, lib/jit_x86.c:
Correct wrong logic in usage of jit_live in jit_retr. The
diff --git a/lib/jit_alpha-cpu.c b/lib/jit_alpha-cpu.c
index 89755aa..afc22bb 100644
--- a/lib/jit_alpha-cpu.c
+++ b/lib/jit_alpha-cpu.c
@@ -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
- [Guile-commits] 389/437: alpha: Save correct offset if loading a vararg double., (continued)
- [Guile-commits] 389/437: alpha: Save correct offset if loading a vararg double., Andy Wingo, 2018/07/02
- [Guile-commits] 380/437: ppc: Add initial jit_va_ calls to ppc, Andy Wingo, 2018/07/02
- [Guile-commits] 239/437: Avoid possible problem if built with gcc 4.8 or newer., Andy Wingo, 2018/07/02
- [Guile-commits] 347/437: S390: Add support for 32 bit., Andy Wingo, 2018/07/02
- [Guile-commits] 428/437: Further lightning integration work, Andy Wingo, 2018/07/02
- [Guile-commits] 420/437: Strip "get-jit-size" feature from lightning., Andy Wingo, 2018/07/02
- [Guile-commits] 434/437: Remove unused AM_CONDITIONAL statements from lightning configure, Andy Wingo, 2018/07/02
- [Guile-commits] 390/437: Correct make check for systems without gcc., Andy Wingo, 2018/07/02
- [Guile-commits] 388/437: sparc: Add initial jit_va_ calls to sparc, Andy Wingo, 2018/07/02
- [Guile-commits] 319/437: Properly handle jit_tramp and function descriptors, Andy Wingo, 2018/07/02
- [Guile-commits] 414/437: Always set t12 to address of called function,
Andy Wingo <=
- [Guile-commits] 289/437: Remove the global but not advertised jit_progname variable, Andy Wingo, 2018/07/02
- [Guile-commits] 334/437: ARM: Correct several inconsistencies with ldrd and strd, Andy Wingo, 2018/07/02
- [Guile-commits] 210/437: Correct all ldst test cases., Andy Wingo, 2018/07/02
- [Guile-commits] 252/437: GNU lightning 2.0.1 release, Andy Wingo, 2018/07/02
- [Guile-commits] 327/437: Force creation of the m4 directory on a clean checkout, Andy Wingo, 2018/07/02
- [Guile-commits] 314/437: Add back files missed when reapplying patches, Andy Wingo, 2018/07/02
- [Guile-commits] 354/437: Implement the jit_arg_register_p predicate., Andy Wingo, 2018/07/02
- [Guile-commits] 381/437: Remove wrong comment after cut and paste, Andy Wingo, 2018/07/02
- [Guile-commits] 209/437: Correct float division and LX with stop code generation., Andy Wingo, 2018/07/02
- [Guile-commits] 280/437: Implement the new jit_set_code interface., Andy Wingo, 2018/07/02