Fixed a bug that caused the let optimizations to choke on TR-introduced code.
This commit is contained in:
parent
f08456cf07
commit
b58461da2d
|
@ -66,6 +66,10 @@
|
|||
;; this covers loop variables
|
||||
(partition
|
||||
(lambda (p)
|
||||
(and
|
||||
;; typed racket introduces let-values that bind no values
|
||||
;; we can't optimize these
|
||||
(not (null? (syntax-e (car p))))
|
||||
(let ((fun-name (car (syntax-e (car p)))))
|
||||
(and
|
||||
;; if the function escapes, we can't change it's interface
|
||||
|
@ -105,7 +109,7 @@
|
|||
(loop unboxed (cons i boxed)
|
||||
(add1 i) (cdr params) (cdr doms))]))]
|
||||
[_ #f])]
|
||||
[_ #f]))))
|
||||
[_ #f])))))
|
||||
rest)))
|
||||
(list candidates function-candidates others))
|
||||
#:with (opt-candidates:unboxed-let-clause ...) #'(candidates ...)
|
||||
|
|
Loading…
Reference in New Issue
Block a user