diff options
author | Andy Wingo <wingo@pobox.com> | 2009-11-06 12:40:20 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-11-15 21:03:33 +0100 |
commit | aec4a84ac8bb3270e6f68f8299e76c49857e24d4 (patch) | |
tree | c8283364f4fad11747b108b53ddfe86f533ffaf8 /libguile/vm-i-scheme.c | |
parent | b4a595a5d6447ef41d57690e841c545aa45d3a08 (diff) | |
download | guile-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.c | 6 |
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; |