diff options
author | Mathieu Chartier <mathieuc@google.com> | 2015-04-15 20:03:16 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2015-04-16 09:39:50 -0700 |
commit | de486925d74f229e00b568200035eb9ed40aaa62 (patch) | |
tree | 1edbb12c332f7418ba8c02483348917608f28547 /compiler/image_writer.cc | |
parent | a76a08fed88bd081bcc4d240f1ba3472a2acbbab (diff) | |
download | android_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.cc | 7 |
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) { |