summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/passes/RemoveUnusedFunctions.cpp1
-rw-r--r--src/wasm.h8
2 files changed, 9 insertions, 0 deletions
diff --git a/src/passes/RemoveUnusedFunctions.cpp b/src/passes/RemoveUnusedFunctions.cpp
index 1e06b428c..25de7f18e 100644
--- a/src/passes/RemoveUnusedFunctions.cpp
+++ b/src/passes/RemoveUnusedFunctions.cpp
@@ -50,6 +50,7 @@ struct RemoveUnusedFunctions : public Pass {
return analyzer.reachable.count(curr.get()) == 0;
}), v.end());
assert(module->functions.size() == analyzer.reachable.size());
+ module->updateFunctionsMap();
}
};
diff --git a/src/wasm.h b/src/wasm.h
index 839dcf3c2..e8f82f47c 100644
--- a/src/wasm.h
+++ b/src/wasm.h
@@ -1501,6 +1501,14 @@ public:
}
importsMap.erase(name);
}
+ // TODO: remove* for other elements
+
+ void updateFunctionsMap() {
+ functionsMap.clear();
+ for (auto& func : functions) {
+ functionsMap[func->name] = func.get();
+ }
+ }
private:
size_t functionTypeIndex, importIndex, exportIndex, functionIndex;