summaryrefslogtreecommitdiff
path: root/runtime/gc/heap.cc
diff options
context:
space:
mode:
author Hiroshi Yamauchi <yamauchi@google.com> 2014-01-09 13:24:51 -0800
committer Hiroshi Yamauchi <yamauchi@google.com> 2014-01-10 18:36:47 -0800
commit05e713a3a009a0825826ce6d494582fcd6dd6a8d (patch)
treea2c48b5698b687c46d5582a2984db46f7271865f /runtime/gc/heap.cc
parent6502d15fa7a92498cb3bcb291426cc10dd952fe4 (diff)
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
Diffstat (limited to 'runtime/gc/heap.cc')
-rw-r--r--runtime/gc/heap.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/runtime/gc/heap.cc b/runtime/gc/heap.cc
index 071b3de593..b2429a45bb 100644
--- a/runtime/gc/heap.cc
+++ b/runtime/gc/heap.cc
@@ -189,7 +189,7 @@ Heap::Heap(size_t initial_size, size_t growth_limit, size_t min_free, size_t max
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 @@ Heap::Heap(size_t initial_size, size_t growth_limit, size_t min_free, size_t max
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());