summaryrefslogtreecommitdiff
path: root/libguile/vm-i-system.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-02-02 23:00:36 +0100
committerAndy Wingo <wingo@pobox.com>2009-02-02 23:00:36 +0100
commite311f5fa04a45e1ddc4dea4d37911c98c692848f (patch)
treee5c3e38416d05fd02787e250f957bfabb905a8f8 /libguile/vm-i-system.c
parent8403b9f59bcd10d1b69a1f14e3175c9cf8a786db (diff)
downloadguile-e311f5fa04a45e1ddc4dea4d37911c98c692848f.tar.gz
tick in calls, procedure-name works on compiled procedures
* module/system/vm/program.scm: * libguile/programs.h: * libguile/programs.c (scm_program_bindings, scm_program_bindings) (scm_program_properties, scm_program_name): Unfortunately, implement more procs in C, so that C can use them more easily. * libguile/debug.c (scm_procedure_name): Dispatch to scm_program_name as appropriate. * libguile/vm-i-system.c (call): Tick in a call.
Diffstat (limited to 'libguile/vm-i-system.c')
-rw-r--r--libguile/vm-i-system.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
index 002b0042e..677db3ecc 100644
--- a/libguile/vm-i-system.c
+++ b/libguile/vm-i-system.c
@@ -488,6 +488,9 @@ VM_DEFINE_INSTRUCTION (39, call, "call", 1, -1, 1)
vm_call:
x = sp[-nargs];
+ SYNC_REGISTER ();
+ SCM_TICK; /* allow interrupt here */
+
/*
* Subprogram call
*/