mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-01 12:20:26 +02:00
Dispatch hooks use "vp" rather than "vm"
* libguile/vm.c (vm_dispatch_hook): (vm_dispatch_apply_hook): (vm_dispatch_push_continuation_hook): (vm_dispatch_pop_continuation_hook): (vm_dispatch_next_hook): (vm_dispatch_abort_hook): (vm_dispatch_restore_continuation_hook): Use scm_vm pointer instead of Scheme vm object.
This commit is contained in:
parent
5515edc5f2
commit
59f85eedc2
2 changed files with 21 additions and 25 deletions
|
@ -111,8 +111,8 @@
|
||||||
#else
|
#else
|
||||||
#define RUN_HOOK(exp)
|
#define RUN_HOOK(exp)
|
||||||
#endif
|
#endif
|
||||||
#define RUN_HOOK0(h) RUN_HOOK (vm_dispatch_##h##_hook (vm))
|
#define RUN_HOOK0(h) RUN_HOOK (vm_dispatch_##h##_hook (vp))
|
||||||
#define RUN_HOOK1(h, arg) RUN_HOOK (vm_dispatch_##h##_hook (vm, arg))
|
#define RUN_HOOK1(h, arg) RUN_HOOK (vm_dispatch_##h##_hook (vp, arg))
|
||||||
|
|
||||||
#define APPLY_HOOK() \
|
#define APPLY_HOOK() \
|
||||||
RUN_HOOK0 (apply)
|
RUN_HOOK0 (apply)
|
||||||
|
|
|
@ -168,23 +168,21 @@ scm_i_capture_current_stack (void)
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vm_dispatch_apply_hook (SCM vm) SCM_NOINLINE;
|
static void vm_dispatch_apply_hook (struct scm_vm *vp) SCM_NOINLINE;
|
||||||
static void vm_dispatch_push_continuation_hook (SCM vm) SCM_NOINLINE;
|
static void vm_dispatch_push_continuation_hook (struct scm_vm *vp) SCM_NOINLINE;
|
||||||
static void vm_dispatch_pop_continuation_hook (SCM vm, SCM *old_fp) SCM_NOINLINE;
|
static void vm_dispatch_pop_continuation_hook (struct scm_vm *vp, SCM *old_fp) SCM_NOINLINE;
|
||||||
static void vm_dispatch_next_hook (SCM vm) SCM_NOINLINE;
|
static void vm_dispatch_next_hook (struct scm_vm *vp) SCM_NOINLINE;
|
||||||
static void vm_dispatch_abort_hook (SCM vm) SCM_NOINLINE;
|
static void vm_dispatch_abort_hook (struct scm_vm *vp) SCM_NOINLINE;
|
||||||
static void vm_dispatch_restore_continuation_hook (SCM vm) SCM_NOINLINE;
|
static void vm_dispatch_restore_continuation_hook (struct scm_vm *vp) SCM_NOINLINE;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
vm_dispatch_hook (SCM vm, int hook_num, SCM *argv, int n)
|
vm_dispatch_hook (struct scm_vm *vp, int hook_num, SCM *argv, int n)
|
||||||
{
|
{
|
||||||
struct scm_vm *vp;
|
|
||||||
SCM hook;
|
SCM hook;
|
||||||
struct scm_frame c_frame;
|
struct scm_frame c_frame;
|
||||||
scm_t_cell *frame;
|
scm_t_cell *frame;
|
||||||
int saved_trace_level;
|
int saved_trace_level;
|
||||||
|
|
||||||
vp = SCM_VM_DATA (vm);
|
|
||||||
hook = vp->hooks[hook_num];
|
hook = vp->hooks[hook_num];
|
||||||
|
|
||||||
if (SCM_LIKELY (scm_is_false (hook))
|
if (SCM_LIKELY (scm_is_false (hook))
|
||||||
|
@ -242,35 +240,33 @@ vm_dispatch_hook (SCM vm, int hook_num, SCM *argv, int n)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
vm_dispatch_apply_hook (SCM vm)
|
vm_dispatch_apply_hook (struct scm_vm *vp)
|
||||||
{
|
{
|
||||||
return vm_dispatch_hook (vm, SCM_VM_APPLY_HOOK, NULL, 0);
|
return vm_dispatch_hook (vp, SCM_VM_APPLY_HOOK, NULL, 0);
|
||||||
}
|
}
|
||||||
static void vm_dispatch_push_continuation_hook (SCM vm)
|
static void vm_dispatch_push_continuation_hook (struct scm_vm *vp)
|
||||||
{
|
{
|
||||||
return vm_dispatch_hook (vm, SCM_VM_PUSH_CONTINUATION_HOOK, NULL, 0);
|
return vm_dispatch_hook (vp, SCM_VM_PUSH_CONTINUATION_HOOK, NULL, 0);
|
||||||
}
|
}
|
||||||
static void vm_dispatch_pop_continuation_hook (SCM vm, SCM *old_fp)
|
static void vm_dispatch_pop_continuation_hook (struct scm_vm *vp, SCM *old_fp)
|
||||||
{
|
{
|
||||||
struct scm_vm *vp = SCM_VM_DATA (vm);
|
return vm_dispatch_hook (vp, SCM_VM_POP_CONTINUATION_HOOK,
|
||||||
return vm_dispatch_hook (vm, SCM_VM_POP_CONTINUATION_HOOK,
|
|
||||||
&SCM_FRAME_LOCAL (old_fp, 1),
|
&SCM_FRAME_LOCAL (old_fp, 1),
|
||||||
SCM_FRAME_NUM_LOCALS (old_fp, vp->sp) - 1);
|
SCM_FRAME_NUM_LOCALS (old_fp, vp->sp) - 1);
|
||||||
}
|
}
|
||||||
static void vm_dispatch_next_hook (SCM vm)
|
static void vm_dispatch_next_hook (struct scm_vm *vp)
|
||||||
{
|
{
|
||||||
return vm_dispatch_hook (vm, SCM_VM_NEXT_HOOK, NULL, 0);
|
return vm_dispatch_hook (vp, SCM_VM_NEXT_HOOK, NULL, 0);
|
||||||
}
|
}
|
||||||
static void vm_dispatch_abort_hook (SCM vm)
|
static void vm_dispatch_abort_hook (struct scm_vm *vp)
|
||||||
{
|
{
|
||||||
struct scm_vm *vp = SCM_VM_DATA (vm);
|
return vm_dispatch_hook (vp, SCM_VM_ABORT_CONTINUATION_HOOK,
|
||||||
return vm_dispatch_hook (vm, SCM_VM_ABORT_CONTINUATION_HOOK,
|
|
||||||
&SCM_FRAME_LOCAL (vp->fp, 1),
|
&SCM_FRAME_LOCAL (vp->fp, 1),
|
||||||
SCM_FRAME_NUM_LOCALS (vp->fp, vp->sp) - 1);
|
SCM_FRAME_NUM_LOCALS (vp->fp, vp->sp) - 1);
|
||||||
}
|
}
|
||||||
static void vm_dispatch_restore_continuation_hook (SCM vm)
|
static void vm_dispatch_restore_continuation_hook (struct scm_vm *vp)
|
||||||
{
|
{
|
||||||
return vm_dispatch_hook (vm, SCM_VM_RESTORE_CONTINUATION_HOOK, NULL, 0);
|
return vm_dispatch_hook (vp, SCM_VM_RESTORE_CONTINUATION_HOOK, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue