diff options
| author | titzer <titzer@google.com> | 2016-10-11 17:47:02 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-10-11 17:47:02 +0200 |
| commit | e49fc18b684c953e3d920dcfc4bfce8ede9268dd (patch) | |
| tree | db3843485e77013c763c4dbf27de9ab3711e371b /FutureFeatures.md | |
| parent | acfa2e2f6e02bb4f9c46a03882b72fb43e410eca (diff) | |
| download | nanowasm-design-e49fc18b684c953e3d920dcfc4bfce8ede9268dd.tar.gz | |
Structured stack (#813)
* Rename AstSemantics.md to Semantics.md
* Rewrite Semantics for structured stack machine
* Update control instructions
* Update nop
* More tweaks
* Update README.md
* Update Semantics.md
* Update Semantics.md
* Address @rossberg-chromium comments
Diffstat (limited to 'FutureFeatures.md')
| -rw-r--r-- | FutureFeatures.md | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/FutureFeatures.md b/FutureFeatures.md index 3f373bd..77ff0af 100644 --- a/FutureFeatures.md +++ b/FutureFeatures.md @@ -33,7 +33,7 @@ Provide access to safe OS-provided functionality including: performing these operators in sequence. The `addr` and `length` parameters above would be required to be multiples of -[`page_size`](AstSemantics.md#resizing). +[`page_size`](Semantics.md#resizing). The `mprotect` operator would require hardware memory protection to execute efficiently and thus may be added as an "optional" feature (requiring a @@ -51,7 +51,7 @@ can allocate noncontiguous virtual address ranges. See the Some platforms offer support for memory pages as large as 16GiB, which can improve the efficiency of memory management in some situations. WebAssembly -may offer programs the option to specify a larger page size than the [default] (AstSemantics.md#resizing). +may offer programs the option to specify a larger page size than the [default] (Semantics.md#resizing). ## More expressive control flow @@ -139,7 +139,7 @@ Useful properties of signature-restricted PTCs: General-purpose Proper Tail Calls would have no signature restrictions, and therefore be more broadly usable than -[Signature-restricted Proper Tail Calls](AstSemantics.md#signature-restricted-proper-tail-calls), +[Signature-restricted Proper Tail Calls](Semantics.md#signature-restricted-proper-tail-calls), though there would be some different performance characteristics. ## Asynchronous Signals @@ -301,7 +301,7 @@ quadruple precision. WebAssembly floating point conforms IEEE 754-2008 in most respects, but there are a few areas that are -[not yet covered](AstSemantics.md#floating-point-operators). +[not yet covered](Semantics.md#floating-point-operators). To support exceptions and alternate rounding modes, one option is to define an alternate form for each of `add`, `sub`, `mul`, `div`, `sqrt`, and `fma`. These @@ -382,7 +382,7 @@ pass was otherwise necessary. In the MVP, there are no global variables; C/C++ global variables are stored in linear memory and thus accessed through normal -[linear memory operators](AstSemantics.md#linear-memory-operators). +[linear memory operators](Semantics.md#linear-memory-operators). [Dynamic linking](DynamicLinking.md) will add some form of immutable global variable analogous to "symbols" in native binaries. In some cases, though, it may be useful to have a fully mutable global variable which lives outside @@ -437,7 +437,7 @@ since opaque, could be implemented as a raw function pointer). ## More Table Operators and Types In the MVP, WebAssembly has limited functionality for operating on -[tables](AstSemantics.md#table) and the host-environment can do much more (e.g., +[tables](Semantics.md#table) and the host-environment can do much more (e.g., see [JavaScript's `WebAssembly.Table` API](JS.md#webassemblytable-objects)). It would be useful to be able to do everything from within WebAssembly so, e.g., it was possible to write a WebAssembly dynamic loader in WebAssembly. As a |
