summaryrefslogtreecommitdiffstats
path: root/dex2oat/dex2oat.cc
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2015-04-09 11:15:04 -0700
committerAndreas Gampe <agampe@google.com>2015-04-14 21:16:31 +0000
commit7848da48a0a4241dedc1cc83ac4931e61575eb92 (patch)
tree58a789b6b21893135a8770496175ccc7259d7ea6 /dex2oat/dex2oat.cc
parent6c7bd25b2b2a07740bcd838c2f4024e67be83fd1 (diff)
downloadart-7848da48a0a4241dedc1cc83ac4931e61575eb92.zip
art-7848da48a0a4241dedc1cc83ac4931e61575eb92.tar.gz
art-7848da48a0a4241dedc1cc83ac4931e61575eb92.tar.bz2
ART: Store classpath information into oat file
Store a "dependency list" of class-path dex-files into the key-value store of an oat file. The list is made up of dex locations and corresponding checksums. Add tests for encoding, decoding and checking the list. Bug: 19781184 Change-Id: Ie700dd37e6e086db599c95d329ac1f1d2ff0b758
Diffstat (limited to 'dex2oat/dex2oat.cc')
-rw-r--r--dex2oat/dex2oat.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/dex2oat/dex2oat.cc b/dex2oat/dex2oat.cc
index eda7ec6..7e32b43 100644
--- a/dex2oat/dex2oat.cc
+++ b/dex2oat/dex2oat.cc
@@ -1237,6 +1237,11 @@ class Dex2Oat FINAL {
for (auto& class_path_file : class_path_files_) {
class_path_files.push_back(class_path_file.get());
}
+
+ // Store the classpath we have right now.
+ key_value_store_->Put(OatHeader::kClassPathKey,
+ OatFile::EncodeDexFileDependencies(class_path_files));
+
// Then the dex files we'll compile. Thus we'll resolve the class-path first.
class_path_files.insert(class_path_files.end(), dex_files_.begin(), dex_files_.end());