org.openjdk.jcstress.tests.volatiles.LazySetTransitivityTest

Description and references

null

http://cs.oswego.edu/pipermail/concurrency-interest/2013-January/010669.html

Environment

java.specification.name Java Platform API Specification
java.specification.vendor Oracle Corporation
java.specification.version 14
java.vendor N/A
java.version 14.0.1-internal
java.vm.name OpenJDK 64-Bit Server VM
java.vm.vendor Oracle Corporation
java.vm.version 14.0.1-internal+0-adhoc.buildslave.jdk14
os.arch aarch64
os.name Linux
os.version 4.16.0-290-arm64

Test configurations

TC 1 JVM options: [-XX:-TieredCompilation] Iterations: 1 Time: 10 Stride: [10, 128] (capped by TIME)
TC 2 JVM options: [-XX:-TieredCompilation, -XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 1 Time: 10 Stride: [10, 2048] (capped by TIME)
TC 3 JVM options: [-XX:TieredStopAtLevel=1] Iterations: 1 Time: 10 Stride: [10, 64] (capped by TIME)
TC 4 JVM options: [-Xint] Iterations: 1 Time: 10 Stride: [10, 32] (capped by TIME)

Observed states

Observed state TC 1 TC 2 TC 3 TC 4 Expectation Interpretation
1, 0, 1 0 0 0 3 ACCEPTABLE Legal: T3 reads B=0, and there are no guarantees about the value of A.
1, 1, 1 3831 45047 2551 1214 ACCEPTABLE Legal: T3 observes (B=1, A=1). This looks like the evidence for transitivity.
OK OK OK OK

Auxiliary data