summaryrefslogtreecommitdiff
path: root/compiler/driver/compiler_driver.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2016-12-16 16:14:39 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2016-12-16 16:14:39 +0000
commitd27097a6c9459d38e7c9f92a1fcfa77352a9e07d (patch)
treeed3f77c1e2329761b70335ff5cdc646b0e5ca4d9 /compiler/driver/compiler_driver.cc
parent0f69f7425cb966a9172c1d46ac33b1de01469a3c (diff)
Clear exception if FindClass fails.
Test: verifier_deps_test. bug: 30937355 Change-Id: I9916ec00010de012939462d4f30147e8b64fe279
Diffstat (limited to 'compiler/driver/compiler_driver.cc')
-rw-r--r--compiler/driver/compiler_driver.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc
index b6b2575c3a..d1a5c4d9ab 100644
--- a/compiler/driver/compiler_driver.cc
+++ b/compiler/driver/compiler_driver.cc
@@ -2077,6 +2077,9 @@ void CompilerDriver::Verify(jobject jclass_loader,
if (cls.Get() != nullptr) {
ObjectLock<mirror::Class> lock(soa.Self(), cls);
mirror::Class::SetStatus(cls, mirror::Class::kStatusVerified, soa.Self());
+ } else {
+ DCHECK(soa.Self()->IsExceptionPending());
+ soa.Self()->ClearException();
}
// Create `VerifiedMethod`s for each methods, the compiler expects one for
// quickening or compiling.