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

Tests VarHandle methods which take effect of load store fence.

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

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

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

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

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

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

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

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

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

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