1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-06 04:00:26 +02:00
guile/module/language/tree-il
Ludovic Courtès 72b2ca55f6 peval: Abort inlining when the residual code contains recursive calls.
* module/language/tree-il/optimize.scm (code-contains-calls?): New
  procedure.
  (peval): Use it and abort inlining if the residual code of a procedure
  application contains recursive calls.  Suggested by Wingo, Waddell,
  and Dybvig.  Fixes <http://debbugs.gnu.org/9542>.

* test-suite/tests/tree-il.test ("partial evaluation"): Update 2 tests
  that relied on the previous behavior.  Add 1 another test.
2011-09-18 23:01:51 +02:00
..
analyze.scm Use (ice-9 match) instead of `record-case' where it improves readability. 2011-09-06 00:18:36 +02:00
compile-glil.scm fix invalid transformation of (values x) -> x, (+ x) -> x, etc 2011-06-17 19:42:55 +02:00
fix-letrec.scm fix-letrec tweaks 2011-03-09 22:38:11 +01:00
inline.scm Add a partial evaluator for use in the compiler. 2011-09-09 00:05:34 +02:00
optimize.scm peval: Abort inlining when the residual code contains recursive calls. 2011-09-18 23:01:51 +02:00
primitives.scm Add a partial evaluator for use in the compiler. 2011-09-09 00:05:34 +02:00
spec.scm remove `version' field from <language> 2010-05-02 11:19:13 +02:00