summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/arm/MethodCodegenDriver.cc
diff options
context:
space:
mode:
author Ian Rogers <irogers@google.com> 2011-10-31 16:19:55 -0700
committer Ian Rogers <irogers@google.com> 2011-10-31 16:19:55 -0700
commitb093c6b27f8ea9bbe2d49c03ebe345203a121199 (patch)
tree34e49f46eb30a2aee8590dbf11365c8b5824c16b /src/compiler/codegen/arm/MethodCodegenDriver.cc
parent95e4ef7cebf2e33b6e73a3957089f958e41771f5 (diff)
Support for access check in checkcast and instanceof.
Change-Id: Ie15216618b35cace7d351be2b0a1c466ed6db489
Diffstat (limited to 'src/compiler/codegen/arm/MethodCodegenDriver.cc')
-rw-r--r--src/compiler/codegen/arm/MethodCodegenDriver.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/codegen/arm/MethodCodegenDriver.cc b/src/compiler/codegen/arm/MethodCodegenDriver.cc
index 2edd3986a7..a32446ac8a 100644
--- a/src/compiler/codegen/arm/MethodCodegenDriver.cc
+++ b/src/compiler/codegen/arm/MethodCodegenDriver.cc
@@ -164,6 +164,10 @@ Field* FindFieldWithResolvedStaticStorage(const Method* method,
art::ClassLinker* class_linker = art::Runtime::Current()->GetClassLinker();
Field* field = class_linker->ResolveField(fieldIdx, method, true);
if (field == NULL) {
+ Thread* thread = Thread::Current();
+ if (thread->IsExceptionPending()) { // clear any exception left by resolve field
+ thread->ClearException();
+ }
return NULL;
}
const art::DexFile& dex_file = class_linker->