summaryrefslogtreecommitdiff
path: root/runtime/class_table.h
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2016-10-03 08:46:48 +0000
committer Vladimir Marko <vmarko@google.com> 2016-10-04 17:51:46 +0100
commitaad75c6d5bfab2dc8e30fc99fafe8cd2dc8b74d8 (patch)
treec1b9e1eabcf35c5cbb5b4f46313a4e062f2d5d51 /runtime/class_table.h
parent82d4838d6bb3480cd25327cedc5179fb2d86881c (diff)
Revert "Revert "Store resolved Strings for AOT code in .bss.""
Fixed oat_test to keep dex files alive. Fixed mips build. Rewritten the .bss GC root visiting and added write barrier to the artResolveStringFromCode(). Test: build aosp_mips-eng Test: m ART_DEFAULT_GC_TYPE=SS test-art-target-host-gtest-oat_test Test: Run ART test suite on host and Nexus 9. Bug: 20323084 Bug: 30627598 This reverts commit 5f926055cb88089d8ca27243f35a9dfd89d981f0. Change-Id: I07fa2278d82b8eb64964c9a4b66cb93726ccda6b
Diffstat (limited to 'runtime/class_table.h')
-rw-r--r--runtime/class_table.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/runtime/class_table.h b/runtime/class_table.h
index 8c91806ae2..acb15c7879 100644
--- a/runtime/class_table.h
+++ b/runtime/class_table.h
@@ -32,6 +32,8 @@
namespace art {
+class OatFile;
+
namespace mirror {
class ClassLoader;
} // namespace mirror
@@ -173,6 +175,8 @@ class ClassTable {
// loader which may not be owned by the class loader must be held strongly live. Also dex caches
// are held live to prevent them being unloading once they have classes in them.
std::vector<GcRoot<mirror::Object>> strong_roots_ GUARDED_BY(lock_);
+ // Keep track of oat files with GC roots associated with dex caches in `strong_roots_`.
+ std::vector<const OatFile*> oat_files_ GUARDED_BY(lock_);
friend class ImageWriter; // for InsertWithoutLocks.
};