From: Rhys Weatherley Date: Tue, 1 Jun 2004 10:20:41 +0000 (+0000) Subject: Enable the x86 back end by default on platforms where it makes sense, X-Git-Tag: r.0.0.4~60 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=3980ad081d326d76e01c10adf59ded63aa81af2a;p=francis%2Flibjit.git Enable the x86 back end by default on platforms where it makes sense, and add the option "--enable-interpreter" to "configure". --- diff --git a/ChangeLog b/ChangeLog index d6167fd..436fa3c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,10 @@ * jit/jit-rules-arm.c, jit/jit-rules-arm.sel: more instruction selection rules for ARM. + * configure.in, jit/jit-rules.h: enable the x86 back end by + default on platforms where it makes sense, and add the option + "--enable-interpreter" to "configure". + 2004-05-31 Rhys Weatherley * jit/jit-rules-x86.sel: optimize multiplications for x86. diff --git a/configure.in b/configure.in index fd1cc8d..0c2a8b5 100644 --- a/configure.in +++ b/configure.in @@ -51,6 +51,18 @@ case "$host" in esac AC_MSG_RESULT($platform_win32) +dnl The "--enable-interpreter" option forces the use of the interpreter. +AC_ARG_ENABLE(interpreter, +[ --enable-interpreter Enable the libjit interpreter], +[case "${enableval}" in + yes) interp=true ;; + no) interp=false ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-interpreter) ;; +esac],[interp=false]) +if test x$interp = xtrue; then + AC_DEFINE(USE_LIBJIT_INTERPRETER, 1, [Define if you want to use the libjit interpreter]) +fi + dnl Checks for programs. AC_PROG_AWK AC_PROG_CC diff --git a/jit/jit-rules.h b/jit/jit-rules.h index 3bad408..f23ed9a 100644 --- a/jit/jit-rules.h +++ b/jit/jit-rules.h @@ -22,6 +22,7 @@ #define _JIT_RULES_H #include "jit-cache.h" +#include #ifdef __cplusplus extern "C" { @@ -30,9 +31,17 @@ extern "C" { /* * Determine which backend to use. */ -#define JIT_BACKEND_INTERP 1 -/*#define JIT_BACKEND_X86 1*/ +#if defined(USE_LIBJIT_INTERPRETER) + #define JIT_BACKEND_INTERP 1 + #define JIT_HAVE_BACKEND 1 +#elif defined(__i386) || defined(__i386__) || defined(_M_IX86) + #define JIT_BACKEND_X86 1 + #define JIT_HAVE_BACKEND 1 +#endif /*#define JIT_BACKEND_ARM 1*/ +#if !defined(JIT_HAVE_BACKEND) + #define JIT_BACKEND_INTERP 1 +#endif /* * Information about a register.