summaryrefslogtreecommitdiff
path: root/libguile/frames.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2013-11-21 17:21:37 +0100
committerAndy Wingo <wingo@pobox.com>2013-11-21 17:21:37 +0100
commit5515edc5f21e042ade15cf508300c496ce2f4818 (patch)
tree5b3158516c0c736474123f84593bbd56666369b7 /libguile/frames.h
parent050a40db5b0b09f0b00d4d68aac67827c7f9b1ac (diff)
downloadguile-5515edc5f21e042ade15cf508300c496ce2f4818.tar.gz
Heap frame "stack holders" are raw scm_vm / scm_vm_cont pointers
* libguile/frames.h (struct scm_frame): stack_holder is a void*. * libguile/frames.c (scm_i_frame_stack_base, scm_i_frame_offset): Expect stack_holder to be the raw struct scm_vm or scm_vm_cont. * libguile/continuations.c (scm_i_continuation_to_frame): * libguile/stacks.c (scm_make_stack) * libguile/vm.c (vm_dispatch_hook): Adapt creators.
Diffstat (limited to 'libguile/frames.h')
-rw-r--r--libguile/frames.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/libguile/frames.h b/libguile/frames.h
index 67130ad61..e48bb48e6 100644
--- a/libguile/frames.h
+++ b/libguile/frames.h
@@ -140,7 +140,7 @@ struct scm_vm_frame
struct scm_frame
{
- SCM stack_holder;
+ void *stack_holder;
scm_t_ptrdiff fp_offset;
scm_t_ptrdiff sp_offset;
scm_t_uint32 *ip;
@@ -154,7 +154,7 @@ enum scm_vm_frame_kind
#define SCM_VM_FRAME_P(x) (SCM_HAS_TYP7 (x, scm_tc7_frame))
#define SCM_VM_FRAME_KIND(x) ((enum scm_vm_frame_kind) (SCM_CELL_WORD_0 (x) >> 8))
-#define SCM_VM_FRAME_DATA(x) ((struct scm_frame*)SCM_CELL_WORD_1 (x))
+#define SCM_VM_FRAME_DATA(x) ((struct scm_frame *)SCM_CELL_WORD_1 (x))
#define SCM_VM_FRAME_STACK_HOLDER(f) SCM_VM_FRAME_DATA (f)->stack_holder
#define SCM_VM_FRAME_FP_OFFSET(f) SCM_VM_FRAME_DATA (f)->fp_offset
#define SCM_VM_FRAME_SP_OFFSET(f) SCM_VM_FRAME_DATA (f)->sp_offset
@@ -168,7 +168,7 @@ SCM_INTERNAL SCM* scm_i_frame_stack_base (SCM frame);
SCM_INTERNAL scm_t_ptrdiff scm_i_frame_offset (SCM frame);
SCM_INTERNAL SCM scm_c_make_frame (enum scm_vm_frame_kind vm_frame_kind,
- SCM stack_holder, scm_t_ptrdiff fp_offset,
+ void *stack_holder, scm_t_ptrdiff fp_offset,
scm_t_ptrdiff sp_offset, scm_t_uint32 *ip);
#endif