summaryrefslogtreecommitdiff
path: root/src/ir/module-utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir/module-utils.h')
-rw-r--r--src/ir/module-utils.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/ir/module-utils.h b/src/ir/module-utils.h
index f2fda908c..e212ae8dc 100644
--- a/src/ir/module-utils.h
+++ b/src/ir/module-utils.h
@@ -105,8 +105,8 @@ inline Event* copyEvent(Event* event, Module& out) {
return ret;
}
-inline void copyModule(Module& in, Module& out) {
- // we use names throughout, not raw points, so simple copying is fine
+inline void copyModule(const Module& in, Module& out) {
+ // we use names throughout, not raw pointers, so simple copying is fine
// for everything *but* expressions
for (auto& curr : in.functionTypes) {
out.addFunctionType(make_unique<FunctionType>(*curr));
@@ -136,6 +136,20 @@ inline void copyModule(Module& in, Module& out) {
out.debugInfoFileNames = in.debugInfoFileNames;
}
+inline void clearModule(Module& wasm) {
+ wasm.functionTypes.clear();
+ wasm.exports.clear();
+ wasm.functions.clear();
+ wasm.globals.clear();
+ wasm.events.clear();
+ wasm.table.segments.clear();
+ wasm.memory.segments.clear();
+ wasm.start = Name();
+ wasm.userSections.clear();
+ wasm.debugInfoFileNames.clear();
+ wasm.updateMaps();
+}
+
// Renaming
// Rename functions along with all their uses.