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

Tests atomicity of compareAndExchange.

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

Observed state Occurrence Expectation Interpretation
false, false, false 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, true, true 1100052 ACCEPTABLE actor1 update successfully
true, false, true 539288 ACCEPTABLE actor2 update successfully

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

Observed state Occurrence Expectation Interpretation
false, false, false 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, true, true 717377 ACCEPTABLE actor1 update successfully
true, false, true 320953 ACCEPTABLE actor2 update successfully

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

Observed state Occurrence Expectation Interpretation
false, false, false 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, true, true 1017045 ACCEPTABLE actor1 update successfully
true, false, true 287755 ACCEPTABLE actor2 update successfully

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

Observed state Occurrence Expectation Interpretation
false, false, false 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, true, true 1017144 ACCEPTABLE actor1 update successfully
true, false, true 307726 ACCEPTABLE actor2 update successfully

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

Observed state Occurrence Expectation Interpretation
false, false, false 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, true, true 33725 ACCEPTABLE actor1 update successfully
true, false, true 30885 ACCEPTABLE actor2 update successfully

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

Observed state Occurrence Expectation Interpretation
false, false, false 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, true, true 645548 ACCEPTABLE actor1 update successfully
true, false, true 258972 ACCEPTABLE actor2 update successfully

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

Observed state Occurrence Expectation Interpretation
false, false, false 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, true, true 424842 ACCEPTABLE actor1 update successfully
true, false, true 274788 ACCEPTABLE actor2 update successfully

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

Observed state Occurrence Expectation Interpretation
false, false, false 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, false, true 0 FORBIDDEN This won't happen because compareAndExchange is atomic
false, true, true 1086362 ACCEPTABLE actor1 update successfully
true, false, true 181188 ACCEPTABLE actor2 update successfully