diff options
| author | Dan Gohman <sunfish@mozilla.com> | 2015-07-06 17:07:34 -0700 |
|---|---|---|
| committer | Dan Gohman <sunfish@mozilla.com> | 2015-07-17 15:37:12 -0700 |
| commit | 4babacf73dbc29ee07c40a522090806401c2df9b (patch) | |
| tree | ee917261b6448db851c229466c8b5cbb9f3977d9 | |
| parent | de54c4ce9aef34003acced5f234e70b323d3c5b3 (diff) | |
| download | nanowasm-design-4babacf73dbc29ee07c40a522090806401c2df9b.tar.gz | |
Reformat and revise the rationale for structured control flow.
| -rw-r--r-- | AstSemantics.md | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/AstSemantics.md b/AstSemantics.md index 723f0d1..363a6bb 100644 --- a/AstSemantics.md +++ b/AstSemantics.md @@ -258,20 +258,19 @@ In particular, they may not be entered directly via a `break`, `continue`, or `switch` destination. This guarantees that all control flow graphs are well-structured. - * Simple and size-efficient binary encoding and compilation. - * Any control flow—even irreducible—can be transformed into structured control - flow with the - [Relooper](https://github.com/kripken/emscripten/raw/master/docs/paper.pdf) - [algorithm](http://dl.acm.org/citation.cfm?id=2048224&CFID=670868333&CFTOKEN=46181900), - with guaranteed low code size overhead, and typically minimal throughput - overhead (except for pathological cases of irreducible control - flow). Alternative approaches can generate reducible control flow via node - splitting, which can reduce throughput overhead, at the cost of increasing - code size (potentially very significantly in pathological cases). - * The - [signature-restricted proper tail-call](PostMVP.md#signature-restricted-proper-tail-calls) - feature would allow efficient compilation of arbitrary irreducible control - flow. +Structured control flow provides simple and size-efficient binary encoding and +compilation. Any control flow—even irreducible—can be transformed into structured +control flow with the +[Relooper](https://github.com/kripken/emscripten/raw/master/docs/paper.pdf) +[algorithm](http://dl.acm.org/citation.cfm?id=2048224&CFID=670868333&CFTOKEN=46181900), +with guaranteed low code size overhead, and typically minimal throughput +overhead (except for pathological cases of irreducible control +flow). Alternative approaches can generate reducible control flow via node +splitting, which can reduce throughput overhead, at the cost of increasing +code size (potentially very significantly in pathological cases). +Also, +[more expressive control flow constructs](FutureFeatures.md#more-expressive-control-flow) +may be added in the future. ## Calls |
