diff options
author | Andreas Gampe <agampe@google.com> | 2015-03-12 01:41:32 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-03-12 01:41:33 +0000 |
commit | d304629202eec2ab053a47fc7bcf10223b5ccea4 (patch) | |
tree | 68ad0acbae9d59e0a143c6b26a5a74879023db0f /compiler/driver/compiler_driver.cc | |
parent | 6b743b7b3a5cfbacca44cc65e1a4c138588889da (diff) | |
parent | 7ae063bf396534bc3022cbc3a681c5302e864db8 (diff) | |
download | android_art-d304629202eec2ab053a47fc7bcf10223b5ccea4.tar.gz android_art-d304629202eec2ab053a47fc7bcf10223b5ccea4.tar.bz2 android_art-d304629202eec2ab053a47fc7bcf10223b5ccea4.zip |
Merge "ART: Check that boot image classes are verified"
Diffstat (limited to 'compiler/driver/compiler_driver.cc')
-rw-r--r-- | compiler/driver/compiler_driver.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc index 78dd6cc29e..be6c41a834 100644 --- a/compiler/driver/compiler_driver.cc +++ b/compiler/driver/compiler_driver.cc @@ -1860,6 +1860,12 @@ static void VerifyClass(const ParallelCompilationManager* manager, size_t class_ CHECK(klass->IsCompileTimeVerified() || klass->IsErroneous()) << PrettyDescriptor(klass.Get()) << ": state=" << 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. + DCHECK(!manager->GetCompiler()->IsImage() || klass->IsVerified()) << "Boot classpath class " << + PrettyClass(klass.Get()) << " failed to fully verify."; } soa.Self()->AssertNoPendingException(); } |