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

Tests VarHandle methods which take effect of load store fence.

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

Observed state Occurrence Expectation Interpretation
, 2252963 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, 497997 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] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
, 1307475 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, 422985 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
, 2255053 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, 725577 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
, 770599 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, 175631 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
, 313051 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, 314079 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
, 126272 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, 5268 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
, 463410 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, 347580 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
, 3171354 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, 777166 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.