summaryrefslogtreecommitdiffstats
path: root/compiler/image_writer.cc
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2015-04-15 20:03:16 -0700
committerMathieu Chartier <mathieuc@google.com>2015-04-16 09:39:50 -0700
commitde486925d74f229e00b568200035eb9ed40aaa62 (patch)
tree1edbb12c332f7418ba8c02483348917608f28547 /compiler/image_writer.cc
parenta76a08fed88bd081bcc4d240f1ba3472a2acbbab (diff)
downloadandroid_art-de486925d74f229e00b568200035eb9ed40aaa62.tar.gz
android_art-de486925d74f229e00b568200035eb9ed40aaa62.tar.bz2
android_art-de486925d74f229e00b568200035eb9ed40aaa62.zip
Don't call ComputeEagerResolvedStrings
Doesn't add any strings to the dex caches, takes 50ms on nexus 5 during image writing. Change-Id: Ib38d456b765a90efc0008955f974446fbe285bff
Diffstat (limited to 'compiler/image_writer.cc')
-rw-r--r--compiler/image_writer.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/image_writer.cc b/compiler/image_writer.cc
index 2420254046..670c897e2d 100644
--- a/compiler/image_writer.cc
+++ b/compiler/image_writer.cc
@@ -70,6 +70,7 @@ namespace art {
// Separate objects into multiple bins to optimize dirty memory use.
static constexpr bool kBinObjects = true;
+static constexpr bool kComputeEagerResolvedStrings = false;
static void CheckNoDexObjectsCallback(Object* obj, void* arg ATTRIBUTE_UNUSED)
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) {
@@ -645,7 +646,11 @@ void ImageWriter::ProcessStrings() {
LOG(INFO) << "Total # image strings=" << total_strings << " combined length="
<< num_chars << " prefix saved chars=" << prefix_saved_chars;
}
- ComputeEagerResolvedStrings();
+ // Calling this can in theory fill in some resolved strings. However, in practice it seems to
+ // never resolve any.
+ if (kComputeEagerResolvedStrings) {
+ ComputeEagerResolvedStrings();
+ }
}
void ImageWriter::ComputeEagerResolvedStringsCallback(Object* obj, void* arg ATTRIBUTE_UNUSED) {