aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gohman <sunfish@mozilla.com>2015-07-06 17:07:34 -0700
committerDan Gohman <sunfish@mozilla.com>2015-07-17 15:37:12 -0700
commit4babacf73dbc29ee07c40a522090806401c2df9b (patch)
treeee917261b6448db851c229466c8b5cbb9f3977d9
parentde54c4ce9aef34003acced5f234e70b323d3c5b3 (diff)
downloadnanowasm-design-4babacf73dbc29ee07c40a522090806401c2df9b.tar.gz
Reformat and revise the rationale for structured control flow.
-rw-r--r--AstSemantics.md27
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