summaryrefslogtreecommitdiff
path: root/compiler/optimizing/intrinsics_utils.h
diff options
context:
space:
mode:
author Santiago Aboy Solanes <solanes@google.com> 2024-09-16 16:54:52 +0100
committer Santiago Aboy Solanes <solanes@google.com> 2024-09-24 16:28:22 +0000
commit9ff2b617341bfe574e2d8706553f0cd65a1a2fc8 (patch)
tree5a3ed4d9c534b424c4b39a42d58375d9a0209b22 /compiler/optimizing/intrinsics_utils.h
parenta172151731d843be55e2b357bf58d26fe1aee75c (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.h2
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));