diff options
author | Alon Zakai <azakai@google.com> | 2020-06-22 18:07:35 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-22 18:07:35 -0700 |
commit | 63e580f737352d877fb90b4efca2eee89d780755 (patch) | |
tree | 6815fd53a926f85e6a61881b73053135459adc1b /src | |
parent | a3acdae356fc53eecdb52338d9bdd82310afa8a7 (diff) | |
download | binaryen-63e580f737352d877fb90b4efca2eee89d780755.tar.gz binaryen-63e580f737352d877fb90b4efca2eee89d780755.tar.bz2 binaryen-63e580f737352d877fb90b4efca2eee89d780755.zip |
wasm2js: start function support (#2920)
Diffstat (limited to 'src')
-rw-r--r-- | src/wasm2js.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/wasm2js.h b/src/wasm2js.h index fe558c03b..a6f27eff1 100644 --- a/src/wasm2js.h +++ b/src/wasm2js.h @@ -250,6 +250,7 @@ private: void addFunctionImport(Ref ast, Function* import); void addGlobalImport(Ref ast, Global* import); void addTable(Ref ast, Module* wasm); + void addStart(Ref ast, Module* wasm); void addExports(Ref ast, Module* wasm); void addGlobal(Ref ast, Global* global); void addMemoryFuncs(Ref ast, Module* wasm); @@ -426,7 +427,7 @@ Ref Wasm2JSBuilder::processWasm(Module* wasm, Name funcName) { } addTable(asmFunc[3], wasm); - // memory XXX + addStart(asmFunc[3], wasm); addExports(asmFunc[3], wasm); return ret; } @@ -573,6 +574,13 @@ void Wasm2JSBuilder::addTable(Ref ast, Module* wasm) { } } +void Wasm2JSBuilder::addStart(Ref ast, Module* wasm) { + if (wasm->start.is()) { + ast->push_back( + ValueBuilder::makeCall(fromName(wasm->start, NameScope::Top))); + } +} + void Wasm2JSBuilder::addExports(Ref ast, Module* wasm) { Ref exports = ValueBuilder::makeObject(); for (auto& export_ : wasm->exports) { |