summaryrefslogtreecommitdiff
path: root/src/wasm-js.cpp
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2018-10-15 16:07:24 -0700
committerGitHub <noreply@github.com>2018-10-15 16:07:24 -0700
commit021a2b85fb9264d9cb4a21c039682d1f0fddbd1c (patch)
tree96f39abb25e77769b337aa3d7858c4722c6ba1b4 /src/wasm-js.cpp
parent66dbc57d32bb2c8c01deefba7a035ebed5a42e2c (diff)
downloadbinaryen-021a2b85fb9264d9cb4a21c039682d1f0fddbd1c.tar.gz
binaryen-021a2b85fb9264d9cb4a21c039682d1f0fddbd1c.tar.bz2
binaryen-021a2b85fb9264d9cb4a21c039682d1f0fddbd1c.zip
Support 4GB Memories (#1702)
This fixes asm2wasm parsing of the max to allow 4GB, and also changes the internal Memory::kMaxValue values to reflect that. We used to use kMaxValue to also represent "no limit", so I split that out into kUnlimitedValue.
Diffstat (limited to 'src/wasm-js.cpp')
-rw-r--r--src/wasm-js.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/wasm-js.cpp b/src/wasm-js.cpp
index a777295d7..381487cd0 100644
--- a/src/wasm-js.cpp
+++ b/src/wasm-js.cpp
@@ -78,7 +78,7 @@ extern "C" void EMSCRIPTEN_KEEPALIVE load_asm2wasm(char *input) {
exit(EXIT_FAILURE);
}
module->memory.initial = Address(providedMemory / Memory::kPageSize);
- module->memory.max = pre.memoryGrowth ? Address(Memory::kMaxSize) : module->memory.initial;
+ module->memory.max = pre.memoryGrowth ? Address(Memory::kUnlimitedSize) : module->memory.initial;
if (wasmJSDebug) std::cerr << "wasming...\n";
asm2wasm = new Asm2WasmBuilder(*module, pre, debug, TrapMode::JS, PassOptions(), true /* runJSFFIPass */, false /* TODO: support optimizing? */, false /* TODO: support asm2wasm-i64? */);
@@ -94,7 +94,7 @@ void finalizeModule() {
exit(EXIT_FAILURE);
}
module->memory.initial = Address(providedMemory / Memory::kPageSize);
- module->memory.max = module->getExportOrNull(GROW_WASM_MEMORY) ? Address(Memory::kMaxSize) : module->memory.initial;
+ module->memory.max = module->getExportOrNull(GROW_WASM_MEMORY) ? Address(Memory::kUnlimitedSize) : module->memory.initial;
// global mapping is done in js in post.js
}