aboutsummaryrefslogtreecommitdiff
path: root/BinaryEncoding.md
diff options
context:
space:
mode:
authorLuke Wagner <mail@lukewagner.name>2015-05-06 17:45:45 -0500
committerLuke Wagner <mail@lukewagner.name>2015-05-06 17:45:45 -0500
commitec5fa70443b29cde38170015343055d717306210 (patch)
tree7db919cdf43d26e3380a0d67fbd99c94dc0343b7 /BinaryEncoding.md
parente912ffde2a5cddf065f953c26e7842211427cede (diff)
downloadnanowasm-design-ec5fa70443b29cde38170015343055d717306210.tar.gz
Say what happens when a name is unknown
Diffstat (limited to 'BinaryEncoding.md')
-rw-r--r--BinaryEncoding.md4
1 files changed, 4 insertions, 0 deletions
diff --git a/BinaryEncoding.md b/BinaryEncoding.md
index 5bb083f..4f6b37f 100644
--- a/BinaryEncoding.md
+++ b/BinaryEncoding.md
@@ -105,6 +105,10 @@ conflict-avoidance practices surrounding string names:
* So, as a general rule, no magic numbers in the spec (other than the literal [magic number](http://en.wikipedia.org/wiki/Magic_number_%28programming%29)).
* Instead, a module defines its *own* local index spaces of opcodes by providing tables *of names*.
* So what the spec *would* define is a set of names and their associated semantics.
+ * If the implementation encounters a name it doesn't implement, by default an error is thrown while loading.
+ * However, a name *may* include a corresponding polyfill function (identified by index
+ into the function array) to be called if the name isn't natively implemented. (There are a lot
+ more details to figure out here.)
* To avoid (over time) large index-space declaration sections that are largely the same
between modules, finalized versions of standards would define named baseline index spaces
that modules could optionally use as a starting point to further refine.