Bump pointer space only collection.
Add a mode of collection that collects only the bump pointer spaces,
as opposed to the whole heap. It's disabled behind a flag.
TODO: It still scans the entire non-moving space to look for
inter-space references. Use a card table like technique to limit the
scope of scanning and speed it up.
Bug: 11650816
Change-Id: I56cb11e78e47a578bff644e6e6c63d978cfedf39
diff --git a/runtime/gc/heap.cc b/runtime/gc/heap.cc
index 071b3de..b2429a4 100644
--- a/runtime/gc/heap.cc
+++ b/runtime/gc/heap.cc
@@ -189,7 +189,7 @@
requested_alloc_space_begin);
CHECK(malloc_space != nullptr) << "Failed to create dlmalloc space";
}
-
+ VLOG(heap) << "malloc_space : " << malloc_space;
if (kMovingCollector) {
// TODO: Place bump-pointer spaces somewhere to minimize size of card table.
// TODO: Having 3+ spaces as big as the large heap size can cause virtual memory fragmentation
@@ -203,6 +203,8 @@
nullptr);
CHECK(temp_space_ != nullptr) << "Failed to create bump pointer space";
AddSpace(temp_space_);
+ VLOG(heap) << "bump_pointer_space : " << bump_pointer_space_;
+ VLOG(heap) << "temp_space : " << temp_space_;
}
non_moving_space_ = malloc_space;
malloc_space->SetFootprintLimit(malloc_space->Capacity());