OSDN Git Service

Shared single GC iteration accounting for all GCs.
authorMathieu Chartier <mathieuc@google.com>
Sun, 15 Jun 2014 22:15:43 +0000 (15:15 -0700)
committerMathieu Chartier <mathieuc@google.com>
Fri, 20 Jun 2014 20:00:23 +0000 (13:00 -0700)
commit10fb83ad7442c8cf3356a89ec918e0786f110981
tree652a07afa83c4afb482702f4f571a024368491ad
parent2d2d6bb1ff8692efdddf104dabfb4a2d39877ff6
Shared single GC iteration accounting for all GCs.

Previously, each garbage collector had data that was only used
during collection. Since only one collector can be running at any
given time, we can make this data be shared between all collectors.
This reduces memory usage since we don't need to have redundant
information for each GC types. Also reduced how much code is required
to sweep spaces.

Bug: 9969166
Change-Id: I31caf0ee4d572f75e0c66863fe7db12c08ae08e7
12 files changed:
runtime/gc/collector/garbage_collector.cc
runtime/gc/collector/garbage_collector.h
runtime/gc/collector/mark_compact.cc
runtime/gc/collector/mark_sweep.cc
runtime/gc/collector/semi_space.cc
runtime/gc/heap.cc
runtime/gc/heap.h
runtime/gc/space/large_object_space.cc
runtime/gc/space/large_object_space.h
runtime/gc/space/malloc_space.cc
runtime/gc/space/space.cc
runtime/gc/space/space.h