guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 255/437: IA64: Force sync of instructions in get-jit-siz


From: Andy Wingo
Subject: [Guile-commits] 255/437: IA64: Force sync of instructions in get-jit-size build mode.
Date: Mon, 2 Jul 2018 05:14:32 -0400 (EDT)

wingo pushed a commit to branch lightning
in repository guile.

commit ff735476031507028021bf16ff1b16d5ca09aea0
Author: pcpa <address@hidden>
Date:   Sat Sep 28 14:19:33 2013 -0300

    IA64: Force sync of instructions in get-jit-size build mode.
---
 ChangeLog      |  9 +++++++++
 lib/jit_ia64.c | 11 ++++++-----
 size.c         |  2 +-
 3 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 533fb67..80e14b3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2013-10-28 Paulo Andrade <address@hidden>
+
+       * lib/jit_ia64.c: Minor change to force collecting the maximum
+       instruction length in the --enable-devel-get-jit-size build
+       mode. The actual generated file did not change because the
+       sampling was large enough that it had already collected proper
+       information in the previously slightly buggy code (not forcing
+       a sync of the instructions that could be combined).
+
 2013-10-27 Paulo Andrade <address@hidden>
 
        * lib/jit_arm.c: Correct build when disassembler is
diff --git a/lib/jit_ia64.c b/lib/jit_ia64.c
index 0894dd0..6abf1a7 100644
--- a/lib/jit_ia64.c
+++ b/lib/jit_ia64.c
@@ -849,16 +849,14 @@ _emit_code(jit_state_t *_jit)
                    patch(word, node);                                  \
                }                                                       \
                break
-#if GET_JIT_SIZE
-    /* default of 64 bytes is too low for some possible
-     * quite long code generation sequences, e.g. qdivi */
-    _jitc->code.end = _jit->code.ptr + _jit->code.length - 4096;
-#endif
     for (node = _jitc->head; node; node = node->next) {
        if (_jit->pc.uc >= _jitc->code.end)
            return (NULL);
 
        value = jit_classify(node->code);
+#if GET_JIT_SIZE
+       sync();
+#endif
        jit_regarg_set(node, value);
        switch (node->code) {
            case jit_code_note:         case jit_code_name:
@@ -1334,6 +1332,9 @@ _emit_code(jit_state_t *_jit)
                    break;
            }
        }
+#if GET_JIT_SIZE
+       sync();
+#endif
        jit_regarg_clr(node, value);
        /* update register live state */
        jit_reglive(node);
diff --git a/size.c b/size.c
index 1acbb4f..5c56e69 100644
--- a/size.c
+++ b/size.c
@@ -71,7 +71,7 @@ main(int argc, char *argv[])
 #if defined(__arm__)
     fprintf(fp, "#undef /* __ARM_PCS_VFP */\n");
 #elif defined(__mips__)
-    fprintf(fp, "#endif        /* _ABIN32 */\n");
+    fprintf(fp, "#endif /* _ABIN32 */\n");
 #elif defined(__ppc__)
     fprintf(fp, "#endif /* __ppc__ */\n");
 #elif defined(__powerpc__)



reply via email to

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