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

Tests atomicity of compareAndExchange.

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 410541 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 201579 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 451902 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 121578 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 22407 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 73 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 948223 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 113597 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 2109908 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 336502 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 988963 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 118557 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 637363 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 99747 ACCEPTABLE actor2 update successfully

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 649060 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 132520 ACCEPTABLE actor2 update successfully