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/frames.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/frames.c')
-rw-r--r-- | libguile/frames.c | 17 |
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 |