[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 389/437: alpha: Save correct offset if loading a vararg
From: |
Andy Wingo |
Subject: |
[Guile-commits] 389/437: alpha: Save correct offset if loading a vararg double. |
Date: |
Mon, 2 Jul 2018 05:15:01 -0400 (EDT) |
wingo pushed a commit to branch lightning
in repository guile.
commit d6a5a90d5a567acd4ba4b853970fe3253c9b6ced
Author: Paulo Andrade <address@hidden>
Date: Wed May 20 23:19:16 2015 -0300
alpha: Save correct offset if loading a vararg double.
---
lib/jit_alpha-fpu.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/lib/jit_alpha-fpu.c b/lib/jit_alpha-fpu.c
index 9d9143b..7152e72 100644
--- a/lib/jit_alpha-fpu.c
+++ b/lib/jit_alpha-fpu.c
@@ -1550,12 +1550,13 @@ static void
_vaarg_d(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1)
{
jit_word_t ge_code;
- jit_int32_t rg0, rg1;
+ jit_int32_t rg0, rg1, rg2;
assert(_jitc->function->self.call & jit_call_varargs);
rg0 = jit_get_reg(jit_class_gpr);
rg1 = jit_get_reg(jit_class_gpr);
+ rg2 = jit_get_reg(jit_class_gpr);
/* Load the base in first temporary. */
ldxi(rn(rg0), r1, offsetof(jit_va_list_t, base));
@@ -1563,6 +1564,9 @@ _vaarg_d(jit_state_t *_jit, jit_int32_t r0, jit_int32_t
r1)
/* Load the offset in the second temporary. */
ldxi(rn(rg1), r1, offsetof(jit_va_list_t, offset));
+ /* Remember absolute offset */
+ movr(rn(rg2), rn(rg1));
+
/* Jump if overflowed register saved area. */
ge_code = bgei(_jit->pc.w, rn(rg1), 48);
/* Otherwise load from the float registers save area. */
@@ -1573,11 +1577,12 @@ _vaarg_d(jit_state_t *_jit, jit_int32_t r0, jit_int32_t
r1)
ldxr_d(r0, rn(rg0), rn(rg1));
/* No longer needed. */
+ jit_unget_reg(rg1);
jit_unget_reg(rg0);
/* Update offset. */
- addi(rn(rg1), rn(rg1), 8);
- stxi(offsetof(jit_va_list_t, offset), r1, rn(rg1));
- jit_unget_reg(rg1);
+ addi(rn(rg2), rn(rg2), 8);
+ stxi(offsetof(jit_va_list_t, offset), r1, rn(rg2));
+ jit_unget_reg(rg2);
}
#endif
- [Guile-commits] 302/437: Add info menu entry for lightning, (continued)
- [Guile-commits] 302/437: Add info menu entry for lightning, Andy Wingo, 2018/07/02
- [Guile-commits] 214/437: Remove remaining ia64 port debug code., Andy Wingo, 2018/07/02
- [Guile-commits] 331/437: mips: Do not make t9 available as a generic register, Andy Wingo, 2018/07/02
- [Guile-commits] 287/437: ARM: Do not leave early init_jit if /proc is not mounted., Andy Wingo, 2018/07/02
- [Guile-commits] 405/437: Add a second pass to compute live register ranges, Andy Wingo, 2018/07/02
- [Guile-commits] 300/437: Add consistency check on temporaries during a jump, Andy Wingo, 2018/07/02
- [Guile-commits] 276/437: Rewrite jit_regset_scan1 for easier optimization., Andy Wingo, 2018/07/02
- [Guile-commits] 268/437: Sync after regenerating version.texi., Andy Wingo, 2018/07/02
- [Guile-commits] 277/437: x86_64: Correct wrong inline assembly in jit_get_cpu, Andy Wingo, 2018/07/02
- [Guile-commits] 360/437: Correct wrong check in simplify_stxi., Andy Wingo, 2018/07/02
- [Guile-commits] 389/437: alpha: Save correct offset if loading a vararg double.,
Andy Wingo <=
- [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, 2018/07/02