org.openjdk.jcstress.tests.fences.varHandles.LoadStoreFenceTest2.AcquireFenceBoolean

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 2800308 ACCEPTABLE load y in actor2 before store true to y in actor1, all results are false
false, true 0 FORBIDDEN this won't happen even if load var after store y because only if r1 = true var may be assigned to true and then r2 can be true from var.
true, false 933092 ACCEPTABLE store true to y in actor1 before load y in actor2
true, true 0 FORBIDDEN can't load var after store y in actor1.

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

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

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

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

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

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

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

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

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

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

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

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

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

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