diff options
| author | Dan Gohman <sunfish@mozilla.com> | 2016-01-28 11:08:53 -0800 |
|---|---|---|
| committer | Dan Gohman <sunfish@mozilla.com> | 2016-01-28 11:08:53 -0800 |
| commit | c61a20dc7d60f82d4ba005a2412eabd7cc088eb1 (patch) | |
| tree | adefa4a463a201614cbb55fa8f6f6a5dee326777 | |
| parent | a6b713dad23502e67c5dc8b94a7e4cf2c999128c (diff) | |
| download | nanowasm-design-c61a20dc7d60f82d4ba005a2412eabd7cc088eb1.tar.gz | |
Remove more references to `comma` and `conditional`.
| -rw-r--r-- | FeatureTest.md | 2 | ||||
| -rw-r--r-- | GC.md | 4 | ||||
| -rw-r--r-- | Rationale.md | 8 |
3 files changed, 7 insertions, 7 deletions
diff --git a/FeatureTest.md b/FeatureTest.md index a7a3aec..39c99c9 100644 --- a/FeatureTest.md +++ b/FeatureTest.md @@ -37,7 +37,7 @@ To illustrate, consider 4 examples: * [`i32.min_s`](FutureFeatures.md#additional-integer-operators) - Strategy 2 could be used to translate `(i32.min_s lhs rhs)` into an equivalent expression - that stores `lhs` and `rhs` in locals then uses `i32.lt_s` and `conditional`. + that stores `lhs` and `rhs` in locals then uses `i32.lt_s` and `select`. * [Threads](PostMVP.md#threads) - If an application uses `#ifdef` extensively to produce thread-enabled/disabled builds, Strategy 1 would be appropriate. However, if the application was able to abstract use of threading to a few @@ -34,8 +34,8 @@ type is to be passed to and returned from exported functions. Reference types are allowed to be used as the types of locals, parameters and return types. Additionally, references would be allowed as operands to -operators that treat their values as black boxes (`conditional`, `comma`, -`eq`, etc.). A new `dynamic_cast` operator would be added to allow checked +operators that treat their values as black boxes (`br`, `block`, etc.). +A new `dynamic_cast` operator would be added to allow checked casting from any opaque reference type to any other opaque reference type. Whether the cast succeeds is up to the host environment; WebAssembly itself will define no a priori subtyping relationship. diff --git a/Rationale.md b/Rationale.md index c80c569..6847455 100644 --- a/Rationale.md +++ b/Rationale.md @@ -221,9 +221,9 @@ tables filled with failure handlers to avoid one check. ## Expressions with Control Flow Expression trees offer significant size reduction by avoiding the need for -`set_local`/`get_local` pairs in the common case of an expression with only one, -immediate use. The `comma` and `conditional` primitives provide AST nodes that -express control flow and thus allow more opportunities to build bigger +`set_local`/`get_local` pairs in the common case of an expression with only one +immediate use. Control flow "statements" are in fact expressions with result +values, thus allowing even more opportunities to build bigger expression trees and further reduce `set_local`/`get_local` usage (which constitute 30-40% of total bytes in the [polyfill prototype](https://github.com/WebAssembly/polyfill-prototype-1)). @@ -421,4 +421,4 @@ Yes: its abilities, without encroaching upon the subsequent layer's compression opportunities. * [Existing web standards](https://www.w3.org/TR/PNG/) demonstrate many of - the advantages of a layered encoding strategy.
\ No newline at end of file + the advantages of a layered encoding strategy. |
