diff options
| author | 2014-01-09 13:24:51 -0800 | |
|---|---|---|
| committer | 2014-01-10 18:36:47 -0800 | |
| commit | 05e713a3a009a0825826ce6d494582fcd6dd6a8d (patch) | |
| tree | a2c48b5698b687c46d5582a2984db46f7271865f /runtime/gc/heap.cc | |
| parent | 6502d15fa7a92498cb3bcb291426cc10dd952fe4 (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.cc | 4 |
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()); |