diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-03-07 10:32:32 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-03-07 10:32:32 -0800 |
commit | 91008b47488fe87943b7c2b66c3f362907d37bee (patch) | |
tree | 86ba8aa07f966d22742150551791732248cb4f84 /src | |
parent | 60bfb02f752e6d7383f077e892b8c10096c40824 (diff) | |
download | binaryen-91008b47488fe87943b7c2b66c3f362907d37bee.tar.gz binaryen-91008b47488fe87943b7c2b66c3f362907d37bee.tar.bz2 binaryen-91008b47488fe87943b7c2b66c3f362907d37bee.zip |
allow setting total memory in asm2wasm
Diffstat (limited to 'src')
-rw-r--r-- | src/asm2wasm-main.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/asm2wasm-main.cpp b/src/asm2wasm-main.cpp index aa914c168..5ab8bb0cf 100644 --- a/src/asm2wasm-main.cpp +++ b/src/asm2wasm-main.cpp @@ -41,6 +41,10 @@ int main(int argc, const char *argv[]) { [](Options *o, const std::string &argument) { o->extra["mapped globals"] = argument; }) + .add("--total-memory", "-m", "Total memory size", Options::Arguments::One, + [](Options *o, const std::string &argument) { + o->extra["total memory"] = argument; + }) .add_positional("INFILE", Options::Arguments::One, [](Options *o, const std::string &argument) { o->extra["infile"] = argument; @@ -51,6 +55,10 @@ int main(int argc, const char *argv[]) { const char *mappedGlobals = mg_it == options.extra.end() ? nullptr : mg_it->second.c_str(); + const auto &tm_it = options.extra.find("total memory"); + size_t totalMemory = + tm_it == options.extra.end() ? 16 * 1024 * 1024 : atoi(tm_it->second.c_str()); + Asm2WasmPreProcessor pre; auto input( read_file<std::vector<char>>(options.extra["infile"], options.debug)); @@ -67,8 +75,7 @@ int main(int argc, const char *argv[]) { if (options.debug) std::cerr << "wasming..." << std::endl; AllocatingModule wasm; - wasm.memory.initial = wasm.memory.max = - 16 * 1024 * 1024; // we would normally receive this from the compiler + wasm.memory.initial = wasm.memory.max = totalMemory; Asm2WasmBuilder asm2wasm(wasm, pre.memoryGrowth, options.debug); asm2wasm.processAsm(asmjs); |