summaryrefslogtreecommitdiff
path: root/src/wasm-linker.h
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-04-27 19:25:15 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-04-27 19:25:15 -0700
commit6a6bdc1cef5ec35cb9f7caf6e10ec76ee1107d0d (patch)
tree9ed1b23b55c86f8fa1aee285bfdde9d47c2f1ae8 /src/wasm-linker.h
parent4a85f62e8a83117a081e9691d8830b6a7a876d1d (diff)
parentf0a4f15dc27ffff9505503a8168854b7662b2657 (diff)
downloadbinaryen-6a6bdc1cef5ec35cb9f7caf6e10ec76ee1107d0d.tar.gz
binaryen-6a6bdc1cef5ec35cb9f7caf6e10ec76ee1107d0d.tar.bz2
binaryen-6a6bdc1cef5ec35cb9f7caf6e10ec76ee1107d0d.zip
Merge pull request #403 from WebAssembly/leaks
Fix leaks and enable leak checks
Diffstat (limited to 'src/wasm-linker.h')
-rw-r--r--src/wasm-linker.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/wasm-linker.h b/src/wasm-linker.h
index ab336e581..f6cf832c7 100644
--- a/src/wasm-linker.h
+++ b/src/wasm-linker.h
@@ -103,6 +103,11 @@ class LinkerObject {
wasm.memory.segments.emplace_back(0, data, size);
}
+ void addSegment(Name name, std::vector<char>& data) {
+ segments[name] = wasm.memory.segments.size();
+ wasm.memory.segments.emplace_back(0, data);
+ }
+
void addInitializerFunction(Name name) {
initializerFunctions.emplace_back(name);
assert(symbolInfo.implementedFunctions.count(name));
@@ -246,7 +251,7 @@ class Linker {
return;
}
if (out.wasm.checkExport(name)) return; // Already exported
- auto exp = out.wasm.allocator.alloc<Export>();
+ auto exp = new Export;
exp->name = exp->value = name;
out.wasm.addExport(exp);
}