diff options
author | Andy Wingo <wingo@pobox.com> | 2018-06-26 20:45:26 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-06-26 20:45:26 +0200 |
commit | 0ce9a1f870d8e5d20c4f89bc0e5959fc0aa6fe03 (patch) | |
tree | 4263df6ecce9c7a5cb32b3112883de6928054055 /libguile/vm-engine.c | |
parent | 51e71a473f8ff114522a1b6fa054bdebeefb0575 (diff) | |
download | guile-0ce9a1f870d8e5d20c4f89bc0e5959fc0aa6fe03.tar.gz |
VM throw uses intrinsics
* libguile/intrinsics.h (SCM_FOR_ALL_VM_INTRINSICS): Add intrinsics for
throw, throw/value, and throw/value+data.
* libguile/intrinsics.c (throw_, throw_with_value):
(throw_with_value_and_data): And here they are.
* libguile/vm-engine.c (throw, throw/value, throw/value+data): Use
intrinsics.
* libguile/vm.c: Remove vm_throw et al.
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r-- | libguile/vm-engine.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index 71b3dfd5a..18ae5a638 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -832,7 +832,7 @@ VM_NAME (scm_thread *thread, jmp_buf *registers, int resume) args = SP_REF (b); SYNC_IP (); - vm_throw (key, args); + scm_vm_intrinsics.throw_ (key, args); abort (); /* never reached */ } @@ -861,7 +861,7 @@ VM_NAME (scm_thread *thread, jmp_buf *registers, int resume) key_subr_and_message = SCM_PACK (key_subr_and_message_bits); SYNC_IP (); - vm_throw_with_value (val, key_subr_and_message); + scm_vm_intrinsics.throw_with_value (val, key_subr_and_message); abort (); /* never reached */ } @@ -890,7 +890,7 @@ VM_NAME (scm_thread *thread, jmp_buf *registers, int resume) key_subr_and_message = SCM_PACK (key_subr_and_message_bits); SYNC_IP (); - vm_throw_with_value_and_data (val, key_subr_and_message); + scm_vm_intrinsics.throw_with_value_and_data (val, key_subr_and_message); abort (); /* never reached */ } |