summaryrefslogtreecommitdiff
path: root/libguile/jit.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2018-08-13 10:27:13 +0200
committerAndy Wingo <wingo@pobox.com>2018-08-13 10:32:13 +0200
commit5df43b60a9c5186343c3270a710a7ccf1bcbbabd (patch)
tree9819ec999cbc1a0acadc7f58f7d3846bd57dd8b9 /libguile/jit.h
parenta20feea43e3a8cf2460c254fb65d5e3aed6bd756 (diff)
downloadguile-5df43b60a9c5186343c3270a710a7ccf1bcbbabd.tar.gz
Adapt JIT calling convention; continuations take mra from stack
* libguile/intrinsics.h (SCM_FOR_ALL_VM_INTRINSICS): Update prototype of capture-continuation. * libguile/jit.h: * libguile/jit.c (scm_jit_enter_mcode): Return void, not the vra. Instead, we expect the code to set vp->ip for the vra. * libguile/vm-engine.c (instrument-entry, instrument-loop) (return-values, abort): Adapt scm_jit_enter_mcode calling convention. (capture-continuation): No need to pass an mra; the intrinsic will read it from the stack. * libguile/vm.c (capture_continuation): Remove mra arg, as we take mra from the continuation. (scm_call_n): Adapt to scm_jit_enter_mcode change.
Diffstat (limited to 'libguile/jit.h')
-rw-r--r--libguile/jit.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/libguile/jit.h b/libguile/jit.h
index 34f5751d9..325ec35ed 100644
--- a/libguile/jit.h
+++ b/libguile/jit.h
@@ -53,8 +53,8 @@ enum scm_jit_counter_value
SCM_INTERNAL const uint8_t *scm_jit_compute_mcode (scm_thread *thread,
struct scm_jit_function_data *data);
-SCM_INTERNAL uint32_t *scm_jit_enter_mcode (scm_thread *thread,
- const uint8_t *mcode);
+SCM_INTERNAL void scm_jit_enter_mcode (scm_thread *thread,
+ const uint8_t *mcode);
SCM_INTERNAL void scm_init_jit (void);