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

Tests atomicity of compareAndExchange.

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

Observed state Occurrence Expectation Interpretation
, , 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , A 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , C 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, A, A 428449 ACCEPTABLE actor1 update successfully
C, , C 168201 ACCEPTABLE actor2 update successfully

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

Observed state Occurrence Expectation Interpretation
, , 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , A 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , C 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, A, A 20245 ACCEPTABLE actor1 update successfully
C, , C 12155 ACCEPTABLE actor2 update successfully

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

Observed state Occurrence Expectation Interpretation
, , 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , A 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , C 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, A, A 1140590 ACCEPTABLE actor1 update successfully
C, , C 305360 ACCEPTABLE actor2 update successfully

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

Observed state Occurrence Expectation Interpretation
, , 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , A 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , C 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, A, A 1152300 ACCEPTABLE actor1 update successfully
C, , C 1049630 ACCEPTABLE actor2 update successfully

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

Observed state Occurrence Expectation Interpretation
, , 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , A 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , C 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, A, A 534602 ACCEPTABLE actor1 update successfully
C, , C 286718 ACCEPTABLE actor2 update successfully

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

Observed state Occurrence Expectation Interpretation
, , 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , A 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , C 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, A, A 717900 ACCEPTABLE actor1 update successfully
C, , C 226460 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 FORBIDDEN This won't happen because compareAndExchange is atomic
, , A 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , C 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, A, A 2282789 ACCEPTABLE actor1 update successfully
C, , C 476631 ACCEPTABLE actor2 update successfully

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

Observed state Occurrence Expectation Interpretation
, , 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , A 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, , C 0 FORBIDDEN This won't happen because compareAndExchange is atomic
, A, A 918466 ACCEPTABLE actor1 update successfully
C, , C 563964 ACCEPTABLE actor2 update successfully