diff options
| author | 2014-08-18 16:40:13 +0000 | |
|---|---|---|
| committer | 2014-08-16 04:09:33 +0000 | |
| commit | 9d352c06d8b6e9ea6343cc4f361a3309c2ce7ebe (patch) | |
| tree | 3b80492a704a4c491aeb57f9da483859d14237b3 /compiler/driver/compiler_driver.cc | |
| parent | 7628848182492bdcdcd7e4161680a4e24ce9486e (diff) | |
| parent | e98c8899ba2ae36d52aa7152a29469c314fdc20d (diff) | |
Merge "ART: Avoid expensive class lookup in compiler driver"
Diffstat (limited to 'compiler/driver/compiler_driver.cc')
| -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 49aa4b75bf..3915381bb5 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  |