diff options
author | Andy Wingo <wingo@pobox.com> | 2010-01-05 19:45:56 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-01-07 23:42:41 +0100 |
commit | 6f3b0cc29eb1c1dcb2e02058e3db9ab04ca36b42 (patch) | |
tree | cd54bfb0b6196206aa67d26638e92bc9a857f134 /libguile/goops.c | |
parent | a6029b97ea84d9e9a13d71b21213b6fd0be41e87 (diff) | |
download | guile-6f3b0cc29eb1c1dcb2e02058e3db9ab04ca36b42.tar.gz |
tc7 tags for vm-related data
* libguile/tags.h (scm_tc7_frame, scm_tc7_objcode, scm_tc7_vm)
(scm_tc7_vm_cont): Take more tc7s for VM-related data structures.
* libguile/evalext.c (scm_self_evaluating_p):
* libguile/gc.c (scm_i_tag_name):
* libguile/goops.c (scm_class_of, create_standard_classes):
* libguile/print.c (iprin1): Add cases for the new tc7s.
* libguile/frames.c:
* libguile/frames.h:
* libguile/objcodes.c:
* libguile/objcodes.h:
* libguile/vm.c:
* libguile/vm.h: Desmobify.
* libguile/vm.c (scm_vm_apply): Export to Scheme, because VM objects are
no longer applicable.
* module/system/repl/command.scm (profile):
* module/system/vm/trace.scm (vm-trace):
* module/system/vm/vm.scm (vm-load): Call vm-apply to run a program in a
VM instead of treating the VM as applicable.
Diffstat (limited to 'libguile/goops.c')
-rw-r--r-- | libguile/goops.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libguile/goops.c b/libguile/goops.c index a703e7a7e..ca850fa8c 100644 --- a/libguile/goops.c +++ b/libguile/goops.c @@ -162,6 +162,10 @@ static SCM class_foreign; static SCM class_hashtable; static SCM class_fluid; static SCM class_dynamic_state; +static SCM class_frame; +static SCM class_objcode; +static SCM class_vm; +static SCM class_vm_cont; /* Port classes. Allocate 3 times the maximum number of port types so that input ports, output ports, and in/out ports can be stored at different @@ -223,6 +227,14 @@ SCM_DEFINE (scm_class_of, "class-of", 1, 0, 0, return class_fluid; case scm_tc7_dynamic_state: return class_dynamic_state; + case scm_tc7_frame: + return class_frame; + case scm_tc7_objcode: + return class_objcode; + case scm_tc7_vm: + return class_vm; + case scm_tc7_vm_cont: + return class_vm_cont; case scm_tc7_string: return scm_class_string; case scm_tc7_number: @@ -2402,6 +2414,14 @@ create_standard_classes (void) scm_class_class, scm_class_top, SCM_EOL); make_stdcls (&class_dynamic_state, "<dynamic-state>", scm_class_class, scm_class_top, SCM_EOL); + make_stdcls (&class_frame, "<frame>", + scm_class_class, scm_class_top, SCM_EOL); + make_stdcls (&class_objcode, "<objcode>", + scm_class_class, scm_class_top, SCM_EOL); + make_stdcls (&class_vm, "<vm>", + scm_class_class, scm_class_top, SCM_EOL); + make_stdcls (&class_vm_cont, "<vm-continuation>", + scm_class_class, scm_class_top, SCM_EOL); make_stdcls (&scm_class_number, "<number>", scm_class_class, scm_class_top, SCM_EOL); make_stdcls (&scm_class_complex, "<complex>", |