Experimental Sticky-Bit (Generational) CC collection

Use the card table to quickly collect regions allocated since the
last GC. This is similar in behavior to sticky CMS.

TODO: This is using the existing sticky CMS ergonomics, we can
maybe improve on these.

Guard Generational Concurrent Copying collection with compile-time
flag art::kEnableGenerationalConcurrentCopyingCollection, set by
environment variable ART_USE_GENERATIONAL_CC.

Test: ART run-tests & gtests, libcore tests, JDWP tests (host & device)
Test: Device/emulator boot test
Bug: 67628039
Bug: 12687968
Change-Id: I9c8023b71a029b0a73527cf67d924675c4c14305
diff --git a/runtime/gc/system_weak_test.cc b/runtime/gc/system_weak_test.cc
index 21f5117..897ab01 100644
--- a/runtime/gc/system_weak_test.cc
+++ b/runtime/gc/system_weak_test.cc
@@ -26,6 +26,7 @@
 #include "gc_root-inl.h"
 #include "handle_scope-inl.h"
 #include "heap.h"
+#include "mirror/object-inl.h"
 #include "mirror/string.h"
 #include "scoped_thread_state_change-inl.h"
 #include "thread_list.h"