summaryrefslogtreecommitdiff
path: root/libguile/vm-i-scheme.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-11-06 12:40:20 +0100
committerAndy Wingo <wingo@pobox.com>2009-11-15 21:03:33 +0100
commitaec4a84ac8bb3270e6f68f8299e76c49857e24d4 (patch)
treec8283364f4fad11747b108b53ddfe86f533ffaf8 /libguile/vm-i-scheme.c
parentb4a595a5d6447ef41d57690e841c545aa45d3a08 (diff)
downloadguile-aec4a84ac8bb3270e6f68f8299e76c49857e24d4.tar.gz
class-of has an opcode
* libguile/vm-i-scheme.c (class-of): New opcode. * module/language/tree-il/compile-glil.scm: * module/oop/goops.scm: Compile class-of into an opcode.
Diffstat (limited to 'libguile/vm-i-scheme.c')
-rw-r--r--libguile/vm-i-scheme.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c
index ff963d64c..73c4296a5 100644
--- a/libguile/vm-i-scheme.c
+++ b/libguile/vm-i-scheme.c
@@ -285,6 +285,12 @@ VM_DEFINE_FUNCTION (126, mod, "mod", 2)
/*
* GOOPS support
*/
+VM_DEFINE_FUNCTION (169, class_of, "class-of", 1)
+{
+ ARGS1 (obj);
+ RETURN (SCM_INSTANCEP (obj) ? SCM_CLASS_OF (obj) : scm_class_of (obj));
+}
+
VM_DEFINE_FUNCTION (127, slot_ref, "slot-ref", 2)
{
size_t slot;