1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 04:10:18 +02:00

Remove the restore-continuation-hook.

* libguile/vm.h:
* libguile/vm.c:
* libguile/vm-engine.c:
* module/system/vm/traps.scm:
* module/system/vm/vm.scm: Remove the unused and redundant
  restore-continuation-hook.
This commit is contained in:
Andy Wingo 2013-11-27 22:03:58 +01:00
parent 36cc0b901c
commit f689dd6982
5 changed files with 4 additions and 33 deletions

View file

@ -125,8 +125,6 @@
RUN_HOOK0 (next)
#define ABORT_CONTINUATION_HOOK() \
RUN_HOOK0 (abort)
#define RESTORE_CONTINUATION_HOOK() \
RUN_HOOK0 (restore_continuation)
#define VM_HANDLE_INTERRUPTS \
SCM_ASYNC_TICK_WITH_GUARD_CODE (current_thread, SYNC_IP (), CACHE_FP ())
@ -3228,7 +3226,6 @@ VM_NAME (scm_i_thread *current_thread, struct scm_vm *vp,
#undef NEXT_JUMP
#undef POP_CONTINUATION_HOOK
#undef PUSH_CONTINUATION_HOOK
#undef RESTORE_CONTINUATION_HOOK
#undef RETURN
#undef RETURN_ONE_VALUE
#undef RETURN_VALUE_LIST

View file

@ -167,7 +167,6 @@ 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 (struct scm_vm *vp, int hook_num, SCM *argv, int n)
@ -258,10 +257,6 @@ static void vm_dispatch_abort_hook (struct scm_vm *vp)
&SCM_FRAME_LOCAL (vp->fp, 1),
SCM_FRAME_NUM_LOCALS (vp->fp, vp->sp) - 1);
}
static void vm_dispatch_restore_continuation_hook (struct scm_vm *vp)
{
return vm_dispatch_hook (vp, SCM_VM_RESTORE_CONTINUATION_HOOK, NULL, 0);
}
static void
vm_abort (struct scm_vm *vp, SCM tag,
@ -1025,15 +1020,6 @@ SCM_DEFINE (scm_vm_abort_continuation_hook, "vm-abort-continuation-hook", 0, 0,
}
#undef FUNC_NAME
SCM_DEFINE (scm_vm_restore_continuation_hook, "vm-restore-continuation-hook", 0, 0, 0,
(void),
"")
#define FUNC_NAME s_scm_vm_restore_continuation_hook
{
VM_DEFINE_HOOK (SCM_VM_RESTORE_CONTINUATION_HOOK);
}
#undef FUNC_NAME
SCM_DEFINE (scm_vm_trace_level, "vm-trace-level", 0, 0, 0,
(void),
"")

View file

@ -28,7 +28,6 @@ enum {
SCM_VM_POP_CONTINUATION_HOOK,
SCM_VM_NEXT_HOOK,
SCM_VM_ABORT_CONTINUATION_HOOK,
SCM_VM_RESTORE_CONTINUATION_HOOK,
SCM_VM_NUM_HOOKS,
};
@ -56,7 +55,6 @@ SCM_API SCM scm_vm_apply_hook (void);
SCM_API SCM scm_vm_push_continuation_hook (void);
SCM_API SCM scm_vm_pop_continuation_hook (void);
SCM_API SCM scm_vm_abort_continuation_hook (void);
SCM_API SCM scm_vm_restore_continuation_hook (void);
SCM_API SCM scm_vm_next_hook (void);
SCM_API SCM scm_vm_trace_level (void);
SCM_API SCM scm_set_vm_trace_level_x (SCM level);

View file

@ -199,12 +199,6 @@
(if (our-frame? frame)
(enter-proc frame)))
(define (restore-hook frame)
(if in-proc?
(exit-proc frame))
(if (our-frame? frame)
(enter-proc frame)))
(new-enabled-trap
current-frame
(lambda (frame)
@ -212,7 +206,6 @@
(add-hook! (vm-push-continuation-hook) push-cont-hook)
(add-hook! (vm-pop-continuation-hook) pop-cont-hook)
(add-hook! (vm-abort-continuation-hook) abort-hook)
(add-hook! (vm-restore-continuation-hook) restore-hook)
(if (and frame (our-frame? frame))
(enter-proc frame)))
(lambda (frame)
@ -221,8 +214,7 @@
(remove-hook! (vm-apply-hook) apply-hook)
(remove-hook! (vm-push-continuation-hook) push-cont-hook)
(remove-hook! (vm-pop-continuation-hook) pop-cont-hook)
(remove-hook! (vm-abort-continuation-hook) abort-hook)
(remove-hook! (vm-restore-continuation-hook) restore-hook)))))
(remove-hook! (vm-abort-continuation-hook) abort-hook)))))
;; Building on trap-in-procedure, we have trap-instructions-in-procedure
;;
@ -425,13 +417,11 @@
(if (not fp)
(error "return-or-abort traps may only be enabled once"))
(add-hook! (vm-pop-continuation-hook) pop-cont-hook)
(add-hook! (vm-abort-continuation-hook) abort-hook)
(add-hook! (vm-restore-continuation-hook) abort-hook))
(add-hook! (vm-abort-continuation-hook) abort-hook))
(lambda (frame)
(set! fp #f)
(remove-hook! (vm-pop-continuation-hook) pop-cont-hook)
(remove-hook! (vm-abort-continuation-hook) abort-hook)
(remove-hook! (vm-restore-continuation-hook) abort-hook)))))
(remove-hook! (vm-abort-continuation-hook) abort-hook)))))
;; A more traditional dynamic-wind trap. Perhaps this should not be
;; based on the above trap-frame-finish?

View file

@ -25,7 +25,7 @@
vm-push-continuation-hook vm-pop-continuation-hook
vm-apply-hook
vm-next-hook
vm-abort-continuation-hook vm-restore-continuation-hook))
vm-abort-continuation-hook))
(load-extension (string-append "libguile-" (effective-version))
"scm_init_vm")