org.openjdk.jcstress.tests.fences.varHandles.StoreStoreFenceTest1.ReleaseFenceLong

Description and references

Tests VarHandle methods which take effect of store store fence.

http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7

Environment

java.specification.name Java Platform API Specification
java.specification.vendor Oracle Corporation
java.specification.version 13
java.vendor N/A
java.version 13-internal
java.vm.name OpenJDK 64-Bit Server VM
java.vm.vendor Oracle Corporation
java.vm.version 13-internal+0-adhoc.buildslave.jdk13
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, 10000] (capped by NONE)
TC 2 JVM options: [-XX:-TieredCompilation, -XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 1 Time: 10 Stride: [10, 10000] (capped by NONE)
TC 3 JVM options: [-XX:TieredStopAtLevel=1] Iterations: 1 Time: 10 Stride: [10, 10000] (capped by NONE)
TC 4 JVM options: [-Xint] Iterations: 1 Time: 10 Stride: [1, 1] (capped by TIME)

Observed states

Observed state TC 1 TC 2 TC 3 TC 4 Expectation Interpretation
-1, -1 332335 330271 332264 2 ACCEPTABLE actor2 observe the variables after actor1 update completely
0, -1 319 182 180 0 ACCEPTABLE actor2 observe the variables after x is already updated but var hasn't yet
0, 0 887 488 497 1 ACCEPTABLE actor2 observe the variables before actor1 update
OK OK OK OK

Auxiliary data