diff options
author | 2025-02-26 01:16:17 -0800 | |
---|---|---|
committer | 2025-02-26 01:16:17 -0800 | |
commit | 918f95561688c4ea34700916bf60d9f360e3ab4b (patch) | |
tree | d1b4df98285c3ad727c11477b8cc286385e7d68a | |
parent | 7cd38047cb17f495e3ef32852f95311631019a7a (diff) | |
parent | e31ace291919b25146e4d267b233addcd9c65932 (diff) |
Revert^2 "Minimal hiddenapibypass breakage demo." am: e31ace2919
Original change: https://android-review.googlesource.com/c/platform/art/+/3505894
Change-Id: I8883eed79e62f005e09a18dcee6521aa01bc30c1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | runtime/class_linker_test.cc | 2 | ||||
-rw-r--r-- | runtime/mirror/method_handle_impl.h | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/runtime/class_linker_test.cc b/runtime/class_linker_test.cc index 8ae7687433..1176bb133e 100644 --- a/runtime/class_linker_test.cc +++ b/runtime/class_linker_test.cc @@ -786,6 +786,8 @@ struct MethodHandleOffsets : public CheckOffsets<mirror::MethodHandle> { struct MethodHandleImplOffsets : public CheckOffsets<mirror::MethodHandleImpl> { MethodHandleImplOffsets() : CheckOffsets<mirror::MethodHandleImpl>( false, "Ljava/lang/invoke/MethodHandleImpl;") { + addOffset(OFFSETOF_MEMBER(mirror::MethodHandleImpl, field_), "field"); + addOffset(OFFSETOF_MEMBER(mirror::MethodHandleImpl, target_), "target"); addOffset(OFFSETOF_MEMBER(mirror::MethodHandleImpl, target_class_or_info_), "targetClassOrMethodHandleInfo"); } diff --git a/runtime/mirror/method_handle_impl.h b/runtime/mirror/method_handle_impl.h index 427a20013e..b5d1d9ad25 100644 --- a/runtime/mirror/method_handle_impl.h +++ b/runtime/mirror/method_handle_impl.h @@ -22,6 +22,7 @@ #include "base/macros.h" #include "class.h" #include "method_type.h" +#include "mirror/field.h" #include "obj_ptr.h" #include "object.h" @@ -128,7 +129,9 @@ class MANAGED MethodHandleImpl : public MethodHandle { REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(!Roles::uninterruptible_); private: + HeapReference<mirror::Field> field_; HeapReference<mirror::Object> target_class_or_info_; // Unused by the runtime. + uint64_t target_; friend struct art::MethodHandleImplOffsets; // for verifying offset information DISALLOW_IMPLICIT_CONSTRUCTORS(MethodHandleImpl); |