mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-15 16:20:17 +02:00
push and pop dynamic state via intrinsics
* libguile/intrinsics.c (push_dynamic_state, pop_dynamic_state): New intrinsics. (scm_bootstrap_intrinsics): Add new intrinsics. * libguile/intrinsics.h: Declare new intrinsics. * libguile/vm-engine.c (call-thread-scm): New intrinsic caller. (push-dynamic-state, pop-dynamic-state): Disable. * module/language/cps/reify-primitives.scm (compute-known-primitives): Add new intrinsics. * module/system/vm/assembler.scm (push-dynamic-state) (pop-dynamic-state): Emit as intrinsics.
This commit is contained in:
parent
2eb9c755d1
commit
89fda6da60
5 changed files with 49 additions and 19 deletions
|
@ -237,7 +237,8 @@
|
|||
cached-toplevel-box
|
||||
cached-module-box
|
||||
wind unwind
|
||||
push-fluid pop-fluid fluid-ref fluid-set!))
|
||||
push-fluid pop-fluid fluid-ref fluid-set!
|
||||
push-dynamic-state pop-dynamic-state))
|
||||
(let ((table (make-hash-table)))
|
||||
(for-each
|
||||
(match-lambda ((inst . _) (hashq-set! table inst #t)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue