summaryrefslogtreecommitdiff
path: root/libguile/frames.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-01-05 19:45:56 +0100
committerAndy Wingo <wingo@pobox.com>2010-01-07 23:42:41 +0100
commit6f3b0cc29eb1c1dcb2e02058e3db9ab04ca36b42 (patch)
treecd54bfb0b6196206aa67d26638e92bc9a857f134 /libguile/frames.c
parenta6029b97ea84d9e9a13d71b21213b6fd0be41e87 (diff)
downloadguile-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/frames.c')
-rw-r--r--libguile/frames.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/libguile/frames.c b/libguile/frames.c
index 29c14c8f1..f8eed861a 100644
--- a/libguile/frames.c
+++ b/libguile/frames.c
@@ -26,8 +26,6 @@
#include "frames.h"
-scm_t_bits scm_tc16_frame;
-
#define RELOC(frame, val) (val + SCM_VM_FRAME_OFFSET (frame))
SCM
@@ -41,11 +39,11 @@ scm_c_make_frame (SCM stack_holder, SCM *fp, SCM *sp,
p->sp = sp;
p->ip = ip;
p->offset = offset;
- SCM_RETURN_NEWSMOB (scm_tc16_frame, p);
+ return scm_cell (scm_tc7_frame, (scm_t_bits)p);
}
-static int
-frame_print (SCM frame, SCM port, scm_print_state *pstate)
+void
+scm_i_frame_print (SCM frame, SCM port, scm_print_state *pstate)
{
scm_puts ("#<frame ", port);
scm_uintprint (SCM_UNPACK (frame), 16, port);
@@ -53,8 +51,6 @@ frame_print (SCM frame, SCM port, scm_print_state *pstate)
scm_write (scm_frame_procedure (frame), port);
/* don't write args, they can get us into trouble. */
scm_puts (">", port);
-
- return 1;
}
@@ -292,13 +288,6 @@ SCM_DEFINE (scm_frame_previous, "frame-previous", 1, 0, 0,
void
-scm_bootstrap_frames (void)
-{
- scm_tc16_frame = scm_make_smob_type ("frame", 0);
- scm_set_smob_print (scm_tc16_frame, frame_print);
-}
-
-void
scm_init_frames (void)
{
#ifndef SCM_MAGIC_SNARFER