diff options
author | 2024-09-16 16:54:52 +0100 | |
---|---|---|
committer | 2024-09-24 16:28:22 +0000 | |
commit | 9ff2b617341bfe574e2d8706553f0cd65a1a2fc8 (patch) | |
tree | 5a3ed4d9c534b424c4b39a42d58375d9a0209b22 /compiler/optimizing/intrinsics_utils.h | |
parent | a172151731d843be55e2b357bf58d26fe1aee75c (diff) |
Add VarHandle implementations for void getAndUpdate methods
We were missing to intrinsify getAndUpdate methods whose value was unused. By adding this support, they get a considerable runtime improvement.
Bug: 362916226
Test: art/test/testrunner/testrunner.py --host --64 --optimizing -b
Test: art/test/testrunner/testrunner.py --host --32 --optimizing -b
Test: art/test/testrunner/testrunner.py --target --64 --optimizing
Test: art/test/testrunner/testrunner.py --target --32 --optimizing
Change-Id: I63d5a897ac9ea3c133167ac186afd8595f75bb13
Diffstat (limited to 'compiler/optimizing/intrinsics_utils.h')
-rw-r--r-- | compiler/optimizing/intrinsics_utils.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/optimizing/intrinsics_utils.h b/compiler/optimizing/intrinsics_utils.h index 13d9bc4b68..6c08cea3f8 100644 --- a/compiler/optimizing/intrinsics_utils.h +++ b/compiler/optimizing/intrinsics_utils.h @@ -111,7 +111,7 @@ static inline size_t GetExpectedVarHandleCoordinatesCount(HInvoke *invoke) { } static inline DataType::Type GetDataTypeFromShorty(HInvoke* invoke, uint32_t index) { - DCHECK(invoke->IsInvokePolymorphic()); + DCHECK(invoke->IsInvokePolymorphic()) << *invoke; const DexFile* dex_file = invoke->GetMethodReference().dex_file; const char* shorty = dex_file->GetShorty(invoke->AsInvokePolymorphic()->GetProtoIndex()); DCHECK_LT(index, strlen(shorty)); |