org.openjdk.jcstress.tests.atomicity.varHandles.arrays.GetAndSetTest.GetAndSetDouble

Tests atomicity of getAndSet.

JVM options: [-server] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 1.39067116124321E-309 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 1.39067116124321E-309, 2.0 733811 ACCEPTABLE actor1 execute before actor2
2.0, 0.0, 1.39067116124321E-309 27419 ACCEPTABLE actor1 execute after actor2

JVM options: [-XX:TieredStopAtLevel=1] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 1.39067116124321E-309 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 1.39067116124321E-309, 2.0 980752 ACCEPTABLE actor1 execute before actor2
2.0, 0.0, 1.39067116124321E-309 186308 ACCEPTABLE actor1 execute after actor2

JVM options: [-client, -XX:-TieredCompilation] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 1.39067116124321E-309 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 1.39067116124321E-309, 2.0 705104 ACCEPTABLE actor1 execute before actor2
2.0, 0.0, 1.39067116124321E-309 88176 ACCEPTABLE actor1 execute after actor2

JVM options: [-Xint] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 1.39067116124321E-309 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 1.39067116124321E-309, 2.0 43987 ACCEPTABLE actor1 execute before actor2
2.0, 0.0, 1.39067116124321E-309 133 ACCEPTABLE actor1 execute after actor2

JVM options: [-client] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 1.39067116124321E-309 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 1.39067116124321E-309, 2.0 1004897 ACCEPTABLE actor1 execute before actor2
2.0, 0.0, 1.39067116124321E-309 35473 ACCEPTABLE actor1 execute after actor2

JVM options: [-server, -XX:-TieredCompilation, -XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 1.39067116124321E-309 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 1.39067116124321E-309, 2.0 436559 ACCEPTABLE actor1 execute before actor2
2.0, 0.0, 1.39067116124321E-309 90811 ACCEPTABLE actor1 execute after actor2

JVM options: [-server, -XX:+UnlockDiagnosticVMOptions, -XX:+StressLCM, -XX:+StressGCM] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 1.39067116124321E-309 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 1.39067116124321E-309, 2.0 705314 ACCEPTABLE actor1 execute before actor2
2.0, 0.0, 1.39067116124321E-309 22956 ACCEPTABLE actor1 execute after actor2

JVM options: [-server, -XX:-TieredCompilation] Iterations: 5 Time: 200

Observed state Occurrence Expectation Interpretation
0.0, 0.0, 1.39067116124321E-309 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 0.0, 2.0 0 FORBIDDEN This won't happen because getAndSet is atomic
0.0, 1.39067116124321E-309, 2.0 382462 ACCEPTABLE actor1 execute before actor2
2.0, 0.0, 1.39067116124321E-309 124578 ACCEPTABLE actor1 execute after actor2