Change card cache mod-union table to use bitmaps
Previously used card sets, using bitmaps saves memory and slightly
increases performance.
Added mod union table test.
Performance EvaluateAndApplyChanges (minimal changes):
Before (card cache image mu table):
UpdateAndMarkImageModUnionTable: Avg: 524.320us
ImageModUnionClearCards: Avg: 54.580us
Native PSS: ~67500kB
After (card cache image mu table):
UpdateAndMarkImageModUnionTable: Avg: 515.600us
ImageModUnionClearCards: Avg: 53.780us
Native PSS: ~66014kB
Native PSS was higher before since the mod_union_table->SetCards()
which happens pre zygote fork was allocating a large amount of
std::nodes.
Bug: 11859910
Change-Id: I956b7e51d5572feec1393ffa618b7b7d8c147b28
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk
index c576d1b..7ab4d64 100644
--- a/build/Android.gtest.mk
+++ b/build/Android.gtest.mk
@@ -116,6 +116,7 @@
runtime/entrypoints_order_test.cc \
runtime/exception_test.cc \
runtime/gc/accounting/card_table_test.cc \
+ runtime/gc/accounting/mod_union_table_test.cc \
runtime/gc/accounting/space_bitmap_test.cc \
runtime/gc/heap_test.cc \
runtime/gc/reference_queue_test.cc \