OSDN Git Service

Revert "Prune uses library classes even without profile DO NOT MERGE"
authorGriff Hazen <griff@google.com>
Mon, 19 Dec 2016 18:15:53 +0000 (18:15 +0000)
committerGriff Hazen <griff@google.com>
Mon, 19 Dec 2016 18:15:53 +0000 (18:15 +0000)
This fix may be causing other crashes e.g. b/33718412.

Bug: 33718412
Bug: 30688277
Bug: 31427727

This reverts commit 8394cee5f0f87ddeeb8f33c199fa21e0cdee9073.

Change-Id: Ie19ece9d8ae1afef8b578482fae1cdbd35ff930d

compiler/image_writer.cc

index 2d6c4da..61cf009 100644 (file)
@@ -789,13 +789,6 @@ bool ImageWriter::PruneAppImageClassInternal(
   result = result || PruneAppImageClassInternal(klass->GetSuperClass(),
                                                 &my_early_exit,
                                                 visited);
-  // Remove the class if the dex file is not in the set of dex files. This happens for classes that
-  // are from uses library if there is no profile. b/30688277
-  mirror::DexCache* dex_cache = klass->GetDexCache();
-  if (dex_cache != nullptr) {
-    result = result ||
-        dex_file_oat_index_map_.find(dex_cache->GetDexFile()) == dex_file_oat_index_map_.end();
-  }
   // Erase the element we stored earlier since we are exiting the function.
   auto it = visited->find(klass);
   DCHECK(it != visited->end());