diff options
author | Roland Levillain <rpl@google.com> | 2018-08-23 19:55:30 +0100 |
---|---|---|
committer | Roland Levillain <rpl@google.com> | 2018-09-06 17:57:21 +0100 |
commit | 0e840278fb2914678c648021950da9b5d4019468 (patch) | |
tree | a48c539c74d5c20b4302114d57dc036e38a92679 /compiler/optimizing/graph_visualizer.cc | |
parent | 9976b4e783311f19496ce0c70e2f99194187f90c (diff) |
Make classes of LOS objects non-movable.
When using Generational Concurrent Copying (CC) collection and no boot
image, there is an unlikely case where the class of an object
allocated the Large-Object Space (LOS) might be moved by a
sticky-bit (minor) collection, potentially creating a stale reference
in the `klass_` field of this large object. To prevent this situation,
make all the classes of objects eligible to allocations in the
LOS (large strings and primitive arrays) non-movable when running
without a boot image.
This is not an issue when running with a boot image, as these classes
are in an image space, which is immune.
Also disable run-test 669-moveable-string-class-equals, as this test
expects the String class to be movable when running without a boot
image.
Test: art/test/testrunner/testrunner.py --no-image
Bug: 67628039
Bug: 12687968
Bug: 68181300
Change-Id: Iefce8e13b4d6df96c31d77b7e53b4ba79b5e641c
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions