aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJF Bastien <github@jfbastien.com>2015-09-14 22:39:46 -0700
committerJF Bastien <github@jfbastien.com>2015-09-14 22:39:46 -0700
commit030db436eb6bc71d8754702a5a4ea0397811dbd3 (patch)
tree0a5603bd87385db5204a2c99b583bf3422387694
parent84104e2f99b1d6ce35791063a6993256523f826a (diff)
downloadnanowasm-design-030db436eb6bc71d8754702a5a4ea0397811dbd3.tar.gz
Mention virtual memory
I've found myself explaining this a few times, so I figure it's best to just state it.
-rw-r--r--AstSemantics.md12
1 files changed, 8 insertions, 4 deletions
diff --git a/AstSemantics.md b/AstSemantics.md
index d8c15b0..f037951 100644
--- a/AstSemantics.md
+++ b/AstSemantics.md
@@ -69,10 +69,14 @@ The main storage of a WebAssembly instance, called the *linear memory*, is a
contiguous, byte-addressable range of memory spanning from offset `0` and
extending for `memory_size` bytes which can be dynamically adjusted by
[`resize_memory`](Modules.md#resizing). The linear memory can be considered to
-be an untyped array of bytes. The linear memory is sandboxed; it does not alias
-the execution engine's internal data structures, the execution stack, local
-variables, global variables, or other process memory. The initial state of
-linear memory is specified by the [module](Modules.md#initial-state-of-linear-memory).
+be an untyped array of bytes, and it is unspecified how embedders map this array
+into their process' own [virtual memory][]. The linear memory is sandboxed; it
+does not alias the execution engine's internal data structures, the execution
+stack, local variables, global variables, or other process memory. The initial
+state of linear memory is specified by the
+[module](Modules.md#initial-state-of-linear-memory).
+
+ [virtual memory]: https://en.wikipedia.org/wiki/Virtual_memory
In the MVP, linear memory is not shared between threads of execution. Separate
instances can execute in separate threads but have their own linear memory and can