--- /dev/null 2017-03-31 09:06:27.183526083 -0400 +++ new/test/runtime/valhalla/valuetypes/UninitializedValueFieldsTest.java 2017-06-20 16:29:13.534453091 -0400 @@ -0,0 +1,37 @@ +package runtime.valhalla.valuetypes; + +import jdk.test.lib.Asserts; + +/* + * @test + * @summary Uninitialized value fields test + * @library /test/lib + * @compile -XDenableValueTypes Point.java UninitializedValueFieldsTest.java + * @run main/othervm -noverify -Xint runtime.valhalla.valuetypes.UninitializedValueFieldsTest + */ + +/* + * disabled run main/othervm -noverify -Xcomp runtime.valhalla.valuetypes.UninitializedValueFieldsTest + */ +public class UninitializedValueFieldsTest { + + static Point staticPoint; + Point instancePoint; + + UninitializedValueFieldsTest() { } + + public static void main(String[] args) { + checkUninitializedPoint(UninitializedValueFieldsTest.staticPoint, 0, 0); + UninitializedValueFieldsTest.staticPoint = Point.createPoint(456, 678); + checkUninitializedPoint(UninitializedValueFieldsTest.staticPoint, 456, 678); + UninitializedValueFieldsTest test = new UninitializedValueFieldsTest(); + checkUninitializedPoint(test.instancePoint, 0, 0); + test.instancePoint = Point.createPoint(123, 345); + checkUninitializedPoint(test.instancePoint, 123, 345); + } + + static void checkUninitializedPoint(Point p, int x, int y) { + Asserts.assertEquals(p.x, x, "invalid x value"); + Asserts.assertEquals(p.y, y, "invalid y value"); + } +}