diff options
| author | 2017-04-19 09:36:24 +0100 | |
|---|---|---|
| committer | 2017-04-19 09:42:40 +0100 | |
| commit | c7da1d61ba0fc38950f303813d4ba8c2d6d05c7f (patch) | |
| tree | 4e22f76d75e9121347adbfd628a600f06c853ac7 /compiler/driver/compiler_driver.cc | |
| parent | 36831abc29f76baee9a7673a2c18465f33df3f05 (diff) | |
Record class status after verification.
The class status was recorded when doing vdex verification, or
any compilation (quickening or optimizing), but not when only doing
verification.
bug:37446669
Test:compiler_driver_test
Change-Id: Id027c7a9776ed651de570a0f3417c969c8cff9cd
Diffstat (limited to 'compiler/driver/compiler_driver.cc')
| -rw-r--r-- | compiler/driver/compiler_driver.cc | 4 | 
1 files changed, 4 insertions, 0 deletions
| diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc index e823f67d3c..1a4452429e 100644 --- a/compiler/driver/compiler_driver.cc +++ b/compiler/driver/compiler_driver.cc @@ -2181,6 +2181,10 @@ class VerifyClassVisitor : public CompilationVisitor {        CHECK(klass->ShouldVerifyAtRuntime() || klass->IsVerified() || klass->IsErroneous())            << klass->PrettyDescriptor() << ": state=" << klass->GetStatus(); +      // Class has a meaningful status for the compiler now, record it. +      ClassReference ref(manager_->GetDexFile(), class_def_index); +      manager_->GetCompiler()->RecordClassStatus(ref, klass->GetStatus()); +        // It is *very* problematic if there are verification errors in the boot classpath. For example,        // we rely on things working OK without verification when the decryption dialog is brought up.        // So abort in a debug build if we find this violated. |