improve inling to support ((let (....) (lambda ....)) arg ...) patterns; allow nested 'let's for local flonum binding (which fixes a problem where unsafe flonum operations could end up much slower than safe ones)

svn: r17972

original commit: 3812f8ca72
This commit is contained in:
Matthew Flatt 2010-02-05 00:16:06 +00:00
parent 0c18f10bf8
commit 6d26d894e1

View File

@ -307,7 +307,12 @@
null)
,@(if (null? captures)
null
`('(captures: ,@captures)))
`('(captures: ,@(map (lambda (c t)
(if (eq? t 'flonum)
`(flonum ,c)
c))
captures
closure-types))))
,(decompile-expr body globs
(append captures
(append vars rest-vars))