guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 01/01: Only enable JIT by default on x86-64


From: Andy Wingo
Subject: [Guile-commits] 01/01: Only enable JIT by default on x86-64
Date: Wed, 10 Oct 2018 04:10:07 -0400 (EDT)

wingo pushed a commit to annotated tag v2.9.0
in repository guile.

commit 4aa4a6d590eb118e1cfe16ee546495d6c00e61b8
Author: Andy Wingo <address@hidden>
Date:   Wed Oct 10 10:02:55 2018 +0200

    Only enable JIT by default on x86-64
    
    * acinclude.m4: Disable JIT by default on not-x86-64.  Although I got
      JIT mostly working on 32-bit x86, I got nondeterministic segfaults
      deep in lightning, on that platform; perhaps indicating a bug in the
      optimizer.  After a day of poking and not solving the problem, I think
      that I don't want the complexity of Lightning's node representation,
      especially on platforms that get less testing.  In the future we'll
      use the lightning backends without the node layer.
    * NEWS: Update.
---
 NEWS         | 5 +++--
 acinclude.m4 | 7 ++++++-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index 9fb31b6..9a171b7 100644
--- a/NEWS
+++ b/NEWS
@@ -22,8 +22,9 @@ compilation will be enabled automatically and transparently.  
To disable
 JIT compilation, configure Guile with `--enable-jit=no' or
 `--disable-jit'.  See `./configure --help' for more.
 
-Guile uses an embedded copy of GNU lightning, providing support for JIT
-on about a dozen platforms.
+In this release, JIT compilation is enabled only on x86-64.  In future
+prereleases support will be added for all architectures supported by GNU
+lightning.
 
 ** Lower-level bytecode
 
diff --git a/acinclude.m4 b/acinclude.m4
index 0857114..9a2972f 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -614,7 +614,12 @@ AC_DEFUN([GUILE_ENABLE_JIT], [
   case "x$enable_jit" in
     xy*) enable_jit=yes ;;
     xn*) enable_jit=no ;;
-    xa* | x) enable_jit=$JIT_AVAILABLE ;;
+    xa* | x)
+      # For the time being, only enable JIT on x86-64.
+      case "$target_cpu" in
+        x86_64|amd64)     enable_jit=yes ;;
+        *)                enable_jit=no ;;
+      esac
     *)  AC_MSG_ERROR(bad value $enable_jit for --enable-jit) ;;
   esac
   AC_MSG_RESULT($enable_jit)



reply via email to

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