diff options
author | Mathieu Chartier <mathieuc@google.com> | 2015-08-18 13:54:21 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2015-08-18 16:11:21 -0700 |
commit | 059ef3ddb2088f926ac452889e0953fdcd646a5e (patch) | |
tree | 36067457d7e4aba11be908ddd235734d29b7c4f2 /compiler | |
parent | f71ad9ede9ae322a897e8fe407208dc35c5dee65 (diff) | |
download | art-059ef3ddb2088f926ac452889e0953fdcd646a5e.tar.gz art-059ef3ddb2088f926ac452889e0953fdcd646a5e.tar.bz2 art-059ef3ddb2088f926ac452889e0953fdcd646a5e.zip |
Always visit object class from VisitReferences
We don't want to unload classes which have instances.
Slight increase in CMS GC time from ~6.5s to ~7.3s on
EvaluateAndApplyChanges.
Bug: 22720414
Change-Id: I467ff9c9d55163d2a90b999aef3bdd7b3f648bac
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/driver/compiler_driver.cc | 2 | ||||
-rw-r--r-- | compiler/image_writer.cc | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc index fa4667ec97..fa25a17481 100644 --- a/compiler/driver/compiler_driver.cc +++ b/compiler/driver/compiler_driver.cc @@ -1109,7 +1109,7 @@ class ClinitImageUpdate { // If it is not a DexCache, visit all references. mirror::Class* klass = object->GetClass(); if (klass != dex_cache_class_) { - object->VisitReferences<false /* visit class */>(*this, *this); + object->VisitReferences(*this, *this); } } diff --git a/compiler/image_writer.cc b/compiler/image_writer.cc index 3a3410cf3a..93897aa228 100644 --- a/compiler/image_writer.cc +++ b/compiler/image_writer.cc @@ -1350,7 +1350,7 @@ void ImageWriter::FixupClass(mirror::Class* orig, mirror::Class* copy) { } } FixupClassVisitor visitor(this, copy); - static_cast<mirror::Object*>(orig)->VisitReferences<true /*visit class*/>(visitor, visitor); + static_cast<mirror::Object*>(orig)->VisitReferences(visitor, visitor); } void ImageWriter::FixupObject(Object* orig, Object* copy) { @@ -1397,7 +1397,7 @@ void ImageWriter::FixupObject(Object* orig, Object* copy) { down_cast<mirror::ClassLoader*>(copy)->SetClassTable(nullptr); } FixupVisitor visitor(this, copy); - orig->VisitReferences<true /*visit class*/>(visitor, visitor); + orig->VisitReferences(visitor, visitor); } } |