diff options
author | Andy Wingo <wingo@pobox.com> | 2018-09-17 09:28:41 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-09-17 09:28:41 +0200 |
commit | ce9169804e95e8156945c6ba9c2175565c3e52bb (patch) | |
tree | 9bd28b5df97afea13a6e557d53f242ab82354b32 /libguile/vm-engine.c | |
parent | f03ff5304a5804a5a83c37d6640b99e0d842dc15 (diff) | |
download | guile-ce9169804e95e8156945c6ba9c2175565c3e52bb.tar.gz |
Fix --disable-jit compilationlightning
* libguile/jit.c: Wrap the whole thing in ENABLE_JIT.
* libguile/threads.c (on_thread_exit):
* libguile/vm.c (scm_call_n):
* libguile/init.c (scm_i_init_guile):
* libguile/vm-engine.c (VM_NAME): Wrap calls into jit.c with ENABLE_JIT.
* configure.ac: Move up AC_CANONICAL_TARGET, as autoconf was complaining
about it coming after AC_ARG_PROGRAM.
* acinclude.m4 (GUILE_ENABLE_JIT): Fix to honor --enable-jit arg.
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r-- | libguile/vm-engine.c | 10 |
1 files changed, 10 insertions, 0 deletions
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); |