diff options
Diffstat (limited to 'module')
-rw-r--r-- | module/language/cps/reify-primitives.scm | 4 | ||||
-rw-r--r-- | module/system/vm/assembler.scm | 18 |
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) |