diff options
| author | 2015-09-16 17:22:02 +0000 | |
|---|---|---|
| committer | 2015-09-16 17:22:02 +0000 | |
| commit | 9eac83e1563fbf7423a3de9634e21d7b8e5f9a9a (patch) | |
| tree | 0b30cd4ca01f0d5fce5e81249febfb20e7fc342a /compiler/driver/compiler_driver.cc | |
| parent | 9b2c10ebac8e024412b4cc43e6511d724a0fd345 (diff) | |
| parent | 740667a1c5fa0188bb676c569064deb2c47c0825 (diff) | |
Merge "ART: Skip compiler-driver compile loop for VerifyAtRuntime"
Diffstat (limited to 'compiler/driver/compiler_driver.cc')
| -rw-r--r-- | compiler/driver/compiler_driver.cc | 12 | 
1 files changed, 11 insertions, 1 deletions
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc index 8d4159562f..f74b079aed 100644 --- a/compiler/driver/compiler_driver.cc +++ b/compiler/driver/compiler_driver.cc @@ -492,8 +492,18 @@ void CompilerDriver::CompileAll(jobject class_loader,    std::unique_ptr<ThreadPool> thread_pool(        new ThreadPool("Compiler driver thread pool", thread_count_ - 1));    VLOG(compiler) << "Before precompile " << GetMemoryUsageString(false); +  // Precompile: +  // 1) Load image classes +  // 2) Resolve all classes +  // 3) Attempt to verify all classes +  // 4) Attempt to initialize image classes, and trivially initialized classes    PreCompile(class_loader, dex_files, thread_pool.get(), timings); -  Compile(class_loader, dex_files, thread_pool.get(), timings); +  // Compile: +  // 1) Compile all classes and methods enabled for compilation. May fall back to dex-to-dex +  //    compilation. +  if (!GetCompilerOptions().VerifyAtRuntime()) { +    Compile(class_loader, dex_files, thread_pool.get(), timings); +  }    if (dump_stats_) {      stats_->Dump();    }  |