summaryrefslogtreecommitdiff
path: root/module
diff options
context:
space:
mode:
Diffstat (limited to 'module')
-rw-r--r--module/language/cps/reify-primitives.scm4
-rw-r--r--module/system/vm/assembler.scm18
2 files changed, 15 insertions, 7 deletions
diff --git a/module/language/cps/reify-primitives.scm b/module/language/cps/reify-primitives.scm
index fb5858c0f..f3da8ef8c 100644
--- a/module/language/cps/reify-primitives.scm
+++ b/module/language/cps/reify-primitives.scm
@@ -235,7 +235,9 @@
u64->s64 u64->scm scm->u64 scm->u64/truncate
cache-current-module!
cached-toplevel-box
- cached-module-box))
+ cached-module-box
+ wind unwind
+ push-fluid pop-fluid fluid-ref fluid-set!))
(let ((table (make-hash-table)))
(for-each
(match-lambda ((inst . _) (hashq-set! table inst #t)))
diff --git a/module/system/vm/assembler.scm b/module/system/vm/assembler.scm
index 973179ad4..7144a9e71 100644
--- a/module/system/vm/assembler.scm
+++ b/module/system/vm/assembler.scm
@@ -212,6 +212,12 @@
emit-scm->s64
emit-u64->scm
emit-s64->scm
+ emit-wind
+ emit-unwind
+ emit-push-fluid
+ emit-pop-fluid
+ emit-fluid-ref
+ emit-fluid-set!
emit-call
emit-call-label
@@ -238,15 +244,9 @@
emit-toplevel-box
emit-module-box
emit-prompt
- emit-wind
- emit-unwind
- emit-push-fluid
- emit-pop-fluid
emit-push-dynamic-state
emit-pop-dynamic-state
emit-current-thread
- emit-fluid-ref
- emit-fluid-set!
emit-lsh
emit-rsh
emit-lsh/immediate
@@ -1355,6 +1355,12 @@ returned instead."
(define-s64<-scm-intrinsic scm->s64)
(define-scm<-u64-intrinsic u64->scm)
(define-scm<-s64-intrinsic s64->scm)
+(define-thread-scm-scm-intrinsic wind)
+(define-thread-intrinsic unwind)
+(define-thread-scm-scm-intrinsic push-fluid)
+(define-thread-intrinsic pop-fluid)
+(define-scm<-thread-scm-intrinsic fluid-ref)
+(define-thread-scm-scm-intrinsic fluid-set!)
(define-macro-assembler (begin-program asm label properties)
(emit-label asm label)