diff options
Diffstat (limited to 'src/ir/module-utils.h')
-rw-r--r-- | src/ir/module-utils.h | 18 |
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. |