org.openjdk.jcstress.tests.fences.varHandles.StoreLoadFenceTest.FullFenceLong

Tests VarHandle methods which take effect of store load fence.

[1]

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

Observed state Occurrence Expectation Interpretation
-1, -1 2806 ACCEPTABLE both actor1 and actor2 observe each other update
-1, .* 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec.
-1, 0 56362 ACCEPTABLE actor1 observe actor2 update, actor2 not yet observe actor1 update
.*, -1 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec
0, -1 38992 ACCEPTABLE actor2 observe actor1 update, actor1 not yet observe actor2 update
0, 0 0 FORBIDDEN if r1 = 0, store var must be submitted already before fullFence in actor2, r2 must get the update

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

Observed state Occurrence Expectation Interpretation
-1, -1 350 ACCEPTABLE both actor1 and actor2 observe each other update
-1, .* 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec.
-1, 0 624030 ACCEPTABLE actor1 observe actor2 update, actor2 not yet observe actor1 update
.*, -1 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec
0, -1 412960 ACCEPTABLE actor2 observe actor1 update, actor1 not yet observe actor2 update
0, 0 0 FORBIDDEN if r1 = 0, store var must be submitted already before fullFence in actor2, r2 must get the update

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

Observed state Occurrence Expectation Interpretation
-1, -1 1936 ACCEPTABLE both actor1 and actor2 observe each other update
-1, .* 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec.
-1, 0 2153883 ACCEPTABLE actor1 observe actor2 update, actor2 not yet observe actor1 update
.*, -1 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec
0, -1 1453331 ACCEPTABLE actor2 observe actor1 update, actor1 not yet observe actor2 update
0, 0 0 FORBIDDEN if r1 = 0, store var must be submitted already before fullFence in actor2, r2 must get the update

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

Observed state Occurrence Expectation Interpretation
-1, -1 5018 ACCEPTABLE both actor1 and actor2 observe each other update
-1, .* 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec.
-1, 0 1001127 ACCEPTABLE actor1 observe actor2 update, actor2 not yet observe actor1 update
.*, -1 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec
0, -1 1074585 ACCEPTABLE actor2 observe actor1 update, actor1 not yet observe actor2 update
0, 0 0 FORBIDDEN if r1 = 0, store var must be submitted already before fullFence in actor2, r2 must get the update

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

Observed state Occurrence Expectation Interpretation
-1, -1 7246 ACCEPTABLE both actor1 and actor2 observe each other update
-1, .* 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec.
-1, 0 294838 ACCEPTABLE actor1 observe actor2 update, actor2 not yet observe actor1 update
.*, -1 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec
0, -1 837876 ACCEPTABLE actor2 observe actor1 update, actor1 not yet observe actor2 update
0, 0 0 FORBIDDEN if r1 = 0, store var must be submitted already before fullFence in actor2, r2 must get the update

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

Observed state Occurrence Expectation Interpretation
-1, -1 235 ACCEPTABLE both actor1 and actor2 observe each other update
-1, .* 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec.
-1, 0 1004610 ACCEPTABLE actor1 observe actor2 update, actor2 not yet observe actor1 update
.*, -1 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec
0, -1 1645595 ACCEPTABLE actor2 observe actor1 update, actor1 not yet observe actor2 update
0, 0 0 FORBIDDEN if r1 = 0, store var must be submitted already before fullFence in actor2, r2 must get the update

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

Observed state Occurrence Expectation Interpretation
-1, -1 187 ACCEPTABLE both actor1 and actor2 observe each other update
-1, .* 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec.
-1, 0 480010 ACCEPTABLE actor1 observe actor2 update, actor2 not yet observe actor1 update
.*, -1 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec
0, -1 882403 ACCEPTABLE actor2 observe actor1 update, actor1 not yet observe actor2 update
0, 0 0 FORBIDDEN if r1 = 0, store var must be submitted already before fullFence in actor2, r2 must get the update

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

Observed state Occurrence Expectation Interpretation
-1, -1 4571 ACCEPTABLE both actor1 and actor2 observe each other update
-1, .* 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec.
-1, 0 734333 ACCEPTABLE actor1 observe actor2 update, actor2 not yet observe actor1 update
.*, -1 0 ACCEPTABLE_SPEC Non-atomic access detected, allowed by spec
0, -1 820676 ACCEPTABLE actor2 observe actor1 update, actor1 not yet observe actor2 update
0, 0 0 FORBIDDEN if r1 = 0, store var must be submitted already before fullFence in actor2, r2 must get the update