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’.
