Revert "Revert "Hold dex caches live in class table""
Bug: 29083330
This reverts commit f102faf1bcbdb2149e3e7bf27b1819f621b7894b.
(cherry picked from commit c9dbb1df3b5c06ba122cacaf35b17cb53c6be3c6)
Change-Id: Ib5d82bde2e4a031c1cab0ea6116925ef99d9f07f
diff --git a/compiler/image_writer.cc b/compiler/image_writer.cc
index eaeacc5..da10568 100644
--- a/compiler/image_writer.cc
+++ b/compiler/image_writer.cc
@@ -842,6 +842,10 @@
ClassLinker* class_linker = runtime->GetClassLinker();
Thread* self = Thread::Current();
+ // Clear class table strong roots so that dex caches can get pruned. We require pruning the class
+ // path dex caches.
+ class_linker->ClearClassTableStrongRoots();
+
// Make a list of classes we would like to prune.
NonImageClassesVisitor visitor(this);
class_linker->VisitClasses(&visitor);