mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-25 04:55:04 +02:00
Only store mark if we actually transformed code
This commit is contained in:
parent
fd72c918b6
commit
6ea8369193
1 changed files with 2 additions and 2 deletions
|
@ -1890,9 +1890,8 @@
|
||||||
(cond
|
(cond
|
||||||
((and (adbv:mutated-by-set? var)
|
((and (adbv:mutated-by-set? var)
|
||||||
(ast:lambda? (adbv:assigned-value var)))
|
(ast:lambda? (adbv:assigned-value var)))
|
||||||
(mark-mutated-loop-var (car (ast:lambda-formals->list (car exp))))
|
|
||||||
(trace:error `(found loop var ,(car (ast:lambda-formals->list (car exp)))))
|
(trace:error `(found loop var ,(car (ast:lambda-formals->list (car exp)))))
|
||||||
#t)
|
(car (ast:lambda-formals->list (car exp))))
|
||||||
(else #f)))))
|
(else #f)))))
|
||||||
(else #f)))
|
(else #f)))
|
||||||
(result
|
(result
|
||||||
|
@ -1975,6 +1974,7 @@
|
||||||
(set-cell-exp (cadr inner-body))
|
(set-cell-exp (cadr inner-body))
|
||||||
(set-clo (caddr set-cell-exp))
|
(set-clo (caddr set-cell-exp))
|
||||||
)
|
)
|
||||||
|
(mark-mutated-loop-var replace)
|
||||||
(set-car! (cdr inner-body) #f) ; '%Cyc-noop ;; Don't do the set
|
(set-car! (cdr inner-body) #f) ; '%Cyc-noop ;; Don't do the set
|
||||||
(set-cdr! outer-body `((cell ,set-clo))) ;; Relocate the closure
|
(set-cdr! outer-body `((cell ,set-clo))) ;; Relocate the closure
|
||||||
result
|
result
|
||||||
|
|
Loading…
Add table
Reference in a new issue