diff options
| author | JF Bastien <github@jfbastien.com> | 2015-09-14 22:39:46 -0700 |
|---|---|---|
| committer | JF Bastien <github@jfbastien.com> | 2015-09-14 22:39:46 -0700 |
| commit | 030db436eb6bc71d8754702a5a4ea0397811dbd3 (patch) | |
| tree | 0a5603bd87385db5204a2c99b583bf3422387694 | |
| parent | 84104e2f99b1d6ce35791063a6993256523f826a (diff) | |
| download | nanowasm-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.md | 12 |
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 |
