summaryrefslogtreecommitdiffstats
path: root/compiler
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2015-08-18 13:54:21 -0700
committerMathieu Chartier <mathieuc@google.com>2015-08-18 16:11:21 -0700
commit059ef3ddb2088f926ac452889e0953fdcd646a5e (patch)
tree36067457d7e4aba11be908ddd235734d29b7c4f2 /compiler
parentf71ad9ede9ae322a897e8fe407208dc35c5dee65 (diff)
downloadart-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.cc2
-rw-r--r--compiler/image_writer.cc4
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);
}
}