summaryrefslogtreecommitdiff
path: root/src/tools/wasm-emscripten-finalize.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/wasm-emscripten-finalize.cpp')
-rw-r--r--src/tools/wasm-emscripten-finalize.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/tools/wasm-emscripten-finalize.cpp b/src/tools/wasm-emscripten-finalize.cpp
index 223fa3082..28f5a7c06 100644
--- a/src/tools/wasm-emscripten-finalize.cpp
+++ b/src/tools/wasm-emscripten-finalize.cpp
@@ -39,6 +39,7 @@ int main(int argc, const char *argv[]) {
std::string infile;
std::string outfile;
bool emitBinary = true;
+ unsigned numReservedFunctionPointers = 0;
std::vector<Name> forcedExports;
Options options("wasm-emscripten-finalize",
"Performs Emscripten-specific transforms on .wasm files");
@@ -54,6 +55,14 @@ int main(int argc, const char *argv[]) {
[&emitBinary](Options*, const std::string& ) {
emitBinary = false;
})
+ .add("--emscripten-reserved-function-pointers", "",
+ "Number of reserved function pointers for emscripten addFunction "
+ "support",
+ Options::Arguments::One,
+ [&numReservedFunctionPointers](Options *,
+ const std::string &argument) {
+ numReservedFunctionPointers = std::stoi(argument);
+ })
.add_positional("INFILE", Options::Arguments::One,
[&infile](Options *o, const std::string& argument) {
infile = argument;
@@ -80,6 +89,7 @@ int main(int argc, const char *argv[]) {
generator.generateRuntimeFunctions();
generator.generateMemoryGrowthFunction();
generator.generateDynCallThunks();
+ generator.generateJSCallThunks(numReservedFunctionPointers);
generator.fixEmAsmConsts();
if (options.debug) {