summaryrefslogtreecommitdiff
path: root/libguile/vm-engine.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-01-30 15:45:37 +0100
committerAndy Wingo <wingo@pobox.com>2010-01-31 20:40:21 +0100
commit4f66bcdeff1f5e3d1dd44d745188b91942b04d33 (patch)
tree6c5bc7557ba61cef2d88244ee72a35cff59943a3 /libguile/vm-engine.c
parent17d819d4c43701e0e0e92f6c2001343d4730db83 (diff)
downloadguile-4f66bcdeff1f5e3d1dd44d745188b91942b04d33.tar.gz
initial VM support for delimited continuations and dynamic-wind
* libguile/vm-i-system.c (prompt, wind, throw, unwind): New instructions, for implementing dynamic-wind and delimited continuations. * libguile/vm.c: Add some stub support for the new instructions. * libguile/vm-engine.c: Some new error conditions.
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r--libguile/vm-engine.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index c46834b2e..75dd613ed 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -214,6 +214,12 @@ VM_NAME (SCM vm, SCM program, SCM *argv, int nargs)
/* shouldn't get here */
goto vm_error;
+ vm_error_not_a_thunk:
+ SYNC_ALL ();
+ scm_wrong_type_arg_msg (FUNC_NAME, 1, finish_args, "thunk");
+ /* shouldn't get here */
+ goto vm_error;
+
vm_error_no_values:
err_msg = scm_from_locale_string ("Zero values returned to single-valued continuation");
finish_args = SCM_EOL;