1 package runtime.valhalla.valuetypes;
   2 
   3 import jdk.test.lib.Asserts;
   4 
   5 /*
   6  * @test
   7  * @summary Uninitialized value fields test
   8  * @library /test/lib
   9  * @compile -XDenableValueTypes Point.java UninitializedValueFieldsTest.java
  10  * @run main/othervm -Xint -XX:+EnableValhalla runtime.valhalla.valuetypes.UninitializedValueFieldsTest
  11  * @run main/othervm -Xcomp -XX:+EnableValhalla runtime.valhalla.valuetypes.UninitializedValueFieldsTest
  12  */
  13 public class UninitializedValueFieldsTest {
  14 
  15     static Point staticPoint;
  16     Point instancePoint;
  17 
  18     UninitializedValueFieldsTest() { }
  19 
  20     public static void main(String[] args) {
  21         checkUninitializedPoint(UninitializedValueFieldsTest.staticPoint, 0, 0);
  22         UninitializedValueFieldsTest.staticPoint = Point.createPoint(456, 678);
  23         checkUninitializedPoint(UninitializedValueFieldsTest.staticPoint, 456, 678);
  24         UninitializedValueFieldsTest test = new UninitializedValueFieldsTest();
  25         checkUninitializedPoint(test.instancePoint, 0, 0);
  26         test.instancePoint = Point.createPoint(123, 345);
  27         checkUninitializedPoint(test.instancePoint, 123, 345);
  28     }
  29 
  30     static void checkUninitializedPoint(Point p, int x, int y) {
  31         Asserts.assertEquals(p.x, x, "invalid x value");
  32         Asserts.assertEquals(p.y, y, "invalid y value");
  33     }
  34 }