Hi Andy,

Thanks for polishing peval!

"Andy Wingo" <[email protected]> skribis:

> commit 4f33b47591e823500d800ee4f9d98c8ae98ceab8
> Author: Andy Wingo <[email protected]>
> Date:   Wed Sep 21 08:58:09 2011 +0200
>
>     peval: inlining of let-values
>     
>     * module/language/tree-il/optimize.scm (peval): Add support for
>       let-values.  Try to inline the consumer into the body of the producer,
>       if there is only one return point, and we can figure out how many
>       values are being returned, and that number is compatible with the
>       consumer.
>
> commit 65a32655253cdfcf4e2caf03a73ac66b05da5f71
> Author: Andy Wingo <[email protected]>
> Date:   Wed Sep 21 08:56:09 2011 +0200
>
>     peval support for more forms
>     
>     * module/language/tree-il/optimize.scm (peval): Add support for fix,
>       dynwind, dynlet, dynref, module-set, and toplevel-set.  (Mutating a
>       variable directly is similar to calling a function that does so behind
>       our backs, so this presents no additional problem.)

I believe that at least the <let-values> and <fix> cases are dead code
since ‘fix-letrec!’ hasn’t been called at the point ‘peval’ is called.
No?

Also, could you add tests for the new cases handled?  :-)  It’d make it
easier for me to follow, and would help us not break it later.

Thanks,
Ludo’.

Reply via email to