diff options
| author | 2011-10-31 16:19:55 -0700 | |
|---|---|---|
| committer | 2011-10-31 16:19:55 -0700 | |
| commit | b093c6b27f8ea9bbe2d49c03ebe345203a121199 (patch) | |
| tree | 34e49f46eb30a2aee8590dbf11365c8b5824c16b /src/compiler/codegen/arm/MethodCodegenDriver.cc | |
| parent | 95e4ef7cebf2e33b6e73a3957089f958e41771f5 (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.cc | 4 |
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-> |