guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 01/05: Fix load width of get-ip-relative-addr


From: Andy Wingo
Subject: [Guile-commits] 01/05: Fix load width of get-ip-relative-addr
Date: Fri, 24 Aug 2018 05:44:37 -0400 (EDT)

wingo pushed a commit to branch lightning
in repository guile.

commit bf035d9385ea875c6cb0fb140078a8d4effb046c
Author: Andy Wingo <address@hidden>
Date:   Thu Aug 23 17:19:15 2018 +0200

    Fix load width of get-ip-relative-addr
    
    * libguile/jit.c (emit_get_ip_relative_addr): Fix load width.
---
 libguile/jit.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libguile/jit.c b/libguile/jit.c
index b9d5970..ef9534b 100644
--- a/libguile/jit.c
+++ b/libguile/jit.c
@@ -441,7 +441,7 @@ emit_get_ip_relative_addr (scm_jit_state *j, jit_gpr_t dst, 
jit_gpr_t ip,
                            uint32_t offset)
 {
   uint32_t byte_offset = offset * sizeof (uint32_t);
-  jit_ldxi (dst, ip, byte_offset);
+  jit_ldxi_i (dst, ip, byte_offset);
   jit_lshi (dst, dst, 2); /* Multiply by sizeof (uint32_t) */
   jit_addr (dst, dst, ip);
 }
@@ -477,8 +477,11 @@ emit_indirect_tail_call (scm_jit_state *j)
 
   emit_get_callee_vcode (j, T0);
 
+  /* FIXME: If all functions start with instrument-entry, no need for
+     this check.  */
   emit_get_vcode_low_byte (j, T1, T0);
   not_instrumented = jit_bnei (T1, scm_op_instrument_entry);
+
   emit_get_ip_relative_addr (j, T1, T0, 1);
   jit_ldr (T1, T1);
   no_mcode = jit_beqi (T1, 0);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]