diff options
author | 2023-11-22 16:46:30 +0100 | |
---|---|---|
committer | 2023-11-23 16:38:13 +0000 | |
commit | 0ac7d570c99ddb1a22429a2f51e05d48a26daa36 (patch) | |
tree | 68a6726f034e752c4e4f824f07916f9f31f3b7a9 /compiler/optimizing/intrinsics_utils.h | |
parent | 1aab5f625a6bf5dc59872e0714dd35f8ad3fe00c (diff) |
Update `JdkUnsafe` intrinsics.
The `jdk.internal.misc.Unsafe.getObject*()` methods have
been replaced with `getReference*()` and the old methods
just forward to the new ones for backward compatibility.
Update ART to pick up the new methods as intrinsics to
support code that references them directly.
Similarly update intrinics for other deprecated
`JdkUnsafe.*Object` methods.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 202868177
Change-Id: Ib07e6aa54c67d13079d632efabe4de2185694f4b
Diffstat (limited to 'compiler/optimizing/intrinsics_utils.h')
-rw-r--r-- | compiler/optimizing/intrinsics_utils.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/compiler/optimizing/intrinsics_utils.h b/compiler/optimizing/intrinsics_utils.h index 41e109b587..380011e608 100644 --- a/compiler/optimizing/intrinsics_utils.h +++ b/compiler/optimizing/intrinsics_utils.h @@ -153,24 +153,23 @@ static inline bool IsVarHandleGet(HInvoke* invoke) { return access_mode == mirror::VarHandle::AccessModeTemplate::kGet; } -static inline bool IsUnsafeGetObject(HInvoke* invoke) { +static inline bool IsUnsafeGetReference(HInvoke* invoke) { switch (invoke->GetIntrinsic()) { case Intrinsics::kUnsafeGetObject: case Intrinsics::kUnsafeGetObjectVolatile: - case Intrinsics::kJdkUnsafeGetObject: - case Intrinsics::kJdkUnsafeGetObjectVolatile: - case Intrinsics::kJdkUnsafeGetObjectAcquire: + case Intrinsics::kJdkUnsafeGetReference: + case Intrinsics::kJdkUnsafeGetReferenceVolatile: + case Intrinsics::kJdkUnsafeGetReferenceAcquire: return true; default: return false; } } -static inline bool IsUnsafeCASObject(HInvoke* invoke) { +static inline bool IsUnsafeCASReference(HInvoke* invoke) { switch (invoke->GetIntrinsic()) { case Intrinsics::kUnsafeCASObject: case Intrinsics::kJdkUnsafeCASObject: - case Intrinsics::kJdkUnsafeCompareAndSetObject: case Intrinsics::kJdkUnsafeCompareAndSetReference: return true; default: |