arm64: Implement VarHandle GetAndAdd intrinsics.
Using benchmarks provided by
https://android-review.googlesource.com/1420959
on blueline little cores with fixed frequency 1420800:
before after
GetAndAddStaticFieldInt 23.640 0.026
GetAndAddFieldInt 26.673 0.026
GetAndAddStaticFieldFloat 23.588 0.029
GetAndAddFieldFloat 26.732 0.029
GetAndAddAcquireStaticFieldInt 23.618 0.025
GetAndAddAcquireFieldInt 26.677 0.026
GetAndAddAcquireStaticFieldFloat 23.592 0.028
GetAndAddAcquireFieldFloat 26.736 0.029
GetAndAddReleaseStaticFieldInt 23.612 0.026
GetAndAddReleaseFieldInt 26.708 0.026
GetAndAddReleaseStaticFieldFloat 23.596 0.029
GetAndAddReleaseFieldFloat 26.747 0.029
Test: Covered by existing test 712-varhandle-invocations.
Test: testrunner.py --target --64 --optimizing
Bug: 71781600
Change-Id: I3e435a3635f2d7164b9b410f5588fefb076edd07
1 file changed