Don't call ComputeEagerResolvedStrings
Doesn't add any strings to the dex caches, takes 50ms on nexus 5
during image writing.
Change-Id: Ib38d456b765a90efc0008955f974446fbe285bff
diff --git a/compiler/image_writer.cc b/compiler/image_writer.cc
index 2420254..670c897 100644
--- a/compiler/image_writer.cc
+++ b/compiler/image_writer.cc
@@ -70,6 +70,7 @@
// 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 @@
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) {