org.openjdk.jcstress.tests.fences.UnfencedAcquireReleaseTest

Description and references

null

Environment

java.specification.name Java Platform API Specification
java.specification.vendor Oracle Corporation
java.specification.version 10
java.vendor Oracle Corporation
java.version 10-internal
java.vm.name OpenJDK 64-Bit Server VM
java.vm.vendor Oracle Corporation
java.vm.version 10-internal+0-adhoc.buildslave.jdk10
os.arch aarch64
os.name Linux
os.version 4.4.0-63-generic

Test configurations

TC 1 JVM options: [] Iterations: 5 Time: 200
TC 2 JVM options: [-XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200
TC 3 JVM options: [-XX:-TieredCompilation] Iterations: 5 Time: 200
TC 4 JVM options: [-XX:-TieredCompilation, -XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200
TC 5 JVM options: [-XX:TieredStopAtLevel=1] Iterations: 5 Time: 200
TC 6 JVM options: [-Xint] Iterations: 5 Time: 200

Observed states

Observed state TC 1 TC 2 TC 3 TC 4 TC 5 TC 6 Expectation Interpretation
0, 0 22535 16361 102052 38129 60272 6949 ACCEPTABLE Before observing releasing write to, any value is OK for $x.
0, 1 1 0 0 0 0 1 ACCEPTABLE Before observing releasing write to, any value is OK for $x.
0, 2 1 0 0 0 1 6 ACCEPTABLE Before observing releasing write to, any value is OK for $x.
0, 3 4880 128 4298 388 3943 14 ACCEPTABLE Before observing releasing write to, any value is OK for $x.
1, 0 120 10 146 4 2 0 ACCEPTABLE_INTERESTING Without fence or volatile can read the default or old value for $x after $y is observed.
1, 3 12321011 8210979 8269682 6073627 10937750 54438 ACCEPTABLE Can see a released value of $x if $y is observed.
OK OK OK OK OK OK

Auxiliary data