summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
Diffstat (limited to 'libguile')
-rw-r--r--libguile/init.c2
-rw-r--r--libguile/jit.c7
-rw-r--r--libguile/threads.c2
-rw-r--r--libguile/vm-engine.c10
-rw-r--r--libguile/vm.c2
5 files changed, 21 insertions, 2 deletions
diff --git a/libguile/init.c b/libguile/init.c
index 78fa6a045..ed4043c37 100644
--- a/libguile/init.c
+++ b/libguile/init.c
@@ -513,7 +513,9 @@ scm_i_init_guile (void *base)
scm_bootstrap_i18n ();
scm_init_script ();
scm_init_unicode ();
+#if ENABLE_JIT
scm_init_jit ();
+#endif
scm_init_goops ();
diff --git a/libguile/jit.c b/libguile/jit.c
index 6f8d6cbca..92782c95f 100644
--- a/libguile/jit.c
+++ b/libguile/jit.c
@@ -22,12 +22,13 @@
# include <config.h>
#endif
+/* All of this whole file is within an ENABLE_JIT flag. */
+#if ENABLE_JIT
+
#include <stdio.h>
#include <sys/mman.h>
-#if ENABLE_JIT
#include <lightning.h>
-#endif
#include "frames.h"
#include "gsubr.h"
@@ -4779,3 +4780,5 @@ scm_init_jit (void)
jit_pause_when_stopping = scm_getenv_int ("GUILE_JIT_PAUSE_WHEN_STOPPING", 0);
jit_log_level = scm_getenv_int ("GUILE_JIT_LOG", 0);
}
+
+#endif /* ENABLE_JIT */
diff --git a/libguile/threads.c b/libguile/threads.c
index 707ef8d2a..bec7e706b 100644
--- a/libguile/threads.c
+++ b/libguile/threads.c
@@ -514,7 +514,9 @@ on_thread_exit (void *v)
t->dynstack.top = NULL;
t->dynstack.limit = NULL;
scm_i_vm_free_stack (&t->vm);
+#if ENABLE_JIT
scm_jit_state_free (t->jit_state);
+#endif
t->jit_state = NULL;
#ifdef SCM_HAVE_THREAD_STORAGE_CLASS
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index 3dd6c1618..4daa9fe12 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -458,6 +458,7 @@ VM_NAME (scm_thread *thread)
*/
VM_DEFINE_OP (5, instrument_entry, "instrument-entry", OP2 (X32, N32))
{
+#if ENABLE_JIT
if (!VP->disable_mcode)
{
struct scm_jit_function_data *data;
@@ -490,6 +491,7 @@ VM_NAME (scm_thread *thread)
else
data->counter += SCM_JIT_COUNTER_ENTRY_INCREMENT;
}
+#endif
APPLY_HOOK ();
@@ -575,6 +577,7 @@ VM_NAME (scm_thread *thread)
old_fp = VP->fp;
VP->fp = SCM_FRAME_DYNAMIC_LINK (old_fp);
+#if ENABLE_JIT
if (!VP->disable_mcode)
{
mcode = SCM_FRAME_MACHINE_RETURN_ADDRESS (old_fp);
@@ -585,6 +588,7 @@ VM_NAME (scm_thread *thread)
NEXT (0);
}
}
+#endif
ip = SCM_FRAME_VIRTUAL_RETURN_ADDRESS (old_fp);
NEXT (0);
@@ -699,6 +703,7 @@ VM_NAME (scm_thread *thread)
SYNC_IP ();
mcode = CALL_INTRINSIC (compose_continuation, (thread, vmcont));
+#if ENABLE_JIT
if (mcode && !VP->disable_mcode)
{
scm_jit_enter_mcode (thread, mcode);
@@ -706,6 +711,7 @@ VM_NAME (scm_thread *thread)
NEXT (0);
}
else
+#endif
{
CACHE_REGISTER ();
NEXT (0);
@@ -721,6 +727,7 @@ VM_NAME (scm_thread *thread)
*/
VM_DEFINE_OP (14, instrument_loop, "instrument-loop", OP2 (X32, N32))
{
+#if ENABLE_JIT
if (!VP->disable_mcode)
{
int32_t data_offset = ip[1];
@@ -745,6 +752,7 @@ VM_NAME (scm_thread *thread)
else
data->counter += SCM_JIT_COUNTER_LOOP_INCREMENT;
}
+#endif
NEXT (2);
}
@@ -789,8 +797,10 @@ VM_NAME (scm_thread *thread)
ABORT_HOOK ();
+#if ENABLE_JIT
if (mcode && !VP->disable_mcode)
scm_jit_enter_mcode (thread, mcode);
+#endif
CACHE_REGISTER ();
NEXT (0);
diff --git a/libguile/vm.c b/libguile/vm.c
index 10db757f1..db7816acb 100644
--- a/libguile/vm.c
+++ b/libguile/vm.c
@@ -1588,8 +1588,10 @@ scm_call_n (SCM proc, SCM *argv, size_t nargs)
/* Non-local return. */
if (vp->abort_hook_enabled)
invoke_abort_hook (thread);
+#if ENABLE_JIT
if (mcode && !vp->disable_mcode)
scm_jit_enter_mcode (thread, mcode);
+#endif
}
else
vp->ip = get_callee_vcode (thread);