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 | 2800308 | ACCEPTABLE | load y in actor2 before store true to y in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load var after store y because only if r1 = true var may be assigned to true and then r2 can be true from var. |
true, false | 933092 | ACCEPTABLE | store true to y in actor1 before load y in actor2 |
true, true | 0 | FORBIDDEN | can't load var after store y in actor1. |
JVM options: [-server, -XX:-TieredCompilation, -XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
false, false | 228007 | ACCEPTABLE | load y in actor2 before store true to y in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load var after store y because only if r1 = true var may be assigned to true and then r2 can be true from var. |
true, false | 115243 | ACCEPTABLE | store true to y in actor1 before load y in actor2 |
true, true | 0 | FORBIDDEN | can't load var after store y in actor1. |
JVM options: [-server, -XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
false, false | 264201 | ACCEPTABLE | load y in actor2 before store true to y in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load var after store y because only if r1 = true var may be assigned to true and then r2 can be true from var. |
true, false | 175909 | ACCEPTABLE | store true to y in actor1 before load y in actor2 |
true, true | 0 | FORBIDDEN | can't load var after store y in actor1. |
JVM options: [-server] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
false, false | 1527818 | ACCEPTABLE | load y in actor2 before store true to y in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load var after store y because only if r1 = true var may be assigned to true and then r2 can be true from var. |
true, false | 342222 | ACCEPTABLE | store true to y in actor1 before load y in actor2 |
true, true | 0 | FORBIDDEN | can't load var after store y in actor1. |
JVM options: [-server, -XX:-TieredCompilation] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
false, false | 729587 | ACCEPTABLE | load y in actor2 before store true to y in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load var after store y because only if r1 = true var may be assigned to true and then r2 can be true from var. |
true, false | 231693 | ACCEPTABLE | store true to y in actor1 before load y in actor2 |
true, true | 0 | FORBIDDEN | can't load var after store y in actor1. |
JVM options: [-client, -XX:-TieredCompilation] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
false, false | 1262830 | ACCEPTABLE | load y in actor2 before store true to y in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load var after store y because only if r1 = true var may be assigned to true and then r2 can be true from var. |
true, false | 599140 | ACCEPTABLE | store true to y in actor1 before load y in actor2 |
true, true | 0 | FORBIDDEN | can't load var after store y in actor1. |
JVM options: [-client] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
false, false | 1940324 | ACCEPTABLE | load y in actor2 before store true to y in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load var after store y because only if r1 = true var may be assigned to true and then r2 can be true from var. |
true, false | 159946 | ACCEPTABLE | store true to y in actor1 before load y in actor2 |
true, true | 0 | FORBIDDEN | can't load var after store y in actor1. |
JVM options: [-Xint] Iterations: 5 Time: 200
Observed state | Occurrence | Expectation | Interpretation |
---|---|---|---|
false, false | 200211 | ACCEPTABLE | load y in actor2 before store true to y in actor1, all results are false |
false, true | 0 | FORBIDDEN | this won't happen even if load var after store y because only if r1 = true var may be assigned to true and then r2 can be true from var. |
true, false | 13259 | ACCEPTABLE | store true to y in actor1 before load y in actor2 |
true, true | 0 | FORBIDDEN | can't load var after store y in actor1. |