1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 04:40:29 +02:00
guile/module/system/vm
Andy Wingo ea9f4f4b15 add call-with-vm; remove thread-vm bits; remove vm-apply; engines settable.
* libguile/vm.h (scm_c_vm_run): Make internal.
* libguile/vm.c (vm_default_engine): New static global variable.
  (make_vm): Set vp->engine based on
  (scm_vm_apply): Remove in favor of call-with-vm.
  (scm_thread_vm, scm_set_thread_vm_x): Remove these, as they did not
  have a well-defined meaning, and were dangerous to call on other
  threads.
  (scm_the_vm): Reinstate previous definition.
  (symbol_to_vm_engine, vm_engine_to_symbol)
  (vm_has_pending_computation): New helpers.
  (scm_vm_engine, scm_set_vm_engine_x, scm_c_set_vm_engine_x): New
  accessors for VM engines.
  (scm_c_set_default_vm_engine_x, scm_set_default_vm_engine_x): New
  setters for the default VM engine.
  (scm_call_with_vm): New function, applies a procedure to arguments in
  a context in which a given VM is current.

* libguile/eval.c (eval, scm_apply): VM dispatch goes through
  scm_call_with_vm.

* test-suite/tests/control.test ("the-vm"):
* module/system/vm/coverage.scm (with-code-coverage): Use call-with-vm.

* module/system/vm/vm.scm: Update exports.

* test-suite/vm/run-vm-tests.scm (run-vm-program):
* test-suite/tests/compiler.test ("current-reader"): Just rely on the
  result of make-program being an applicable.

* test-suite/tests/eval.test ("stack overflow"): Add a note that this
  test does not test what it should.
2010-09-27 21:12:29 +02:00
..
coverage.scm add call-with-vm; remove thread-vm bits; remove vm-apply; engines settable. 2010-09-27 21:12:29 +02:00
frame.scm Remove unneeded #:use-module. 2010-08-27 18:59:42 +02:00
inspect.scm add a silly inspector 2010-01-12 00:18:24 +01:00
instruction.scm rename libguile to libguile-@EFFECTIVE_VERSION@, currently libguile-2.0 2010-03-16 21:20:34 +01:00
objcode.scm rename libguile to libguile-@EFFECTIVE_VERSION@, currently libguile-2.0 2010-03-16 21:20:34 +01:00
program.scm Add program-free-variables' to (system vm program)'. 2010-05-07 13:47:52 +02:00
trace.scm tracepoints print their trap number 2010-09-23 17:17:16 +02:00
trap-state.scm add ,break-at-source 2010-09-23 17:49:55 +02:00
traps.scm procedure traps can fire on nested procedures 2010-09-24 13:25:26 +02:00
vm.scm add call-with-vm; remove thread-vm bits; remove vm-apply; engines settable. 2010-09-27 21:12:29 +02:00