diff options
author | 2018-11-21 14:55:10 -0800 | |
---|---|---|
committer | 2018-11-21 14:55:10 -0800 | |
commit | 4835d21a33b783869820c928bfc0a16f249d65f2 (patch) | |
tree | fe49fa458772f3e43c8a55c51a07a68c360cccf6 /runtime/class_linker.h | |
parent | 5a78e8dbf068c544b84e98f636b30045b09451c4 (diff) |
ART: Fix ResolveType with ArtMethod
ArtMethods may be obsolete. In that case, the dex cache of the
declaring class is not correct. Refactor the code to avoid
issues.
Partially reverts commit 09c5ca40635faee00f40f6ca0581dd475efd545e.
Bug: 119830111
Test: m test-art-host
Change-Id: Ibf89af48e6384569c2abd6d5846cf05c929679d0
Diffstat (limited to 'runtime/class_linker.h')
-rw-r--r-- | runtime/class_linker.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/runtime/class_linker.h b/runtime/class_linker.h index 47931fec75..15a7204dd2 100644 --- a/runtime/class_linker.h +++ b/runtime/class_linker.h @@ -931,8 +931,8 @@ class ClassLinker { REQUIRES_SHARED(Locks::mutator_lock_); // Implementation of ResolveType() called when the type was not found in the dex cache. - ObjPtr<mirror::Class> DoResolveType(dex::TypeIndex type_idx, - ObjPtr<mirror::Class> referrer) + template <typename T> + ObjPtr<mirror::Class> DoResolveType(dex::TypeIndex type_idx, T referrer) REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(!Locks::dex_lock_, !Roles::uninterruptible_); ObjPtr<mirror::Class> DoResolveType(dex::TypeIndex type_idx, |