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