mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
Rename union scm_vm_stack_element members
* libguile/frames.h (union scm_vm_stack_element): Rename members from scm, ip, etc to as_scm, as_ip, etc. Adapt users.
This commit is contained in:
parent
30c06bfbb3
commit
8f027385db
5 changed files with 39 additions and 38 deletions
|
@ -52,7 +52,7 @@ scm_i_prompt_pop_abort_args_x (struct scm_vm *vp,
|
|||
n = stack_depth - saved_stack_depth;
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
vals = scm_cons (vp->sp[i].scm, vals);
|
||||
vals = scm_cons (vp->sp[i].as_scm, vals);
|
||||
|
||||
vp->sp += n;
|
||||
|
||||
|
@ -169,9 +169,9 @@ scm_c_abort (struct scm_vm *vp, SCM tag, size_t n, SCM *argv,
|
|||
abort ();
|
||||
|
||||
/* Push vals */
|
||||
vp->sp[n].scm = cont;
|
||||
vp->sp[n].as_scm = cont;
|
||||
for (i = 0; i < n; i++)
|
||||
vp->sp[n - i - 1].scm = argv[i];
|
||||
vp->sp[n - i - 1].as_scm = argv[i];
|
||||
|
||||
/* Jump! */
|
||||
SCM_I_LONGJMP (*registers, 1);
|
||||
|
|
|
@ -1016,7 +1016,7 @@ scm_i_foreign_call (SCM foreign, const union scm_vm_stack_element *argv)
|
|||
args[i] = (void *) ROUND_UP ((scm_t_uintptr) data + off,
|
||||
cif->arg_types[i]->alignment);
|
||||
assert ((scm_t_uintptr) args[i] % cif->arg_types[i]->alignment == 0);
|
||||
unpack (cif->arg_types[i], args[i], argv[cif->nargs - i - 1].scm, 0);
|
||||
unpack (cif->arg_types[i], args[i], argv[cif->nargs - i - 1].as_scm, 0);
|
||||
}
|
||||
|
||||
/* Prepare space for the return value. On some platforms, such as
|
||||
|
|
|
@ -88,23 +88,23 @@
|
|||
/* Each element on the stack occupies the same amount of space. */
|
||||
union scm_vm_stack_element
|
||||
{
|
||||
union scm_vm_stack_element *fp;
|
||||
scm_t_uint32 *ip;
|
||||
SCM scm;
|
||||
union scm_vm_stack_element *as_fp;
|
||||
scm_t_uint32 *as_ip;
|
||||
SCM as_scm;
|
||||
|
||||
/* For GC purposes. */
|
||||
void *ptr;
|
||||
scm_t_bits bits;
|
||||
void *as_ptr;
|
||||
scm_t_bits as_bits;
|
||||
};
|
||||
|
||||
#define SCM_FRAME_PREVIOUS_SP(fp_) ((fp_) + 2)
|
||||
#define SCM_FRAME_RETURN_ADDRESS(fp_) ((fp_)[0].ip)
|
||||
#define SCM_FRAME_SET_RETURN_ADDRESS(fp_, ra) ((fp_)[0].ip = (ra))
|
||||
#define SCM_FRAME_DYNAMIC_LINK(fp_) ((fp_)[1].fp)
|
||||
#define SCM_FRAME_SET_DYNAMIC_LINK(fp_, dl) ((fp_)[1].fp = (dl))
|
||||
#define SCM_FRAME_SLOT(fp_,i) ((fp_) - (i) - 1)
|
||||
#define SCM_FRAME_LOCAL(fp_,i) (SCM_FRAME_SLOT (fp_, i)->scm)
|
||||
#define SCM_FRAME_NUM_LOCALS(fp_, sp) ((fp_) - (sp))
|
||||
#define SCM_FRAME_PREVIOUS_SP(fp) ((fp) + 2)
|
||||
#define SCM_FRAME_RETURN_ADDRESS(fp) ((fp)[0].as_ip)
|
||||
#define SCM_FRAME_SET_RETURN_ADDRESS(fp, ra) ((fp)[0].as_ip = (ra))
|
||||
#define SCM_FRAME_DYNAMIC_LINK(fp) ((fp)[1].as_fp)
|
||||
#define SCM_FRAME_SET_DYNAMIC_LINK(fp, dl) ((fp)[1].as_fp = (dl))
|
||||
#define SCM_FRAME_SLOT(fp,i) ((fp) - (i) - 1)
|
||||
#define SCM_FRAME_LOCAL(fp,i) (SCM_FRAME_SLOT (fp, i)->as_scm)
|
||||
#define SCM_FRAME_NUM_LOCALS(fp, sp) ((fp) - (sp))
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -268,13 +268,13 @@
|
|||
union scm_vm_stack_element *old_fp; \
|
||||
VM_HANDLE_INTERRUPTS; \
|
||||
ALLOC_FRAME (2); \
|
||||
old_fp = vp->fp; \
|
||||
ip = SCM_FRAME_RETURN_ADDRESS (vp->fp); \
|
||||
vp->fp = SCM_FRAME_DYNAMIC_LINK (vp->fp); \
|
||||
CACHE_LOCALS (); \
|
||||
old_fp = vp->fp; \
|
||||
ip = SCM_FRAME_RETURN_ADDRESS (vp->fp); \
|
||||
vp->fp = SCM_FRAME_DYNAMIC_LINK (vp->fp); \
|
||||
CACHE_LOCALS (); \
|
||||
/* Clear frame. */ \
|
||||
old_fp[0].scm = SCM_BOOL_F; \
|
||||
old_fp[1].scm = SCM_BOOL_F; \
|
||||
old_fp[0].as_scm = SCM_BOOL_F; \
|
||||
old_fp[1].as_scm = SCM_BOOL_F; \
|
||||
/* Leave proc. */ \
|
||||
SCM_FRAME_LOCAL (old_fp, 1) = val; \
|
||||
vp->sp = SCM_FRAME_SLOT (old_fp, 1); \
|
||||
|
@ -289,9 +289,9 @@
|
|||
SCM vals = vals_; \
|
||||
VM_HANDLE_INTERRUPTS; \
|
||||
ALLOC_FRAME (3); \
|
||||
SCM_FRAME_LOCAL (vp->fp, 0) = vm_builtin_apply; \
|
||||
SCM_FRAME_LOCAL (vp->fp, 1) = vm_builtin_values; \
|
||||
SCM_FRAME_LOCAL (vp->fp, 2) = vals; \
|
||||
SCM_FRAME_LOCAL (vp->fp, 0) = vm_builtin_apply; \
|
||||
SCM_FRAME_LOCAL (vp->fp, 1) = vm_builtin_values; \
|
||||
SCM_FRAME_LOCAL (vp->fp, 2) = vals; \
|
||||
ip = (scm_t_uint32 *) vm_builtin_apply_code; \
|
||||
goto op_tail_apply; \
|
||||
} while (0)
|
||||
|
@ -776,8 +776,8 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp,
|
|||
CACHE_LOCALS ();
|
||||
|
||||
/* Clear stack frame. */
|
||||
old_fp[0].scm = SCM_BOOL_F;
|
||||
old_fp[1].scm = SCM_BOOL_F;
|
||||
old_fp[0].as_scm = SCM_BOOL_F;
|
||||
old_fp[1].as_scm = SCM_BOOL_F;
|
||||
|
||||
POP_CONTINUATION_HOOK (old_fp);
|
||||
|
||||
|
|
|
@ -218,9 +218,9 @@ vm_return_to_continuation (struct scm_vm *vp, SCM cont, size_t n,
|
|||
copy on an empty frame and the return values, as the continuation
|
||||
expects. */
|
||||
vm_push_sp (vp, vp->sp - 3 - n);
|
||||
vp->sp[n+2].scm = SCM_BOOL_F;
|
||||
vp->sp[n+1].scm = SCM_BOOL_F;
|
||||
vp->sp[n].scm = SCM_BOOL_F;
|
||||
vp->sp[n+2].as_scm = SCM_BOOL_F;
|
||||
vp->sp[n+1].as_scm = SCM_BOOL_F;
|
||||
vp->sp[n].as_scm = SCM_BOOL_F;
|
||||
memcpy(vp->sp, argv_copy, n * sizeof (union scm_vm_stack_element));
|
||||
|
||||
vp->ip = cp->ra;
|
||||
|
@ -298,7 +298,7 @@ vm_dispatch_hook (struct scm_vm *vp, int hook_num,
|
|||
SCM args[2];
|
||||
|
||||
args[0] = SCM_PACK_POINTER (frame);
|
||||
args[1] = argv[0].scm;
|
||||
args[1] = argv[0].as_scm;
|
||||
scm_c_run_hookn (hook, args, 2);
|
||||
}
|
||||
else
|
||||
|
@ -307,7 +307,7 @@ vm_dispatch_hook (struct scm_vm *vp, int hook_num,
|
|||
int i;
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
args = scm_cons (argv[i].scm, args);
|
||||
args = scm_cons (argv[i].as_scm, args);
|
||||
scm_c_run_hook (hook, scm_cons (SCM_PACK_POINTER (frame), args));
|
||||
}
|
||||
|
||||
|
@ -352,7 +352,7 @@ vm_abort (struct scm_vm *vp, SCM tag, size_t nargs,
|
|||
|
||||
argv = alloca (nargs * sizeof (SCM));
|
||||
for (i = 0; i < nargs; i++)
|
||||
argv[i] = vp->sp[nargs - i - 1].scm;
|
||||
argv[i] = vp->sp[nargs - i - 1].as_scm;
|
||||
|
||||
vp->sp = vp->fp;
|
||||
|
||||
|
@ -422,7 +422,7 @@ vm_reinstate_partial_continuation (struct scm_vm *vp, SCM cont, size_t nargs,
|
|||
/* The resume continuation will expect ARGS on the stack as if from a
|
||||
multiple-value return. Fill in the closure slot with #f, and copy
|
||||
the arguments into place. */
|
||||
vp->sp[nargs].scm = SCM_BOOL_F;
|
||||
vp->sp[nargs].as_scm = SCM_BOOL_F;
|
||||
memcpy (vp->sp, args, nargs * sizeof (*args));
|
||||
|
||||
/* The prompt captured a slice of the dynamic stack. Here we wind
|
||||
|
@ -973,7 +973,8 @@ scm_i_vm_mark_stack (struct scm_vm *vp, struct GC_ms_entry *mark_stack_ptr,
|
|||
size_t slot = nlocals - 1;
|
||||
for (slot = nlocals - 1; sp < fp; sp++, slot--)
|
||||
{
|
||||
if (SCM_NIMP (sp->scm) && sp->ptr >= lower && sp->ptr <= upper)
|
||||
if (SCM_NIMP (sp->as_scm) &&
|
||||
sp->as_ptr >= lower && sp->as_ptr <= upper)
|
||||
{
|
||||
if (dead_slots)
|
||||
{
|
||||
|
@ -981,12 +982,12 @@ scm_i_vm_mark_stack (struct scm_vm *vp, struct GC_ms_entry *mark_stack_ptr,
|
|||
{
|
||||
/* This value may become dead as a result of GC,
|
||||
so we can't just leave it on the stack. */
|
||||
sp->scm = SCM_UNSPECIFIED;
|
||||
sp->as_scm = SCM_UNSPECIFIED;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
mark_stack_ptr = GC_mark_and_push (sp->ptr,
|
||||
mark_stack_ptr = GC_mark_and_push (sp->as_ptr,
|
||||
mark_stack_ptr,
|
||||
mark_stack_limit,
|
||||
NULL);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue