summaryrefslogtreecommitdiff
path: root/libguile/vm-i-scheme.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-04-08 10:56:14 +0200
committerAndy Wingo <wingo@pobox.com>2010-04-08 10:56:14 +0200
commit1a461493a33d44f41a7d5245df142ef000c09db3 (patch)
tree688744674ca0aa4dca43a9169e41f4623c344d18 /libguile/vm-i-scheme.c
parent9225df3c551c9b28cf16f5c4aab8cf1183f44577 (diff)
downloadguile-1a461493a33d44f41a7d5245df142ef000c09db3.tar.gz
sync regs before calling scm_class_of
* libguile/vm-i-scheme.c (class-of): Sync registers before calling scm_class_of.
Diffstat (limited to 'libguile/vm-i-scheme.c')
-rw-r--r--libguile/vm-i-scheme.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c
index af052af1c..3e31691cc 100644
--- a/libguile/vm-i-scheme.c
+++ b/libguile/vm-i-scheme.c
@@ -515,7 +515,10 @@ VM_DEFINE_FUNCTION (168, struct_set, "struct-set", 3)
VM_DEFINE_FUNCTION (169, class_of, "class-of", 1)
{
ARGS1 (obj);
- RETURN (SCM_INSTANCEP (obj) ? SCM_CLASS_OF (obj) : scm_class_of (obj));
+ if (SCM_INSTANCEP (obj))
+ RETURN (SCM_CLASS_OF (obj));
+ SYNC_REGISTER ();
+ RETURN (scm_class_of (obj));
}
VM_DEFINE_FUNCTION (170, slot_ref, "slot-ref", 2)