--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/DoubleAtomicityTest.java Mon Mar 06 17:13:41 2017 +0100+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/DoubleAtomicityTest.java Mon Mar 06 18:15:37 2017 +0100@@ -41,7 +41,7 @@ @JCStressTest @Outcome(id = "0, 0, 0, 0, 0, 0, 0, 0", expect = Expect.ACCEPTABLE, desc = "Default value for the field. Observers are allowed to see the default value for the field, because there is the data race between reader and writer.") @Outcome(id = "-1, -1, -1, -1, -1, -1, -1, -1", expect = Expect.ACCEPTABLE, desc = "The value set by the actor thread. Observer sees the complete update.")-@Outcome( expect = Expect.ACCEPTABLE_SPEC, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.")+@Outcome( expect = Expect.ACCEPTABLE_INTERESTING, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.") @Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7") @State public class DoubleAtomicityTest {

--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/LongAtomicityTest.java Mon Mar 06 17:13:41 2017 +0100+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/LongAtomicityTest.java Mon Mar 06 18:15:37 2017 +0100@@ -41,7 +41,7 @@ @JCStressTest @Outcome(id = "0, 0, 0, 0, 0, 0, 0, 0", expect = Expect.ACCEPTABLE, desc = "Default value for the field. Observers are allowed to see the default value for the field, because there is the data race between reader and writer.") @Outcome(id = "-1, -1, -1, -1, -1, -1, -1, -1", expect = Expect.ACCEPTABLE, desc = "The value set by the actor thread. Observer sees the complete update.")-@Outcome( expect = Expect.ACCEPTABLE_SPEC, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.")+@Outcome( expect = Expect.ACCEPTABLE_INTERESTING, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.") @Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7") @State public class LongAtomicityTest {

--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/DoubleAtomicityTest.java Mon Mar 06 17:13:41 2017 +0100+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/DoubleAtomicityTest.java Mon Mar 06 18:15:37 2017 +0100@@ -43,7 +43,7 @@ @JCStressTest @Outcome(id = "0.0", expect = Expect.ACCEPTABLE, desc = "Default value for the field. Observers are allowed to see the default value for the field, because there is the data race between reader and writer.") @Outcome(id = "NaN", expect = Expect.ACCEPTABLE, desc = "The value set by the actor thread. Observer sees the complete update.")-@Outcome( expect = Expect.ACCEPTABLE_SPEC, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.")+@Outcome( expect = Expect.ACCEPTABLE_INTERESTING, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.") @Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7") @State public class DoubleAtomicityTest {

--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/LongAtomicityTest.java Mon Mar 06 17:13:41 2017 +0100+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/LongAtomicityTest.java Mon Mar 06 18:15:37 2017 +0100@@ -43,7 +43,7 @@ @JCStressTest @Outcome(id = "0", expect = Expect.ACCEPTABLE, desc = "Default value for the field. Observers are allowed to see the default value for the field, because there is the data race between reader and writer.") @Outcome(id = "-1", expect = Expect.ACCEPTABLE, desc = "The value set by the actor thread. Observer sees the complete update.")-@Outcome( expect = Expect.ACCEPTABLE_SPEC, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.")+@Outcome( expect = Expect.ACCEPTABLE_INTERESTING, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.") @Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7") @State public class LongAtomicityTest {

--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/Grading_DoubleCanSeeMost.java Mon Mar 06 17:13:41 2017 +0100+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/Grading_DoubleCanSeeMost.java Mon Mar 06 18:15:37 2017 +0100@@ -32,7 +32,7 @@ @Outcome(id = "0.0", expect = Expect.ACCEPTABLE, desc = "Seeing the default value for field. The update to the field in the constructor is lost. This is a legal JMM behavior") @Outcome(id = "NaN", expect = Expect.ACCEPTABLE, desc = "The value set by the actor thread. Observer sees the complete update.") @Outcome(id = "42.0", expect = Expect.ACCEPTABLE, desc = "The observer sees the empty shell. This is a legal JMM behavior, since there is a race between actor and observer.")-@Outcome( expect = Expect.ACCEPTABLE_SPEC, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.")+@Outcome( expect = Expect.ACCEPTABLE_INTERESTING, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.") @Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7") public class Grading_DoubleCanSeeMost { }

--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/Grading_DoubleShouldSeeFull.java Mon Mar 06 17:13:41 2017 +0100+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/Grading_DoubleShouldSeeFull.java Mon Mar 06 18:15:37 2017 +0100@@ -30,7 +30,7 @@ @Outcome(id = "NaN", expect = Expect.ACCEPTABLE, desc = "The value set by the actor thread. Observer sees the complete update.") @Outcome(id = "42.0", expect = Expect.ACCEPTABLE, desc = "The observer sees the empty shell. This is a legal JMM behavior, since there is a race between actor and observer.")-@Outcome( expect = Expect.ACCEPTABLE_SPEC, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.")+@Outcome( expect = Expect.ACCEPTABLE_INTERESTING, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.") @Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7") public class Grading_DoubleShouldSeeFull { }

--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/Grading_LongCanSeeMost.java Mon Mar 06 17:13:41 2017 +0100+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/Grading_LongCanSeeMost.java Mon Mar 06 18:15:37 2017 +0100@@ -32,7 +32,7 @@ @Outcome(id = "0", expect = Expect.ACCEPTABLE, desc = "Seeing the default value for field. The update to the field in the constructor is lost. This is a legal JMM behavior") @Outcome(id = "-1", expect = Expect.ACCEPTABLE, desc = "The value set by the actor thread. Observer sees the complete update.") @Outcome(id = "42", expect = Expect.ACCEPTABLE, desc = "The observer sees the empty shell. This is a legal JMM behavior, since there is a race between actor and observer.")-@Outcome( expect = Expect.ACCEPTABLE_SPEC, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.")+@Outcome( expect = Expect.ACCEPTABLE_INTERESTING, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.") @Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7") public class Grading_LongCanSeeMost { }

--- a/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/Grading_LongShouldSeeFull.java Mon Mar 06 17:13:41 2017 +0100+++ b/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/Grading_LongShouldSeeFull.java Mon Mar 06 18:15:37 2017 +0100@@ -31,7 +31,7 @@ @Outcome(id = "-1", expect = Expect.ACCEPTABLE, desc = "The value set by the actor thread. Observer sees the complete update.") @Outcome(id = "42", expect = Expect.ACCEPTABLE, desc = "The observer sees the empty shell. This is a legal JMM behavior, since there is a race between actor and observer.")-@Outcome( expect = Expect.ACCEPTABLE_SPEC, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.")+@Outcome( expect = Expect.ACCEPTABLE_INTERESTING, desc = "Seeing the torn value. This is specifically allowed by JLS. This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.") @Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7") public class Grading_LongShouldSeeFull { }