summaryrefslogtreecommitdiff
path: root/src/wasm2js.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm2js.h')
-rw-r--r--src/wasm2js.h10
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) {