peval: more strict accounting
authorAndy Wingo <wingo@pobox.com>
Mon, 26 Sep 2011 22:21:16 +0000 (00:21 +0200)
committerAndy Wingo <wingo@pobox.com>
Mon, 26 Sep 2011 22:21:16 +0000 (00:21 +0200)
commit153ca1d2391115f1428837b9465bce89c76691de
treef3b597f73ec65ecbcef52c0cd583115b57f9e4a6
parent05c9389e3f869f3158d97289f50a52dc2b3caa26
peval: more strict accounting

* module/language/tree-il/optimize.scm (transfer!, make-nested-counter):
  (make-recursive-counter, peval): Limit the algorithm's time to be
  strictly O(N) by transferring effort and size counters of recursive
  inlining attempts from containing counters.

* test-suite/tests/tree-il.test ("partial evaluation"): Update
  expectations for the ((lambda (x) (x x)) (lambda (x) (x x))) case, as
  the new accounting policy will cause the entire inlining attempt to
  abort.
module/language/tree-il/optimize.scm
test-suite/tests/tree-il.test