null
java.specification.name | Java Platform API Specification |
java.specification.vendor | Oracle Corporation |
java.specification.version | 10 |
java.vendor | Oracle Corporation |
java.version | 10-internal |
java.vm.name | OpenJDK 64-Bit Server VM |
java.vm.vendor | Oracle Corporation |
java.vm.version | 10-internal+0-adhoc.buildslave.jdk10 |
os.arch | aarch64 |
os.name | Linux |
os.version | 4.4.0-63-generic |
TC 1 | JVM options: [] Iterations: 5 Time: 200 |
TC 2 | JVM options: [-XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200 |
TC 3 | JVM options: [-XX:-TieredCompilation] Iterations: 5 Time: 200 |
TC 4 | JVM options: [-XX:-TieredCompilation, -XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200 |
TC 5 | JVM options: [-XX:TieredStopAtLevel=1] Iterations: 5 Time: 200 |
TC 6 | JVM options: [-Xint] Iterations: 5 Time: 200 |
Observed state | TC 1 | TC 2 | TC 3 | TC 4 | TC 5 | TC 6 | Expectation | Interpretation |
---|---|---|---|---|---|---|---|---|
0, 0 | 22535 | 16361 | 102052 | 38129 | 60272 | 6949 | ACCEPTABLE | Before observing releasing write to, any value is OK for $x. |
0, 1 | 1 | 0 | 0 | 0 | 0 | 1 | ACCEPTABLE | Before observing releasing write to, any value is OK for $x. |
0, 2 | 1 | 0 | 0 | 0 | 1 | 6 | ACCEPTABLE | Before observing releasing write to, any value is OK for $x. |
0, 3 | 4880 | 128 | 4298 | 388 | 3943 | 14 | ACCEPTABLE | Before observing releasing write to, any value is OK for $x. |
1, 0 | 120 | 10 | 146 | 4 | 2 | 0 | ACCEPTABLE_INTERESTING | Without fence or volatile can read the default or old value for $x after $y is observed. |
1, 3 | 12321011 | 8210979 | 8269682 | 6073627 | 10937750 | 54438 | ACCEPTABLE | Can see a released value of $x if $y is observed. |
OK | OK | OK | OK | OK | OK |