OSDN Git Service

Enable large object space for zygote.
authorMathieu Chartier <mathieuc@google.com>
Wed, 20 Aug 2014 01:24:04 +0000 (18:24 -0700)
committerMathieu Chartier <mathieuc@google.com>
Wed, 20 Aug 2014 16:49:55 +0000 (09:49 -0700)
commite4cab17634dc6d5809b40f2ed80d6459734ae2fe
tree5da16e0399d2eeab7448c71a2daed6aae9499052
parent10dac8ee833a297ad0ffc5877305f2d132259478
Enable large object space for zygote.

We now enable the large object space before the zygote fork.
This reduces the size of the zygote and removes the need for
excessive explicit GCs during phone booting.

Changed the card set mod union table to support forgetting cards.
If a card has no non null references which are in another space
then it is removed from the set.

Added logging of the zygote size when you do a SIGQUIT.

Dalvik PSS is the same or slightly lower (1-3%).

Zygote space size:
Before: 15MB
After: 8MB (+ some large objects).

TODO: Combine remembered sets and mod union tables into a single
interface.

Bug: 16398684
Change-Id: Ie48cdf35004a0a37eedb1ccc1bf214b1fa9e0cca
runtime/gc/accounting/mod_union_table.cc
runtime/gc/accounting/mod_union_table.h
runtime/gc/heap.cc
runtime/gc/heap.h