Current RMW atomic match rules are all over the place in AArch64.
CAE and weak CAS rules are generated with the help of cas.m4, and then are supposed to be copy-pasted (?) into aarch64.ad. I did it about 20 times when fixingJDK-8372154, gets tedious very quickly.
Strong CAS and get-and-set rules are still in the same section of aarch64.ad, and are written by hand. Yet, those can be automatically generated from M4 stencils as well.
We need to clean this up, something like this:
https://github.com/openjdk/jdk/compare/master...shipilev:jdk:JDK-8372188-aarch64-move-rmw-separate-ad
CAE and weak CAS rules are generated with the help of cas.m4, and then are supposed to be copy-pasted (?) into aarch64.ad. I did it about 20 times when fixing
Strong CAS and get-and-set rules are still in the same section of aarch64.ad, and are written by hand. Yet, those can be automatically generated from M4 stencils as well.
We need to clean this up, something like this:
https://github.com/openjdk/jdk/compare/master...shipilev:jdk:JDK-8372188-aarch64-move-rmw-separate-ad
- blocks
-
JDK-8372800 AArch64: No result GetAndSet match rules
-
- Open
-
- causes
-
JDK-8372862 AArch64: Fix GetAndSet-acquire costs after JDK-8372188
-
- Resolved
-
- relates to
-
JDK-8372154 AArch64: Match rule failure with some CompareAndSwap operand shapes
-
- Resolved
-
- links to
-
Commit(master)
openjdk/jdk/3481252c
-
Review(master)
openjdk/jdk/28538