diff options
author | 2021-06-25 08:55:22 +0100 | |
---|---|---|
committer | 2021-07-06 13:58:08 +0000 | |
commit | dd411969bb486c36081926d61dbcc0bfbc8066a5 (patch) | |
tree | aa0601299b351d41c349e64ed468cb2c9b95e6f4 /runtime/class_linker_test.cc | |
parent | f040914a122be86e280efe5e31af1168f2b7c72e (diff) |
VarHandle: add StaticFieldVarHandle class
Add StaticFieldVarHandle class to keep a live reference to the
declaring class for the target field of VarHandle's targeting static
fields.
Bug: 191980149
Test: art/test.py --host -r -g
Change-Id: I3a1cada6591d146b8f9fc9066105e3b617290185
Diffstat (limited to 'runtime/class_linker_test.cc')
-rw-r--r-- | runtime/class_linker_test.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/runtime/class_linker_test.cc b/runtime/class_linker_test.cc index 5dc194f3ee..691fcf1293 100644 --- a/runtime/class_linker_test.cc +++ b/runtime/class_linker_test.cc @@ -815,6 +815,13 @@ struct FieldVarHandleOffsets : public CheckOffsets<mirror::FieldVarHandle> { } }; +struct StaticFieldVarHandleOffsets : public CheckOffsets<mirror::StaticFieldVarHandle> { + StaticFieldVarHandleOffsets() : CheckOffsets<mirror::StaticFieldVarHandle>( + false, "Ljava/lang/invoke/StaticFieldVarHandle;") { + addOffset(OFFSETOF_MEMBER(mirror::StaticFieldVarHandle, declaring_class_), "declaringClass"); + } +}; + struct ArrayElementVarHandleOffsets : public CheckOffsets<mirror::ArrayElementVarHandle> { ArrayElementVarHandleOffsets() : CheckOffsets<mirror::ArrayElementVarHandle>( false, "Ljava/lang/invoke/ArrayElementVarHandle;") { |