-
Bug
-
Resolution: Fixed
-
P3
-
None
-
repo-valhalla
When running tests with -XX:-UseNonAtomicValueFlattening, the following JDK test fail:
valhalla/valuetypes/NullRestrictedTest.java
Output:
STARTED NullRestrictedTest::testGetter '[5] class NullRestrictedTest$Mutable, vempty, class NullRestrictedTest$EmptyValue, NullRestrictedTest$Mutable@a2e4fca, NullRestrictedTest$EmptyValue@98060f67'
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:36)
at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:31)
at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:183)
at NullRestrictedTest.testGetter(NullRestrictedTest.java:117)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
STARTED NullRestrictedTest::testGetter '[4] class NullRestrictedTest$Mutable, empty, class NullRestrictedTest$EmptyValue, NullRestrictedTest$Mutable@a2e4fca, NullRestrictedTest$EmptyValue@98060f67'
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:36)
at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:31)
at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:183)
at NullRestrictedTest.testGetter(NullRestrictedTest.java:117)
The failure also occurs when fix forJDK-8350872 is applied (in this case, no need for the -XX:-UseNonAtomicValueFlattening argument.
valhalla/valuetypes/NullRestrictedTest.java
Output:
STARTED NullRestrictedTest::testGetter '[5] class NullRestrictedTest$Mutable, vempty, class NullRestrictedTest$EmptyValue, NullRestrictedTest$Mutable@a2e4fca, NullRestrictedTest$EmptyValue@98060f67'
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:36)
at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:31)
at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:183)
at NullRestrictedTest.testGetter(NullRestrictedTest.java:117)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
STARTED NullRestrictedTest::testGetter '[4] class NullRestrictedTest$Mutable, empty, class NullRestrictedTest$EmptyValue, NullRestrictedTest$Mutable@a2e4fca, NullRestrictedTest$EmptyValue@98060f67'
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:36)
at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:31)
at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:183)
at NullRestrictedTest.testGetter(NullRestrictedTest.java:117)
The failure also occurs when fix for
- caused by
-
JDK-8348680 [lworld] Useless checks in generated VarHandle code for flat fields
-
- Resolved
-
- links to
-
Commit(lworld) openjdk/valhalla/b22815a5
-
Review(lworld) openjdk/valhalla/1385