aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gohman <sunfish@mozilla.com>2015-07-29 15:40:06 -0700
committerDan Gohman <sunfish@mozilla.com>2015-07-29 15:40:06 -0700
commit23d6ff93b40a14bf1bac7f08c1deadffd0bb6d58 (patch)
tree7b0b77da2fbac5a60d7df1cf1648376d5fe84b00
parentf74c4a87968ecf73120cc4588e67c7ca06ab170f (diff)
parentf79a4fc01b1fed68c70f9f473dc0d088c760c00d (diff)
downloadnanowasm-design-23d6ff93b40a14bf1bac7f08c1deadffd0bb6d58.tar.gz
Merge pull request #283 from WebAssembly/64-bit-pointers
Elaborate on how 64-bit indices might work.
-rw-r--r--FutureFeatures.md19
1 files changed, 12 insertions, 7 deletions
diff --git a/FutureFeatures.md b/FutureFeatures.md
index 8ac622e..67e1468 100644
--- a/FutureFeatures.md
+++ b/FutureFeatures.md
@@ -79,13 +79,18 @@ Options under consideration:
## Linear memory bigger than 4GiB
-WebAssembly will eventually allow a module to have a linear memory size greater than 4GiB by providing
-load/store operations that take 64-bit index operands. Modules which opt-in to
-this feature have `int64` as the canonical pointer type.
-
-On a 32-bit system, memory must still be smaller than 4GiB. A WebAssembly
-implementation running on such a platform may restrict allocations to the lower
-4GiB, and leave the two 32-bits untouched.
+WebAssembly will eventually allow a module to have a linear memory size greater
+than 4GiB by providing load/store/etc. operations that take 64-bit index
+operands.
+
+Of course, the ability to actually allocate this much memory will always be
+subject to dynamic resource availability.
+
+Initially, it will likely be required that a program use all 32-bit indices or
+all 64-bit indices, and not a mix of both, so that implementations don't have
+to support both in the same program. However, operators with 32-bit indices and
+operations with 64-bit indices will be given separate names to leave open the
+possibility of supporting both in the same program in the future.
## Source maps integration