org.openjdk.jcstress.tests.atomicity.varHandles.fields.CAETest.CompareAndExchangeAcquireFloat

Tests atomicity of compareAndExchange.

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 1177468 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 35012 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 675018 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 236402 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 832464 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 353466 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 49107 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 43 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 450715 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 374975 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 521065 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 123715 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 907117 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 283883 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 808952 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 22258 ACCEPTABLE actor2 update successfully