Tests VarHandle methods which take effect of store store fence.
java.specification.name | Java Platform API Specification |
java.specification.vendor | Oracle Corporation |
java.specification.version | 10 |
java.vendor | Oracle Corporation |
java.version | 10-internal |
java.vm.name | OpenJDK 64-Bit Server VM |
java.vm.vendor | Oracle Corporation |
java.vm.version | 10-internal+0-adhoc.buildslave.jdk10 |
os.arch | aarch64 |
os.name | Linux |
os.version | 4.4.0-63-generic |
TC 1 | JVM options: [] Iterations: 5 Time: 200 |
TC 2 | JVM options: [-XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200 |
TC 3 | JVM options: [-XX:-TieredCompilation] Iterations: 5 Time: 200 |
TC 4 | JVM options: [-XX:-TieredCompilation, -XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200 |
TC 5 | JVM options: [-XX:TieredStopAtLevel=1] Iterations: 5 Time: 200 |
TC 6 | JVM options: [-Xint] Iterations: 5 Time: 200 |
Observed state | TC 1 | TC 2 | TC 3 | TC 4 | TC 5 | TC 6 | Expectation | Interpretation |
---|---|---|---|---|---|---|---|---|
0.0, 0.0 | 7739 | 77506 | 492 | 13293 | 3122 | 14279 | ACCEPTABLE | actor2 observe the variables before actor1 update |
0.0, 2.3509528E-38 | 9137 | 26736 | 718 | 4934 | 501 | 6520 | ACCEPTABLE | actor2 observe the variables after var is already updated but y hasn't yet |
2.3509528E-38, 2.3509528E-38 | 4297782 | 2401706 | 3526938 | 3804041 | 3673095 | 44239 | ACCEPTABLE | actor2 observe the variables after actor1 update completely |
OK | OK | OK | OK | OK | OK |