diff options
author | Andy Wingo <wingo@pobox.com> | 2013-07-06 20:06:02 +0900 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2013-07-06 20:27:21 +0900 |
commit | 178a40928ab5221f6ce57c5af1067abe30a342b3 (patch) | |
tree | 6d8b62eff02e8e4fc383cb2e76b0a326d88ad44d /test-suite/tests/coverage.test | |
parent | 98eaef1b50db626c672646da58645c62407d0c1a (diff) | |
download | guile-178a40928ab5221f6ce57c5af1067abe30a342b3.tar.gz |
<prompt> body and handler are lambdas; add escape-only? field
* module/language/tree-il.scm (<prompt>): Change to have the body and
handler be lambdas, and add an "escape-only?" field. This will make
generic prompts work better in CPS or ANF with the RTL VM, as it
doesn't make sense in that context to capture only part of a frame.
Escape-only prompts can still be fully inlined.
(parse-tree-il, unparse-tree-il): Add escape-only? to the
serialization.
(make-tree-il-folder, pre-post-order): Deal with escape-only?.
* module/language/tree-il/analyze.scm (analyze-lexicals): Handle
escape-only?, and the new expectations for the body and handler.
* module/language/tree-il/canonicalize.scm (canonicalize): Ensure that
the body of an escape-only continuation is a thunk, and that the
handler is always a lambda.
* module/language/tree-il/debug.scm (verify-tree-il): Assert that
escape-only? is a boolean.
* module/language/tree-il/cse.scm (cse):
* module/language/tree-il/effects.scm (make-effects-analyzer):
* module/language/tree-il/peval.scm (peval):
* module/language/tree-il/primitives.scm (*primitive-expand-table*):
* test-suite/tests/peval.test ("partial evaluation"):
* module/language/tree-il/compile-glil.scm (flatten-lambda-case): Adapt
to <prompt> change.
Diffstat (limited to 'test-suite/tests/coverage.test')
0 files changed, 0 insertions, 0 deletions