diff options
-rw-r--r-- | src/passes/RemoveUnusedFunctions.cpp | 1 | ||||
-rw-r--r-- | src/wasm.h | 8 |
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; |