diff options
author | Andy Wingo <wingo@pobox.com> | 2009-08-20 14:27:38 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-08-20 18:52:51 +0200 |
commit | 2fb924f64f6cf47a9b4d6e8a22433ac2c5739379 (patch) | |
tree | dfe2aa5484ef14797a7c659f2b0cd873d54dd37b /libguile/frames.h | |
parent | cdde57b2f11a6c28518aebed234b98ce5bd7131f (diff) | |
download | guile-2fb924f64f6cf47a9b4d6e8a22433ac2c5739379.tar.gz |
programs have their own tc7 now
* libguile/tags.h (scm_tc7_program):
* libguile/programs.h: Programs now have their own tc7 code. Fix up the
macros appropriately.
* libguile/programs.c: Remove smobby bits, leaving marking, printing,
and application for other parts of Guile.
* libguile/debug.c (scm_procedure_source):
* libguile/eval.c (scm_trampoline_0, scm_trampoline_1)
(scm_trampoline_2): Add cases for tc7_program.
* libguile/eval.i.c (CEVAL, SCM_APPLY):
* libguile/evalext.c (scm_self_evaluating_p):
* libguile/gc-card.c (scm_i_sweep_card, scm_i_tag_name):
* libguile/gc-mark.c (1):
* libguile/print.c (iprin1):
* libguile/procs.c (scm_procedure_p, scm_thunk_p)
* libguile/vm-i-system.c (make-closure): Adapt to new procedure
representation.
* libguile/procprop.c (scm_i_procedure_arity): Do the right thing for
programs.
* test-suite/tests/procprop.test ("procedure-arity"): Arity test now
succeeds.
* libguile/goops.c (scm_class_of): Programs now belong to the class
<procedure>, not a smob class.
* libguile/vm.h (struct vm, struct vm_cont):
* libguile/vm-engine.c (vm_engine):
* libguile/frames.h (SCM_FRAME_BYTE_CAST, struct vm_frame):
* libguile/frames.c (scm_c_make_vm_frame): Fix usages of scm_byte_t,
changing them to scm_t_uint8.
Diffstat (limited to 'libguile/frames.h')
-rw-r--r-- | libguile/frames.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/libguile/frames.h b/libguile/frames.h index cce661f8f..0165924a7 100644 --- a/libguile/frames.h +++ b/libguile/frames.h @@ -56,7 +56,7 @@ + SCM_PROGRAM_DATA (SCM_FRAME_PROGRAM (fp))->nlocs) #define SCM_FRAME_LOWER_ADDRESS(fp) (fp - 4) -#define SCM_FRAME_BYTE_CAST(x) ((scm_byte_t *) SCM_UNPACK (x)) +#define SCM_FRAME_BYTE_CAST(x) ((scm_t_uint8 *) SCM_UNPACK (x)) #define SCM_FRAME_STACK_CAST(x) ((SCM *) SCM_UNPACK (x)) #define SCM_FRAME_RETURN_ADDRESS(fp) \ @@ -86,7 +86,7 @@ struct scm_vm_frame SCM stack_holder; SCM *fp; SCM *sp; - scm_byte_t *ip; + scm_t_uint8 *ip; scm_t_ptrdiff offset; }; @@ -99,9 +99,8 @@ struct scm_vm_frame #define SCM_VM_FRAME_OFFSET(f) SCM_VM_FRAME_DATA(f)->offset #define SCM_VALIDATE_VM_FRAME(p,x) SCM_MAKE_VALIDATE (p, x, VM_FRAME_P) -/* FIXME rename scm_byte_t */ SCM_API SCM scm_c_make_vm_frame (SCM stack_holder, SCM *fp, SCM *sp, - scm_byte_t *ip, scm_t_ptrdiff offset); + scm_t_uint8 *ip, scm_t_ptrdiff offset); SCM_API SCM scm_vm_frame_p (SCM obj); SCM_API SCM scm_vm_frame_program (SCM frame); SCM_API SCM scm_vm_frame_arguments (SCM frame); |