org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest1.ReleaseFenceBoolean

Tests VarHandle methods which take effect of load store fence.

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

Observed state Occurrence Expectation Interpretation
false, false 1693089 ACCEPTABLE load var in actor2 before store true to var in actor1, all results are false
false, true 0 FORBIDDEN this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x.
true, false 471051 ACCEPTABLE store true to var in actor1 before load var in actor2
true, true 0 FORBIDDEN can't load x after store var in actor1.

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

Observed state Occurrence Expectation Interpretation
false, false 35169 ACCEPTABLE load var in actor2 before store true to var in actor1, all results are false
false, true 0 FORBIDDEN this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x.
true, false 21061 ACCEPTABLE store true to var in actor1 before load var in actor2
true, true 0 FORBIDDEN can't load x after store var in actor1.

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

Observed state Occurrence Expectation Interpretation
false, false 2204692 ACCEPTABLE load var in actor2 before store true to var in actor1, all results are false
false, true 0 FORBIDDEN this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x.
true, false 579608 ACCEPTABLE store true to var in actor1 before load var in actor2
true, true 0 FORBIDDEN can't load x after store var in actor1.

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

Observed state Occurrence Expectation Interpretation
false, false 113184 ACCEPTABLE load var in actor2 before store true to var in actor1, all results are false
false, true 0 FORBIDDEN this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x.
true, false 1476 ACCEPTABLE store true to var in actor1 before load var in actor2
true, true 0 FORBIDDEN can't load x after store var in actor1.

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

Observed state Occurrence Expectation Interpretation
false, false 954533 ACCEPTABLE load var in actor2 before store true to var in actor1, all results are false
false, true 0 FORBIDDEN this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x.
true, false 651027 ACCEPTABLE store true to var in actor1 before load var in actor2
true, true 0 FORBIDDEN can't load x after store var in actor1.

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

Observed state Occurrence Expectation Interpretation
false, false 936488 ACCEPTABLE load var in actor2 before store true to var in actor1, all results are false
false, true 0 FORBIDDEN this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x.
true, false 216872 ACCEPTABLE store true to var in actor1 before load var in actor2
true, true 0 FORBIDDEN can't load x after store var in actor1.

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

Observed state Occurrence Expectation Interpretation
false, false 815471 ACCEPTABLE load var in actor2 before store true to var in actor1, all results are false
false, true 0 FORBIDDEN this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x.
true, false 619559 ACCEPTABLE store true to var in actor1 before load var in actor2
true, true 0 FORBIDDEN can't load x after store var in actor1.

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

Observed state Occurrence Expectation Interpretation
false, false 2314659 ACCEPTABLE load var in actor2 before store true to var in actor1, all results are false
false, true 0 FORBIDDEN this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x.
true, false 235191 ACCEPTABLE store true to var in actor1 before load var in actor2
true, true 0 FORBIDDEN can't load x after store var in actor1.