123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- union scm_vm_stack_element
- {
- scm_t_uintptr as_uint
- scm_t_uint32 *as_ip
- SCM as_scm
- double as_f64
- scm_t_uint64 as_u64
- scm_t_int64 as_s64
-
- void *as_ptr
- scm_t_bits as_bits
- }
- struct scm_frame
- {
- void *stack_holder
- scm_t_ptrdiff fp_offset
- scm_t_ptrdiff sp_offset
- scm_t_uint32 *ip
- }
- enum scm_vm_frame_kind
- {
- SCM_VM_FRAME_KIND_VM,
- SCM_VM_FRAME_KIND_CONT
- }
- SCM_INTERNAL union scm_vm_stack_element* scm_i_frame_stack_top (SCM frame)
- SCM_INTERNAL scm_t_ptrdiff scm_i_frame_offset (SCM frame)
- SCM_INTERNAL SCM scm_c_frame_closure (enum scm_vm_frame_kind kind,
- const struct scm_frame *frame)
- SCM_INTERNAL SCM scm_c_make_frame (enum scm_vm_frame_kind kind,
- const struct scm_frame *frame)
- SCM_INTERNAL int scm_c_frame_previous (enum scm_vm_frame_kind kind,
- struct scm_frame *frame)
- SCM_API SCM scm_frame_p (SCM obj)
- SCM_API SCM scm_frame_procedure_name (SCM frame)
- SCM_API SCM scm_frame_call_representation (SCM frame)
- SCM_API SCM scm_frame_arguments (SCM frame)
- SCM_API SCM scm_frame_source (SCM frame)
- SCM_API SCM scm_frame_address (SCM frame)
- SCM_API SCM scm_frame_stack_pointer (SCM frame)
- SCM_API SCM scm_frame_instruction_pointer (SCM frame)
- SCM_API SCM scm_frame_return_address (SCM frame)
- SCM_API SCM scm_frame_dynamic_link (SCM frame)
- SCM_API SCM scm_frame_previous (SCM frame)
- SCM_INTERNAL void scm_i_frame_print (SCM frame, SCM port,
- scm_print_state *pstate)
- SCM_INTERNAL void scm_init_frames (void)
|