diff options
author | 2019-09-18 06:11:22 +0000 | |
---|---|---|
committer | 2019-09-18 06:12:13 +0000 | |
commit | 5a2301d897294ff4ee6de71f459dc2566dc3fa1a (patch) | |
tree | 2bd06ab3f463734994b3d251f6115514520dbb3f /runtime/mirror/class_ext-inl.h | |
parent | 4eb6eb40e88214fcc874d93e75660cb580cb4d58 (diff) |
Revert "Basic structural redefinition support"
This reverts commit c971eafeff43e4e26959a6e86b62ab0a8f1a6e1c.
Bug: 134162467
Reason for revert: Breaks on redefine-stress
Change-Id: I4e38da23d65b5b34b26b5ab537a3583328e078a4
Diffstat (limited to 'runtime/mirror/class_ext-inl.h')
-rw-r--r-- | runtime/mirror/class_ext-inl.h | 66 |
1 files changed, 7 insertions, 59 deletions
diff --git a/runtime/mirror/class_ext-inl.h b/runtime/mirror/class_ext-inl.h index fd81a2a3ed..ead02eed3b 100644 --- a/runtime/mirror/class_ext-inl.h +++ b/runtime/mirror/class_ext-inl.h @@ -21,11 +21,8 @@ #include "array-inl.h" #include "art_method-inl.h" -#include "base/enums.h" #include "handle_scope.h" -#include "mirror/object.h" #include "object-inl.h" -#include "verify_object.h" namespace art { namespace mirror { @@ -92,12 +89,6 @@ inline ObjPtr<PointerArray> ClassExt::GetStaticJFieldIDs() { } template <VerifyObjectFlags kVerifyFlags, ReadBarrierOption kReadBarrierOption> -inline ObjPtr<Class> ClassExt::GetObsoleteClass() { - return GetFieldObject<Class, kVerifyFlags, kReadBarrierOption>( - OFFSET_OF_OBJECT_MEMBER(ClassExt, obsolete_class_)); -} - -template <VerifyObjectFlags kVerifyFlags, ReadBarrierOption kReadBarrierOption> inline ObjPtr<PointerArray> ClassExt::GetJMethodIDs() { return GetFieldObject<PointerArray, kVerifyFlags, kReadBarrierOption>( OFFSET_OF_OBJECT_MEMBER(ClassExt, jmethod_ids_)); @@ -125,58 +116,15 @@ inline ObjPtr<Object> ClassExt::GetOriginalDexFile() { template<ReadBarrierOption kReadBarrierOption, class Visitor> void ClassExt::VisitNativeRoots(Visitor& visitor, PointerSize pointer_size) { - VisitMethods<kReadBarrierOption>([&](ArtMethod* method) { - method->VisitRoots<kReadBarrierOption>(visitor, pointer_size); - }, pointer_size); -} - -template<ReadBarrierOption kReadBarrierOption, class Visitor> -void ClassExt::VisitMethods(Visitor visitor, PointerSize pointer_size) { ObjPtr<PointerArray> arr(GetObsoleteMethods<kDefaultVerifyFlags, kReadBarrierOption>()); - if (!arr.IsNull()) { - int32_t len = arr->GetLength(); - for (int32_t i = 0; i < len; i++) { - ArtMethod* method = arr->GetElementPtrSize<ArtMethod*>(i, pointer_size); - if (method != nullptr) { - visitor(method); - } - } - } -} - -template<ReadBarrierOption kReadBarrierOption, class Visitor> -void ClassExt::VisitJMethodIDs(Visitor v) { - ObjPtr<PointerArray> marr(GetJMethodIDs<kDefaultVerifyFlags, kReadBarrierOption>()); - if (!marr.IsNull()) { - int32_t len = marr->GetLength(); - for (int32_t i = 0; i < len; i++) { - jmethodID id = marr->GetElementPtrSize<jmethodID>(i, kRuntimePointerSize); - if (id != nullptr) { - v(id, i); - } - } - } -} -template<ReadBarrierOption kReadBarrierOption, class Visitor> -void ClassExt::VisitJFieldIDs(Visitor v) { - ObjPtr<PointerArray> sarr(GetStaticJFieldIDs<kDefaultVerifyFlags, kReadBarrierOption>()); - if (!sarr.IsNull()) { - int32_t len = sarr->GetLength(); - for (int32_t i = 0; i < len; i++) { - jfieldID id = sarr->GetElementPtrSize<jfieldID>(i, kRuntimePointerSize); - if (id != nullptr) { - v(id, i, true); - } - } + if (arr.IsNull()) { + return; } - ObjPtr<PointerArray> iarr(GetInstanceJFieldIDs<kDefaultVerifyFlags, kReadBarrierOption>()); - if (!iarr.IsNull()) { - int32_t len = iarr->GetLength(); - for (int32_t i = 0; i < len; i++) { - jfieldID id = iarr->GetElementPtrSize<jfieldID>(i, kRuntimePointerSize); - if (id != nullptr) { - v(id, i, false); - } + int32_t len = arr->GetLength(); + for (int32_t i = 0; i < len; i++) { + ArtMethod* method = arr->GetElementPtrSize<ArtMethod*, kDefaultVerifyFlags>(i, pointer_size); + if (method != nullptr) { + method->VisitRoots<kReadBarrierOption>(visitor, pointer_size); } } } |