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 |