Rework hook dispatch mechanism
authorAndy Wingo <wingo@pobox.com>
Tue, 19 Nov 2013 21:14:20 +0000 (22:14 +0100)
committerAndy Wingo <wingo@pobox.com>
Tue, 19 Nov 2013 21:14:20 +0000 (22:14 +0100)
commitea0cd17d11fb73f79842c03b49df5c7aef4b36eb
treecf32222eaa7b831ae13be432a923a2b4091fb0f0
parentc4f7923fa9148204c7237e400c6e69056b69d4b2
Rework hook dispatch mechanism

* libguile/vm-engine.c (RUN_HOOK, RUN_HOOK0, RUN_HOOK1): Rework to
  dispatch through specific per-hook procedures.  Might reduce register
  pressure in the VM.

* libguile/vm.c (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): New internal helpers.
libguile/vm-engine.c
libguile/vm.c