diff options
author | Andreas Gampe <agampe@google.com> | 2014-08-18 16:40:13 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-08-16 04:09:33 +0000 |
commit | 9d352c06d8b6e9ea6343cc4f361a3309c2ce7ebe (patch) | |
tree | 3b80492a704a4c491aeb57f9da483859d14237b3 | |
parent | 7628848182492bdcdcd7e4161680a4e24ce9486e (diff) | |
parent | e98c8899ba2ae36d52aa7152a29469c314fdc20d (diff) | |
download | art-9d352c06d8b6e9ea6343cc4f361a3309c2ce7ebe.zip art-9d352c06d8b6e9ea6343cc4f361a3309c2ce7ebe.tar.gz art-9d352c06d8b6e9ea6343cc4f361a3309c2ce7ebe.tar.bz2 |
Merge "ART: Avoid expensive class lookup in compiler driver"
-rw-r--r-- | compiler/driver/compiler_driver.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc index 49aa4b7..3915381 100644 --- a/compiler/driver/compiler_driver.cc +++ b/compiler/driver/compiler_driver.cc @@ -1529,7 +1529,13 @@ static bool SkipClass(ClassLinker* class_linker, jobject class_loader, const Dex return true; } - return SkipClassCheckClassPath(descriptor, dex_file, dex_files); + if (dex_files.size() > 1) { + // Multi-dex compilation, only take first class. + return SkipClassCheckClassPath(descriptor, dex_file, dex_files); + } else { + // Single dex, take everything. + return false; + } } // A fast version of SkipClass above if the class pointer is available |