Sweep only objects in the live stack in sticky-bit CC collections.
Reuse the same strategy used in sticky-bit Concurrent Mark-Sweep (CMS) collections for sticky-bit Concurrent Copying (CC) collections walk the live stack (which contains allocations made outside the region space since the previous GC thread flip phase) and free unmarked objects. As a side effect, this change address a bug that used to trigger GC crashes during a sticky-bit CC (young-generation) collection involving an unreachable newly allocated object in the non-moving space with a dangling reference to an object cleared or moved from a newly allocated region of the region space. Test: ART run-tests & gtests, libcore tests, JDWP tests (host & device) Test: Device/emulator boot test Bug: 67628039 Bug: 12687968 Change-Id: If5d94d854effdc8a614c1c3e3facb2221824aff2
Loading
Please sign in to comment