summaryrefslogtreecommitdiff
path: root/src/emscripten-optimizer/simple_ast.cpp
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/emscripten-optimizer/simple_ast.cpp
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/emscripten-optimizer/simple_ast.cpp')
-rw-r--r--src/emscripten-optimizer/simple_ast.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/emscripten-optimizer/simple_ast.cpp b/src/emscripten-optimizer/simple_ast.cpp
index 285686b9a..dddaeab02 100644
--- a/src/emscripten-optimizer/simple_ast.cpp
+++ b/src/emscripten-optimizer/simple_ast.cpp
@@ -56,6 +56,15 @@ bool Ref::operator!() {
Arena arena;
+Arena::~Arena() {
+ for (auto* chunk : chunks) {
+ delete[] chunk;
+ }
+ for (auto* chunk : arr_chunks) {
+ delete[] chunk;
+ }
+}
+
Ref Arena::alloc() {
if (chunks.size() == 0 || index == CHUNK_SIZE) {
chunks.push_back(new Value[CHUNK_SIZE]);