summaryrefslogtreecommitdiff
path: root/libguile/vm-i-system.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-02-03 21:13:01 +0100
committerAndy Wingo <wingo@pobox.com>2009-02-03 21:13:01 +0100
commitef7e18683c06a3a1524787becd29b8c11dbc5674 (patch)
tree8a4b4f4bbc34b9a126d44cf432373ab127910cb8 /libguile/vm-i-system.c
parente94ecc68c285426544c195dc6d388e3ff0c87dd4 (diff)
downloadguile-ef7e18683c06a3a1524787becd29b8c11dbc5674.tar.gz
inline dispatch to program cmethods, tick in return, remove old goops methods
* libguile/objects.c (scm_apply_generic): Inline the case when the generic is a program. * libguile/vm-i-system.c (return): Tick when functions return. * module/oop/goops.scm (object-eqv?, object-equal?): Remove these historical methods.
Diffstat (limited to 'libguile/vm-i-system.c')
-rw-r--r--libguile/vm-i-system.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
index 677db3ecc..d677a41b3 100644
--- a/libguile/vm-i-system.c
+++ b/libguile/vm-i-system.c
@@ -979,6 +979,8 @@ VM_DEFINE_INSTRUCTION (48, return, "return", 0, 0, 1)
vm_return:
EXIT_HOOK ();
RETURN_HOOK ();
+ SYNC_REGISTER ();
+ SCM_TICK; /* allow interrupt here */
{
SCM ret, *data;
data = SCM_FRAME_DATA_ADDRESS (fp);