x86: Implement Unsafe.compareAndSetObject intrinsic.
The implementation is the same as Unsafe.compareAndSwapObject, as the
latter operation has compare-and-set semantics.
Benchmarks improvements (using benchmarks provided by
https://android-review.googlesource.com/1420959):
benchmark before after
-----------------------------------------------------
UnsafeCompareAndSetStaticFieldString 1.442 0.011
UnsafeCompareAndSetFieldString 1.446 0.009
Bug: 71781600
Test: ART_HEAP_POISONING=true m build-art-host-tests \
&& art/test.py --host -r -t 712-varhandle-invocations --32
Change-Id: I325e1f09d3b4d016d43657604be9a2d5b910e68a
2 files changed