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

Tests VarHandle methods which take effect of load store fence.

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

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

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

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

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

Observed state Occurrence Expectation Interpretation
, 139119 ACCEPTABLE load var in actor2 before store A to var in actor1, all results are
, A 0 FORBIDDEN this won't happen even if load x after store var because only if r1 = A x may be assigned to A and then r2 can be A from x.
A, 4821 ACCEPTABLE store A to var in actor1 before load var in actor2
A, A 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
, 661208 ACCEPTABLE load var in actor2 before store A to var in actor1, all results are
, A 0 FORBIDDEN this won't happen even if load x after store var because only if r1 = A x may be assigned to A and then r2 can be A from x.
A, 328802 ACCEPTABLE store A to var in actor1 before load var in actor2
A, A 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
, 154638 ACCEPTABLE load var in actor2 before store A to var in actor1, all results are
, A 0 FORBIDDEN this won't happen even if load x after store var because only if r1 = A x may be assigned to A and then r2 can be A from x.
A, 146032 ACCEPTABLE store A to var in actor1 before load var in actor2
A, A 0 FORBIDDEN can't load x after store var in actor1.

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

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