org.openjdk.jcstress.tests.atomicity.varHandles.arrays.CAETest.CompareAndExchangeReleaseFloat

Tests atomicity of compareAndExchange.

JVM options: [-XX:TieredStopAtLevel=1] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 0.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.3509528E-38 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 2.3509528E-38, 2.3509528E-38 627639 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 167181 ACCEPTABLE actor2 update successfully

JVM options: [-client] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 0.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.3509528E-38 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 2.3509528E-38, 2.3509528E-38 671159 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 135051 ACCEPTABLE actor2 update successfully

JVM options: [-server] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 0.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.3509528E-38 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 2.3509528E-38, 2.3509528E-38 763682 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 349848 ACCEPTABLE actor2 update successfully

JVM options: [-server, -XX:-TieredCompilation, -XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 0.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.3509528E-38 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 2.3509528E-38, 2.3509528E-38 43121 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 6499 ACCEPTABLE actor2 update successfully

JVM options: [-server, -XX:-TieredCompilation] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 0.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.3509528E-38 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 2.3509528E-38, 2.3509528E-38 703748 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 226632 ACCEPTABLE actor2 update successfully

JVM options: [-Xint] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 0.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.3509528E-38 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 2.3509528E-38, 2.3509528E-38 33314 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 156 ACCEPTABLE actor2 update successfully

JVM options: [-server, -XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 0.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.3509528E-38 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 2.3509528E-38, 2.3509528E-38 69950 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 118600 ACCEPTABLE actor2 update successfully

JVM options: [-client, -XX:-TieredCompilation] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 0.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 0.0, 2.3509528E-38 0 FORBIDDEN This won't happen because compareAndExchange is atomic
0.0, 2.3509528E-38, 2.3509528E-38 951110 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 209230 ACCEPTABLE actor2 update successfully