diff options
author | 2018-02-01 19:09:59 +0300 | |
---|---|---|
committer | 2018-03-13 17:01:21 +0300 | |
commit | be4c2bd892bd167a50b4dfa7133e70a809197698 (patch) | |
tree | 150898533382fb98c160e265a5f31f66ded754f0 /runtime/mirror/class.h | |
parent | bfce631960ae2ab381180beb55cf34ab3b445aaa (diff) |
Fix dangling SingleImplementations left after class unloading
Test: make test-art-host, manual using sample code
bug: 73143991
Change-Id: I4d56b39c69d4ed60266a8b90b9e9d18fba7b8227
Diffstat (limited to 'runtime/mirror/class.h')
-rw-r--r-- | runtime/mirror/class.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/runtime/mirror/class.h b/runtime/mirror/class.h index ea065676a0..51d1376a3c 100644 --- a/runtime/mirror/class.h +++ b/runtime/mirror/class.h @@ -808,8 +808,12 @@ class MANAGED Class FINAL : public Object { static MemberOffset EmbeddedVTableEntryOffset(uint32_t i, PointerSize pointer_size); + template<VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags, + ReadBarrierOption kReadBarrierOption = kWithReadBarrier> int32_t GetVTableLength() REQUIRES_SHARED(Locks::mutator_lock_); + template<VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags, + ReadBarrierOption kReadBarrierOption = kWithReadBarrier> ArtMethod* GetVTableEntry(uint32_t i, PointerSize pointer_size) REQUIRES_SHARED(Locks::mutator_lock_); @@ -941,6 +945,8 @@ class MANAGED Class FINAL : public Object { return (GetAccessFlags() & kAccRecursivelyInitialized) != 0; } + template<VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags, + ReadBarrierOption kReadBarrierOption = kWithReadBarrier> ALWAYS_INLINE int32_t GetIfTableCount() REQUIRES_SHARED(Locks::mutator_lock_); template<VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags, |