Tests VarHandle methods which take effect of load store fence.
JVM options: [-XX:TieredStopAtLevel=1] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
false, false | 1487962 | ACCEPTABLE | load var in actor2 before store true to var in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x. |
true, false | 403308 | ACCEPTABLE | store true to var in actor1 before load var in actor2 |
true, true | 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 |
---|---|---|---|
false, false | 91010 | ACCEPTABLE | load var in actor2 before store true to var in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x. |
true, false | 26490 | ACCEPTABLE | store true to var in actor1 before load var in actor2 |
true, true | 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 |
---|---|---|---|
false, false | 2601901 | ACCEPTABLE | load var in actor2 before store true to var in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x. |
true, false | 499519 | ACCEPTABLE | store true to var in actor1 before load var in actor2 |
true, true | 0 | FORBIDDEN | can't load x after store var in actor1. |
JVM options: [-server] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
false, false | 603253 | ACCEPTABLE | load var in actor2 before store true to var in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x. |
true, false | 261087 | ACCEPTABLE | store true to var in actor1 before load var in actor2 |
true, true | 0 | FORBIDDEN | can't load x after store var in actor1. |
JVM options: [-Xint] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
false, false | 151867 | ACCEPTABLE | load var in actor2 before store true to var in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x. |
true, false | 6713 | ACCEPTABLE | store true to var in actor1 before load var in actor2 |
true, true | 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 |
---|---|---|---|
false, false | 305826 | ACCEPTABLE | load var in actor2 before store true to var in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x. |
true, false | 225894 | ACCEPTABLE | store true to var in actor1 before load var in actor2 |
true, true | 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 |
---|---|---|---|
false, false | 928050 | ACCEPTABLE | load var in actor2 before store true to var in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x. |
true, false | 430800 | ACCEPTABLE | store true to var in actor1 before load var in actor2 |
true, true | 0 | FORBIDDEN | can't load x after store var in actor1. |
JVM options: [-client] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
false, false | 2116365 | ACCEPTABLE | load var in actor2 before store true to var in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load x after store var because only if r1 = true x may be assigned to true and then r2 can be true from x. |
true, false | 231005 | ACCEPTABLE | store true to var in actor1 before load var in actor2 |
true, true | 0 | FORBIDDEN | can't load x after store var in actor1. |