Tests VarHandle methods which take effect of load store fence.
JVM options: [-XX:TieredStopAtLevel=1] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
-1, -1 | 0 | FORBIDDEN | can't load x after store var in actor1. |
-1, 0 | 388064 | ACCEPTABLE | store -1 to var in actor1 before load var in actor2 |
0, -1 | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = -1 x may be assigned to -1 and then r2 can be -1 from x. |
0, 0 | 1778236 | ACCEPTABLE | load var in actor2 before store -1 to var in actor1, all results are 0 |
JVM options: [-server, -XX:-TieredCompilation] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
-1, -1 | 0 | FORBIDDEN | can't load x after store var in actor1. |
-1, 0 | 527712 | ACCEPTABLE | store -1 to var in actor1 before load var in actor2 |
0, -1 | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = -1 x may be assigned to -1 and then r2 can be -1 from x. |
0, 0 | 1009988 | ACCEPTABLE | load var in actor2 before store -1 to var in actor1, all results are 0 |
JVM options: [-server, -XX:-TieredCompilation, -XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
-1, -1 | 0 | FORBIDDEN | can't load x after store var in actor1. |
-1, 0 | 365255 | ACCEPTABLE | store -1 to var in actor1 before load var in actor2 |
0, -1 | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = -1 x may be assigned to -1 and then r2 can be -1 from x. |
0, 0 | 639765 | ACCEPTABLE | load var in actor2 before store -1 to var in actor1, all results are 0 |
JVM options: [-client] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
-1, -1 | 0 | FORBIDDEN | can't load x after store var in actor1. |
-1, 0 | 592793 | ACCEPTABLE | store -1 to var in actor1 before load var in actor2 |
0, -1 | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = -1 x may be assigned to -1 and then r2 can be -1 from x. |
0, 0 | 1998007 | ACCEPTABLE | load var in actor2 before store -1 to var in actor1, all results are 0 |
JVM options: [-Xint] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
-1, -1 | 0 | FORBIDDEN | can't load x after store var in actor1. |
-1, 0 | 10067 | ACCEPTABLE | store -1 to var in actor1 before load var in actor2 |
0, -1 | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = -1 x may be assigned to -1 and then r2 can be -1 from x. |
0, 0 | 61363 | ACCEPTABLE | load var in actor2 before store -1 to var in actor1, all results are 0 |
JVM options: [-server, -XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
-1, -1 | 0 | FORBIDDEN | can't load x after store var in actor1. |
-1, 0 | 216015 | ACCEPTABLE | store -1 to var in actor1 before load var in actor2 |
0, -1 | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = -1 x may be assigned to -1 and then r2 can be -1 from x. |
0, 0 | 2272355 | ACCEPTABLE | load var in actor2 before store -1 to var in actor1, all results are 0 |
JVM options: [-server] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
-1, -1 | 0 | FORBIDDEN | can't load x after store var in actor1. |
-1, 0 | 304101 | ACCEPTABLE | store -1 to var in actor1 before load var in actor2 |
0, -1 | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = -1 x may be assigned to -1 and then r2 can be -1 from x. |
0, 0 | 1432939 | ACCEPTABLE | load var in actor2 before store -1 to var in actor1, all results are 0 |
JVM options: [-client, -XX:-TieredCompilation] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
-1, -1 | 0 | FORBIDDEN | can't load x after store var in actor1. |
-1, 0 | 567554 | ACCEPTABLE | store -1 to var in actor1 before load var in actor2 |
0, -1 | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = -1 x may be assigned to -1 and then r2 can be -1 from x. |
0, 0 | 901146 | ACCEPTABLE | load var in actor2 before store -1 to var in actor1, all results are 0 |