2-phase full-heap CC

Introduce a phase before enbling read-barrier during full-heap GC
cycles:
1) To compute latest per-region live-bytes info for accureate
"should be evacuated" decision for every region.
2) To mark most of the live objects before enabling read-barrier so that
graying them can be avoided, thereby reducing number of read-barrier slowpath
invocations.

Test: art/test/testrunner/testrrunner.py --target
Bug: 112720851
Test: art/test/testrunner/testrunner.py --64
Change-Id: Ief4e92dba27aded153e600eeffc072b66d5917b5
6 files changed