1
Fork 0
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:
Andy Wingo 2015-10-18 20:25:43 +02:00
parent 30c06bfbb3
commit 8f027385db
5 changed files with 39 additions and 38 deletions

View file

@ -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);

View file

@ -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

View file

@ -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))
/*

View file

@ -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);

View file

@ -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);