diff options
Diffstat (limited to 'src/wasm2js.h')
-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) { |