OSDN Git Service

Revert "Revert "Gray only immune objects mutators access.""
authorHiroshi Yamauchi <yamauchi@google.com>
Tue, 28 Jun 2016 21:07:41 +0000 (14:07 -0700)
committerHiroshi Yamauchi <yamauchi@google.com>
Thu, 30 Jun 2016 02:17:02 +0000 (19:17 -0700)
commitd8db5a22d8a2cffc75f4b080cbafef5e04800244
tree7a5a94cb11eda17b800e8f50a3b9e5b18457b023
parent4dd9d82d6c1260b3da908a0d1a22b7d209b87496
Revert "Revert "Gray only immune objects mutators access.""

To reduce image/zygote dirty pages.

GC doesn't gray immune space objects except when visiting the thread
GC roots of suspended threads during the thread flip and in
FillWithDummyObject(). GC updates the fields of immune space objects
without pushing/popping them through the mark stack. GC sets a bool
flag after updating the fields of immune space objects. After this
point, mutators don't need gray to immune space objects. Removed the
mark bitmaps for immune spaces.

This reverts commit ddeb172eeedb58ab96e074a55a0d1578b5df4110.

Bug: 29516465
Bug: 12687968
Test: art tests, libartd device boot, ritzperf, jdwp test.
Change-Id: If272373aea3d41b2719e40a6a41f44d9299ba309
runtime/gc/collector/concurrent_copying-inl.h
runtime/gc/collector/concurrent_copying.cc
runtime/gc/collector/concurrent_copying.h