forked from WebAssembly/spec
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Clarify some encoding/semantics (WebAssembly#32)
I recently looked into adding support for bulk memory operations into some Rust tooling in preparation for an overall threading story, and on reading the overview here I was slightly confused about a few encodings and some semantics. In the end I'm hopeful that these updates can help clarify these for future readers! No major functional change is intended here, only tweaks to wording and clarification of what I believe the original intent of the instructions were. Changes made were: * Fixed a broken `modules.html` link * Clarified some wording about how the new encoding of data segments with a flags field up front is backwards compatible. * Lifted the style of specifying encodings in `BinaryEncoding.md` to replace the current table for the new encoding of a data section. (I found this to be a bit more readable, but it should be functionally the same!) * Update `memory.*` instructions (and transitively `table.*`) to all be succeeded by an immediate index of which memory/table to operate over. This should, in the future, allow initializing/dropping data segments with multiple memories in play. * Updated the chart of instruction binary encodings to explicitly specify the following immediates of segments and tables.
- Loading branch information
1 parent
7ea73f7
commit b73c079
Showing
1 changed file
with
44 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters