Use the card marks to find gray objects during a concurrent collection.
Presently, the garbage collector scans the mark bits looking for gray
objects. As of this change, only objects spanning dirty cards will be
reexamined during re-marking.
As part of this change, re-marking of roots will push objects onto the
mark stack instead of setting their mark bits. The number of gray
roots discovered during re-marking is small. If this changes we can
dirty the cards instead and let re-scanning push the gray objects.
Change-Id: If270812821e070d09af344edb63dfede26d10410
6 files changed