summaryrefslogtreecommitdiff
path: root/module/language/cps/reify-primitives.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/language/cps/reify-primitives.scm')
-rw-r--r--module/language/cps/reify-primitives.scm12
1 files changed, 9 insertions, 3 deletions
diff --git a/module/language/cps/reify-primitives.scm b/module/language/cps/reify-primitives.scm
index 6ec90299e..3f5eec445 100644
--- a/module/language/cps/reify-primitives.scm
+++ b/module/language/cps/reify-primitives.scm
@@ -216,7 +216,7 @@
(with-cps cps
(letk kres
($kargs ('var) (var)
- ($branch kbad k src 'heap-object? #f (var))))
+ ($branch kbad k src 'thob? #f (var))))
(build-term
($continue kres src
($primcall 'lookup #f (mod-var name-var)))))))
@@ -262,7 +262,7 @@
(letk kok ($kargs () () ($continue k src ($values (cached)))))
(letk ktest
($kargs ('cached) (cached)
- ($branch kinit kok src 'heap-object? #f (cached))))
+ ($branch kinit kok src 'thob? #f (cached))))
(build-term
($continue ktest src
($primcall 'cache-ref cache-key ()))))))))
@@ -296,7 +296,7 @@
(letk kok ($kargs () () ($continue k src ($values (cached)))))
(letk ktest
($kargs ('cached) (cached)
- ($branch kinit kok src 'heap-object? #f (cached))))
+ ($branch kinit kok src 'thob? #f (cached))))
(build-term
($continue ktest src
($primcall 'cache-ref cache-key ()))))))))
@@ -531,6 +531,12 @@
(setk label ($kargs names vars
($continue kop src
($primcall 'load-u64 idx ()))))))))))
+ ;; TODO: Consider adding cases for
+ ;; 'tagged-allocate-words/immediate',
+ ;; 'tagged-scm-ref/immediate' and
+ ;; 'tagged-scm-set!/immediate', although at present
+ ;; those primitives are only used for pairs, where the
+ ;; byte-offset will always fit within the S8 operand.
(_ cps))))))))
(param (error "unexpected param to reified primcall" name))
(else