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

Tests VarHandle methods which take effect of load store fence.

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

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

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

Observed state Occurrence Expectation Interpretation
, 2602338 ACCEPTABLE load y in actor2 before store A to y in actor1, all results are
, A 0 FORBIDDEN this won't happen even if load var after store y because only if r1 = A var may be assigned to A and then r2 can be A from var.
A, 570492 ACCEPTABLE store A to y in actor1 before load y in actor2
A, A 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
, 494178 ACCEPTABLE load y in actor2 before store A to y in actor1, all results are
, A 0 FORBIDDEN this won't happen even if load var after store y because only if r1 = A var may be assigned to A and then r2 can be A from var.
A, 202172 ACCEPTABLE store A to y in actor1 before load y in actor2
A, A 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
, 232776 ACCEPTABLE load y in actor2 before store A to y in actor1, all results are
, A 0 FORBIDDEN this won't happen even if load var after store y because only if r1 = A var may be assigned to A and then r2 can be A from var.
A, 251924 ACCEPTABLE store A to y in actor1 before load y in actor2
A, A 0 FORBIDDEN can't load var after store y in actor1.

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

Observed state Occurrence Expectation Interpretation
, 173208 ACCEPTABLE load y in actor2 before store A to y in actor1, all results are
, A 0 FORBIDDEN this won't happen even if load var after store y because only if r1 = A var may be assigned to A and then r2 can be A from var.
A, 9412 ACCEPTABLE store A to y in actor1 before load y in actor2
A, A 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
, 2469241 ACCEPTABLE load y in actor2 before store A to y in actor1, all results are
, A 0 FORBIDDEN this won't happen even if load var after store y because only if r1 = A var may be assigned to A and then r2 can be A from var.
A, 498439 ACCEPTABLE store A to y in actor1 before load y in actor2
A, A 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
, 881305 ACCEPTABLE load y in actor2 before store A to y in actor1, all results are
, A 0 FORBIDDEN this won't happen even if load var after store y because only if r1 = A var may be assigned to A and then r2 can be A from var.
A, 531385 ACCEPTABLE store A to y in actor1 before load y in actor2
A, A 0 FORBIDDEN can't load var after store y in actor1.

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

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