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

Tests VarHandle methods which take effect of load store fence.

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

Observed state Occurrence Expectation Interpretation
false, false 1487962 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 403308 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 91010 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 26490 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 2601901 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 499519 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 603253 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 261087 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 151867 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 6713 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 305826 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 225894 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 928050 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 430800 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] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
false, false 2116365 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 231005 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.