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

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 849099 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 166411 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 606692 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 44618 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 544149 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 194321 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 590532 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 162508 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 1285533 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 130707 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 129526 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 278684 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 33658 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 82 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 1291362 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 130588 ACCEPTABLE actor2 update successfully