diff options
author | Roland Levillain <rpl@google.com> | 2018-01-15 11:52:58 +0000 |
---|---|---|
committer | Roland Levillain <rpl@google.com> | 2018-08-15 19:57:39 +0100 |
commit | 4e7511364e21e55078ce8434dd8a7ffacbe0037b (patch) | |
tree | 26fb7beea13bc96f1d406fcee68163ef8ba4d6f6 /compiler/optimizing/graph_visualizer.cc | |
parent | 91ab8db448065e1ed556f034652fcd87f7e81d71 (diff) |
Rework the newly-allocated region logic in RegionSpace.
- Mark large (and large tail) regions as "newly allocated" in
RegionSpace::AllocLarge when they are allocated for non-evac
purposes, the same way non-large regions were already marked
as "newly allocated" in RegionSpace::AllocateRegion when
they were allocated for non-evac purposes.
- Clear the "newly allocated" status of regions only when
setting them as (evac) from-space and non-evac from-space.
This addresses an issue with Sticky-Bit (Generational) CC collection,
where an assertion in ConcurrentCopying::VerifyNoMissingCardMarks
could fail when a recently allocated large region held a dead large
object holding a (presumably stale) object reference pointing to a
newly allocated (non-large) region.
Test: ART run-tests & gtests, libcore tests, JDWP tests (host & device)
Test: Device/emulator boot test
Bug: 67628039
Bug: 12687968
Change-Id: Idd20c159db9359ee783a421ec699d3e3aa450552
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions