Clean up debug checks in intrinsic code.
Deduplicate checks that were repeated for all ISAs, use a few helper
functions to make the code simpler.
Bug: 71781600
Test: art/test.py -r --host
Test: art/test.py -r --target
Change-Id: I3fefecce98a9a8b3b9bf53c31c2eefdafe8bd6a3
diff --git a/compiler/optimizing/intrinsics_arm_vixl.cc b/compiler/optimizing/intrinsics_arm_vixl.cc
index 303ac17..9d01757 100644
--- a/compiler/optimizing/intrinsics_arm_vixl.cc
+++ b/compiler/optimizing/intrinsics_arm_vixl.cc
@@ -3654,10 +3654,7 @@
};
static void CreateUnsafeCASLocations(ArenaAllocator* allocator, HInvoke* invoke) {
- bool can_call = kEmitCompilerReadBarrier &&
- (invoke->GetIntrinsic() == Intrinsics::kUnsafeCASObject ||
- invoke->GetIntrinsic() == Intrinsics::kJdkUnsafeCASObject ||
- invoke->GetIntrinsic() == Intrinsics::kJdkUnsafeCompareAndSetObject);
+ const bool can_call = kEmitCompilerReadBarrier && IsUnsafeCASObject(invoke);
LocationSummary* locations =
new (allocator) LocationSummary(invoke,
can_call