org.openjdk.jcstress.tests.atomicity.varHandles.byteBuffer.direct.little.CAETest.CompareAndExchangeReleaseDouble

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, 1.39067116124321E-309 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, 1.39067116124321E-309, 1.39067116124321E-309 219286 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 89854 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, 1.39067116124321E-309 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, 1.39067116124321E-309, 1.39067116124321E-309 372372 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 14308 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, 1.39067116124321E-309 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, 1.39067116124321E-309, 1.39067116124321E-309 53932 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 57938 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, 1.39067116124321E-309 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, 1.39067116124321E-309, 1.39067116124321E-309 72252 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 120328 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, 1.39067116124321E-309 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, 1.39067116124321E-309, 1.39067116124321E-309 31025 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 5 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, 1.39067116124321E-309 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, 1.39067116124321E-309, 1.39067116124321E-309 185262 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 135788 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, 1.39067116124321E-309 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, 1.39067116124321E-309, 1.39067116124321E-309 140225 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 47835 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, 1.39067116124321E-309 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, 1.39067116124321E-309, 1.39067116124321E-309 53997 ACCEPTABLE actor1 update successfully
2.0, 0.0, 2.0 62533 ACCEPTABLE actor2 update successfully