summaryrefslogtreecommitdiff
path: root/module/language/tree-il/analyze.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/language/tree-il/analyze.scm')
-rw-r--r--module/language/tree-il/analyze.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/module/language/tree-il/analyze.scm b/module/language/tree-il/analyze.scm
index 2d1a25289..c5f6cb9aa 100644
--- a/module/language/tree-il/analyze.scm
+++ b/module/language/tree-il/analyze.scm
@@ -342,6 +342,12 @@
((<dynlet> fluids vals body)
(apply lset-union eq? (step body) (map step (append fluids vals))))
+ ((<dynref> fluid)
+ (step fluid))
+
+ ((<dynset> fluid exp)
+ (lset-union eq? (step fluid) (step exp)))
+
((<prompt> tag body handler)
(lset-union eq? (step tag) (step handler)))
@@ -505,6 +511,12 @@
((<dynlet> fluids vals body)
(apply max (recur body) (map recur (append fluids vals))))
+ ((<dynref> fluid)
+ (recur fluid))
+
+ ((<dynset> fluid exp)
+ (max (recur fluid) (recur exp)))
+
((<prompt> tag body handler)
(let ((cont-var (and (lambda-case? handler)
(pair? (lambda-case-vars handler))