diff options
author | Andy Wingo <wingo@pobox.com> | 2018-08-13 10:27:13 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-08-13 10:32:13 +0200 |
commit | 5df43b60a9c5186343c3270a710a7ccf1bcbbabd (patch) | |
tree | 9819ec999cbc1a0acadc7f58f7d3846bd57dd8b9 /libguile/jit.h | |
parent | a20feea43e3a8cf2460c254fb65d5e3aed6bd756 (diff) | |
download | guile-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.h | 4 |
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); |