Fix RemoveSpace memory leak.
RemoveSpace now deletes the input space. This fixes a memory leak
related to background compaction.
Change-Id: I7123297adb475b1045f7d1a42d595c53daad0faa
diff --git a/runtime/gc/heap.cc b/runtime/gc/heap.cc
index 47c13c7..bce11c7 100644
--- a/runtime/gc/heap.cc
+++ b/runtime/gc/heap.cc
@@ -472,6 +472,7 @@
DCHECK(it != alloc_spaces_.end());
alloc_spaces_.erase(it);
}
+ delete space;
}
void Heap::RegisterGCAllocation(size_t bytes) {
@@ -1169,6 +1170,7 @@
DCHECK(allocator_mem_map_.get() == nullptr);
allocator_mem_map_.reset(main_space_->ReleaseMemMap());
madvise(main_space_->Begin(), main_space_->Size(), MADV_DONTNEED);
+ // RemoveSpace deletes the removed space.
RemoveSpace(main_space_);
break;
}