summaryrefslogtreecommitdiff
path: root/runtime/class_table.h
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2016-11-29 15:57:32 +0000
committer Vladimir Marko <vmarko@google.com> 2017-09-20 10:58:42 +0100
commit7452797678c4345d4a9e65b03e00af703c2c5fe0 (patch)
treefd23d118a6317737a692402a648217418c3d7b99 /runtime/class_table.h
parent3c683150bcf2f1cabbe2e5f9d10d8c670b67fb7e (diff)
Refactor linker files from compiler/ to dex2oat/.
This shifts some code from the libart-compiler.so to dex2oat and reduces memory needed for JIT. We also avoid loading the libart-dexlayout.so for JIT but the memory savings are minimal (one shared clean page, two shared dirty pages and some per-app kernel mmap data) as the code has never been needed in memory by JIT. aosp_angler-userdebug file sizes (stripped): lib64/libart-compiler.so: 2989112 -> 2671888 (-310KiB) lib/libart-compiler.so: 2160816 -> 1939276 (-216KiB) bin/dex2oat: 141868 -> 368808 (+222KiB) LOAD/executable elf mapping sizes: lib64/libart-compiler.so: 2866308 -> 2555500 (-304KiB) lib/libart-compiler.so: 2050960 -> 1834836 (-211KiB) bin/dex2oat: 129316 -> 345916 (+212KiB) Test: m test-art-host-gtest Test: testrunner.py --host Test: cd art/; mma; cd - Change-Id: If62f02847a6cbb208eaf7e1f3e91af4663fa4a5f
Diffstat (limited to 'runtime/class_table.h')
-rw-r--r--runtime/class_table.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/runtime/class_table.h b/runtime/class_table.h
index 0ffe93e051..744c010218 100644
--- a/runtime/class_table.h
+++ b/runtime/class_table.h
@@ -32,6 +32,14 @@ namespace art {
class OatFile;
+namespace linker {
+class ImageWriter;
+} // namespace linker
+
+namespace linker {
+class OatWriter;
+} // namespace linker
+
namespace mirror {
class Class;
class ClassLoader;
@@ -286,8 +294,8 @@ class ClassTable {
// 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.
- friend class OatWriter; // for boot class TableSlot address lookup.
+ friend class linker::ImageWriter; // for InsertWithoutLocks.
+ friend class linker::OatWriter; // for boot class TableSlot address lookup.
};
} // namespace art