diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index ad6ec6297..dfb2a4063 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -111,8 +111,8 @@ #else #define RUN_HOOK(exp) #endif -#define RUN_HOOK0(h) RUN_HOOK (vm_dispatch_##h##_hook (vm)) -#define RUN_HOOK1(h, arg) RUN_HOOK (vm_dispatch_##h##_hook (vm, arg)) +#define RUN_HOOK0(h) RUN_HOOK (vm_dispatch_##h##_hook (vp)) +#define RUN_HOOK1(h, arg) RUN_HOOK (vm_dispatch_##h##_hook (vp, arg)) #define APPLY_HOOK() \ RUN_HOOK0 (apply) diff --git a/libguile/vm.c b/libguile/vm.c index c4e48952b..a34155654 100644 --- a/libguile/vm.c +++ b/libguile/vm.c @@ -168,23 +168,21 @@ scm_i_capture_current_stack (void) 0); } -static void vm_dispatch_apply_hook (SCM vm) SCM_NOINLINE; -static void vm_dispatch_push_continuation_hook (SCM vm) SCM_NOINLINE; -static void vm_dispatch_pop_continuation_hook (SCM vm, SCM *old_fp) SCM_NOINLINE; -static void vm_dispatch_next_hook (SCM vm) SCM_NOINLINE; -static void vm_dispatch_abort_hook (SCM vm) SCM_NOINLINE; -static void vm_dispatch_restore_continuation_hook (SCM vm) SCM_NOINLINE; +static void vm_dispatch_apply_hook (struct scm_vm *vp) SCM_NOINLINE; +static void vm_dispatch_push_continuation_hook (struct scm_vm *vp) SCM_NOINLINE; +static void vm_dispatch_pop_continuation_hook (struct scm_vm *vp, SCM *old_fp) SCM_NOINLINE; +static void vm_dispatch_next_hook (struct scm_vm *vp) SCM_NOINLINE; +static void vm_dispatch_abort_hook (struct scm_vm *vp) SCM_NOINLINE; +static void vm_dispatch_restore_continuation_hook (struct scm_vm *vp) SCM_NOINLINE; 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; struct scm_frame c_frame; scm_t_cell *frame; int saved_trace_level; - vp = SCM_VM_DATA (vm); hook = vp->hooks[hook_num]; 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 -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 (vm, SCM_VM_POP_CONTINUATION_HOOK, + return vm_dispatch_hook (vp, SCM_VM_POP_CONTINUATION_HOOK, &SCM_FRAME_LOCAL (old_fp, 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 (vm, SCM_VM_ABORT_CONTINUATION_HOOK, + return vm_dispatch_hook (vp, SCM_VM_ABORT_CONTINUATION_HOOK, &SCM_FRAME_LOCAL (vp->fp, 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